国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發(fā)布時(shí)間:2010-11-16 16:16    發(fā)布者:eetech
介紹通過(guò)在單片機(jī)內(nèi)嵌入實(shí)時(shí)多任務(wù)操作系統(tǒng)RTOS來(lái)實(shí)現(xiàn)太陽(yáng)能熱水控制系統(tǒng)的設(shè)計(jì)。文中包含主控制端(主端)與數(shù)據(jù)采集端(從端)的功能模塊圖及說(shuō)明,對(duì)存在的多個(gè)任務(wù)進(jìn)行解釋分析,并給出實(shí)現(xiàn)主從通信所定義的幀結(jié)構(gòu)和使用I2C總線在EEPROM存儲(chǔ)器中讀寫(xiě)數(shù)據(jù)的程序代碼解析。

隨著嵌入式技術(shù)的發(fā)展與壯大,越來(lái)越多的單片機(jī)在使用中實(shí)現(xiàn)了RTOS(Real Time multi-tasking Operation System)的嵌入,采用多任務(wù)機(jī)制來(lái)提高系統(tǒng)運(yùn)行的效率和縮短響應(yīng)所用的時(shí)間。由于嵌入式工業(yè)的基礎(chǔ)是以應(yīng)用中心的芯片設(shè)計(jì)和面向應(yīng)用的軟件開(kāi)發(fā),實(shí)時(shí)多任務(wù)操作系統(tǒng)進(jìn)入嵌入式工業(yè)的意義不亞于歷史上機(jī)械工業(yè)采用三視圖的貢獻(xiàn),對(duì)嵌入式軟件的標(biāo)準(zhǔn)化和加速知識(shí)創(chuàng)新是一個(gè)里程碑。RTOS具有下述優(yōu)點(diǎn)。  

①RTOS是一個(gè)可靠性和可信性很高的實(shí)時(shí)內(nèi)核,將CPU時(shí)間、中斷、I/O、定時(shí)器等資源都包裝起來(lái),留給用戶一個(gè)標(biāo)準(zhǔn)的API,并根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),合理地在不同任務(wù)之間分配CPU時(shí)間。  
②RTOS作為軟件開(kāi)發(fā)平臺(tái)是十分可取的,基于RTOS上的C語(yǔ)言程序具有極大的可移植性。據(jù)專家測(cè)算,優(yōu)秀RTOS上跨處理器平臺(tái)的程序移植,只需要修改1%~5%的內(nèi)容。





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

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

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

本太陽(yáng)能熱水控制系統(tǒng)以太陽(yáng)能為能源,加熱位于戶外屋頂上集熱器中的水。被加熱升溫后的水,通過(guò)循環(huán)閥進(jìn)入大水箱,再經(jīng)由重力到達(dá)小水箱,小水箱中設(shè)有輔助能源保持水溫的恒定,再通過(guò)升壓裝置將熱水送到各家各戶。該系統(tǒng)在缺省狀態(tài)下,以自動(dòng)控制模式判斷四個(gè)閥門(mén)(主要控制點(diǎn))的工作狀態(tài),也可根據(jù)需要由工作人員進(jìn)行手動(dòng)控制。工作人員通過(guò)主端的操作控制面板完成人與系統(tǒng)的交互。位于面板上的顯示屏?xí)䦟?shí)時(shí)顯示系統(tǒng)的工作情況和各項(xiàng)參數(shù)數(shù)據(jù),供工作人員參考。水箱高度和需要開(kāi)啟加熱閥門(mén)時(shí)的溫度等十二個(gè)系統(tǒng)參數(shù),既可以在控制箱內(nèi)的操作控制面板上設(shè)置和通過(guò)顯示裝置查看,也可以在遠(yuǎn)程監(jiān)控的計(jì)算機(jī)界面上設(shè)置和查看?紤]到在北方地區(qū)的推廣,系統(tǒng)還設(shè)定了防凍循環(huán)參數(shù)以控制啟停防凍循環(huán)。太陽(yáng)能熱水智能控制系統(tǒng)示意圖如圖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)由德國(guó)Keil公司開(kāi)發(fā)研制,大小只有800B,但理論上支持多達(dá)16個(gè)任務(wù),任務(wù)間的協(xié)調(diào)和輪換以信號(hà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)  

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

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

系統(tǒng)的軟件主要由三部分構(gòu)成:主端程序、從端程序和利用超聲技術(shù)測(cè)水位的程序。主端程序包含在主端控制模塊當(dāng)中,它的作用是判斷系統(tǒng)當(dāng)前工作狀態(tài),通過(guò)對(duì)所采集的數(shù)據(jù)進(jìn)行處理和分析得到該如何繼續(xù)控制系統(tǒng)的指令。從端程序負(fù)責(zé)處理采集的數(shù)據(jù),并發(fā)送提交給主處理程序,超聲部分的程序保證超聲模塊測(cè)水位的穩(wěn)定性和精確性。其中,主控制端后臺(tái)處理模塊是系統(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ù));④⑤分別為對(duì)不同顯示區(qū)域的控制任務(wù);⑥對(duì)硬件中斷的處理任務(wù);⑦對(duì)傳回?cái)?shù)據(jù)的處理任務(wù)。





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

