占華林,陳亮亮,張配陽,諸麗芳,于子正
(江西科技師范大學,江西 南昌330013)
在日常的生產(chǎn)生活當中,對環(huán)境溫度的檢測變得日益重要。在較為早期的社會生產(chǎn)生活中,溫度的測量主要采用的是人工溫度計量法,這種獲取數(shù)據(jù)的方法主要是根據(jù)以往的經(jīng)驗和常識,與測量人體體溫類似,在需要了解溫度的周圍環(huán)境時,在附近安置溫度表,一段時間后,再通過人工取出之前放置的儀表,根據(jù)人為讀數(shù),進而去了解倉庫的溫度狀況。在儲物倉庫的日常安全工作中監(jiān)測倉庫環(huán)境是至關重要的一個部分[1]。環(huán)境指標中的溫度指標是倉庫安全至關重要的一個指標,它可直接影響倉庫所存儲貨物的品質。因此掌控倉庫實時溫度信息就變得尤為重要。傳統(tǒng)的溫度測量方法如干球溫度測量法、濕球溫度測量法、黑球溫度測量法步驟太過繁瑣[2-3],且耗費時間長,不適合做日常環(huán)境溫度監(jiān)測。
我國作為發(fā)展中國家在對倉庫環(huán)境溫度監(jiān)測方面稍稍慢于一些發(fā)達國家,由于當時的條件,廣大人民無法意識到倉庫存儲的意義。在上世紀80年代我國開始了對溫度監(jiān)測的研究。在技術上,以單一環(huán)境監(jiān)測為主,尚未結合化發(fā)展,與發(fā)達國家相比,還存在較大差距。具體體現(xiàn)在裝備設施不健全,產(chǎn)業(yè)化落后,環(huán)境控制水平不足。但是我國的技術人員學習能力強,在國家政策的引領下積極實踐,我國倉庫環(huán)境溫度監(jiān)測的科技體系逐漸形成,雖然我國溫度監(jiān)測離工廠化還有很長一段路要走,在生產(chǎn)實際中依舊會出現(xiàn)許多問題,但這也只是暫時的,相信通過其他行業(yè)的發(fā)展,慢慢地能夠帶動該領域的發(fā)展,并逐步趕超發(fā)達國家。
基于以上背景,文章設計基于STM32單片機的倉庫溫度監(jiān)測系統(tǒng)設計與控制。該系統(tǒng)可以顯示倉庫實時溫度,并且會在溫度高于設定值時發(fā)出警報并且啟動控制模塊降低環(huán)境溫度。
倉庫溫度監(jiān)測系統(tǒng)以STM32為主控制器[4],將數(shù)字溫度傳感器DS18B20采集的數(shù)據(jù)顯示在TFTLCD顯示屏界面,在溫度高于設定溫度時,單片機控制L9110S驅動電機上葉片轉動達到加速空氣流通,達到降低環(huán)境溫度的效果,實現(xiàn)環(huán)境溫度的自動控制。
從圖1系統(tǒng)框圖中可得出如下子模塊:
圖1 系統(tǒng)方案框圖
(1)單片機最小系統(tǒng):由32位STM32構成的單片機最小系統(tǒng)。
(2)溫度采集模塊:通過數(shù)字溫度感應器DS18B20采集溫度數(shù)據(jù),將數(shù)據(jù)送入單片機最小系統(tǒng)。數(shù)字溫度傳感器省略ADC轉換過程,單片機發(fā)送相應的命令進行配置,讀取相關的寄存器,再對數(shù)據(jù)進行轉換,即可獲得溫度數(shù)據(jù)。
(3)蜂鳴器報警:當溫度超過一定閾值時,單片機發(fā)送信息驅動蜂鳴器[5]。
(4)電機驅動模塊:當倉庫溫度超過一定閾值時,單片機發(fā)送信息給L9110S控制模塊驅動電機轉動。
(5)LCD顯示模塊。
用戶可以根據(jù)實際需要(如,主頻、存儲器、IO引腳數(shù)),選擇不同系列STM32單片機。STM32單片機內部含有閃存32-512KB和隨機存儲器6-64KB,可用于系統(tǒng)SoC運行簡單的應用程序,如果運行復雜的任務,可以擴展片外Flash和RAM。選用STM32系列單片機作為最小系統(tǒng),如圖2所示。
圖2 STM32最小系統(tǒng)
3.1.1 晶體振蕩電路
晶體振蕩電路由晶振、無極性電容組成。晶體振蕩電路輔助STM32單片機片內PLL模塊,在分頻器模塊的作用下產(chǎn)生片內需要的各種時鐘信號。
3.1.2 復位電路
向STM32復位引腳持續(xù)輸入5個以上的振蕩周期,可以使STM32內部寄存器恢復初始值。
3.1.3 電源供電
向STM32提供穩(wěn)定直流電壓。
3.1.4 外接串口電路
開發(fā)環(huán)境直接通過串口調試、下載數(shù)據(jù)、燒錄程序到STM32單片機。
溫度傳感器DS18B20采集倉庫環(huán)境的溫度,由于溫度的升降導致電阻發(fā)生變化,將這一變化相應轉成電壓變化,經(jīng)A/D轉化器轉化后,傳輸?shù)絊TM32單片機,再經(jīng)過校正、查表得到實際測量的溫度值[6]。DS18B20有三個引腳,GND(接地)、I/O(數(shù)據(jù)輸入/輸出)、VDD(電源),主要由溫度采集器、配置寄存器、ROM、溫度報警觸發(fā)器等四部分組成。數(shù)據(jù)信息傳輸只通過一根I/O線進行,讀取溫度信息要經(jīng)歷三條指令,第一條發(fā)送復位指令,第二條發(fā)送ROM指令,第三條發(fā)送RAM指令。溫度寄存器的數(shù)據(jù)以補碼形式存放,補碼值乘以0.0625獲得實際溫度值。
采用晶體管Q9012作為開關管來驅動蜂鳴器發(fā)聲[7]。如圖3所示,當外部環(huán)境變化映射至P10,引腳信號變成低電平,晶體管工作在“開”的工作狀態(tài),蜂鳴器發(fā)出聲音。
圖3 蜂鳴器報警電路原理
TFTLCD(薄膜晶體管顯示器)由于價格低廉、操作容易等特點,被廣泛使用。本論文采用LCD1602液晶顯示屏來顯示倉庫溫度等信息。
LCD顯示器具體分為兩種:
(1)字段顯示:輸出相應的電平信號至相應的管腳處,以顯示相應的數(shù)字或字母。
(2)字符顯示是根據(jù)需要顯示基本字符。
本文選用LCD1602作為顯示器件輸出信息,可以顯示2行16個字符,如圖4所示。
圖4 LCD1602液晶顯示電路原理
當檢測倉庫環(huán)境溫度升高時,電機驅動模塊L9110S驅動電機運轉,加速對流從而降低環(huán)境溫度。L9110S屬于兩通道推挽式對電機進行控制和驅動專用集成電路,解決分散元件控制電機的干擾性,內含鉗位二極管防止感性負載的反向電流,廣泛應用于控制直流電機、步進電機等。
軟件實現(xiàn)的主要功能有:
圖5 軟件設計流程圖
軟件設計溫度監(jiān)控的核心部分需通過循環(huán)的方式采集數(shù)據(jù),并進行數(shù)據(jù)對比處理。然后對相應狀況判斷處理。
文章提出基于STM32單片機的倉庫溫度監(jiān)測系統(tǒng)設計與控制,以STM32為核心控制器,將溫度傳感器采集到的信息在LCD屏上實時顯示,并且對溫度值進行判斷,超過預設值將啟動報警和控制電路。當溫度降低到小于設定值時報警電路和控制電路停止工作。