姜久超,郭玉霞,王紅艷,劉海波,劉婉慈
(1.河北工程技術(shù)高等??茖W(xué)校 河北 滄州 061001;2.渤海理工職業(yè)學(xué)院 河北 黃驊 061100)
隨著計算機控制技術(shù)的迅速發(fā)展,現(xiàn)場總線控制技術(shù)已經(jīng)越來越廣泛地應(yīng)用于各行各業(yè)中。我國是一個產(chǎn)糧和儲糧的大國,如何安全綠色儲糧是關(guān)系到國計民生的重大事情。在眾多大型倉儲糧庫中,通過單片機實現(xiàn)糧食存儲過程中的溫濕度監(jiān)測,其測控的點數(shù)一般是幾十個,如果擴展的測控點數(shù)多大幾百甚至上千時,單片機控制系統(tǒng)從存儲空間、巡檢速度上都無法達到控制要求。而CAN總線具有開放性、高驅(qū)動能力、成本低、容易實現(xiàn)等優(yōu)點,且其在一定的傳輸距離內(nèi),傳輸速率高、抗電磁干擾能力強,這為CAN總線應(yīng)用在糧庫溫濕度測量中打下了基礎(chǔ)。
在糧庫糧食存儲過程中,由于受地區(qū)、氣候條件、存儲倉的結(jié)構(gòu)形式和材料、糧倉通風(fēng)條件等的影響,糧倉內(nèi)糧食的溫濕度極易發(fā)生變化,如果監(jiān)測不夠及時和準確,很容易導(dǎo)致糧食發(fā)霉和腐爛,針對這種情況,必須對糧食的溫濕度參數(shù)進行監(jiān)測。大型糧庫檢測點數(shù)量大,傳統(tǒng)的溫濕測量精度低,抗干擾能力差,智能化、數(shù)字化程度低,遠程監(jiān)控聯(lián)網(wǎng)功能差,不能滿足現(xiàn)代糧庫對糧食存儲和管理的需求。而CAN總線應(yīng)用在糧庫溫濕測量中,現(xiàn)場眾多檢測點的問題得以解決,同時能實現(xiàn)實時檢測和智能分析,數(shù)據(jù)能進行顯示、保存和上傳為保證糧食的存儲質(zhì)量起到了重要的保障作用。本文以CAN總線為核心設(shè)計了智能溫濕數(shù)據(jù)采集系統(tǒng),在應(yīng)用于糧庫糧食溫濕度測量中,實現(xiàn)了糧食溫濕參數(shù)的智能測量、處理、顯示和記錄,對糧庫參數(shù)精確測量提供了有力的幫助。
基于CAN總線的溫濕數(shù)據(jù)采集系統(tǒng)采用上位機加智能測量節(jié)點組成[2]。系統(tǒng)組成框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure diagram
CAN總線是一種多主方式的控制總線,在汽車電子、自動控制、智能儀表、樓宇自動化等領(lǐng)域,是應(yīng)用最廣泛的一種總線。CAN總線上的節(jié)點不分主從,在任意時刻均可向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息;根據(jù)實時性的要求不同,總線上的節(jié)點又可分成不同的優(yōu)先級,優(yōu)先級高的數(shù)據(jù)傳送時間不超過134 us,當多個節(jié)點同時向總線傳送數(shù)據(jù)時,優(yōu)先級別低的節(jié)點自動退出;CAN總線通信的報文采用短幀結(jié)構(gòu),傳輸時間短,受干擾概率低,保證了通信低出錯率;CAN通信的每幀信息都有CRC校驗及其它檢錯措施,保證了數(shù)據(jù)傳輸?shù)目煽啃裕籆AN總線的傳輸介質(zhì)可為雙絞線、光纖等,傳輸距離最遠為10 km;CAN總線協(xié)議已被國際標準化組織認證,是國際標準的現(xiàn)場總線,結(jié)構(gòu)簡單,開發(fā)容易,器件標準化,具有較高的價格性能比[1-3]。
如圖1所示,系統(tǒng)由傳感器、智能節(jié)點、CAN收發(fā)器和監(jiān)控主機組成。傳感器由溫度和濕度傳感器組成,實現(xiàn)糧庫溫濕度的測量,并把信號傳輸給智能節(jié)點。智能節(jié)點由集成了CAN控制器的單片機C8051F040和CAN接口組成,完成對數(shù)據(jù)的采集并把數(shù)據(jù)傳送至總線。CAN收發(fā)器是總線與上位機之間的接口,實現(xiàn)對總線上數(shù)據(jù)的接收和發(fā)送并與上位機實現(xiàn)通信。上位機接收數(shù)據(jù)實現(xiàn)對整個網(wǎng)絡(luò)的監(jiān)控同時還要實現(xiàn)對系統(tǒng)參數(shù)的設(shè)置及對下位智能節(jié)點發(fā)送控制命令。
1)溫濕度傳感器的選擇
溫度檢測傳感器采用DS18B20。DS18B20是一款單總線數(shù)字式溫度傳感器,它能直接將溫度信號轉(zhuǎn)換成數(shù)字信號,不需要模數(shù)轉(zhuǎn)換(A/D轉(zhuǎn)換),也沒有采樣、量化和編碼的過程,能極大簡化電路的硬件設(shè)計。它結(jié)構(gòu)簡單,體積小,測溫范圍在-10~85℃范圍內(nèi)精度可達±0.5℃。其封裝簡單,只有3個引腳:VCC,GND和DQ。其中DQ是數(shù)據(jù)輸出端,GND是接地端,本方案中其為外部供電模式,引腳VCC與外部電源相接。
濕度檢測傳感器采用SHT71。SHT71濕度傳感器是一款智能型數(shù)字式溫濕傳感器,它集溫濕傳感器、信號放大處理電路、A/D轉(zhuǎn)換、I2C總線與一個芯片上,并具有免調(diào)試、免標定的特點,同時具有長期穩(wěn)定性好、功耗低、體積小、分辨率高等優(yōu)點。相對濕度的測量范圍0-100%,響應(yīng)時間8 s。SHT71結(jié)構(gòu)形式為表面貼片封裝,其管腳有4個:GND,VCC,DATE,SCK。其中GND為接地端,VCC為供電電源端,DATE為雙向串行數(shù)據(jù)端,SCK為串行時鐘輸入端。
傳感器接口電路如圖2所示。
圖2 傳感器與單片機連接圖Fig.2 connection of SCM and sensor
2)濕度傳感器的非線性補償
SHT71濕度傳感器的輸出為非線性的相對濕度數(shù)字信號,為了得到較為準確的濕度信號就需要對其非線性進行補償,補償公式為:
式中:RH為線性補償后的濕度值,SH為濕度傳器的輸出值,C1,C2,C3為線性補償系數(shù)。
線性補償系數(shù)C1,C2,C3的取值在濕度轉(zhuǎn)換精度為12位時分別為:-4,0.0405,-0.0000028。
由于濕度測量時溫度對其影響較大,而實際測量溫度和傳感器測試時的溫度25℃也不一定相同,所以濕度測量值在經(jīng)過線性補償后還要進行溫度補償,補償公式為:
式中:RHT為溫度補償后的濕度值,SH為濕度傳器的輸出值,T為測試濕度時的溫度值 (℃),RH為線性補償后的濕度值,t1,t2為溫度補償系數(shù)。
溫度補償系數(shù)t1,t2的取值在濕度轉(zhuǎn)換精度為12位時分別為:0.01,0.00008。
3)溫濕度傳感器的使用注意事項
使用DS18B20溫度傳感器需要注意的問題:
①當使用傳感器的數(shù)量增加時,就要考慮單片機總線的驅(qū)動能力。由于加入4.7 K上拉電阻后,相當于把所有溫度傳感器掛在了一條總線上,受單片機總線驅(qū)動能力的影響,本系統(tǒng)中經(jīng)過試驗驗證單片機每個I/O口所掛接的傳感器數(shù)量只要不超過30個,溫度就能正常轉(zhuǎn)換。
②由于所用DS18B20的數(shù)量較多,為了能正確讀出其轉(zhuǎn)換值,必須保證有嚴格的讀寫時序。
③連接DS18B20的總線電纜的長度有一定要求,當采用屏蔽電纜時,總線長度可達150m,當連接長度超多此值時,就要考慮總線電容和阻抗對測量帶來的影響。
使用SHT71濕度傳感器需要注意的問題:
①在采用信號電纜與單片機連接時,信號電纜的長度和質(zhì)量將影響濕度傳感器的響應(yīng)時間和供電電壓的質(zhì)量。經(jīng)實驗證明,信號電纜越長,傳感器響應(yīng)的時間越長,超過一定值后就需要增加單片機的驅(qū)動能力,一般電纜的傳輸距離在10 m;同時由于電纜長度和電纜電容的變化,會影響傳感器的供電電壓質(zhì)量,造成傳感器輸出誤差增加,一般可以通過降低電纜長度、增加去耦電容等來改善供電電壓的質(zhì)量。
②單片機與SCK相連接的I/O口應(yīng)設(shè)置成輸出模式控制濕度傳感器的時鐘。多個SHT71同時使用時,其SCK控制端可以共用。
③為了避免溫度增加給是度測量帶來的誤差,SHT71在工作時必須避免陽光直曬或高溫等場合,其轉(zhuǎn)換頻率也不宜太高,再用烙鐵焊接時也應(yīng)避免烙鐵和管腳的接觸時間不超過3秒。
C8051F040在指令上完全與MCS-51單片機兼容,但其集成度更高、運行速度更快,與MCS-51單片相比,其具的特點為:有與51兼容的CIP-51內(nèi)核,運行時鐘可達254MHz;2.7~3.6V低電壓供電,輸入端口兼容5V電平,輸出端口有開漏和推挽模式,共有64個多功能I/O端口;其內(nèi)部集成了局域網(wǎng)(CAN2.0)控制器,12位和 8位 ADC模塊各一個,12為DAC模塊 2個;有 64KBFlash ROM,256字節(jié)片內(nèi)內(nèi)存和4KB片外內(nèi)存。
PCA82C250是CAN協(xié)議控制器和物理總線之間的接口,該器件對總線提供差動發(fā)送能力并對CAN控制器提供差動接收能力。它具有完全符合ISOll898標準,主要特性:高速率(最高可達1Mb/s)、瞬間抗干擾能力、未供電節(jié)點不干擾總線、斜率控制以降低射頻干擾(RFI)、差分接收器具有抗寬范圍的共模干擾和抗電磁干擾(EMI)、可連接110個節(jié)點、低電流待機模式[4][7]等特點。其接口電路如圖3所示。為保證其抗干擾性能,在傳輸通道中增加了兩個完全隔離的光電耦合器件。
圖3 總線接口電路Fig.3 Bus iterface circuit
上位監(jiān)控顯示機采用PC機,其與總線之間通過CAN/USB轉(zhuǎn)換器,連接至CAN總線收發(fā)器PCA82C250。CAN/USB轉(zhuǎn)換器現(xiàn)在市場型號很多,這里采用一款CANUSB智能雙路轉(zhuǎn)換接口,其特點為:遵守CAN 2.0A和 CAN2.0B協(xié)議且兼容USB1.1和USB2.0總線;支持兩路獨立控制的CAN通道接口;傳輸速率在5 Kbps~1 Mbps之間可選;傳輸線采用雙絞線,光電隔離接口;可直接使用USB總線電源,無需外部供電。
CAN總線是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),根據(jù)節(jié)點信息優(yōu)先級的不同,其數(shù)據(jù)傳輸最多可在134μs內(nèi)完成。本采集系統(tǒng)中,CAN總線將現(xiàn)場檢測的溫濕度信號傳送到上位機,同時上位機通過CAN總線實現(xiàn)對下位機數(shù)據(jù)采集和傳送的控制信號傳遞。
程序流程框圖參見圖4所示?,F(xiàn)場主機程序功能主要是從傳感器檢測到現(xiàn)場參數(shù)送顯示并通過CAN總線上傳至上位機。程序首先要初始化,主要包括:液晶初始化、晶振初始化、A/D初始化、CAN初始化等,進入主程序后完成參數(shù)檢測功能,根據(jù)需要調(diào)用各功能子程序,如果有中斷,完成相應(yīng)的中斷服務(wù)程序,從而實現(xiàn)數(shù)據(jù)的采集、顯示、傳輸及控制。
CAN初始化程序主要實現(xiàn)CAN工作時的參數(shù)設(shè)置,主要包括工作方式的設(shè)置、控制寄存器和位定時寄存器的設(shè)置、接收濾波方式的設(shè)置、中斷允許寄存器的設(shè)置、波特率的設(shè)置等。
通過CAN控制器實現(xiàn)報文的接收和發(fā)送,接收子程序負責(zé)節(jié)點的報文接收,發(fā)送子程序負責(zé)節(jié)點的報文發(fā)送任務(wù),對報文發(fā)送和接收既可以采用查詢方式也可以采用中斷方式,本系統(tǒng)采用中斷方式。如圖5所示為報文接收程序流程圖,圖6為報文發(fā)送程序流程圖[5-6]。
圖4 程序流程圖Fig.4 Program flow
在報文發(fā)送和接收程序中由于采用中斷方式,所以在主程序中初始化中必須使能發(fā)送和接收中斷,再中斷服務(wù)程序中,判斷是否有發(fā)送和接收中斷標志,如果有,則相應(yīng)進入到發(fā)送或接收程序,完成報文的發(fā)送或接收。
該溫濕度測量系統(tǒng)完成了以C8051F040單片機為核心的CAN智能節(jié)點的設(shè)計,并通過CAN總線實現(xiàn)了與上位機的通信,并把其應(yīng)用于存儲玉米糧庫中進行溫濕度測量監(jiān)控,實踐應(yīng)用中證明其能較準確反映糧庫的溫濕度,精度較高。同時該系統(tǒng)具有較高的抗干擾能力,穩(wěn)定性高,參數(shù)采集實時化、智能化程度高,同時由于采用總線結(jié)構(gòu),系統(tǒng)布線的工作量大大減少,尤其在數(shù)量較多的檢測點中優(yōu)勢更加明顯。該系統(tǒng)在糧庫溫濕度測量中,還應(yīng)注意測量點的均勻性,從而保證測量參數(shù)能正確反映糧庫內(nèi)的實際參數(shù),為控制糧庫內(nèi)的參數(shù)及保證糧食的品質(zhì)打下一個良好的基礎(chǔ)。
[1]羅惠,葉湘濱.基于CAN總線的庫房溫濕度控制系統(tǒng)[J].沈陽工業(yè)學(xué)院學(xué)報,2004,23(2):45-47.LUO Hui,YE Xiang-bin.Acontrol systme of temperature and humindity for depot based on CAN Bus[J].Journal of Shenyang Institute of Technology,2004,23(2):45-47.
[2]張穎超,楊宇峰,葉小嶺,等.基于CAN總線的溫室監(jiān)測系統(tǒng)的通信設(shè)計[J].控制工程,2009,1(1):103-104.ZHANG Ying-chao,YANG Yu-feng,YE Xiao-ling,et al.Design of communication for greenhouse monitoring system based on CAN Bus[J].Control Engineer,2009,1(1):103-104.
[3]史久根.CAN總線系統(tǒng)設(shè)計技術(shù)[M].北京:國防工業(yè)出版社,2004.
[4]EISELEH.Application note PCA82C250/251 CAN transceiver[M].Philips semiconductors,1996:83-91.
[5]邱成鵬.基于CAN總線與CVI的糧情檢測系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2009.
[6]宮筱霞.基于CAN總線智能多參數(shù)監(jiān)控系統(tǒng) [D].南京:江蘇大學(xué),2010.
[7]劉海波.基于TMS320LF2407A的數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2014(1):100-102.LIUHai-bo.CANBus IntelligentMulti-ParameterMeasurement and Control Based in TMS320LFLF2407A [J].Instrument Technique and Sensor,2014(1):100-102.