一種嵌入式的太陽能干燥實(shí)時監(jiān)控系統(tǒng)的設(shè)計方案
2.4 RS 485通信電路設(shè)計
太陽能干燥設(shè)備需要長時間工作在露天環(huán)境下,對通信電路的距離和抗干擾要求較高。針對此項(xiàng)要求,實(shí)時嵌入式太陽能干燥監(jiān)測和控制系統(tǒng)采用SP485R芯片組建RS 485 通信控制電路實(shí)現(xiàn)與PC 上位機(jī)的通信。
SP485R應(yīng)用電路如圖4所示。
3 嵌入式太陽能干燥監(jiān)測和控制系統(tǒng)軟件設(shè)計
3.1 FreeRTOS在STM32上的移植
太陽能干燥設(shè)備進(jìn)行干燥作業(yè)時對干燥室內(nèi)的溫濕度要求較高:溫度過高會影響干燥物料的品質(zhì),溫度過低或濕度過高又會降低干燥效率。這要求監(jiān)測和控制系統(tǒng)應(yīng)具有高實(shí)時性和可靠的穩(wěn)定性,能夠快速反應(yīng)并準(zhǔn)確動作,使干燥室內(nèi)溫度能夠維持恒定且保證濕度在限定范圍之內(nèi)?;诖耍瑢reeRTOS實(shí)時操作系統(tǒng)移植到STM32嵌入式處理器以滿足設(shè)計需求。
FreeRTOS的實(shí)現(xiàn)主要由list.c、queue.c、croutine.c和tasks.c4個文件組成。list.c是一個鏈表的實(shí)現(xiàn),主要供內(nèi)核調(diào)度器使用;queue.c是一個隊(duì)列的實(shí)現(xiàn),支持中斷環(huán)境與信號量控制;croutine.c和task.c是兩種任務(wù)的組織實(shí)現(xiàn)。對于croutine,各個任務(wù)共享同一個堆棧,使RAM的需求進(jìn)一步縮小,也正因如此,他的使用受到相對嚴(yán)格的限制。而task則是傳統(tǒng)的實(shí)現(xiàn),各個任務(wù)使用各自的堆棧,支持完全的搶占式調(diào)度。FreeRTOS在STM32的移植大致由3個文件實(shí)現(xiàn),一個。h文件定義編譯器相關(guān)的數(shù)據(jù)類型和中斷處理的宏定義;一個。c文件實(shí)現(xiàn)任務(wù)的堆棧初始化、系統(tǒng)心跳的管理以及任務(wù)切換的請求;一個。s文件實(shí)現(xiàn)具體的任務(wù)切換,具體如圖5所示。
FreeRTOS 下可實(shí)現(xiàn)創(chuàng)建任務(wù)、刪除任務(wù)、掛起任務(wù)、恢復(fù)任務(wù)、設(shè)定任務(wù)優(yōu)先級、獲得任務(wù)相關(guān)信息等功能,在嵌入式太陽能干燥實(shí)時監(jiān)測和控制系統(tǒng)的程序設(shè)計中調(diào)用xTaskCreate()函數(shù)創(chuàng)建監(jiān)測、通信、控制三個任務(wù),程序任務(wù)按設(shè)定優(yōu)先級順序執(zhí)行實(shí)現(xiàn)既定功能。
監(jiān)測任務(wù)(vmonitorTask)實(shí)現(xiàn)對干燥室內(nèi)溫濕度以及鼓風(fēng)機(jī)轉(zhuǎn)速的實(shí)時監(jiān)測。嵌入式處理器將通過參數(shù)傳感器獲得的實(shí)時參數(shù)進(jìn)行保存。
通信任務(wù)(vcommunicateTask)實(shí)現(xiàn)上位機(jī)與嵌入式處理器的實(shí)時通信。嵌入式處理器接收PC上位機(jī)發(fā)送的干燥溫度和濕度上限值,并將收集到的溫濕度以及鼓風(fēng)機(jī)轉(zhuǎn)速參數(shù)發(fā)送至PC上位機(jī)進(jìn)行實(shí)時顯示。
程序任務(wù)執(zhí)行框圖如圖6所示。
3.2 PID控制的應(yīng)用
太陽能干燥設(shè)備運(yùn)行時的系統(tǒng)參數(shù)無法通過有效的測量手段來獲得,從而無法建立精確的數(shù)學(xué)模型。因此,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠工程經(jīng)驗(yàn)和現(xiàn)場調(diào)試來確定。在綜合考慮多種控制理論可行性并參照工程實(shí)踐的基礎(chǔ)上,嵌入式太陽能干燥實(shí)時監(jiān)測和控制系統(tǒng)選用數(shù)字PID控制技術(shù)來實(shí)現(xiàn)干燥室的恒溫控制。
嵌入式處理器以上位機(jī)設(shè)定干燥溫度作為系統(tǒng)控制目標(biāo)量,以干燥室內(nèi)實(shí)時溫度作為輸入量調(diào)用PID算法。PID 輸出量作為變頻器工作頻率對鼓風(fēng)機(jī)轉(zhuǎn)速進(jìn)行實(shí)時調(diào)節(jié),從而實(shí)時增減送入熱風(fēng)量以完成對干燥室的恒溫控制。
考慮到溫度調(diào)節(jié)的特性要求,本系統(tǒng)采用PI 控制。即先根
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論