《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CAN總線的倉庫溫濕度監(jiān)控系統(tǒng)的設(shè)計
基于CAN總線的倉庫溫濕度監(jiān)控系統(tǒng)的設(shè)計
摘要: 在倉庫的貨物的管理中,,需要對溫度、濕度等環(huán)境參數(shù)進行監(jiān)控,,以保證倉庫的安全,。隨著庫區(qū)的面積逐漸擴大,,需要傳輸能力強和通信距離遠的監(jiān)控系統(tǒng)來有效地對倉庫貨物進行監(jiān)管,。
Abstract:
Key words :
1 引 言

 

  在倉庫的貨物的管理中,需要對溫度,、濕度等環(huán)境參數(shù)進行監(jiān)控,,以保證倉庫的安全。隨著庫區(qū)的面積逐漸擴大,,需要傳輸能力強和通信距離遠的監(jiān)控系統(tǒng)來有效地對倉庫貨物進行監(jiān)管,。

  CAN(Controller Area Network,控制器局域網(wǎng))總線技術(shù)具有先進的多主網(wǎng)絡(luò)結(jié)構(gòu),、通訊距離遠,、價位低、可靠性高,、系統(tǒng)容量大,、安裝方便、維護費用低,、性價比高等優(yōu)點,。特別對庫區(qū)較大、倉庫分布較分散的大型倉庫的監(jiān)控非常適用,。

