隨著嵌入式系統的廣泛應用,原來單一傳感器的嵌入式系統逐漸向嵌入式多傳感器系統發展。由此提出了多傳感器任務調度分配的問題。本文結合紅薯保鮮儲藏工程涉及到的溫度濕度氧濃度等參數要求,采用高性能16位單片機SPCE061A作為控制芯片,移植可裁剪的多任務實時操作系統μc/OS-II管理多任務的處理,選用高精度溫度傳感器DS18B20、濕度傳感器HIH3605、氧濃度傳感器DW-02構建了一個高精度高性能高可靠性的多傳感器嵌入式測控系統,各個被控參數可調范圍寬,較好的滿足了工程要求。系統的主要參數:工作溫度:10~14℃±0.5℃;工作濕度:80~95%RH±5%;氧濃度:≮4.5%。同時,實現了溫濕度數據的顯示與保存;可輸出溫度、濕度、氧濃度等調節的控制信號,具有故障和報警狀態提示等功能。
2 系統硬件設計
2.1 單片機系統設計
系統硬件電路原理框圖如圖1所示,主要由SPCE061A單片機、溫濕度傳感器、氧濃度度傳感器、LCD顯示電路、鍵盤電路、RS232通信電路、時鐘電路等組成。SPCE061A是一款基于μ'nSP內核的16位單片機。
圖1 系統硬件電路原理框圖
2.2 傳感器電路設計
溫度檢測電路選用Dalls公司生產的三線式數字溫度傳感器DS18B20。該器件只有3個引腳,不需要外部元件,一條數據線進行通信。該電路的檢測溫度范圍設計為0~+50℃;精度為0.5℃;用9bit數字量來表示溫度;每次將溫度轉換成數字量需200ms。在單總線工作方式下,允許一條信號線上掛接多個DS18B20,DS18B20都有唯一的ROM代碼。在多點溫度測控系統中,ROM代碼是識別和操作DS18B20的基礎;無論讀取還是選擇對某一個傳感器進行操作,SPCE061A必須發送64位ROM代碼。
本系統用3塊DS18B20來實現對環境溫度的檢測,保證在被測環境范圍內,溫度分布均勻,測量更加準確,使用時將DS18B20放置在被測環境的不同位置。獲得溫度信息時,先由SPCE061A的IOB15腳發送一個1ms的復位脈沖,以使DS18B20復位后將向SPCE061A 發送一個回應脈沖,SPCE061A接到回應脈沖后將發送讀DS18B20序列號的讀ROM命令,以分別讀取三個DS18B20的序列號;然后,SPCE061A再發出定位命令以選擇在線的DS1820并進行溫度轉換。當溫度轉換完成后,SPCE061A的IOB15腳會發送DS1820的存儲命令,從而完成溫度信息數據的轉換和讀取。
2路濕度傳感器采用Honeywell公司生產的HIH3605,它為熱固性聚合物電容傳感器,帶集成信號處理電路,5 V恒壓供電, 放大線形電壓輸出0~5VDC對應0~100%RH(相對濕度),精度為±3%RH。低功耗設計200μA驅動電流,寬工作溫度范圍-40℃~+85℃,穩定性好,低的溫度飄移,抗化學腐蝕性能優良。由于HIH3605為大信號輸出且線性度良好,因此,可省去復雜的信號放大及整形電路,只需經過CPU內部的A/D轉換器將與濕度值成正比的電壓值轉換成16位數字量,和標準進行比對,然后決定是進行加濕還是通風(溫度適宜的風)。
2路氧濃度檢測選用 DW-02型氧濃度傳感器,該傳感器是一種化學式的氣體擴散型燃料電池,廣泛應用在環保節能、航天等領域,用以小環境氧濃度監測。主要特點是體積小、響應快、線性好、溫漂小等特點,穩定。主要技術指標: 響應時間≤30秒(滿量程的90%) ;測量范圍0~50% O2 ;溫度系數>0.003% O2/℃ ;線性誤差+0.2%~-0.1% O2 ;使用溫度范圍-20℃~+50℃ ;輸出電流1.1mA+15% 。 本系統測定的含氧量不得低于4.5%。
由于是冬季,當儲藏室環境溫度高于14℃或濕度大于95%RH、或氧濃度低于4.5%設定值時,不能直接將冷空氣送入儲藏室,必須將室外空氣加熱到12℃送入,否則,會造成紅薯受冷變質。三個參數中,最主要的是溫度值,然后是濕度。繼電器電路的工作情況如表1所示。
表1 繼電器控制電路工作情況
2.3 鍵盤、顯示電路及通信接口設計
系統鍵盤電路由3根線連接至SPCE061A的IOA0~IOA2組成,它們分別是功能鍵,增加鍵,減少鍵,用來實現溫、濕度氧濃度的上、下限及控制時間的設置功能。測控儀采用HT1621驅動128段LCD顯示器,用于顯示現場的溫、濕度值、O2濃度以及故障和報警狀態。HT1621是一個128(32×4)段、內存映射、多功能、I2C接口的LCD驅動器。這里利用其兩線串行模式與單片機接口,簡化了與單片機的接口電路設計,并減少了硬件資源的占用。
為了將實時采集的氧濃度、溫濕度數值保存下來,SPCE061A通過IOB7/10 RS232總線將氧濃度溫濕度值傳輸給上位PC機,以便于主計算機完成數據存儲。
3 軟件設計
3.1 系統任務分配
評論
查看更多