新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于RTOS的太陽能熱水控制系統設計

        基于RTOS的太陽能熱水控制系統設計

        作者: 時間:2011-08-25 來源:網絡 收藏

        引言

        本文引用地址:http://www.104case.com/article/150300.htm

          隨著嵌入式技術的發展與壯大,越來越多的單片機在使用中實現了(Real Time multi-tasking Operation System)的嵌入,采用多任務機制來提高系統運行的效率和縮短響應所用的時間。具有下述優點。

          ①是一個可靠性和可信性很高的實時內核,將CPU時間、中斷、I/O、定時器等資源都包裝起來,留給用戶一個標準的API,并根據各個任務的優先級,合理地在不同任務之間分配CPU時間。

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

          ③RTOS的引入,解決了嵌入式軟件開發標準化的難題。隨著嵌入式系統中軟件比重不斷上升、應用程序越來越大,對開發人員、應用程序接口、程序檔案的組織管理將成為一個大的課題。引入RTOS相當于引入了一種新的管理模式,對于開發單位和開發人員都是一個提高。

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

          1 系統工作概況

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

          

          系統采用華邦公司生產的單片機W77E58作為主端和從端的微處理器,由于它去除了多余的時鐘和存儲周期,其運算速度比傳統的8051系列要快1.5~3倍。單片機中采用的實時多任務操作系統是RTX51TNY,該操作系統由德國Keil公司開發研制,大小只有800B,但理論上支持多達16個任務,任務間的協調和輪換以信號機制觸發。RTX51TNY操作系統允許“準并行”的同時執行幾個任務,每一個任務在預先定義好的時間片內得以執行。

          2 系統結構

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

          

        太陽能熱水控制系統框圖

          2.1 主控制端軟件實現及任務分析

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

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

          

          主處理邏輯由7個任務構成其主體,一些函數的定義作為其補充。7個任務分別為:①初始化任務;②與串口通信任務(串口1接收從數據采集端發回的數據);③與串口2通信任務(串口2負責與監控計算機交換數據);④⑤分別為對不同顯示區域的控制任務;⑥對硬件中斷的處理任務;⑦對傳回數據的處理任務。

          各個任務具體實現的功能如下:

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

          ②串口1通信任務:主處理邏輯每隔一定的時間就通過串口1向數據采集端發送查詢幀查詢數據,發送一定次數后仍未收到從端數據者,通過信號機制觸發顯示任務,顯示與從端通信挫敗的提示信息;若從端返回無誤數據,則轉入顯示任務進行數據處理后顯示。若經由CRC校驗發現連續若干次從端傳回數據有誤,轉入顯示任務顯示數據出錯的提示信息。

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

          ④控制顯示區任務1:LED顯示屏分為上下兩行,上面一行為區域1,下面一行為區域2。區域1負責顯示當前系統中水箱水位,大小水箱溫度等參數,每屏顯示參數中的一個,停留一段時間后顯示下一個,如此循環反復,操作人員可在此查看系統中參數的具體值從而做出控制判斷。

          ⑤控制顯示區任務2:區域2顯示的是系統運行中,當前各個閥門的工作狀態。系統設置了以手動和自動兩種方式操縱四個閥門,用有否提示音來進行區分。這個區域還負責顯示各種提示信息或者出錯信息,如果溫度傳感器或超聲探頭傳回的數據有誤,都在這里給出報錯字樣,并表明是哪部分出了問題,便于工作人員及時檢修排隊故障。

          ⑥硬件中斷處理任務:在控制臺的表面分布著14個按鍵用以操縱和控制系統,每按下一個鍵,系統該做出何種反應就由此任務掌管。由16位輸入4位輸出的編碼器得到按鍵編碼,在這里分十四種情況轉入不同的程序段進行處理。

          ⑦對傳回數據的處理任務:在與串口1的通信任務中,系統從串口1收到的數據如果是無誤的,則進入此任務。該任務對系統中主要存在四種動作,即加水、加熱、循環和回水,分別分為手動和自動兩種工作狀態,計算系統中實時改變的數據該如何影響和決定當前系統的動作。

        液位計相關文章:磁翻板液位計原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 同心县| 绥棱县| 大兴区| 桃江县| 商河县| 民和| 镇原县| 原阳县| 内江市| 大同县| 本溪市| 海林市| 兰西县| 邳州市| 通许县| 成武县| 怀集县| 临武县| 绍兴县| 南汇区| 汽车| 香港| 西畴县| 民勤县| 仁化县| 浙江省| 棋牌| 合山市| 大城县| 昭通市| 赤壁市| 禄劝| 资兴市| 昌江| 武城县| 岐山县| 密山市| 普陀区| 忻城县| 海南省| 当雄县|