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