基于STM32和FreeRTOS的嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)設計
摘要:以ARM Cortex—M3處理器STM32F103VBT6為核心,應用AM2301溫濕度傳感模塊實現(xiàn)對太陽能干燥室內溫濕度參數(shù)的實時監(jiān)測,采用數(shù)字PID控制技術控制鼓風機的轉速,保持干燥室內的溫度穩(wěn)定,并通過繼電器控制排氣扇的啟停使干燥室內濕度保持在設定上限之下。干燥室通過RS 485總線和上位機通信,上位機設定干燥室內的目標溫度和濕度上限,并實時顯示干燥室內溫度、濕度、鼓風機轉速、排氣扇開關狀態(tài)等參數(shù)。嵌入式系統(tǒng)軟件采用FreeRTOS實時操作系統(tǒng),保證了系統(tǒng)的實時性和可靠性,實現(xiàn)對太陽能干燥室內溫濕度的實時監(jiān)測與控制。經(jīng)現(xiàn)場應用驗證了系統(tǒng)運行穩(wěn)定,控制精度高,響應速度快。
本文引用地址:http://www.ex-cimer.com/article/201809/388564.htm0 引言
太陽能是一種清潔可再生能源,應用前景十分廣闊。近年來,利用太陽能進行農(nóng)產(chǎn)品、藥品的加工也因其節(jié)能、干燥時間短、干燥品質高等特點而發(fā)展十分迅速。為保證干燥物料的品質與干燥效率,太陽能干燥設備在進行干燥作業(yè)時需要對干燥室內的溫濕度進行實時監(jiān)控。沈陽農(nóng)業(yè)大學王勝利、付立思等人研制的基于AT89C51的智能太陽能干燥控制系統(tǒng)沒有進行實時操作系統(tǒng)的移植,監(jiān)測與控制的實時性要求無法得到妥善滿足,設備的干燥效果也因此受到影響。內蒙古農(nóng)業(yè)大學徐明娜研制的基于PLC的苜蓿太陽能干燥控制系統(tǒng)雖然運行也較穩(wěn)定,但整體造價較為昂貴,并不適宜大規(guī)模推廣應用。針對太陽能干燥監(jiān)控系統(tǒng)實時性、穩(wěn)定性、宜推廣性的設計需求,本文開發(fā)研制了一套基于STM32和FreeRTOS的實時嵌入式太陽能干燥監(jiān)測和控制系統(tǒng),采用溫濕度傳感器AM2301對溫濕度進行測量,并經(jīng)RS 485通信線路傳輸至PC上位機,實現(xiàn)了對太陽能干燥室內溫濕度的實時監(jiān)測;采用數(shù)字PID控制鼓風機轉速與繼電器控制排氣扇啟停相配合完成對太陽能干燥室內溫濕度的實時控制。上位機采用組態(tài)軟件編寫,具有適應性強、開放性好、易于擴展、經(jīng)濟、開發(fā)周期短等優(yōu)點,監(jiān)測與控制界面簡潔明了易操作。經(jīng)測試表明整個系統(tǒng)具有運行穩(wěn)定、反應迅速、操作簡便等特點,能夠實現(xiàn)干燥作業(yè)中對干燥室內溫濕度的實時監(jiān)測與控制。
1 嵌入式太陽能干燥監(jiān)測和控制系統(tǒng)設計
嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)由PC上位機、嵌入式ARM處理器、AM2301溫濕度傳感器、RS 485通信電路、繼電器控制電路等組成。
AM2301采集到干燥室內的實時溫濕度參數(shù),由嵌入式ARM處理器經(jīng)RS 485通信線路傳輸至PC上位機進行顯示與保存。上位機人工設定的干燥溫度經(jīng)RS 485通信線路傳至嵌入式處理器作為系統(tǒng)控制目標量,以干燥室內實際溫度作為輸入量調用PID控制算法。PID控制算法輸出量作為變頻器工作頻率對鼓風機的轉速進行實時調節(jié),從而實時增減送入熱風量以實現(xiàn)對干燥室的恒溫控制。當監(jiān)測到太陽能干燥室內的濕度高于上位機設定的上限值時,繼電器觸點吸合控制排氣扇開啟將干燥室內的過濕廢氣排空,達到濕度控制的目的。系統(tǒng)結構框圖如圖1所示。
2 嵌入式太陽能干燥監(jiān)測和控制系統(tǒng)硬件設計
2.1 嵌入式處理器選擇與應用
嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)的主控處理器采用低功耗高速工業(yè)級芯片STM32F103VBT6(意法半導體)。STM32系列具有專為高性能、低成本、低功耗嵌入式應用設計的ARM Cortex-M3內核,內部集成了優(yōu)異的安全時鐘模式、帶喚醒功能的低功耗模式、內部RC振蕩器、內嵌復位電路等,大大簡化了外圍電路設計,性能也有較大提高。STM32系列單片機還可便捷的實現(xiàn)實時操作系統(tǒng)的移植,能夠滿足本嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)的設計需求。
2.2 AM2301溫濕度采集電路設計
嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)采用AM2301濕敏電容數(shù)字溫濕度模塊來獲取干燥室內的實時溫濕度參數(shù)。AM2301包含有一個電容式感濕元件和一個高精度測溫元件,與一個高性能8位單片機相連接,具有品質卓越、超快響應、抗干擾能力強、性價比高等優(yōu)點,并且每個傳感器都已在極為精確的濕度校驗室中進行校準。AM2301采用標準總線接口使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20 m以上。溫濕度采集電路如圖2所示。
AM2301傳感器的溫度測量范圍為-40~80℃,精度可達0.1 ℃;濕度測量范圍為0.1~99.9%RH,精度可達0.1%RH,完全能夠滿足本系統(tǒng)的設計需要。AM2301溫濕度傳感器測量分辨率為8位,單總線傳輸數(shù)據(jù)分為整數(shù)部分和小數(shù)部分,完整的一次數(shù)據(jù)傳輸為40位,具體數(shù)據(jù)格式如下所述:
32位數(shù)據(jù)位,其中8位濕度整數(shù)數(shù)據(jù)、8位濕度小數(shù)數(shù)據(jù)、8位溫度整數(shù)數(shù)據(jù)、8位溫度小數(shù)數(shù)據(jù);8位校驗位,為8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)結果后8位。
AM2301溫濕度部分讀取程序如下:
2.3 繼電器控制電路設計
當監(jiān)測到干燥室內濕度超過上位機設定的上限值時,STM32單片機將繼電器控制引腳電平拉高,繼電器觸點吸合控制排氣扇開啟;當監(jiān)測到干燥室內濕度降低至上限值以下時,STM32單片機將繼電器控制引腳電平拉低,繼電器觸點分離控制排氣扇關閉,完成過濕廢氣的排空工作。繼電器控制電路如圖3所示。
2.4 RS 485通信電路設計
太陽能干燥設備需要長時間工作在露天環(huán)境下,對通信電路的距離和抗干擾要求較高。針對此項要求,實時嵌入式太陽能干燥監(jiān)測和控制系統(tǒng)采用SP485R芯片組建RS 485通信控制電路實現(xiàn)與PC上位機的通信。SP485R應用電路如圖4所示。
3 嵌入式太陽能干燥監(jiān)測和控制系統(tǒng)軟件設計
3.1 FreeRTOS在STM32上的移植
太陽能干燥設備進行干燥作業(yè)時對干燥室內的溫濕度要求較高:溫度過高會影響干燥物料的品質,溫度過低或濕度過高又會降低干燥效率。這要求監(jiān)測和控制系統(tǒng)應具有高實時性和可靠的穩(wěn)定性,能夠快速反應并準確動作,使干燥室內溫度能夠維持恒定且保證濕度在限定范圍之內。基于此,將FreeRTOS實時操作系統(tǒng)移植到STM32嵌入式處理器以滿足設計需求。
FreeRTOS的實現(xiàn)主要由list.c、queue.c、croutine.c和tasks.c4個文件組成。list.c是一個鏈表的實現(xiàn),主要供內核調度器使用;queue.c是一個隊列的實現(xiàn),支持中斷環(huán)境與信號量控制;croutine.c和task.c是兩種任務的組織實現(xiàn)。對于croutine,各個任務共享同一個堆棧,使RAM的需求進一步縮小,也正因如此,他的使用受到相對嚴格的限制。而task則是傳統(tǒng)的實現(xiàn),各個任務使用各自的堆棧,支持完全的搶占式調度。FreeRTOS在STM32的移植大致由3個文件實現(xiàn),一個.h文件定義編譯器相關的數(shù)據(jù)類型和中斷處理的宏定義;一個.c文件實現(xiàn)任務的堆棧初始化、系統(tǒng)心跳的管理以及任務切換的請求;一個.s文件實現(xiàn)具體的任務切換,具體如圖5所示。
FreeRTOS下可實現(xiàn)創(chuàng)建任務、刪除任務、掛起任務、恢復任務、設定任務優(yōu)先級、獲得任務相關信息等功能,在嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)的程序設計中調用xTaskCreate()函數(shù)創(chuàng)建監(jiān)測、通信、控制三個任務,程序任務按設定優(yōu)先級順序執(zhí)行實現(xiàn)既定功能。
監(jiān)測任務(vmonitorTask)實現(xiàn)對干燥室內溫濕度以及鼓風機轉速的實時監(jiān)測。嵌入式處理器將通過參數(shù)傳感器獲得的實時參數(shù)進行保存。
通信任務(vcommunicateTask)實現(xiàn)上位機與嵌入式處理器的實時通信。嵌入式處理器接收PC上位機發(fā)送的干燥溫度和濕度上限值,并將收集到的溫濕度以及鼓風機轉速參數(shù)發(fā)送至PC上位機進行實時顯示。
控制任務(vcontrolTask)實現(xiàn)干燥室內的溫濕度控制。PC上位機設定的干燥溫度作為系統(tǒng)控制目標量,參數(shù)傳感器測得的實時溫度作為輸入量調用PID算法,輸出量作為變頻器工作頻率調節(jié)鼓風機轉速實現(xiàn)干燥室的恒溫控制。當干燥室內濕度超過PC上位機設定的濕度上限時,繼電器控制排氣扇動作完成過濕廢氣的排空作業(yè)。
程序任務執(zhí)行框圖如圖6所示。
3.2 PID控制的應用
太陽能干燥設備運行時的系統(tǒng)參數(shù)無法通過有效的測量手段來獲得,從而無法建立精確的數(shù)學模型。因此,系統(tǒng)控制器的結構和參數(shù)必須依靠工程經(jīng)驗和現(xiàn)場調試來確定。在綜合考慮多種控制理論可行性并參照工程實踐的基礎上,嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)選用數(shù)字PID控制技術來實現(xiàn)干燥室的恒溫控制。
嵌入式處理器以上位機設定干燥溫度作為系統(tǒng)控制目標量,以干燥室內實時溫度作為輸入量調用PID算法。PID輸出量作為變頻器工作頻率對鼓風機轉速進行實時調節(jié),從而實時增減送入熱風量以完成對于燥室的恒溫控制。
考慮到溫度調節(jié)的特性要求,本系統(tǒng)采用PI控制。即先根據(jù)被控對象的特性和一般慣例確定比例系數(shù)和積分系數(shù)的整定范圍,再通過手動調節(jié)鼓風機轉速記錄干燥室內溫度變化曲線并進行分析,最終確定PID算法中比例系數(shù)為0.4,積分系數(shù)為6。
PID數(shù)字控制部分程序如下:
3.3 上位機軟件設計
本系統(tǒng)采用北京亞控公司的組態(tài)王軟件完成對上位機監(jiān)測和控制界面的設計。上位機軟件實現(xiàn)對干燥室內溫濕度等參數(shù)的實時顯示以及恒溫干燥溫度、濕度上限的設定,設計選用Access2010數(shù)據(jù)庫作為記錄的數(shù)據(jù)庫,便于數(shù)據(jù)的保存與分析。
應用組態(tài)王軟件新建一個太陽能干燥監(jiān)測和控制系統(tǒng),選用單片機通信協(xié)議并通過RS 485接口實現(xiàn)與嵌入式處理器的通信。上位機軟件界面采取分區(qū)設計,界面由顯示區(qū)和操作區(qū)構成。顯示區(qū)包括溫濕度、轉速、排氣扇狀態(tài)的實時顯示以及溫濕度變化趨勢圖。操作區(qū)可實現(xiàn)對恒溫干燥溫度和濕度上限的人工設定。上位機軟件界面如圖7所示。
4 運行測試結果與分析
目前本文設計的嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)已經(jīng)在某農(nóng)場的牧草干燥作業(yè)中順利運行了6個多月的時間。在前期的干燥作業(yè)中,在通過設置不同的溫濕度條件并對系統(tǒng)采集到的溫濕度數(shù)據(jù)以及對干燥物料品質進行分析研究的基礎上,確定最佳的干燥溫度與濕度上限以供后期規(guī)?;稍镒鳂I(yè)參考。在系統(tǒng)實際運行過程中,干燥室內實際溫度值與設定值間的誤差能夠保持在0.5 ℃以內,較為理想。使用本系統(tǒng)進行干燥的牧草在干燥過程中為最佳溫濕度條件的恒溫適濕干燥,芳香性氨基酸以及蛋白質保存較好,因此干燥后的牧草適口性好、家畜的消化能攝入量高,即牧草的干燥品質較好,且單位耗電量僅為0.15 kW·h/kg。表1是系統(tǒng)在2013年6月7日干燥作業(yè)中采集到的部分數(shù)據(jù),系統(tǒng)設定干燥溫度為51℃,設定濕度上限為48%。
5 結語
本文詳細介紹了基于STM32和FreeRTOS的嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)的設計與實現(xiàn)。采用具有Contex-M3內核的STM32嵌入式微處理器,使系統(tǒng)小型化,且便于提高性能以及與各種外設連接擴展。將嵌入式實時操作系統(tǒng)FreeRTOS移植到STM32,使系統(tǒng)運行更加穩(wěn)定,具有高實時性、抗干擾能力強等特點。系統(tǒng)整體造價較為低廉,宜于推廣使用,且經(jīng)實際生產(chǎn)應用驗證:采用本嵌入式太陽能干燥實時監(jiān)測和控制系統(tǒng)的干燥設備更加節(jié)能高效,干燥物料的品質也有所提高。
評論