新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于RTOS的太陽能熱水控制系統(tǒng)設(shè)計(jì)

基于RTOS的太陽能熱水控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-08-25 來源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://m.butianyuan.cn/article/150300.htm

  隨著嵌入式技術(shù)的發(fā)展與壯大,越來越多的單片機(jī)在使用中實(shí)現(xiàn)了(Real Time multi-tasking Operation System)的嵌入,采用多任務(wù)機(jī)制來提高系統(tǒng)運(yùn)行的效率和縮短響應(yīng)所用的時(shí)間。具有下述優(yōu)點(diǎn)。

 ?、?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/RTOS">RTOS是一個(gè)可靠性和可信性很高的實(shí)時(shí)內(nèi)核,將CPU時(shí)間、中斷、I/O、定時(shí)器等資源都包裝起來,留給用戶一個(gè)標(biāo)準(zhǔn)的API,并根據(jù)各個(gè)任務(wù)的優(yōu)先級,合理地在不同任務(wù)之間分配CPU時(shí)間。

  ②RTOS作為軟件開發(fā)平臺是十分可取的,RTOS上的C語言程序具有極大的可移植性。據(jù)專家測算,優(yōu)秀RTOS上跨處理器平臺的程序移植,只需要修改1%~5%的內(nèi)容。

 ?、跼TOS的引入,解決了嵌入式軟件開發(fā)標(biāo)準(zhǔn)化的難題。隨著嵌入式系統(tǒng)中軟件比重不斷上升、應(yīng)用程序越來越大,對開發(fā)人員、應(yīng)用程序接口、程序檔案的組織管理將成為一個(gè)大的課題。引入RTOS相當(dāng)于引入了一種新的管理模式,對于開發(fā)單位和開發(fā)人員都是一個(gè)提高。

  本方案從如何更好解決小區(qū)和樓群內(nèi)居民的生活用問題出發(fā),利用綠色環(huán)保的為主要能量來源,以樓為單位綜合控制,為用戶提供生活。這不僅方便了生活,摒充了傳統(tǒng)的獨(dú)立式器存在的安全隱患,也便于業(yè)主集中管理和規(guī)劃。

  1 系統(tǒng)工作概況

  本熱水為能源,加熱位于戶外屋頂上集熱器中的水。被加熱升溫后的水,通過循環(huán)閥進(jìn)入大水箱,再經(jīng)由重力到達(dá)小水箱,小水箱中設(shè)有輔助能源保持水溫的恒定,再通過升壓裝置將熱水送到各家各戶。該系統(tǒng)在缺省狀態(tài)下,以自動(dòng)控制模式判斷四個(gè)閥門(主要控制點(diǎn))的工作狀態(tài),也可根據(jù)需要由工作人員進(jìn)行手動(dòng)控制。工作人員通過主端的操作控制面板完成人與系統(tǒng)的交互。位于面板上的顯示屏?xí)?shí)時(shí)顯示系統(tǒng)的工作情況和各項(xiàng)參數(shù)數(shù)據(jù),供工作人員參考。水箱高度和需要開啟加熱閥門時(shí)的溫度等十二個(gè)系統(tǒng)參數(shù),既可以在控制箱內(nèi)的操作控制面板上設(shè)置和通過顯示裝置查看,也可以在遠(yuǎn)程監(jiān)控的計(jì)算機(jī)界面上設(shè)置和查看??紤]到在北方地區(qū)的推廣,系統(tǒng)還設(shè)定了防凍循環(huán)參數(shù)以控制啟停防凍循環(huán)。太陽能熱水智能示意圖如圖1所示,其中控制箱即為主控制端(主端),數(shù)據(jù)采集端(從端)位于大水箱上方。

  

  系統(tǒng)采用華邦公司生產(chǎn)的單片機(jī)W77E58作為主端和從端的微處理器,由于它去除了多余的時(shí)鐘和存儲(chǔ)周期,其運(yùn)算速度比傳統(tǒng)的8051系列要快1.5~3倍。單片機(jī)中采用的實(shí)時(shí)多任務(wù)操作系統(tǒng)是RTX51TNY,該操作系統(tǒng)由德國Keil公司開發(fā)研制,大小只有800B,但理論上支持多達(dá)16個(gè)任務(wù),任務(wù)間的協(xié)調(diào)和輪換以信號機(jī)制觸發(fā)。RTX51TNY操作系統(tǒng)允許“準(zhǔn)并行”的同時(shí)執(zhí)行幾個(gè)任務(wù),每一個(gè)任務(wù)在預(yù)先定義好的時(shí)間片內(nèi)得以執(zhí)行。

  2 系統(tǒng)結(jié)構(gòu)

  太陽能熱水由以下幾個(gè)模塊構(gòu)成:主控制端處理模塊(即主端)、數(shù)據(jù)采集端模塊(即從端)、監(jiān)控計(jì)算機(jī)及其后臺服務(wù)程序。其中,從端還包括超聲測水位器件模塊,該器件利用超聲聲波接觸到水面后反射的簡單原理,使用放大器電路實(shí)現(xiàn),成本大大低于市場上流行的投入式液位計(jì)。系統(tǒng)的結(jié)構(gòu)框圖如圖2所示。

  