2系統(tǒng)硬件設(shè)計

  本系統(tǒng)采用分布式監(jiān)控網(wǎng)絡(luò),,主要分為上位機和下位機兩部分,而上位機硬件包括CAN通訊適配器和上位監(jiān)控管理機組成;下位機則由CAN節(jié)點和現(xiàn)場傳感器組和溫度濕度參數(shù)控制器組成,,如圖1所示,。
  

 

  其工作原理是下位機節(jié)點通過一定時間間隔把含有地址、溫度,、濕度等數(shù)據(jù)量的報文向CAN總線發(fā)送,,總線通過自身仲裁確定先把優(yōu)先級最高的數(shù)據(jù)放到總線上,然后自動仲裁依次發(fā)送優(yōu)先級相對較低的報文到CAN總線,。由于CAN總線的信息存取利用了廣播式的存取工作方式,,報文可以在任何時候由任何節(jié)點發(fā)送到空閑的總線上,每個CAN總線節(jié)點都接收到了總線上出現(xiàn)的報文信息,,通過每個節(jié)點的報文濾波和地址設(shè)置,,上位機CAN節(jié)點能實現(xiàn)上傳報文的接收。上位機接收到報文信息后通過組態(tài)王軟件實現(xiàn)倉庫溫度等參數(shù)實時監(jiān)視和記錄,。同時上位機通過倉庫人機界面可隨時發(fā)送控制信息到CAN總線上,地址匹配的CAN總線節(jié)點能收到信息,。通過這種方式即可實現(xiàn)倉庫的溫度等參數(shù)的反饋控制,。

  2.1上位機系統(tǒng)的硬件設(shè)計

  CAN通訊適配器承擔(dān)上位計算機和CAN節(jié)點之間的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),實現(xiàn)上位機與下位機的通訊,。利用EPP并行口實現(xiàn)PC機與SJA1000的通信,,關(guān)鍵在于實現(xiàn)SJA1000的讀寫時序,,實現(xiàn)的方法有兩種:軟件產(chǎn)生讀寫時序電路和硬件產(chǎn)生讀寫時序電路。該系統(tǒng)用硬件產(chǎn)生讀寫時序電路,,通過邏輯門的時間延遲來產(chǎn)生SJA1000握手等信號,。設(shè)計電路如圖2所示。

 

 

  2.2下位機系統(tǒng)的硬件設(shè)計

  下位機包括CAN節(jié)點,、現(xiàn)場傳感器組和溫度濕度參數(shù)控制器,。CAN節(jié)點主要是完成CAN總線信號和CAN網(wǎng)絡(luò)通訊的配置。現(xiàn)場傳感器組和參數(shù)控制器部分主要是和CAN節(jié)點完成實時監(jiān)測倉庫內(nèi)各個測試點的溫度,、濕度情況,,還要負責(zé)接收上位管理機的命令,根據(jù)上位管理機的要求傳輸數(shù)據(jù)和反饋控制,。下位機結(jié)構(gòu)組成如圖3所示,。
  

 

  2.2.1 CAN節(jié)點

  CAN節(jié)點器件主要包括:微處理器AT89S52單片機、CAN控制器SJA1000和CAN總線收發(fā)器PCA82C250,。

 ?。?)CAN控制器SJA1000

  SJA1000的工作模式通過其內(nèi)部的時鐘分頻寄存器CDR中的CAN模式位來選擇。硬件復(fù)位時默認(rèn)模式是BasicCAN工作模式,。SJA1000相對于微控制器相當(dāng)于是一存儲映象I/O設(shè)備,,他的地址域由控制段和信息緩沖區(qū)段組成,在向下加載初始化期間,,控制器可被編程以設(shè)定通信參數(shù),,CAN總線上的通信可通過此段由微控制器控制。

  SJA1000內(nèi)部寄存器有的是只能寫的,,有的是既可讀又可寫的,。系統(tǒng)正常工作之前,微控制器要對某些寄存器進行初始化,,以保證系統(tǒng)的各部分之間能進行正確的數(shù)據(jù)交換,。CAN控制器的內(nèi)容都是通過微控制器寫入的,其讀寫時序如圖4所示,。
  

 

  從讀/寫時序圖來看,,微控制器對SJA1000進行操作,由于SJA1000內(nèi)可存儲數(shù)據(jù)的地址信息?,F(xiàn)場數(shù)據(jù)采集與控制層負責(zé)從現(xiàn)場采集數(shù)據(jù)以CAN協(xié)議的格式發(fā)送到總線上,,根據(jù)需要對現(xiàn)場設(shè)備進行實時控制和監(jiān)視。系統(tǒng)上電后微處理器先對自身和SJA1000進行初始化,,以SJA1000傳送到CAN總線上或直接現(xiàn)場顯示,、控制;對從CAN總線上來的信息則采用中斷方式,系統(tǒng)每接收到一幀信息,,便產(chǎn)生一次中斷,,引發(fā)微處理機進入中斷,,在中斷服務(wù)程序中讀取該幀信息并傳送到現(xiàn)場。

 ?。?)CAN收發(fā)器PCA82C250

  PCA82C250為CAN收發(fā)器,,是CAN控制器和物理總線間的接口,提供對總線的驅(qū)動發(fā)送能力,,CAN控制器的差動發(fā)送能力和CAN控制器的差動接收能力,。他有很強的抗瞬間干擾和保護總線的能力,具有3種不同的工作模式即高速,、斜率控制和待機,。總線上的某節(jié)點掉電不會影響總線,,在40 m內(nèi)實現(xiàn)高速應(yīng)用可達1 Mb/s,,最多可掛110個節(jié)點。管腳8(RS)允許PCA82C250選擇3種不同的工作模式,,如表1所示,。

 

 
