基于CAN總線的倉(cāng)庫(kù)溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)

2.2.2溫度檢測(cè)部分
系統(tǒng)采用由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,該傳感器屬于新一代適配微處理器的智能溫度傳感器。DS18B20主要有兩種工作方式:寄生電源工作方式和外接電源工作方式。本系統(tǒng)采用外接電源方式(如圖6)。

2.2.3濕度檢測(cè)部分
濕度檢測(cè)采用HS1101型濕度傳感器,HS1101是HUMIREL公司生產(chǎn)的變?nèi)菔较鄬?duì)濕度傳感器,采用獨(dú)特的工藝設(shè)計(jì)。
HS1101測(cè)量濕度采用將HS1101置于555振蕩電路中,將電容值的變化磚換成電壓頻率信號(hào),可以直接被微處理器采集。
設(shè)計(jì)的電路如圖7所示。

555芯片外接電阻R20,R19與HS1101,構(gòu)成對(duì)HS1101的充電回路。7端通過(guò)芯片內(nèi)部的晶體管對(duì)地短路實(shí)現(xiàn)對(duì)HS1101的放電回路,并將引腳2,6端相連引入到片內(nèi)比較器,構(gòu)成一個(gè)多諧波振蕩器,其中,R20相對(duì)于R19必須非常的小,但決不能低于一個(gè)最小值。R18是防止短路的保護(hù)電阻。

HS1101作為一個(gè)變化的電容器,連接2和6引腳。引腳作為R20的短路引腳。HS1101的等效電容通過(guò)R19和R20充電達(dá)到上限電壓(近似于0.67VCC,時(shí)間記為T1),這時(shí)555的引腳3由高電平變?yōu)榈碗娖剑缓笸ㄟ^(guò)R19開(kāi)始放電,由于R20被7引腳短路接地,所以只放電到觸發(fā)界線(近似于0.33VCC,時(shí)間記為T2),這時(shí)555芯片的引腳3變?yōu)楦唠娖?。通過(guò)不同的兩個(gè)電阻R19,R20進(jìn)行傳感器的不停充放電,產(chǎn)生方波輸出。可以得出:
由此可以看出,空氣相對(duì)濕度與555芯片輸出頻率存在一定線性關(guān)系。表2給出了典型頻率濕度關(guān)系(參考點(diǎn):25℃,相對(duì)濕度:55%,輸出頻率:6.660kHz)??梢酝ㄟ^(guò)微處理器采集555芯片的頻率,然后查表即可得出相對(duì)濕度值。為了更好提高測(cè)量精度,將采用下位機(jī)負(fù)責(zé)采集頻率,將頻率值送入上位機(jī)進(jìn)行分段處理。
2.2.4溫濕度控制部分
在監(jiān)控系統(tǒng)中,除了實(shí)時(shí)檢測(cè)溫度濕度等參數(shù)外,還需要對(duì)這些參數(shù)進(jìn)行控制。在溫度等測(cè)量參數(shù)超過(guò)用戶設(shè)定值范圍時(shí),啟動(dòng)相關(guān)控制設(shè)備,否則關(guān)閉控制設(shè)備。系統(tǒng)采用繼電器控制通風(fēng),除濕等設(shè)備的啟動(dòng),具體電路設(shè)計(jì)如圖8所示,其中J1用于控制通風(fēng)設(shè)備,J2,J3用于控制濕度。

3系統(tǒng)軟件設(shè)計(jì)
監(jiān)控系統(tǒng)軟件設(shè)計(jì)分為上位機(jī)系統(tǒng)的軟件設(shè)計(jì)和下位機(jī)系統(tǒng)的軟件設(shè)計(jì)。
上位機(jī)系統(tǒng)的軟件包括監(jiān)控管理部分軟件和CAN適配器軟件。現(xiàn)場(chǎng)監(jiān)控管理部分主要利用組態(tài)王軟件完成倉(cāng)庫(kù)的現(xiàn)場(chǎng)測(cè)量點(diǎn)模擬,對(duì)倉(cāng)庫(kù)的現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行采集,并對(duì)采集數(shù)據(jù)進(jìn)行分析,自動(dòng)計(jì)算倉(cāng)內(nèi)的最高、最低和平均溫度值,還可計(jì)算出每層的最高、最低和平均溫度值,完成超限實(shí)時(shí)報(bào)警,同時(shí)實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行操作控制。例如啟動(dòng)通風(fēng)、除濕、噴灑及安全保護(hù)裝置,報(bào)警、切斷電源等。并自動(dòng)生成各種報(bào)表和圖表,建立和存儲(chǔ)倉(cāng)庫(kù)的倉(cāng)儲(chǔ)歷史檔案和打印功能。而遠(yuǎn)程監(jiān)控管理部分主要完成倉(cāng)庫(kù)狀態(tài)遠(yuǎn)程查詢,報(bào)表打印和遠(yuǎn)程控制等功能。
對(duì)于CAN適配器的軟件設(shè)計(jì)采用Windows環(huán)境下的VB語(yǔ)言進(jìn)行開(kāi)發(fā),由于Windows的保護(hù),VB無(wú)法直接讀寫(xiě)并行端口,需要另外的程序模塊來(lái)實(shí)現(xiàn)并行端口的直接讀寫(xiě),使用WINIO模塊來(lái)解決VB對(duì)并口的讀寫(xiě)。同時(shí),由于WINIO模塊不支持系統(tǒng)中斷,還需要利用VB編寫(xiě)線程來(lái)查詢SJA1000的中斷狀態(tài)。
下位機(jī)系統(tǒng)的軟件包括CAN節(jié)點(diǎn)的軟件和溫濕度檢測(cè)控制軟件。軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方式。軟件中主要程序有SJA1000的初始化,報(bào)文的發(fā)送程序,報(bào)文的接收程序,CAN總線錯(cuò)誤處理程序,以及和傳感器配合實(shí)現(xiàn)現(xiàn)場(chǎng)參數(shù)的采集。
4結(jié)語(yǔ)
該設(shè)計(jì)在倉(cāng)庫(kù)的總體結(jié)構(gòu)設(shè)計(jì)中,成功引入CAN總線作為通訊網(wǎng)絡(luò),其中下位機(jī)利用AT89S52單片機(jī)和SJA1000完成CAN節(jié)點(diǎn)設(shè)計(jì),上位機(jī)完成了對(duì)CAN通訊適配器的設(shè)計(jì),采用上位機(jī)高級(jí)語(yǔ)言VB和EPP協(xié)議實(shí)現(xiàn)SJA1000的控制,大大地提高了系統(tǒng)內(nèi)部的速率和實(shí)時(shí)性,具有處理速度快,成本較低的優(yōu)點(diǎn)。
評(píng)論