太陽能熱水控制系統(tǒng)框圖

  2.1 主控制端軟件實(shí)現(xiàn)及任務(wù)分析

  系統(tǒng)的軟件主要由三部分構(gòu)成:主端程序、從端程序和利用超聲技術(shù)測水位的程序。主端程序包含在主端控制模塊當(dāng)中,它的作用是判斷系統(tǒng)當(dāng)前工作狀態(tài),通過對所采集的數(shù)據(jù)進(jìn)行處理和分析得到該如何繼續(xù)控制系統(tǒng)的指令。從端程序負(fù)責(zé)處理采集的數(shù)據(jù),并發(fā)送提交給主處理程序,超聲部分的程序保證超聲模塊測水位的穩(wěn)定性和精確性。其中,主控制端后臺處理模塊是系統(tǒng)的主要部分,占據(jù)了絕大部分的代碼量,控制系統(tǒng)的指令大都由這里給出,下面著重介紹這一部分。

  主端功能模塊示意圖如圖3所示。

  

  主處理邏輯由7個(gè)任務(wù)構(gòu)成其主體,一些函數(shù)的定義作為其補(bǔ)充。7個(gè)任務(wù)分別為:①初始化任務(wù);②與串口通信任務(wù)(串口1接收從數(shù)據(jù)采集端發(fā)回的數(shù)據(jù));③與串口2通信任務(wù)(串口2負(fù)責(zé)與監(jiān)控計(jì)算機(jī)交換數(shù)據(jù));④⑤分別為對不同顯示區(qū)域的控制任務(wù);⑥對硬件中斷的處理任務(wù);⑦對傳回?cái)?shù)據(jù)的處理任務(wù)。

  各個(gè)任務(wù)具體實(shí)現(xiàn)的功能如下:

  ①初始化任務(wù):初始化串行接口,并開始其余6個(gè)任務(wù),最后刪除自身。

 ?、诖?通信任務(wù):主處理邏輯每隔一定的時(shí)間就通過串口1向數(shù)據(jù)采集端發(fā)送查詢幀查詢數(shù)據(jù),發(fā)送一定次數(shù)后仍未收到從端數(shù)據(jù)者,通過信號機(jī)制觸發(fā)顯示任務(wù),顯示與從端通信挫敗的提示信息;若從端返回?zé)o誤數(shù)據(jù),則轉(zhuǎn)入顯示任務(wù)進(jìn)行數(shù)據(jù)處理后顯示。若經(jīng)由CRC校驗(yàn)發(fā)現(xiàn)連續(xù)若干次從端傳回?cái)?shù)據(jù)有誤,轉(zhuǎn)入顯示任務(wù)顯示數(shù)據(jù)出錯(cuò)的提示信息。

  ③串口2通信任務(wù):由于監(jiān)視該系統(tǒng)運(yùn)行的工作人員需要通過一些參數(shù)的變化來實(shí)時(shí)了解當(dāng)前系統(tǒng)工作的情況,這些參數(shù)包括各個(gè)閥門的狀態(tài)、水箱的水位、各個(gè)傳感器當(dāng)前的溫度等,所以該系統(tǒng)中使用一個(gè)串口來向監(jiān)控計(jì)算機(jī)提交數(shù)據(jù)。每隔一定時(shí)間監(jiān)控計(jì)算機(jī)便發(fā)送查詢幀,該查詢幀分兩,一類是查詢閥門狀態(tài),另一類查詢水位和溫度,主控端按其要求的數(shù)據(jù)種類填充該幀后回送。

 ?、芸刂骑@示區(qū)任務(wù)1:LED顯示屏分為上下兩行,上面一行為區(qū)域1,下面一行為區(qū)域2。區(qū)域1負(fù)責(zé)顯示當(dāng)前系統(tǒng)中水箱水位,大小水箱溫度等參數(shù),每屏顯示參數(shù)中的一個(gè),停留一段時(shí)間后顯示下一個(gè),如此循環(huán)反復(fù),操作人員可在此查看系統(tǒng)中參數(shù)的具體值從而做出控制判斷。

 ?、菘刂骑@示區(qū)任務(wù)2:區(qū)域2顯示的是系統(tǒng)運(yùn)行中,當(dāng)前各個(gè)閥門的工作狀態(tài)。系統(tǒng)設(shè)置了以手動(dòng)和自動(dòng)兩種方式操縱四個(gè)閥門,用有否提示音來進(jìn)行區(qū)分。這個(gè)區(qū)域還負(fù)責(zé)顯示各種提示信息或者出錯(cuò)信息,如果溫度傳感器或超聲探頭傳回的數(shù)據(jù)有誤,都在這里給出報(bào)錯(cuò)字樣,并表明是哪部分出了問題,便于工作人員及時(shí)檢修排隊(duì)故障。

 ?、抻布袛嗵幚砣蝿?wù):在控制臺的表面分布著14個(gè)按鍵用以操縱和控制系統(tǒng),每按下一個(gè)鍵,系統(tǒng)該做出何種反應(yīng)就由此任務(wù)掌管。由16位輸入4位輸出的編碼器得到按鍵編碼,在這里分十四種情況轉(zhuǎn)入不同的程序段進(jìn)行處理。

  ⑦對傳回?cái)?shù)據(jù)的處理任務(wù):在與串口1的通信任務(wù)中,系統(tǒng)從串口1收到的數(shù)據(jù)如果是無誤的,則進(jìn)入此任務(wù)。該任務(wù)對系統(tǒng)中主要存在四種動(dòng)作,即加水、加熱、循環(huán)和回水,分別分為手動(dòng)和自動(dòng)兩種工作狀態(tài),計(jì)算系統(tǒng)中實(shí)時(shí)改變的數(shù)據(jù)該如何影響和決定當(dāng)前系統(tǒng)的動(dòng)作。

液位計(jì)相關(guān)文章:磁翻板液位計(jì)原理



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