通過上面的結(jié)構(gòu)框圖繪制出了如圖5 所示的CAN節(jié)點具體的電路。

 

 

 

 

  2.2.2 溫度檢測部分

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

 

 

  2.2.3 濕度檢測部分

  濕度檢測采用HS1101型濕度傳感器,,HS1101是HUMIREL公司生產(chǎn)的變?nèi)菔较鄬穸葌鞲衅鳎捎锚毺氐墓に囋O(shè)計,。

  HS1101測量濕度采用將HS1101置于555振蕩電路中,,將電容值的變化磚換成電壓頻率信號,可以直接被微處理器采集,。

  設(shè)計的電路如圖7所示,。

 

 

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

 

 

  HS1101作為一個變化的電容器,,連接2和6引腳。引腳作為R20的短路引腳,。HS1101的等效電容通過R19和R20充電達到上限電壓(近似于0.67 VCC,,時間記為T1),這時555的引腳3由高電平變?yōu)榈碗娖?,然后通過R19開始放電,,由于R20被7引腳短路接地,所以只放電到觸發(fā)界線(近似于0.33 VCC,,時間記為T2),,這時555芯片的引腳3變?yōu)楦唠娖健Mㄟ^不同的兩個電阻R19,,R20進行傳感器的不停充放電,,產(chǎn)生方波輸出??梢缘贸觯?/p>

  

  由此可以看出,,空氣相對濕度與555芯片輸出頻率存在一定線性關(guān)系。表2給出了典型頻率濕度關(guān)系(參考點:25℃,,相對濕度:55%,,輸出頻率:6.660 kHz)??梢酝ㄟ^微處理器采集555芯片的頻率,,然后查表即可得出相對濕度值。為了更好提高測量精度,,將采用下位機負責(zé)采集頻率,,將頻率值送入上位機進行分段處理。

  2.2.4 溫濕度控制部分

  在監(jiān)控系統(tǒng)中,,除了實時檢測溫度濕度等參數(shù)外,,還需要對這些參數(shù)進行控制。在溫度等測量參數(shù)超過用戶設(shè)定值范圍時,,啟動相關(guān)控制設(shè)備,,否則關(guān)閉控制設(shè)備。系統(tǒng)采用繼電器控制通風(fēng),,除濕等設(shè)備的啟動,,具體電路設(shè)計如圖8所示,其中J1用于控制通風(fēng)設(shè)備,,J2,,J3用于控制濕度。

 

 

3 系統(tǒng)軟件設(shè)計

  監(jiān)控系統(tǒng)軟件設(shè)計分為上位機系統(tǒng)的軟件設(shè)計和下位機系統(tǒng)的軟件設(shè)計。

  上位機系統(tǒng)的軟件包括監(jiān)控管理部分軟件和CAN適配器軟件?,F(xiàn)場監(jiān)控管理部分主要利用組態(tài)王軟件完成倉庫的現(xiàn)場測量點模擬,,對倉庫的現(xiàn)場數(shù)據(jù)進行采集,并對采集數(shù)據(jù)進行分析,,自動計算倉內(nèi)的最高,、最低和平均溫度值,還可計算出每層的最高,、最低和平均溫度值,,完成超限實時報警,同時實現(xiàn)對現(xiàn)場設(shè)備進行操作控制,。例如啟動通風(fēng),、除濕、噴灑及安全保護裝置,,報警,、切斷電源等。并自動生成各種報表和圖表,,建立和存儲倉庫的倉儲歷史檔案和打印功能,。而遠程監(jiān)控管理部分主要完成倉庫狀態(tài)遠程查詢,報表打印和遠程控制等功能,。

  對于CAN適配器的軟件設(shè)計采用Windows環(huán)境下的VB語言進行開發(fā),,由于Windows的保護,VB無法直接讀寫并行端口,,需要另外的程序模塊來實現(xiàn)并行端口的直接讀寫,,使用WINIO模塊來解決VB對并口的讀寫。同時,,由于WINIO模塊不支持系統(tǒng)中斷,,還需要利用VB編寫線程來查詢SJA1000的中斷狀態(tài)。

  下位機系統(tǒng)的軟件包括CAN節(jié)點的軟件和溫濕度檢測控制軟件,。軟件設(shè)計采用模塊化設(shè)計方式,。軟件中主要程序有SJA1000的初始化,報文的發(fā)送程序,,報文的接收程序,,CAN總線錯誤處理程序,以及和傳感器配合實現(xiàn)現(xiàn)場參數(shù)的采集,。

4 結(jié) 語

  該設(shè)計在倉庫的總體結(jié)構(gòu)設(shè)計中,,成功引入CAN總線作為通訊網(wǎng)絡(luò),其中下位機利用AT89S52單片機和SJA1000完成CAN節(jié)點設(shè)計,,上位機完成了對CAN通訊適配器的設(shè)計,,采用上位機高級語言VB和EPP協(xié)議實現(xiàn)SJA1000的控制,,大大地提高了系統(tǒng)內(nèi)部的速率和實時性,具有處理速度快,,成本較低的優(yōu)點,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。