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