方婷 葉明 周平
摘要為實現(xiàn)冬季寒冷條件下生菜的正常生長,以STM32F103嵌入式單片機為核心控制器,結(jié)合DS18B20溫度傳感器、4×4矩陣按鍵、TFT液晶顯示屏以及光警報器等外圍器件,設(shè)計了一個溫度智能控制系統(tǒng)。
關(guān)鍵詞生菜;STM32F103單片機;溫度控制;加熱降溫
中圖分類號S126文獻標識碼
A文章編號0517-6611(2017)32-0216-05
Design of Temperature Control System for Lettuces Planting
FANG Ting,YE Ming,ZHOU Ping*(College of Engineering, Anhui Agricultural University, Hefei,Anhui 230036)
AbstractIn order to realize the normal growth of lettuce under cold conditions in winter,using STM32F103 embedded microcontroller as the core controller,combined with DS18B20 temperature sensor,4×4 matrix button,TFT LCD screen and optical alarm and other peripheral devices,we designed a temperature intelligent control system.
Key wordsLettuce;STM32F103 SCM;Temperature control;Heating and cooling
隨著我國人民生活水平的不斷提高,對蔬菜種類和品質(zhì)的要求也越來越高,近年來生菜已成為冬季餐桌中的一個亮點,但是生菜正常的收獲時間是5—9月,在一般情況下冬季
很難種植生菜。目前,我國對于環(huán)境因素控制和自動調(diào)節(jié)的研究尚處于初級階段。尤其對于高寒地區(qū),多變的環(huán)境和漫長的冬季嚴重限制了生菜的生長,因此溫室大棚的發(fā)展是非常必要的,而發(fā)展的首要就是對溫度的控制[1-4]。筆者以STM32F103嵌入式單片機為核心控制器,結(jié)合DS18B20溫度傳感器、4×4矩陣按鍵、TFT液晶顯示屏以及光警報器等外圍器件,設(shè)計了一個溫度智能控制系統(tǒng)。
1系統(tǒng)的結(jié)構(gòu)與組成
該溫度控制系統(tǒng)硬件電路由STM32F103嵌入式單片機模塊、溫度采集模塊、液晶顯示模塊、鍵盤接口模塊、電源模塊、光報警模塊、強電驅(qū)動與控制模塊組成,總電路系統(tǒng)框架如圖1所示。
2系統(tǒng)的硬件設(shè)計
2.1單片機選型
51系列單片機為16位單片機,晶振12 MHz,內(nèi)存20 kb左右,驅(qū)動液晶屏能力非常管口資源較少,不符合該系統(tǒng)設(shè)計要求,而對于運算能力較強的32位STM32f103zet6嵌入時單片機,由于其具有晶振可達到72 MHz,內(nèi)存超過100 kb,管口有112個,可以同時掛載多個傳感器等優(yōu)點,因此選用STM32f103zet6更符合條件。
2.2溫度傳感器的選型
①電阻式溫度傳感器。它是根據(jù)熱敏電阻的溫度特性制成的,工作時需要用ADC模塊測出電壓,計算出電阻,再根據(jù)電阻與溫度的對應(yīng)關(guān)系,計算出溫度,此過程相對繁瑣,而且電阻與溫度的對應(yīng)關(guān)系并不是線性的,因此誤差較大,其優(yōu)點是測量的溫度范圍較廣。②DS18B20(圖2~3)。適宜電壓電壓范圍為3.0~5.5 V,溫度范圍為-55~125 ℃,當溫度為-10~85 ℃時精度為±0.5 ℃,可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.062 5 ℃,可實現(xiàn)高精度測溫,在9位分辨率時最多在 93.75 ms內(nèi)將溫度轉(zhuǎn)為數(shù)字,12位分辨率時最多在750 ms內(nèi)將溫度值轉(zhuǎn)換為數(shù)字,速度更快,其優(yōu)點是通過一根數(shù)據(jù)線把測得的溫度數(shù)據(jù)傳給單片機,不需要過多的硬件輔助測量,簡單、易行、精度高,支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫[5-9]。綜上所述,DS18B20溫度傳感器是最佳選擇。
2.3TFT液晶屏的選型
①12864屏。黑白屏,無字庫,開發(fā)時需要使用字模軟件對需要的漢字進行取模,由于這個局限性,所以它只適合用于使用漢字不多的場合。②TFT彩屏(圖4)。為彩色屏,自帶字庫,開發(fā)時跳過取模環(huán)節(jié),直接調(diào)用字庫即可,通過對RGB數(shù)值的設(shè)置,可以獲得想要的顏色,它還具有12864所沒有的觸摸功能,但它對單片機的處理速度要求較高,一般用51系列的單片機來驅(qū)動它具有很大難度,而采用RAM系列單片機可以很好驅(qū)動它。綜合考慮,選用TFT彩屏作為顯示屏更為合理。
2.4加熱器的選擇
目前常用的加熱方式有熱水加溫系統(tǒng)、熱風(fēng)爐加溫系統(tǒng)、電加熱系統(tǒng)、點熱泵等,采用的主要能源為燃煤、燃油、燃氣以及電能。電加熱熱風(fēng)機以電能為能源,清潔環(huán)保,熱轉(zhuǎn)化率在99%左右,升溫快,但工作電壓為220 V/380 V電壓,需要配備大容量變壓器,經(jīng)濟成本高,不適合單個用戶選用;成本較低的是燃煤熱風(fēng)爐,具有獨有的整體保溫隔熱設(shè)計,熱損耗降至最低,熱效率高達80%;所有指標均達國家 Ⅰ 類地區(qū)環(huán)保標準,適合單個用戶選用。因此,選型方案可根據(jù)具體情況進行選擇。
2.5通風(fēng)機的選擇
針對該系統(tǒng),采用軸流通風(fēng)機,山東省青州市某設(shè)備廠生產(chǎn)的2種軸流通風(fēng)機如圖5所示。它具有低噪音、風(fēng)量大、效率高、重量輕與安裝使用方便等特點,是較好的通風(fēng)設(shè)備[3]。
2.6強電驅(qū)動與控制模塊
該模塊采用帶過零觸發(fā)的光耦合器件MOC3061,將強電與弱電分開,實現(xiàn)前后級電路的電氣隔離,控制熱風(fēng)機的工作電路如圖6所示(控制通風(fēng)機的電路與此相同)。當溫室內(nèi)溫度超過設(shè)定的溫度上限時,單片機1腳輸出低電平信號,經(jīng)過驅(qū)動門7407驅(qū)動光耦合器MOC3061內(nèi)部光電二極管發(fā)光,在其輸出端4腳與6腳之間得到輸出電壓,觸發(fā)雙向可控硅KS導(dǎo)通,使電加熱熱風(fēng)機或控制燃煤熱風(fēng)機、通風(fēng)機的交流接觸器獲得220 V/380 V的工作電壓。當直接控制熱風(fēng)機時因其功率較大,發(fā)雙向可控硅KS需要選用大功率電流器件,也可以光耦合器后接固態(tài)繼電器實現(xiàn)對熱風(fēng)機的直接控制[3]。
2.7光報警模塊
采用紅、黃、綠3種燈,當溫度低于下限值時黃燈亮,當溫度高于上限值時紅燈亮,當溫度在正常區(qū)間時綠燈亮。
3軟件設(shè)計
在此次的軟件設(shè)計中,以C語言為編程語言,基于Keil 5 為平臺的程序開發(fā)。在溫度的控制部分,采用PID算法可以達到溫度的自我修正,使溫度趨于平穩(wěn),通過對實際系統(tǒng)工作環(huán)境中的各種干擾進行分析補償,以達到溫度自動控制的目的。
3.1PID算法控制
PID算法原理如圖7所示。PID算法的公式如下:
U(k)=Kp{e(k)+[ T*kn=0e(n)]/Ti+Td*[e(k)-e(k-1)]/T }
式中,U(k)為輸出變量,e(k)為第k次偏差,積分部分為T*kn=0e(n),微分部分為[e(k)-e(k-1)]/T,Kp為比例系數(shù),結(jié)合此次控制特點,溫度是要控制的變量,e(k)為第k次測得的溫度偏差,通過改變Kp 、Td/T 與T/Ti值來改變達到預(yù)設(shè)值的時間、控制過程的速度與溫度的靜量差。
部分程序如下:
int Incremental_PI (int Encoder,int Target)
{
float Kp=20,Ki=30;
static int Bias,Pwm,Last_bias;
Bias=Encoder-Target; //計算偏差
Pwm+=Kp*(Bias-Last_bias)+Ki*Bias; //增量式PI控制器
Last_bias=Bias; //保存上一次偏差
return Pwm; //增量輸出
}
3.2主程序設(shè)計
主程序流程如圖8所示。主程序的開始是對變量進行賦值,端口定義,接下來進行LCD屏的初始化和DS18B20的初始化,顯示開機的信息最后清屏進入主循環(huán)(圖9)。在主循環(huán)中進行溫度值上下限的設(shè)定,設(shè)定好后對DS18B20溫度值進行讀取,對收集的溫度進行處理并轉(zhuǎn)化為十進制,再把轉(zhuǎn)化的溫度值顯示出來,接下來對采集的溫度進行比對,觀察其是否在正常范圍內(nèi)。當溫度值在正常范圍內(nèi)時,綠燈亮;若低于下限值,程序啟動黃燈,使黃燈點亮,同時啟動電加熱熱風(fēng)機或燃煤熱風(fēng)機進行加熱;當高于上限值時,程序啟動紅燈,使紅燈點亮,同時啟動軸流通風(fēng)機進行適當降溫。
3.3溫度上下限設(shè)置程序
溫度設(shè)置流程如圖10所示。用k1、k2、k3、k4按鍵對上限溫度值進行設(shè)置,k1按下時進入上限值設(shè)置程序,此時當k2鍵按下時上限值加0.1 ℃,當k3鍵按下時上限值減0.1 ℃,當k4鍵按下時上限值設(shè)置結(jié)束并更新上限值;用k5、k6、k7、k8按鍵對下限溫度值進行設(shè)置,k5按下時進入上限值設(shè)置程序,此時當k6鍵按下時上限值加0.1 ℃,當k7鍵按下時上限值減0.1 ℃,當k8鍵按下時上限值設(shè)置結(jié)束并更新上限值。
3.4溫度讀取程序首先對DS18B20進行初始化,發(fā)送跳過ROM命令,發(fā)送溫度轉(zhuǎn)換命令,讓DS18B20對外部溫度進行采集,然后再對DS18B20進行初始化,發(fā)送跳過ROM命
4結(jié)語
在硬件設(shè)計時,結(jié)合生菜溫度控制的特點,選用高級單片機STM32F103zet6為主控制器,其功能強大,可以同時掛載數(shù)十個溫度傳感器,能夠擴大溫度的測量范圍,內(nèi)部的延
時相當準確,極大提高了設(shè)計的速度與準確性;在軟件設(shè)計時,以keil5為編程軟件,選用C語言為編程語言,增加了程序的可移植性,為后期的二次開發(fā)提供了便利。該系統(tǒng)采用PID算法作為溫度控制的核心算法,它是一種帶反饋的控制系統(tǒng),可以使溫度的控制更加快速、平穩(wěn)與準確。從整體的設(shè)計特點來看,硬件設(shè)計簡單明了,盡量避免使用過多的輔助硬件,降低了設(shè)計的復(fù)雜程度,為后期的維修也帶來了極大的便利,軟件設(shè)計上采用PID算法提高了系統(tǒng)的抗干擾能力。
參考文獻
[1]
張玉峰.基于單片機的蔬菜大棚溫度控制系統(tǒng)設(shè)計[J].農(nóng)機化研究,2010,32(3):150-153.
[2] 江紹春,包君.基于單片機的蔬菜大棚溫度控制系統(tǒng)研究設(shè)計[J].農(nóng)機化研究,2012,34(9):150-153.
[3] 李振東.蔬菜溫室大棚溫度控制系統(tǒng)[D].青島:中國海洋大學(xué),2010:1-57.
[4] 梁萬用,王凱.蔬菜大棚溫濕度智能控制系統(tǒng)設(shè)計[J].安徽農(nóng)業(yè)科學(xué),2009,35(19):9138-9139.
[5] 黎運宇,孔德榮.基于單片機 AT89S52 的蔬菜塑料大棚恒溫控制系統(tǒng)[J].廣西民族師范學(xué)院學(xué)報,2016,33(3):17-19.
[6] 貝克.CMOS集成電路設(shè)計手冊[M].朱萬經(jīng),張徐亮,張雅麗,譯.北京:人民郵電出版社,2014.
[7] 金鳳蓮.模擬電子技術(shù)基礎(chǔ)實驗及課程設(shè)計[M].北京:清華大學(xué)出版社,2009.
[8] 馬駿.蔬菜大棚溫度電控系統(tǒng)的模糊控制研究[J].中國農(nóng)機化學(xué)報,2015,36(1):128-131.
[9] 段乃俠.蔬菜溫室大棚溫度控制系統(tǒng)的設(shè)計[J].機械設(shè)計與制造工程,2015,44(12):52-55.