①初始化任務(wù):初始化串行接口,并開(kāi)始其余6個(gè)任務(wù),最后刪除自身。  
②串口1通信任務(wù):主處理邏輯每隔一定的時(shí)間就通過(guò)串口1向數(shù)據(jù)采集端發(fā)送查詢幀查詢數(shù)據(jù),發(fā)送一定次數(shù)后仍未收到從端數(shù)據(jù)者,通過(guò)信號(hào)機(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)行的工作人員需要通過(guò)一些參數(shù)的變化來(lái)實(shí)時(shí)了解當(dāng)前系統(tǒng)工作的情況,這些參數(shù)包括各個(gè)閥門(mén)的狀態(tài)、水箱的水位、各個(gè)傳感器當(dāng)前的溫度等,所以該系統(tǒng)中使用一個(gè)串口來(lái)向監(jiān)控計(jì)算機(jī)提交數(shù)據(jù)。每隔一定時(shí)間監(jiān)控計(jì)算機(jī)便發(fā)送查詢幀,該查詢幀分兩,一類是查詢閥門(mén)狀態(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è)閥門(mén)的工作狀態(tài)。系統(tǒng)設(shè)置了以手動(dòng)和自動(dòng)兩種方式操縱四個(gè)閥門(mén),用有否提示音來(lái)進(jìn)行區(qū)分。這個(gè)區(qū)域還負(fù)責(zé)顯示各種提示信息或者出錯(cuò)信息,如果溫度傳感器或超聲探頭傳回的數(shù)據(jù)有誤,都在這里給出報(bào)錯(cuò)字樣,并表明是哪部分出了問(wèn)題,便于工作人員及時(shí)檢修排隊(duì)故障。  
⑥硬件中斷處理任務(wù):在控制臺(tái)的表面分布著14個(gè)按鍵用以操縱和控制系統(tǒng),每按下一個(gè)鍵,系統(tǒng)該做出何種反應(yīng)就由此任務(wù)掌管。由16位輸入4位輸出的編碼器得到按鍵編碼,在這里分十四種情況轉(zhuǎn)入不同的程序段進(jìn)行處理。  
⑦對(duì)傳回?cái)?shù)據(jù)的處理任務(wù):在與串口1的通信任務(wù)中,系統(tǒng)從串口1收到的數(shù)據(jù)如果是無(wú)誤的,則進(jìn)入此任務(wù)。該任務(wù)對(duì)系統(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)作。
  
2.2 數(shù)據(jù)采集端功能模塊圖  

在數(shù)據(jù)采集端,溫度的采集包括對(duì)屋頂集熱器溫度的采集,對(duì)恒溫小水箱溫度的采集,對(duì)大小箱溫度的采集和對(duì)輸水管網(wǎng)中某點(diǎn)溫度的采集。數(shù)據(jù)采集邏輯間接控制循環(huán)閥門(mén)、回水閥門(mén)、加熱閥門(mén)、加水閥門(mén)。數(shù)據(jù)采集端的功能模塊圖如圖4所示(虛線部分表示對(duì)閥門(mén)的間接控制)。




3 通信幀格式  

主控制端所實(shí)時(shí)顯示和進(jìn)行處理的數(shù)據(jù)要靠數(shù)據(jù)采集端進(jìn)行采集后發(fā)回,兩者之間的通信通過(guò)RS485接口,采用定義幀結(jié)構(gòu)的方式來(lái)實(shí)現(xiàn)。  
在程序中,我們靠對(duì)幀類型的區(qū)分和判斷,共定義了七種代表不同含義的幀,分別是:①主控制端向數(shù)據(jù)采集端發(fā)送的數(shù)據(jù)查詢幀;②數(shù)據(jù)采集端向主控制端回送的溫度水位等數(shù)據(jù)幀;③監(jiān)控計(jì)算機(jī)端向主控制端發(fā)送的查詢閥門(mén)狀態(tài)幀;④監(jiān)控計(jì)算機(jī)向主控制端發(fā)送的查詢溫度水位等數(shù)據(jù)幀;⑤主控制端向監(jiān)控計(jì)算機(jī)回送的閥門(mén)狀態(tài)幀;⑥主控制端向監(jiān)控計(jì)算機(jī)回送的數(shù)據(jù)幀;⑦監(jiān)控計(jì)算機(jī)端設(shè)置參數(shù)告知主控制端幀。若某一幀是傳送數(shù)據(jù)的幀,則data1~dada7的7個(gè)字節(jié)中依次填充大水箱水位、小水箱水溫、大小箱水溫、屋頂集熱器中水溫(3個(gè)采集點(diǎn))和采集點(diǎn)處的水溫。若某一幀作為傳送當(dāng)前閥門(mén)狀態(tài)的幀,則用7個(gè)字節(jié)中的前4個(gè)來(lái)分別表示進(jìn)水閥、回水閥、加熱閥和循環(huán)閥是打開(kāi)狀態(tài)還是閉合狀態(tài)。幀結(jié)構(gòu)的格式如圖5所示。  

