基于ATmega16的遠(yuǎn)程溫差循環(huán)控制器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
太陽(yáng)能與建筑一體化是城市建筑發(fā)展的必然趨勢(shì),分體承壓太陽(yáng)能熱水器是太陽(yáng)能發(fā)展的基本方向。由于分體式太陽(yáng)能熱水系統(tǒng)的集熱部分與儲(chǔ)熱水箱相互分離,二者由管道連接,需要配套溫差循環(huán)換熱控制裝置才能工作。目前,市場(chǎng)上使用的溫差循環(huán)換熱裝置基本都是單機(jī)工作,這就要求安裝在離太陽(yáng)能熱水器就近的位置,操作人員必須爬上樓頂才能完成基本的信息查看和基本功能操作。該設(shè)計(jì)很好地解決了這個(gè)缺點(diǎn),使用AVR單片機(jī),運(yùn)用RS 485技術(shù)以及NTC熱敏傳感器技術(shù),研制開發(fā)了該遠(yuǎn)程溫差循環(huán)控制器。
l 系統(tǒng)結(jié)構(gòu)和工作原理
遠(yuǎn)程溫差循環(huán)控制器主要用于測(cè)量、顯示分體承壓太陽(yáng)能熱水器的水箱水溫、集熱器溫度、管道溫度及控制溫差循環(huán)、輔助電加熱、管道防凍和參數(shù)設(shè)置等??刂破髦饕芍鳈C(jī)、從機(jī)、水溫傳感器、防凍傳感器等部分組成。主機(jī)核心為ATmegal6單片機(jī),通過RS 485與從機(jī)通信,顯示從機(jī)采集的溫度數(shù)據(jù),并完成基本功能設(shè)置,把設(shè)置數(shù)據(jù)傳送給從機(jī);從機(jī)也是以ATmegal6單片機(jī)為主控器,完成數(shù)據(jù)采集和控制執(zhí)行,其系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
遠(yuǎn)程溫差循環(huán)控制器以ATmegal6為核心,該單片機(jī)帶有串行接口,可以接485轉(zhuǎn)換芯片,實(shí)現(xiàn)RS 485通信;內(nèi)置8位A/D模塊,可直接實(shí)現(xiàn)8通道模擬信號(hào)的A/D轉(zhuǎn)換輸入;帶有512 B的E2PROM,可以實(shí)現(xiàn)數(shù)據(jù)掉電保護(hù)。
2.1 主機(jī)電路
主機(jī)的主要功能是接收從機(jī)采集4路溫度數(shù)據(jù),并顯示在128×64的液晶上;主機(jī)的另外一個(gè)功能是完成基本的設(shè)置,然后把設(shè)置參數(shù)發(fā)送給從機(jī)。主機(jī)主要由RS 485通信、鍵盤輸入、LCD顯示等幾個(gè)模塊組成。
2.1.1 RS 485通信
由于RS 485總線通信模式具有結(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉,通信距離和數(shù)據(jù)傳輸速率適當(dāng)?shù)忍攸c(diǎn),因而已廣泛應(yīng)用于儀器儀表、智能化傳感器集散控制、樓宇控制、監(jiān)控報(bào)警等領(lǐng)域。
在該設(shè)計(jì)中使用接口芯片MAX485,如圖2所示。該芯片是Maxim公司的一種RS 485芯片,采用單一+5 V電源工作,額定電流為300μA,采用半雙工通信方式。MAX485芯片的結(jié)構(gòu)和引腳都非常簡(jiǎn)單,內(nèi)部含有一個(gè)驅(qū)動(dòng)器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的RXD和TXD相連即可。RE和DE端分別為接收和發(fā)送的使能端,當(dāng)RE端口為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)DE端口為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用單片機(jī)的管腳PD2控制這兩個(gè)引腳即可。A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為l;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。
2.1.2 RS 485通信的抗干擾問題
RS 485總線存在自適應(yīng)、自保護(hù)功能脆弱等缺點(diǎn),如不注意一些細(xì)節(jié)的處理,常出現(xiàn)通信失敗,甚至系統(tǒng)癱瘓等故障,因此提高RS 485總線的運(yùn)行可靠性至關(guān)重要。
在該設(shè)計(jì)中,首先采用光電隔離。圖2中,四位一體的光電耦合器TLP521_1使單片機(jī)與MAX485之間實(shí)現(xiàn)了完全的電隔離,消除了相互干擾,提高了工作的可靠性。如圖2所示,單片機(jī)接收端RXD接TLP521_l的第13引腳;MAx485的RO接TLP521_1的第3引腳。這樣,當(dāng)RO有信號(hào)輸入時(shí),TLP521_1的第3引腳,通過光電耦合管使第13引腳有相應(yīng)的電信號(hào),從而降低了相互干擾。TXD,PD2的結(jié)構(gòu)和RXD相同。其次,在RS 485的輸出端即A,B兩端加入信號(hào)限幅二極管D1~D4,其穩(wěn)壓值應(yīng)保證符合RS 485標(biāo)準(zhǔn),D1和D3取12 V,D2和D4取7 V,以保證將信號(hào)幅度限定在-7~+12 V之間,進(jìn)一步提高抗過壓的能力??紤]到線路的特殊情況(如某一節(jié)點(diǎn)的RS 485芯片被擊穿短路),為防止總線中其他分機(jī)的通信受到影響,在MAX485的信號(hào)輸出端串聯(lián)了兩個(gè)3.3 kΩ的電阻R8和R10,這樣本機(jī)的硬件故障就不會(huì)使整個(gè)總線的通信受到影響。在應(yīng)用系統(tǒng)工程現(xiàn)場(chǎng)施工中,由于通信載體是雙絞線,它的特性阻抗為120 Ω左右,所以在線路設(shè)計(jì)時(shí),在RS 485網(wǎng)絡(luò)傳輸線的始端和末端應(yīng)各接l2O Ω的匹配電阻(如圖2所示中的R9),以減少線路上傳輸信號(hào)的反射。通過上述幾點(diǎn),可以有效地降低RS 485通信中的干擾。
2.1.3 輸出顯示和鍵盤輸入電路
液晶顯示用的是OCM中128×64的液晶,該液晶顯示模塊為128×64點(diǎn)陣型液晶顯示模塊,既可顯示各種字符及圖形,又可以顯示4行漢字剛好符合該設(shè)計(jì)要求,顯示4路溫度,并可與CPU直接接口,具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線。該設(shè)計(jì)中,由于單片機(jī)接口預(yù)留有限,所以LCD與單片機(jī)的連接采用串行數(shù)據(jù)輸入方法,數(shù)據(jù)通過單片機(jī)PA7與LCD串行輸入端的第4引腳相連;PA4、PA5為片選信號(hào),分別接LCD的第15、第16引腳;PA6作為讀/寫使能信號(hào),與LCD的第6引腳相連,它不僅接口簡(jiǎn)單,而且節(jié)約了單片機(jī)的I/O口資源。鍵盤輸入接口使用到8個(gè)按鍵,采用行列式2×4鍵盤實(shí)現(xiàn)。
2.2 從機(jī)電路
從機(jī)的主要功能是完成4路溫度數(shù)據(jù)采集,并將這些數(shù)據(jù)傳送給主機(jī);然后接收主機(jī)下達(dá)的基本設(shè)置數(shù)據(jù),控制實(shí)現(xiàn)溫差循環(huán)、RS485通信、輔助電加熱、管道防凍等功能。RS 485通信與主機(jī)相同,下面主要介紹測(cè)溫和繼電器控制部分。
2.2.1 測(cè)溫電路
測(cè)溫的關(guān)鍵是選擇合適的感溫元件和合理的測(cè)溫電路參數(shù)。這里選用一種負(fù)溫度系數(shù)的熱敏電阻器(NTC),它采用玻殼封裝,體積小,響應(yīng)快,價(jià)格低,安裝方便。水溫測(cè)量使用NTC測(cè)溫電阻TG408503(25℃時(shí),阻值50 kΩ,B值4O5O K,玻璃封裝),經(jīng)A/D轉(zhuǎn)換后由程序查表,控制精確、選擇合理的電路參數(shù),在O~99℃范圍內(nèi)誤差可小于1℃,具有良好的一致性。NTC熱敏電阻的溫度特性一般可用下面的公式表示:
式中:RT,RT0分別為熱敏電阻器在溫度T(單位:K)和T0(單位:K)時(shí)的阻值(單位:Ω)。B為熱敏電阻器的電阻溫度系數(shù)(單位:K)。熱敏電阻測(cè)溫電路如圖3所示:RT1~RT4為本設(shè)計(jì)所使用的熱敏電阻;PAO~PA3為從機(jī)ATmegal6單片機(jī)的A/D接口。
2.2.2 繼電器控制電路
系統(tǒng)輸出功率控制有4路,分別有從機(jī)ATmegal6單片機(jī)PB0~PB3端口控制溫差循環(huán)、電加熱循環(huán)、防凍循環(huán)等功能。當(dāng)主機(jī)按“溫差循環(huán)”鍵時(shí),主機(jī)將把信號(hào)發(fā)送給從機(jī),從機(jī)再將RB0置高,啟動(dòng)手動(dòng)循環(huán),再次按“循環(huán)”鍵,程序使RB0輸出低電平口,關(guān)閉手動(dòng)循環(huán)。其他功能與“溫差循環(huán)”基本相同。為了防止繼電器可能干擾單片機(jī)的控制電路部分,在單片機(jī)PB輸出口與繼電器驅(qū)動(dòng)接口電路之間加入了光電耦合器TLP521_2,如圖4所示。
3 系統(tǒng)軟件設(shè)計(jì)
該設(shè)計(jì)的軟件編程并不復(fù)雜,主要有以下幾個(gè)模塊:LCD顯示、RS 485通信、A/D軟件濾波、行列鍵盤、繼電器控制等。這里主要介紹對(duì)RS 485通信、A/D數(shù)據(jù)的處理。
3.1 RS 485通信格式
在該設(shè)計(jì)中,雖然只是雙機(jī)通信,但是為了以后擴(kuò)展的需要,通信采用輪詢方式。通信的發(fā)起端是主機(jī),每次通信都是由主機(jī)發(fā)送指令開始,然后從機(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)沒有收到從機(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è)溫電路中加入了各種濾波電路,仍不見改善。因此推斷該干擾可能來(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)程通信問題。該設(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)用前景。