摘要:溫濕度是倉(cāng)庫(kù)環(huán)境重要參數(shù)之一,針對(duì)倉(cāng)庫(kù)溫濕度監(jiān)測(cè)問(wèn)題,提出了一種基于總線技術(shù)的倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng)。詳細(xì)闡述了倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)思想、硬件結(jié)構(gòu)和軟件的設(shè)計(jì)方法。采用CAN總線技術(shù)對(duì)倉(cāng)庫(kù)進(jìn)行分布式節(jié)點(diǎn)設(shè)計(jì),以低功耗單片機(jī)MSP430F149為控制核心,通過(guò)數(shù)字式溫濕度傳感器獲取節(jié)點(diǎn)參數(shù),實(shí)現(xiàn)對(duì)倉(cāng)庫(kù)多點(diǎn)溫濕度實(shí)時(shí)監(jiān)測(cè)。
關(guān)鍵詞:倉(cāng)庫(kù);溫度;濕度;CAN
中圖分類號(hào):TP301? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)07-0109-03
1 概述
溫濕度是倉(cāng)庫(kù)重要的環(huán)境參數(shù),保持合適的溫濕度對(duì)貯存物品非常重要。在工業(yè)、農(nóng)業(yè)、制造業(yè)等行業(yè)中許多產(chǎn)品在高溫環(huán)境下易燃易爆炸,低溫環(huán)境容易失去活性效用,陰潮環(huán)境下易受潮發(fā)霉等,如果在貯藏存儲(chǔ)這一環(huán)節(jié)發(fā)生了事故將會(huì)造成巨大的經(jīng)濟(jì)損失,因此監(jiān)測(cè)倉(cāng)庫(kù)的溫度、濕度等環(huán)境參數(shù)非常有必要[1-2]。文章提出一種低功耗、分布式的CAN總線倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)對(duì)倉(cāng)庫(kù)多點(diǎn)溫濕度實(shí)時(shí)監(jiān)測(cè)與顯示。系統(tǒng)具有適應(yīng)性廣泛、抗干擾能力強(qiáng)且具備遠(yuǎn)程傳輸處理能力。
2 CAN總線概述
CAN(Controller Area Network)總線技術(shù)屬于現(xiàn)場(chǎng)總線技術(shù)的一種,是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議,又名為控制器局域網(wǎng)絡(luò),它作為一種分布式控制串行通信總線,雙絞線、同軸電纜、光導(dǎo)纖維等介質(zhì)都可以作為它的通信介質(zhì)。目前,比較常用的現(xiàn)場(chǎng)總線有:Profibus總線、LonWorks總線、CAN總線、WorldFIP總線和基金會(huì)現(xiàn)場(chǎng)總線等。根據(jù)在倉(cāng)儲(chǔ)管理中各個(gè)現(xiàn)場(chǎng)設(shè)備呈分散式分布的特點(diǎn),CAN總線因?yàn)槠渫ㄐ艆f(xié)議的特性及優(yōu)勢(shì),使其成為應(yīng)用于倉(cāng)儲(chǔ)管理的現(xiàn)場(chǎng)通信總線的理想選擇。
3 硬件系統(tǒng)設(shè)計(jì)
本倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng)的硬件部分的主要構(gòu)成如下:MSP430F149作為主控制器,將CAN控制器MCP2515和CAN收發(fā)器TJA1050以及光電耦合器6N137整合為CAN通信模塊,而溫濕度測(cè)量模塊則主要由SHT11構(gòu)成。
3.1 微控制器MSP430F149
系統(tǒng)采用美國(guó)德州儀器公司的MSP430F149單片機(jī)作為微控制器,工作電壓較低,范圍為1.8 V ~3.6V,有3種工作模式,分別為主動(dòng)、待機(jī)和關(guān)閉,其對(duì)應(yīng)的工作電流分別為280μA、1.6μA和0.1μA。從低功耗模式到喚醒模式的轉(zhuǎn)換時(shí)間小于6μs,完全滿足實(shí)時(shí)系統(tǒng)的高效要求[3-4]。該處理器通過(guò)16位RISC系統(tǒng)、16位CPU、集成寄存器和常量發(fā)生器來(lái)獲得最大代碼效率。它具有豐富的片上資源:60KB+256B閃速存儲(chǔ)器、2KB的RAM、兩個(gè)16位定時(shí)器、一個(gè)8通道快速12位A/D轉(zhuǎn)換器、兩個(gè)通用USART接口,以及支持SPI通信,方便CAN總線接口通信,全滿足本系統(tǒng)的使用需求[5-6]。
3.2 CAN控制器MCP2515
MCP2515是由Microchip推出的一款具有SPI口可以獨(dú)立控制器局域網(wǎng)絡(luò)協(xié)議控制器。工業(yè)級(jí)的工作溫度范圍為-40℃至+85℃,滿足系統(tǒng)設(shè)計(jì)要求。CAN協(xié)議處理模塊和發(fā)送、接收緩沖器包括過(guò)濾器和屏蔽器共同構(gòu)成了MCP2515的CAN模塊。CAN協(xié)議處理模塊連接于CAN總線,SPI接口連接于MCU。MCP2515對(duì)CAN總線數(shù)據(jù)的發(fā)送流程是微處理器通過(guò)SPI接口將待發(fā)送的數(shù)據(jù)寫入MCP2515的發(fā)送緩沖器,緊接著調(diào)用發(fā)送請(qǐng)求的命令就可以將發(fā)送數(shù)據(jù)到CAN總線上。MCP2515具有發(fā)送、接收中斷,各自錯(cuò)誤中斷以及總線喚醒中斷等8個(gè)中斷源。MCP2515既支持CAN的標(biāo)準(zhǔn)幀格式,也支持CAN2.0B的擴(kuò)展幀格式。MCP2515共有114個(gè)寄存器,有效地址范圍為0x00~0x7F。在使用MCU對(duì)MCP2515進(jìn)行初始化時(shí),只有通過(guò)SPI接口用其內(nèi)置的讀寫命令才能完成接收緩沖器和發(fā)送緩沖器的設(shè)置。
3.3 CAN收發(fā)器 TJA1050
TJA1050具有差分發(fā)射和接收能力,具有較高的電磁抗干擾性。TJA1050由于在輸出信號(hào)中CANH能最大限度地匹配CANL,電磁輻射相對(duì)更低,改善了在節(jié)點(diǎn)未通電時(shí)的性能,因此它非常適合設(shè)計(jì)低功耗節(jié)點(diǎn)。其最高通信速率可達(dá)1Mb/s,可連接110個(gè)節(jié)點(diǎn),非常適用于分布式大范圍的節(jié)點(diǎn)布置。TJA1050有高速或靜音兩種工作模式,通過(guò)自身S引腳選擇工作模式。其中高速模式為默認(rèn)模式,總線上輸出信號(hào)的斜率切換時(shí)能夠在較高的速率上進(jìn)行,因此這種模式適合于較大的位速率和大總線。當(dāng)S引腳處于接地時(shí)處于高速模式,而接工作電源時(shí)為靜音模式。在電路中TJA1050的1號(hào)引腳TXD的功能為從CAN總控制器當(dāng)中輸入發(fā)送到總線上的數(shù)據(jù),2號(hào)引腳GND為接地,3號(hào)引腳VCC為電源,4號(hào)引腳RXD的功能為從總線接收的數(shù)據(jù)發(fā)送給CAN總線控制器,6號(hào)引腳CANH和7號(hào)引腳CANL分別為高低電平的電壓輸入和輸出。
3.4 光電耦合器6N137
6N137是適用于單通道的高速光耦合器,它可以在極低的輸入電流下完成光電的轉(zhuǎn)換。具備溫度、電流和電壓補(bǔ)償?shù)墓δ?,輸入輸出隔離程度較高,轉(zhuǎn)換速率可達(dá)10Mbit/s,可帶8個(gè)TTL負(fù)載,工作溫度范圍為-40℃~+85℃。在實(shí)際應(yīng)用中6N137的引腳1與4未連接,2和3兩腳分為陰陽(yáng)兩極,5腳接地,6腳為開(kāi)路集電極輸出,7腳為使能端,8腳接工作電源。正常情況下,當(dāng)光敏管處于非導(dǎo)通狀態(tài)時(shí),發(fā)光二極管正向電流為0~250uA。當(dāng)光敏管處于導(dǎo)通狀態(tài)時(shí),其二極管正向電壓為1.2V~1.7V,正向電流為6.5 mA ~15mA。6N137在不加限流電阻或者所加電阻阻值較小的情況下,仍然能夠工作,但是處于數(shù)字波形較為陡峭的時(shí)候,Vcc1將會(huì)受到發(fā)光二極管導(dǎo)通電流的影響,此時(shí)上升和下降沿的頻譜比較寬,由此產(chǎn)生的尖峰脈沖造成將極其尖銳,一般情況下無(wú)法抑制這種噪聲,所以電路設(shè)計(jì)時(shí)需用阻值較大的限流電阻。而對(duì)于輸出端而言,應(yīng)該在腳5和腳8附近放置一個(gè)0.1uF的去耦電容以此來(lái)吸收電源線上的紋波,同時(shí)也能起到保護(hù)光電隔離器接收端在運(yùn)作時(shí)所受到的影響。腳6是集電極開(kāi)路輸出端,一般情況下需接保護(hù)電阻。當(dāng)使能端腳7處于0~0.8V時(shí)強(qiáng)制輸出為開(kāi)路,在2.0V~Vcc2時(shí)允許接收端工作。
3.5 溫濕度傳感器SHT11
SHT11是瑞士Sensirion公司生產(chǎn)的數(shù)字式新型相對(duì)濕度和溫度傳感器。SHT11的測(cè)量范圍為0-100%RH,-40℃~+123.8℃,精度為±3.0%RH,±0.4℃,分辨率為0.03%RH,0.1℃,傳輸方式為I2C總線。SHT11的應(yīng)用電路中1號(hào)引腳接地,2號(hào)和3號(hào)引腳分別為數(shù)據(jù)和時(shí)鐘的串行接口,4號(hào)引腳接2.4V~5.5V的工作電壓。其工作原理是將所測(cè)得的濕度和溫度轉(zhuǎn)換成電信號(hào),經(jīng)過(guò)微弱信號(hào)放大器放大之后進(jìn)入A/D轉(zhuǎn)換器,轉(zhuǎn)換后輸出數(shù)字信號(hào)。
3.6 CAN通信模塊設(shè)計(jì)
系統(tǒng)采取在外部總線上進(jìn)行擴(kuò)展CAN總線接口芯片和CAN收發(fā)器的方案。為了能夠使報(bào)文數(shù)據(jù)在CAN通信協(xié)議下進(jìn)行發(fā)送和接收,在啟動(dòng)報(bào)文發(fā)送的環(huán)節(jié)就要求能夠控制使能引腳或者通過(guò)SPI接口來(lái)發(fā)送命令。MCP2515將CAN總線上探查到的報(bào)文信息與用戶定義信息做對(duì)比,一旦確認(rèn)信息匹配,就會(huì)將報(bào)文數(shù)據(jù)轉(zhuǎn)送到接收緩存器中。CAN通信模塊設(shè)計(jì)如圖1所示。
為了提升MSP430F149工作的穩(wěn)定性和準(zhǔn)確性以及對(duì)抗外界、電路元器件產(chǎn)生的電磁干擾和噪聲,加入光電耦合器實(shí)現(xiàn)抑制干擾和隔離。在實(shí)際電路當(dāng)中, TJA1050的CANH和CANL兩個(gè)引腳與CAN總線接口需要串接兩個(gè)保護(hù)電阻以及并接兩個(gè)瞬態(tài)抑制二極管。限流作用的保護(hù)電阻的阻值為5Ω,瞬態(tài)抑制二極管選擇SA28A,放置在輸入端與地之間,并在這兩者之間并聯(lián)一個(gè)阻值大小為120Ω的終端電阻,它的作用除了在一定程度上防電磁輻射之外也能濾除CAN總線上存在的一些高頻干擾。另外在第8個(gè)引腳上接地來(lái)讓其進(jìn)入高速模式。
3.7 溫濕度測(cè)量電路設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)的溫濕度測(cè)量模塊主要由溫濕度測(cè)量一體的數(shù)字型傳感器SHT11完成。DATA數(shù)據(jù)線需要配置一個(gè)上拉電阻,工作電壓為5V, SCK數(shù)據(jù)線的最高頻率為10MHz。SHT11的電路設(shè)計(jì)如圖2所示。
3.8 電子報(bào)警電路
針對(duì)可能出現(xiàn)的倉(cāng)庫(kù)內(nèi)溫度或者濕度反常的情況,本系統(tǒng)采用蜂鳴器報(bào)警電路來(lái)提示。無(wú)源蜂鳴器在采取方波作為理想的工作信號(hào)的狀態(tài)下會(huì)在程序中相應(yīng)地輸出一定頻率的方波。當(dāng)倉(cāng)庫(kù)內(nèi)出現(xiàn)溫濕度超過(guò)設(shè)置的閾值時(shí),蜂鳴器將會(huì)發(fā)出報(bào)警。電路采取NPN型三極管作為蜂鳴器的驅(qū)動(dòng)。
4 軟件系統(tǒng)設(shè)計(jì)
4.1 CAN總線的通信程序設(shè)計(jì)
本系統(tǒng)將DeviceNet作為CAN作為底部的通訊協(xié)議,在應(yīng)用層領(lǐng)域?qū)τ诓煌脑O(shè)備定義不同的協(xié)議,它有重復(fù)節(jié)點(diǎn)的地點(diǎn)偵測(cè)的功能,同樣能夠在高噪聲的環(huán)境下使用。本系統(tǒng)采用的是DN1022協(xié)議芯片來(lái)進(jìn)行微處理器和DeviceNet的連接,通過(guò)高速串/并口與用戶處理器進(jìn)行連接。DN1022內(nèi)置DeviceNet Group2 Only Slave從站協(xié)議棧,DeviceNet處理器,高速串/并行口,CAN控制器等。它最大可輸入或輸出64個(gè)字節(jié),并提供POLL(輪詢)、COS(狀態(tài)改變)、CYCLIC(循環(huán))共三種數(shù)據(jù)觸發(fā)方式,其正常的供電電壓為3.0V~5.5V。程序先后完成CPU的初始化、讀保護(hù)器配置命令,接著配置DN1022,最后完成保護(hù)器與DeviceNet主站之間的交互數(shù)據(jù)等流程。
4.2 SPI通信程序設(shè)計(jì)
MCP2515與微處理器通過(guò)SPI模式通信,軟件設(shè)計(jì)需要完成初始、SPI讀寫等操作。本系統(tǒng)所用的SPI函數(shù)有:SPI初始化函數(shù):SPI Init(VOID);發(fā)送數(shù)據(jù):SPI SendByte(BYTE bData,BYTE *pData);讀取數(shù)據(jù):SPI ReadByte(BYTE *pData)。在設(shè)計(jì)過(guò)程中,SPI是同時(shí)進(jìn)行發(fā)送一個(gè)數(shù)據(jù)和接收一個(gè)數(shù)據(jù)的操作。本系統(tǒng)將采用同一個(gè)函數(shù)來(lái)實(shí)現(xiàn)SPI的數(shù)據(jù)的發(fā)送和接收來(lái)實(shí)現(xiàn),唯一進(jìn)行區(qū)別的是將通過(guò)調(diào)用時(shí)對(duì)參數(shù)不同的數(shù)值。
4.3 CAN總線通信模塊設(shè)計(jì)
CAN總線通信模塊程序主要分成CAN總線的初始化,發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)三部分。CAN總線的初始化的核心是針對(duì)CAN控制器的初始化,包括了對(duì)工作方式、驗(yàn)收濾波方式以及驗(yàn)收屏蔽寄存器和波特率參數(shù)的設(shè)置等。當(dāng)完成了初始化的工作后,MCP2515才能進(jìn)行正常的發(fā)送和接收數(shù)據(jù)的工作輔以子程序來(lái)進(jìn)行節(jié)點(diǎn)報(bào)文的發(fā)送。對(duì)于數(shù)據(jù)發(fā)送,只要確定發(fā)送緩沖器處于沒(méi)有被所鎖定的狀態(tài),就可以進(jìn)行把現(xiàn)場(chǎng)的實(shí)時(shí)測(cè)量的數(shù)據(jù)發(fā)至MCP2515的發(fā)送緩沖區(qū),接著再啟動(dòng)MCP2515進(jìn)行發(fā)送數(shù)據(jù)的命令,流程如圖3所示。對(duì)于數(shù)據(jù)接收,在確認(rèn)系統(tǒng)已經(jīng)處于上電的狀態(tài)下,首先讓MCP2515進(jìn)入已知的狀態(tài),強(qiáng)迫它復(fù)位進(jìn)行配置為定時(shí)器、屏蔽器以及濾波器,流程如圖4所示。
4.4 溫濕度采集模塊設(shè)計(jì)
溫濕度采集模塊的核心是SHT11,其溫濕度采集整體的流程為:1)啟動(dòng)總線傳輸并進(jìn)行連接復(fù)位,2)測(cè)量溫濕度參數(shù)并查驗(yàn)是否有錯(cuò)誤,如有回到1),否則進(jìn)行溫濕度參數(shù)軟件補(bǔ)償。
MSP430F149單片機(jī)的I2C接口與SHT11連接方便。MSP430F149的I2C內(nèi)部結(jié)構(gòu)主要分為時(shí)鐘控制、數(shù)據(jù)控制和控制邏輯等部分,它們主要負(fù)責(zé)實(shí)現(xiàn)I2C的時(shí)鐘產(chǎn)生、數(shù)據(jù)收發(fā)、總線裁斷和中斷等功能。SHT11有四種子程序,分別為啟動(dòng)時(shí)序、讀一個(gè)字節(jié)、寫一個(gè)字節(jié)以及通信復(fù)位時(shí)序。這四種子程序在執(zhí)行的時(shí)候需按照嚴(yán)格的時(shí)序來(lái)操作。
5 結(jié)束語(yǔ)
針對(duì)傳統(tǒng)倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng)的不足,利用CAN總線技術(shù),結(jié)合低功耗單片機(jī)MSP430F149和數(shù)字型溫濕度傳感器SHT11提出了一種分布式總線倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng),系統(tǒng)布線靈活,監(jiān)測(cè)節(jié)點(diǎn)布局?jǐn)U展方便,具有低功耗實(shí)時(shí)監(jiān)測(cè)功能,具有良好的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 盧焱,張鳳登.基于CAN總線的無(wú)線溫濕度測(cè)量?jī)x[J].軟件導(dǎo)刊,2018,17(2):86-88,92.
[2] 張晴,劉青正,林智鳴.基于單片機(jī)的倉(cāng)庫(kù)溫濕度智能測(cè)控系統(tǒng)[J].電子世界,2019(21):136-137.
[3] 鄭淼淼.基于無(wú)線射頻技術(shù)的溫濕度測(cè)量系統(tǒng)[J].機(jī)電工程技術(shù),2012,41(10):64-66.
[4] 鄭淼淼.基于物聯(lián)網(wǎng)的家居安防系統(tǒng)設(shè)計(jì)[J].科技廣場(chǎng),2017(5):115-118.
[5] 鄭淼淼.樓宇無(wú)線火災(zāi)監(jiān)測(cè)報(bào)警系統(tǒng)的設(shè)計(jì)[J].科學(xué)技術(shù)創(chuàng)新,2017(25):17-18.
[6] 鄭淼淼.無(wú)線傳感器網(wǎng)絡(luò)室內(nèi)空氣質(zhì)量檢測(cè)系統(tǒng)[J].電腦知識(shí)與技術(shù),2021,17(26):45-46,49.
【通聯(lián)編輯:謝媛媛】
收稿日期:2021-12-08
作者簡(jiǎn)介:鄭淼淼(1984—),女,安徽淮南人,高級(jí)工程師,碩士,主要研究方向?yàn)殡姎夤こ獭?/p>