該設計使用AVR單片機,運用RS 485技術以及NTC熱敏傳感器技術,研制開發了該遠程溫差循環控制器。
1?系統結構和工作原理
遠程溫差循環控制器主要用于測量、顯示分體承壓太陽能熱水器的水箱水溫、集熱器溫度、管道溫度及控制溫差循環、輔助電加熱、管道防凍和參數設置等。控制器主要由主機、從機、水溫傳感器、防凍傳感器等部分組成。主機核心為ATmega16單片機,通過RS 485與從機通信,顯示從機采集的溫度數據,并完成基本功能設置,把設置數據傳送給從機;從機也是以ATmega16單片機為主控器,完成數據采集和控制執行,其系統總體結構框圖如圖1所示。
2 系統硬件設計
遠程溫差循環控制器以ATmega16為核心,該單片機帶有串行接口,可以接485轉換芯片,實現RS 485通信;內置8位A/D模塊,可直接實現8通道模擬信號的A/D轉換輸入;帶有512 B的E2PROM,可以實現數據掉電保護。
2.1? 主機電路
主機的主要功能是接收從機采集4路溫度數據,并顯示在128×64的液晶上;主機的另外一個功能是完成基本的設置,然后把設置參數發送給從機。主機主要由RS 485通信、鍵盤輸入、LCD顯示等幾個模塊組成。
2.1.1 RS 485通信
由于RS 485總線通信模式具有結構簡單,價格低廉,通信距離和數據傳輸速率適當等特點,因而已廣泛應用于儀器儀表、智能化傳感器集散控制、樓宇控制、監控報警等領域。
在該設計中使用接口芯片MAX485,如圖2所示。該芯片是Maxim公司的一種RS 485芯片,采用單一+5 V電源工作,額定電流為300μA,采用半雙工通信方式。MAX485芯片的結構和引腳都非常簡單,內部含有一個驅動器和接收器。RO和DI端分別為接收器的輸出和驅動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可。RE和DE端分別為接收和發送的使能端,當RE端口為邏輯0時,器件處于接收狀態;當DE端口為邏輯1時,器件處于發送狀態,因為MAX485工作在半雙工狀態,所以只需用單片機的管腳PD2控制這兩個引腳即可。A端和B端分別為接收和發送的差分信號端,當A引腳的電平高于B時,代表發送的數據為1;當A的電平低于B端時,代表發送的數據為0。
2.1.2 ?RS 485通信的抗干擾問題
RS 485總線存在自適應、自保護功能脆弱等缺點,如不注意一些細節的處理,常出現通信失敗,甚至系統癱瘓等故障,因此提高RS 485總線的運行可靠性至關重要。
在該設計中,首先采用光電隔離。圖2中,四位一體的光電耦合器TLP521_1使單片機與MAX485之間實現了完全的電隔離,消除了相互干擾,提高了工作的可靠性。如圖2所示,單片機接收端RXD接TLP521_1的第13引腳;MAX485的RO接TLP521_1的第3引腳。這樣,當RO有信號輸入時,TLP521_1的第3引腳,通過光電耦合管使第13引腳有相應的電信號,從而降低了相互干擾。TXD,PD2的結構和RXD相同。其次,在RS 485的輸出端即A,B兩端加入信號限幅二極管D1~D4,其穩壓值應保證符合RS 485標準,D1和D3取12 V,D2和D4取7 V,以保證將信號幅度限定在-7~+12 V之間,進一步提高抗過壓的能力。考慮到線路的特殊情況(如某一節點的RS 485芯片被擊穿短路),為防止總線中其他分機的通信受到影響,在MAX485的信號輸出端串聯了兩個3.3 kΩ的電阻R8和R10,這樣本機的硬件故障就不會使整個總線的通信受到影響。在應用系統工程現場施工中,由于通信載體是雙絞線,它的特性阻抗為120 Ω左右,所以在線路設計時,在RS 485網絡傳輸線的始端和末端應各接120 Ω的匹配電阻(如圖2所示中的R9),以減少線路上傳輸信號的反射。通過上述幾點,可以有效地降低RS 485通信中的干擾。
2.1.3? 輸出顯示和鍵盤輸入電路
液晶顯示用的是OCM中128×64的液晶,該液晶顯示模塊為128×64點陣型液晶顯示模塊,既可顯示各種字符及圖形,又可以顯示4行漢字,剛好符合該設計要求,顯示4路溫度,并可與CPU直接接口,具有8位標準數據總線、6條控制線及電源線。該設計中,由于單片機接口預留有限,所以LCD與單片機的連接采用串行數據輸入方法,數據通過單片機PA7與LCD串行輸入端的第4引腳相連;PA4、PA5為片選信號,分別接LCD的第15、第16引腳;PA6作為讀/寫使能信號,與LCD的第6引腳相連,它不僅接口簡單,而且節約了單片機的I/0口資源。鍵盤輸入接口使用到8個按鍵,采用行列式2×4鍵盤實現。
2.2? 從機電路
從機的主要功能是完成4路溫度數據采集,并將這些數據傳送給主機;然后接收主機下達的基本設置數據,控制實現溫差循環、RS485通信、輔助電加熱、管道防凍等功能。RS 485通信與主機相同,下面主要介紹測溫和繼電器控制部分。
2.2.1? 測溫電路
測溫的關鍵是選擇合適的感溫元件和合理的測溫電路參數。這里選用一種負溫度系數的熱敏電阻器(NTC),它采用玻殼封裝,體積小,響應快,價格低,安裝方便。水溫測量使用NTC測溫電阻TG40B503(25℃時,阻值50 kΩ,B值4 050 K,玻璃封裝),經A/D轉換后由程序查表,控制精確、選擇合理的電路參數,在0~99℃范圍內誤差可小于1 ℃,具有良好的一致性。NTC熱敏電阻的溫度特性一般可用下面的公式表示:
RT=RT0exp(B/T-B/T0)??? (1)
式中:RT,RT0分別為熱敏電阻器在溫度T(單位:K)和T0(單位:K)時的阻值(單位:Ω)。B為熱敏電阻器的電阻溫度系數(單位:K)。熱敏電阻測溫電路如圖3所示:RT1~RT4為本設計所使用的熱敏電阻;PA0~PA3為從機ATmega16單片機的A/D接口。
2.2.2? 繼電器控制電路
系統輸出功率控制有4路,分別有從機ATmega16單片機PB0~PB3端口控制溫差循環、電加熱循環、防凍循環等功能。當主機按“溫差循環”鍵時,主機將把信號發送給從機,從機再將RB0置高,啟動手動循環,再次按“循環”鍵,程序使RB0輸出低電平口,關閉手動循環。其他功能與“溫差循環”基本相同。為了防止繼電器可能干擾單片機的控制電路部分,在單片機PB輸出口與繼電器驅動接口電路之間加入了光電耦合器TLP521_2,如圖4所示。
3? 系統軟件設計
該設計的軟件編程并不復雜,主要有以下幾個模塊:LCD顯示、RS 485通信、A/D軟件濾波、行列鍵盤、繼電器控制等。這里主要介紹對RS 485通信、A/D數據的處理。
3.1 RS 485通信格式
在該設計中,雖然只是雙機通信,但是為了以后擴展的需要,通信采用輪詢方式。通信的發起端是主機,每次通信都是由主機發送指令開始,然后從機接收指令,根據接收到的指令,判斷執行相應的動作。指令共有3種,所以用2位二值代碼。代碼有:00為查詢,01為設置參數,02為手動指令傳輸。
通信流程如下:
(1)主機隔100 ms發查詢幀,從機返回傳感器數值數據幀;
???
(2)設置參數、狀態等:主機發設置參數幀,從機返回設置確認幀;
(3)若在定時時間內沒有收到從機返回數據,則重新發送,一直到從機正確返回。
3.2 A/D數據的處理
測試中發現,若不對A/D轉換后的溫度數據進行處理,直接用于溫差循環控制,會使繼電器不時出現誤動作。即使在ATmega16芯片外的測溫電路中加入了各種濾波電路,仍不見改善。因此推斷該干擾可能來自于A/D轉換模塊內部。考慮到該系統中現場溫度的變化較緩慢,適合采用滑動窗口平均法進行數字濾波。在采用數字濾波方法對A/D轉換后得到的連續64個溫度數據進行平均后,有效消除了A/D轉換后的噪聲。
4? 結? 語
以ATmega16為核心的遠程溫差循環控制器,使用RS 485方案,可以很好地解決遠程通信問題。該設計方案具有使用元件少,成本低,抗干擾性好等優點。該控制器的功能實用,控制準確可靠,人機對話界面直觀,操作簡便,能滿足各種分體承壓式太陽能熱水器對溫差循環和電加熱控制的要求。已經成功用于分體承壓太陽能熱水器的控制中,亦可用于太陽能熱水工程中用于溫差循環控制,具有良好的應用前景。
評論
查看更多