除此之外,還可以按照設(shè)計(jì)的需要自行增加幀的類型,以實(shí)現(xiàn)更為復(fù)雜的通信。  

4 系統(tǒng)外存儲(chǔ)器EEPROM  

由于控制中經(jīng)常會(huì)涉及到參數(shù)的更改,為了使掉電后不影響系統(tǒng)的運(yùn)行,即需要參數(shù)能夠重現(xiàn),系統(tǒng)采用帶有I2C總線接口的EEPROM 2402芯片實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和讀取。讀和寫(xiě)分別調(diào)用的兩個(gè)函數(shù)如下:  

unsigned char eepromread(unsigned char beginbyte){  
unsigned char data result;  
unsigned char i;  
EA=0;  
i=RW24XX(%26;amp;result,1,beginbyte,READ_OP,M2402);  
EA=1;  
return(result);  
}  
/******************************************************  
unsigned char i;  
EA=0;  
i=RW24XX(%26;amp;datum,beginbyte,WRITE_OP,M2402);  
EA=1;  
}  

可以看出,函數(shù)RW24XX是對(duì)EEPROM外存儲(chǔ)芯片操作的主體函數(shù),這里給出該函數(shù)中包含參數(shù)的定義:  

bit RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,unsigned char ControlByte,enum eepromtype EepromType)  

其中,DataBuff為讀寫(xiě)數(shù)據(jù)輸入輸出緩沖區(qū)的首地址,ByteQuantity為要讀寫(xiě)數(shù)據(jù)的字節(jié)數(shù),Address為EEPROM芯片的片內(nèi)地址,ControlByte是EEPROM的控制字節(jié),具體形式為(1)(0)(1)(0)(A2)(A1)(A0)(R/W),其中R/W=1,表示讀操作,R/W=0為寫(xiě)操作,A2、A1、A0為EEPROM的頁(yè)選或片選地址;EepromType為枚舉變量,需為M2401~M24256中的一種,分別對(duì)應(yīng)24C01~24C256,本系統(tǒng)中為M2402;函數(shù)返回值為一個(gè)位變量,若返回1表示此次操作失效,0表示操作成功;ERRORCOUNT為允許最大次數(shù),若出現(xiàn)ERRORCOUNT次操作失效后,則函數(shù)中止操作,并返回1。

在該函數(shù)中,調(diào)用的若干I2C總線函數(shù)如下:  

void IICStart(void);  
void IICStop(void);  
bit IICRecAck(void);  
void IICNoAck(void);  
void IICAck(void);  
unsigned char IICReceiveByte(void);  
void IICSendByte(unsigned char sendbyte);  

結(jié)語(yǔ)  

本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,操作方便,擁有手動(dòng)和自動(dòng)兩種控制模式,具有一定的智能性;既可現(xiàn)場(chǎng)控制,又可遠(yuǎn)程控制;能根據(jù)現(xiàn)場(chǎng)狀況,合理地調(diào)節(jié)控制狀態(tài)。另外,利用RTX51TNY實(shí)時(shí)操作系統(tǒng)提供的系統(tǒng)特征,可以簡(jiǎn)化多任務(wù)程序設(shè)計(jì),滿足多個(gè)任務(wù)的時(shí)間特性要求;趯(shí)時(shí)多任務(wù)操作系統(tǒng),可以將各任務(wù)進(jìn)行細(xì)分饈,使各任務(wù)保持相對(duì)獨(dú)立;能有效改善程序結(jié)構(gòu),便于模塊化處理,使程序的可讀性、可維護(hù)性和可移植性都得到進(jìn)一步提高。
本文地址:http://m.qingdxww.cn/thread-39864-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開(kāi)發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開(kāi)發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美午夜理伦三级在线观看| 日韩欧美亚洲国产一区二区三区| 青青草视频免费观看| 亚洲精品第一页中文字幕| 亚洲一区二区在线成人| 性欧美xxxxporn| 最新在线观看精品国产福利片| 久久婷婷五月综合色丁香花| 日本韩国香港三级| 青青国产在线观看| 在线免费观看h视频| 在线无限观看次数破解版| 国产精品无码AV天天爽人妻蜜桃| 性色爽爱性色爽爱网站| 一本之道无吗一二三区| 日韩中文字幕在线免费观看| 污小说| 中日韩一区二区三区| 免费精品国产人妻国语麻豆| 日韩r级在线观看| 日韩美女免费线视频网址| 天天干天天色综合网| 成 人 色综合| 欧美男同gay粗大又长| 色综合欧美| 四虎在线免费播放| 亚洲欧美在线观看一区二区| 和I儿媳妇激情| 最新无码专区在线视频| 青青草好吊色| 太大了轻点阿受不了小说免看| 99热在线免费播放| 甜性涩爱在线看| 四虎影在线永久免费观看| 天天综合网色| 亚欧一区| 国产亚洲美女在线视频视频| 中文字幕视频免费在线观看 | 亚洲xx视频| 中文字幕在线永久在线视频2020| 欧美XXXX69学生HD|