摘 要: 以ARM Cortex-M3處理器STM32F103VBT6為核心,應用AM2301溫濕度傳感模塊實現對太陽能干燥室內溫濕度參數的實時監測,采用數字PID控制技術控制鼓風機的轉速,保持干燥室內的溫度穩定,并通過繼電器控制排氣扇的啟停使干燥室內濕度保持在設定上限之下。干燥室通過RS 485總線和上位機通信,上位機設定干燥室內的目標溫度和濕度上限,并實時顯示干燥室內溫度、濕度、鼓風機轉速、排氣扇開關狀態等參數。嵌入式系統軟件采用FreeRTOS實時操作系統,保證了系統的實時性和可靠性,實現對太陽能干燥室內溫濕度的實時監測與控制。經現場應用驗證了系統運行穩定,控制精度高,響應速度快。
關鍵詞: STM32; FreeRTOS; 嵌入式; PID控制; 太陽能干燥
中圖分類號: TN911.7?34;TP273+.2 文獻標識碼: A 文章編號: 1004?373X(2013)23?0103?04
Design of real?time monitoring and control system for embedded solar
energy drying based on STM32 and FreeRTOS
SONG Hua?lu1, YAN Yin?fa1, ZHANG Shi?fu1, WANG Hai2, LI Fa?de1
(1. CMEE, Shandong Agricultural University, Tai’an 271000, China; 2. Chinese Academy of Agricultural Engineering, Beijing 100125, China)
Abstract: AM2301 temperature and humidity sensor module is used to realize real?time monitoring the temperature and the humidity parameters of the solar drying chamber, by taking STM32F103VBT6 with ARM Cortex?M3 as core. In order to keep internal temperature stable, the digital PID control technology is used to control the speed of the blower, and the relay is used to control the status of the exhaust fan to maintain the low humidity of the drying chamber. Drying chamber and PC are linked through the RS?485 communication bus. PC could be used to set the chamber′s drying temperature and the ceiling humidity, and display the chamber′s temperature and humidity, the speed of the blower, and the status of the exhaust fan. The embedded system software adopts FreeRTOS real?time operating system, which could ensure the system′s real?time performance and reliability, and realize real?time monitoring and control of the solar energy drying chamber′s temperature and humidity. Practice shows that the system has stable operation, high control precision and fast response.
Keywords: STM32; FreeRTOS; embedded; PID control; solar energy drying
0 引 言
太陽能是一種清潔可再生能源,應用前景十分廣闊。近年來,利用太陽能進行農產品、藥品的加工也因其節能、干燥時間短、干燥品質高等特點而發展十分迅速。為保證干燥物料的品質與干燥效率,太陽能干燥設備在進行干燥作業時需要對干燥室內的溫濕度進行實時監控。沈陽農業大學王勝利、付立思等人研制的基于AT89C51的智能太陽能干燥控制系統沒有進行實時操作系統的移植,監測與控制的實時性要求無法得到妥善滿足,設備的干燥效果也因此受到影響[1]。內蒙古農業大學徐明娜研制的基于PLC的苜蓿太陽能干燥控制系統雖然運行也較穩定,但整體造價較為昂貴,并不適宜大規模推廣應用[2]。針對太陽能干燥監控系統實時性、穩定性、宜推廣性的設計需求,本文開發研制了一套基于STM32和FreeRTOS的實時嵌入式太陽能干燥監測和控制系統,采用溫濕度傳感器AM2301對溫濕度進行測量,并經RS 485通信線路傳輸至PC上位機,實現了對太陽能干燥室內溫濕度的實時監測;采用數字PID控制鼓風機轉速與繼電器控制排氣扇啟停相配合完成對太陽能干燥室內溫濕度的實時控制。上位機采用組態軟件編寫,具有適應性強、開放性好、易于擴展、經濟、開發周期短等優點,監測與控制界面簡潔明了易操作。經測試表明整個系統具有運行穩定、反應迅速、操作簡便等特點,能夠實現干燥作業中對干燥室內溫濕度的實時監測與控制。
1 嵌入式太陽能干燥監測和控制系統設計
嵌入式太陽能干燥實時監測和控制系統由PC上位機、嵌入式ARM處理器、AM2301溫濕度傳感器、RS 485通信電路、繼電器控制電路等組成。
AM2301采集到干燥室內的實時溫濕度參數,由嵌入式ARM處理器經RS 485通信線路傳輸至PC上位機進行顯示與保存。上位機人工設定的干燥溫度經RS 485通信線路傳至嵌入式處理器作為系統控制目標量,以干燥室內實際溫度作為輸入量調用PID控制算法。PID控制算法輸出量作為變頻器工作頻率對鼓風機的轉速進行實時調節,從而實時增減送入熱風量以實現對干燥室的恒溫控制。當監測到太陽能干燥室內的濕度高于上位機設定的上限值時,繼電器觸點吸合控制排氣扇開啟將干燥室內的過濕廢氣排空,達到濕度控制的目的。系統結構框圖如圖1所示。
圖1 嵌入式太陽能干燥實時監測和控制系統結構框圖
2 嵌入式太陽能干燥監測和控制系統硬件設計
2.1 嵌入式處理器選擇與應用
嵌入式太陽能干燥實時監測和控制系統的主控處理器采用低功耗高速工業級芯片STM32F103VBT6(意法半導體)。STM32系列具有專為高性能、低成本、低功耗嵌入式應用設計的ARM Cortex?M3內核,內部集成了優異的安全時鐘模式、帶喚醒功能的低功耗模式、內部RC振蕩器、內嵌復位電路等,大大簡化了外圍電路設計,性能也有較大提高。STM32系列單片機還可便捷的實現實時操作系統的移植,能夠滿足本嵌入式太陽能干燥實時監測和控制系統的設計需求。
2.2 AM2301溫濕度采集電路設計
嵌入式太陽能干燥實時監測和控制系統采用AM2301濕敏電容數字溫濕度模塊來獲取干燥室內的實時溫濕度參數。AM2301包含有一個電容式感濕元件和一個高精度測溫元件,與一個高性能8位單片機相連接,具有品質卓越、超快響應、抗干擾能力強、性價比高等優點,并且每個傳感器都已在極為精確的濕度校驗室中進行校準。AM2301采用標準總線接口使系統集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20 m以上。溫濕度采集電路如圖2所示。
圖2 AM2301溫濕度采集電路
AM2301傳感器的溫度測量范圍為-40~80 ℃,精度可達0.1 ℃;濕度測量范圍為0.1~99.9% RH,精度可達0.1% RH,完全能夠滿足本系統的設計需要。AM2301溫濕度傳感器測量分辨率為8位,單總線傳輸數據分為整數部分和小數部分,完整的一次數據傳輸為40位,具體數據格式如下所述[3?4]:
32位數據位,其中8位濕度整數數據、8位濕度小數數據、8位溫度整數數據、8位溫度小數數據;8位校驗位,為8位濕度整數數據+8位濕度小數數據+8位溫度整數數據+8位溫度小數數據結果后8位。
AM2301溫濕度部分讀取程序如下:
AM2301_Init(); //AM2301初始化
if( Read_AM2301(AM2301_Data)==SUCCESS)
(
Temp=AM2301_Data.temp_int*256+
AM2301_Data.temp_deci; //讀取溫度值
RH=AM2301_Data.humi_int*256+
AM2301_Data.humi_deci; //讀取濕度值
)
2.3 繼電器控制電路設計
當監測到干燥室內濕度超過上位機設定的上限值時,STM32單片機將繼電器控制引腳電平拉高,繼電器觸點吸合控制排氣扇開啟;當監測到干燥室內濕度降低至上限值以下時,STM32單片機將繼電器控制引腳電平拉低,繼電器觸點分離控制排氣扇關閉,完成過濕廢氣的排空工作。繼電器控制電路如圖3所示。
圖3 繼電器控制電路
2.4 RS 485通信電路設計
太陽能干燥設備需要長時間工作在露天環境下,對通信電路的距離和抗干擾要求較高。針對此項要求,實時嵌入式太陽能干燥監測和控制系統采用SP485R芯片組建RS 485通信控制電路實現與PC上位機的通信。SP485R應用電路如圖4所示。
圖4 SP485R應用電路圖
3 嵌入式太陽能干燥監測和控制系統軟件設計
3.1 FreeRTOS在STM32上的移植
太陽能干燥設備進行干燥作業時對干燥室內的溫濕度要求較高:溫度過高會影響干燥物料的品質,溫度過低或濕度過高又會降低干燥效率。這要求監測和控制系統應具有高實時性和可靠的穩定性,能夠快速反應并準確動作,使干燥室內溫度能夠維持恒定且保證濕度在限定范圍之內?;诖耍瑢reeRTOS實時操作系統移植到STM32嵌入式處理器以滿足設計需求。
FreeRTOS的實現主要由list.c、queue.c、croutine.c和tasks.c4個文件組成。list.c是一個鏈表的實現,主要供內核調度器使用;queue.c是一個隊列的實現,支持中斷環境與信號量控制;croutine.c和task.c是兩種任務的組織實現。對于croutine,各個任務共享同一個堆棧,使RAM的需求進一步縮小,也正因如此,他的使用受到相對嚴格的限制。而task則是傳統的實現,各個任務使用各自的堆棧,支持完全的搶占式調度。FreeRTOS在STM32的移植大致由3個文件實現,一個.h文件定義編譯器相關的數據類型和中斷處理的宏定義;一個.c文件實現任務的堆棧初始化、系統心跳的管理以及任務切換的請求;一個.s文件實現具體的任務切換,具體如圖5所示[5?6]。
圖5 FreeRTOS文件結構圖
FreeRTOS下可實現創建任務、刪除任務、掛起任務、恢復任務、設定任務優先級、獲得任務相關信息等功能,在嵌入式太陽能干燥實時監測和控制系統的程序設計中調用xTaskCreate()函數創建監測、通信、控制三個任務,程序任務按設定優先級順序執行實現既定功能。
監測任務(vmonitorTask)實現對干燥室內溫濕度以及鼓風機轉速的實時監測。嵌入式處理器將通過參數傳感器獲得的實時參數進行保存。
xTaskCreate( vmonitorTask,
(signed portCHAR * ) \"monitor\",
configMINIMAL_STACK_SIZE,
NULL,
tskIDLE_PRIORITY+3,
NULL);
通信任務(vcommunicateTask)實現上位機與嵌入式處理器的實時通信。嵌入式處理器接收PC上位機發送的干燥溫度和濕度上限值,并將收集到的溫濕度以及鼓風機轉速參數發送至PC上位機進行實時顯示。
xTaskCreate( vcommunicateTask,
(signed portCHAR * ) \"communicate\",
configMINIMAL_STACK_SIZE,
NULL,
tskIDLE_PRIORITY+2,
NULL);
控制任務(vcontrolTask)實現干燥室內的溫濕度控制。PC上位機設定的干燥溫度作為系統控制目標量,參數傳感器測得的實時溫度作為輸入量調用PID算法,輸出量作為變頻器工作頻率調節鼓風機轉速實現干燥室的恒溫控制。當干燥室內濕度超過PC上位機設定的濕度上限時,繼電器控制排氣扇動作完成過濕廢氣的排空作業。
xTaskCreate( vcontrolTask,
(signed portCHAR * ) \"control\",
configMINIMAL_STACK_SIZE,
NULL,
tskIDLE_PRIORITY+1,
NULL);
程序任務執行框圖如圖6所示。
圖6 程序任務執行框圖
3.2 PID控制的應用
太陽能干燥設備運行時的系統參數無法通過有效的測量手段來獲得,從而無法建立精確的數學模型。因此,系統控制器的結構和參數必須依靠工程經驗和現場調試來確定。在綜合考慮多種控制理論可行性并參照工程實踐的基礎上,嵌入式太陽能干燥實時監測和控制系統選用數字PID控制技術來實現干燥室的恒溫控制。
嵌入式處理器以上位機設定干燥溫度作為系統控制目標量,以干燥室內實時溫度作為輸入量調用PID算法。PID輸出量作為變頻器工作頻率對鼓風機轉速進行實時調節,從而實時增減送入熱風量以完成對干燥室的恒溫控制。
考慮到溫度調節的特性要求,本系統采用PI控制。即先根據被控對象的特性和一般慣例確定比例系數和積分系數的整定范圍,再通過手動調節鼓風機轉速記錄干燥室內溫度變化曲線并進行分析,最終確定PID算法中[7?8]比例系數為0.4,積分系數為6。
PID數字控制部分程序如下:
float TempPIDcal(unsigned int TempSet,
unsigned int TempIn)
{
float TempOut; //定義PID輸出
float TempIn; //定義PID輸入
TempPID.SetPoint = TempSet;
//設定干燥溫度值為系統控制目標量
TempIn=(float)Temp; //設定實際溫度值為PID輸入
TempOut = PIDCalc (TempPID,TempIn); //調用PID算法
return TempOut; //返回PID算法輸出值
}
3.3 上位機軟件設計
本系統采用北京亞控公司的組態王軟件完成對上位機監測和控制界面的設計。上位機軟件實現對干燥室內溫濕度等參數的實時顯示以及恒溫干燥溫度、濕度上限的設定,設計選用Access2010數據庫作為記錄的數據庫,便于數據的保存與分析。
應用組態王軟件新建一個太陽能干燥監測和控制系統,選用單片機通信協議并通過RS 485接口實現與嵌入式處理器的通信。上位機軟件界面采取分區設計,界面由顯示區和操作區構成。顯示區包括溫濕度、轉速、排氣扇狀態的實時顯示以及溫濕度變化趨勢圖。操作區可實現對恒溫干燥溫度和濕度上限的人工設定。上位機軟件界面如圖7所示[9?11]。
圖7 組態王上位機軟件運行界面
4 運行測試結果與分析
目前本文設計的嵌入式太陽能干燥實時監測和控制系統已經在某農場的牧草干燥作業中順利運行了6個多月的時間。在前期的干燥作業中,在通過設置不同的溫濕度條件并對系統采集到的溫濕度數據以及對干燥物料品質進行分析研究的基礎上,確定最佳的干燥溫度與濕度上限以供后期規?;稍镒鳂I參考。在系統實際運行過程中,干燥室內實際溫度值與設定值間的誤差能夠保持在0.5 ℃以內,較為理想。使用本系統進行干燥的牧草在干燥過程中為最佳溫濕度條件的恒溫適濕干燥,芳香性氨基酸以及蛋白質保存較好,因此干燥后的牧草適口性好、家畜的消化能攝入量高,即牧草的干燥品質較好,且單位耗電量僅為0.15 kW·h/kg。表1是系統在2013年6月7日干燥作業中采集到的部分數據,系統設定干燥溫度為51 ℃,設定濕度上限為48%。
表1 嵌入式太陽能干燥實時監測和控制系統
2013年6月7日溫濕度數據
[時間\溫度 /℃\相對濕度 /%\09:05:30\51.0\42.1\09:15:30\51.3\44.2\09:25:30\50.6\45.1\09:35:30\51.4\38.2\09:45:30\51.5\41.6\09:55:30\50.8\46.7\10:05:30\51.2\39.2\]
5 結 語
本文詳細介紹了基于STM32和FreeRTOS的嵌入式太陽能干燥實時監測和控制系統的設計與實現。采用具有Contex?M3內核的STM32嵌入式微處理器,使系統小型化,且便于提高性能以及與各種外設連接擴展。將嵌入式實時操作系統FreeRTOS移植到STM32,使系統運行更加穩定,具有高實時性、抗干擾能力強等特點。系統整體造價較為低廉,宜于推廣使用,且經實際生產應用驗證:采用本嵌入式太陽能干燥實時監測和控制系統的干燥設備更加節能高效,干燥物料的品質也有所提高。
注:本文通訊作者為李法德。
參考文獻
[1] 王勝利,付立思,徐昕,等.基于單片機的太陽能干燥器的智能控制[J].自動化技術與應用,2004,2(10):39?41.
[2] 徐明娜.基于PLC的苜蓿太陽能干燥控制系統的研究[D].呼和浩特:內蒙古農業大學,2009.
[3] 張中華,王澤勇,高曉蓉,等.基于SHT10的便攜式數顯溫濕度檢測儀的設計[J].現代電子技術,2009,32(17):137?139.
[4] 倪天龍.單總線傳感器DHT11在溫濕度測控中的應用[J].單片機與嵌入式系統應用,2010(6):60?62.
[5] 劉濱,王琦,劉麗麗.嵌入式操作系統FreeRTOS的原理與實現[J].單片機與嵌入式應用,2005(7):8?11.
[6] 葉新棟,唐志強,涂時亮.RTOS動態分區內存管理機制的優化設計[J].單片機與嵌入式系統應用,2009(9):9?11.
[7] 魏英智,丁紅偉,張琳,等.數字PID控制算法在溫控系統中的應用[J].現代電子技術,2010,33(17):157?159.
[8] 張曉蘭,張琳.嵌入式PID溫控調節系統的設計[J].現代電子技術,2012,35(8):18?20.
[9] 來金鋼,劉教瑜.基于單片機和組態王的陶瓷檢測系統設計[J].現代電子技術,2011,34(15):110?113.
[10] 齊巖磊,陳娟,祁欣.基于單片機和組態王的溫度監控系統的設計[J].電子測量技術,2011,34(7):54?57.
[11] 北京亞控科技發展有限公司.組態王6.53使用手冊[M].北京:北京亞控科技發展有限公司,2007.
作者簡介:宋華魯 男,1991年出生,山東德州人,碩士。主要研究方向為測試技術與自動化裝置。
閆銀發 男,1976年出生,山東菏澤人,博士,講師。主要研究方向為測控技術、電子測量及無線傳感網絡。
張世福 男,1989年出生,山東濰坊人,碩士。主要研究方向為測試技術與自動化裝置。
王 海 男,1964年出生,河北張家口人,博士,博士生導師,研究員。主要從事農產品加工的研究與開發工作。
李法德 男,1962年出生,山東濰坊人,博士,博士生導師,教授。主要研究方向為新型農業裝備、農產品加工機械關鍵技術的基礎理論及產品的開發。