一種嵌入式的太陽能干燥實時監控系統的設計方案
2.4 RS 485通信電路設計
太陽能干燥設備需要長時間工作在露天環境下,對通信電路的距離和抗干擾要求較高。針對此項要求,實時嵌入式太陽能干燥監測和控制系統采用SP485R芯片組建RS 485 通信控制電路實現與PC 上位機的通信。
SP485R應用電路如圖4所示。

3.1 FreeRTOS在STM32上的移植
太陽能干燥設備進行干燥作業時對干燥室內的溫濕度要求較高:溫度過高會影響干燥物料的品質,溫度過低或濕度過高又會降低干燥效率。這要求監測和控制系統應具有高實時性和可靠的穩定性,能夠快速反應并準確動作,使干燥室內溫度能夠維持恒定且保證濕度在限定范圍之內。基于此,將FreeRTOS實時操作系統移植到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所示。

FreeRTOS 下可實現創建任務、刪除任務、掛起任務、恢復任務、設定任務優先級、獲得任務相關信息等功能,在嵌入式太陽能干燥實時監測和控制系統的程序設計中調用xTaskCreate()函數創建監測、通信、控制三個任務,程序任務按設定優先級順序執行實現既定功能。
監測任務(vmonitorTask)實現對干燥室內溫濕度以及鼓風機轉速的實時監測。嵌入式處理器將通過參數傳感器獲得的實時參數進行保存。

通信任務(vcommunicateTask)實現上位機與嵌入式處理器的實時通信。嵌入式處理器接收PC上位機發送的干燥溫度和濕度上限值,并將收集到的溫濕度以及鼓風機轉速參數發送至PC上位機進行實時顯示。


程序任務執行框圖如圖6所示。

3.2 PID控制的應用
太陽能干燥設備運行時的系統參數無法通過有效的測量手段來獲得,從而無法建立精確的數學模型。因此,系統控制器的結構和參數必須依靠工程經驗和現場調試來確定。在綜合考慮多種控制理論可行性并參照工程實踐的基礎上,嵌入式太陽能干燥實時監測和控制系統選用數字PID控制技術來實現干燥室的恒溫控制。
嵌入式處理器以上位機設定干燥溫度作為系統控制目標量,以干燥室內實時溫度作為輸入量調用PID算法。PID 輸出量作為變頻器工作頻率對鼓風機轉速進行實時調節,從而實時增減送入熱風量以完成對干燥室的恒溫控制。
考慮到溫度調節的特性要求,本系統采用PI 控制。即先根
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論