基于ATmega16的遠(yuǎn)程溫差循環(huán)控制器設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)
該設(shè)計(jì)的軟件編程并不復(fù)雜,主要有以下幾個(gè)模塊:LCD顯示、RS 485通信、A/D軟件濾波、行列鍵盤(pán)、繼電器控制等。這里主要介紹對(duì)RS 485通信、A/D數(shù)據(jù)的處理。
3.1 RS 485通信格式
在該設(shè)計(jì)中,雖然只是雙機(jī)通信,但是為了以后擴(kuò)展的需要,通信采用輪詢方式。通信的發(fā)起端是主機(jī),每次通信都是由主機(jī)發(fā)送指令開(kāi)始,然后從機(jī)接收指令,根據(jù)接收到的指令,判斷執(zhí)行相應(yīng)的動(dòng)作。指令共有3種,所以用2位二值代碼,代碼有:OO為查詢,01為設(shè)置參數(shù),02為手動(dòng)指令傳輸。
通信流程如下:
(1)主機(jī)隔100 ms發(fā)查詢幀,從機(jī)返回傳感器數(shù)值數(shù)據(jù)幀;
(2)設(shè)置參數(shù)、狀態(tài)等:主機(jī)發(fā)設(shè)置參數(shù)幀,從機(jī)返回設(shè)置確認(rèn)幀;
(3)若在定時(shí)時(shí)間內(nèi)沒(méi)有收到從機(jī)返回?cái)?shù)據(jù),則重新發(fā)送,一直到從機(jī)正確返回。
3.2 A/D數(shù)據(jù)的處理
測(cè)試中發(fā)現(xiàn),若不對(duì)A/D轉(zhuǎn)換后的溫度數(shù)據(jù)進(jìn)行處理,直接用于溫差循環(huán)控制,會(huì)使繼電器不時(shí)出現(xiàn)誤動(dòng)作。即使在ATmegal6芯片外的測(cè)溫電路中加入了各種濾波電路,仍不見(jiàn)改善。因此推斷該干擾可能來(lái)自于A/D轉(zhuǎn)換模塊內(nèi)部。考慮到該系統(tǒng)中現(xiàn)場(chǎng)溫度的變化較緩慢,適合采用滑動(dòng)窗口平均法進(jìn)行數(shù)字濾波。在采用數(shù)字濾波方法對(duì)A/D轉(zhuǎn)換后得到的連續(xù)64個(gè)溫度數(shù)據(jù)進(jìn)行平均后。有效消除了A/D轉(zhuǎn)換后的噪聲。
4 結(jié)語(yǔ)
以ATmegal6為核心的遠(yuǎn)程溫差循環(huán)控制器,使用RS 485方案,可以很好地解決遠(yuǎn)程通信問(wèn)題。該設(shè)計(jì)方案具有使用元件少,成本低,抗干擾性好等優(yōu)點(diǎn)。該控制器的功能實(shí)用,控制準(zhǔn)確可靠,人機(jī)對(duì)話界面直觀,操作簡(jiǎn)便,能滿足各種分體承壓式太陽(yáng)能熱水器對(duì)溫差循環(huán)和電加熱控制的要求。已經(jīng)成功用于分體承壓太陽(yáng)能熱水器的控制中,亦可用于太陽(yáng)能熱水工程中用于溫差循環(huán)控制,具有良好的應(yīng)用前景。
評(píng)論