隨著單片機技術的不斷發(fā)展和芯片成本的不斷降低,單片機技術應用于電氣系統(tǒng)控制系統(tǒng)、各類工業(yè)自動化控制、家電產(chǎn)品已經(jīng)屢見不鮮。對于一些控制過程簡單、輸入輸出節(jié)點不多,模擬量輸入輸出精度要求不高的場所,如果用plc又感覺大材小用且成本難以控制。這時候如果采用單片機控制顯然具備明顯的優(yōu)勢。不同的控制系統(tǒng)要求不同控制邏輯來實現(xiàn),但其硬件構成基本類似,只是軟件構成區(qū)別較大而已。因此,按照一般的控制要求構建出通用的控制板,在根據(jù)不同的控制要求編寫控制軟件是完全可行的。實際上現(xiàn)在廣泛應用于自動控制領域的plc就是基于這一理論誕生出來的。只是其控制精度更高、配套產(chǎn)品更成熟化、軟件編寫平臺更人性化而已。
1、通用控制板的硬件構成
本文所講述的通用控制板選用atmel公司生產(chǎn)的作為主控芯片,該芯片具有簡便易學,開發(fā)成本低廉的特點,同時由于現(xiàn)在大都采用c語言編程,其編程方式簡便易學。atmega16 單片機功能強大、性價比高。具備32個真正意義的雙向i/o,具有大電流(灌電流)10~40 ma,可直接驅(qū)動可控硅scr或繼電**,節(jié)省了外圍驅(qū)動**件。atmega16avr單片機內(nèi)帶模擬比較**,具有8路10位a/d,i/o口可用作a/d轉(zhuǎn)換,可組成廉價的a/d轉(zhuǎn)換**。同時串口通信、看門狗電路、e2rom等一應俱全。目前,avr已被廣泛用于空調(diào)控制板、打印機控制板、智能****、智能手電筒、led控制屏、醫(yī)療設備、gps等系統(tǒng)中。
通用控制板設置8路開關量輸入、4路模擬量輸入;8路開關量輸出,每路開關量輸出均采用繼電**輸出(常開、常閉各一組);一路紅外接收電路。具備485通信和232通信端口,可以實現(xiàn)控制板與pc以及控制板與控制板之間的通信和數(shù)據(jù)交換,以便實現(xiàn)上位機控制和遠程多板聯(lián)控。以下簡要敘述各功能模塊的構成。
開關量輸入電路模塊采用光耦pc817實現(xiàn)輸入端與控制板的隔離,同時為了能直觀的觀察開關量的輸入狀態(tài),在輸入端設置了led指示(輸入端低電平是點亮),輸入端采用+12v**立電源驅(qū)動,以減少輸入電路對單片機的干擾。對該電源的要求是+12v穩(wěn)壓、輸出電流大于1a。
模擬量輸入使用atmega16的pa0~pa3四個引腳,**大輸入電壓5v,為簡化電路ad轉(zhuǎn)換所需的基準電源直接采用單片機的+5v電源,為保護單片機輸入端不會因模擬輸入端電壓過高而損壞, pa0~pa3設置了5.1v的穩(wěn)壓管及相應的限流電阻組成的保護電路。為便于與不同傳感**相連接,輸入端設置了接地和上拉電阻跳線。實際應用是可根據(jù)需要設置跳線。
開關量輸出采用pc817光耦隔離控制板與輸出端,由單片機的pc0~pc7驅(qū)動相應的光耦,再由光耦驅(qū)動9013的基**,9012的集電**驅(qū)動輸出繼電**。輸出端電源采用+12v**立電源驅(qū)動,減少輸出電路對單片機的干擾。輸出電源要求+12v穩(wěn)壓、輸出電流大于1a。輸入電源與輸出電源可以采用同一組電源。
串口通信電路采用max485和max232實現(xiàn)485通信和rs232通信,由于atmega16只有一個硬件串口通信,所以對于同一個控制板485通信和232通信不能同時使用,而是采用撥碼開關進行切換。
單片機電源采用+5v穩(wěn)壓**立電源,輸出電流要求大于1a,在電路設計是應做好電源的濾波。
2、pcb的布線要點
在進行控制板的pcb布線時應注意一下幾點:(1)輸入輸出應該分布在控制板的兩邊,電源的輸入端點和通信端口分布在控制板的另外兩邊;(2)電源走線應適當加寬,靠近芯片的電源輸入端點應增設濾波電容;(3)單片機的編程端口盡量靠近芯片;(4)單片機晶振走線盡量縮短;輸入端與單片機、輸出端與單片機之間應采用加寬的地線隔離;(5)pcb采用雙面覆銅板,對于單片機部分的pcb空白部位采用覆銅接地,以增強單片機的屏蔽。
3、軟件開發(fā)
本控制板的程序采用icc軟件編寫,編寫完成后通過單片機的編程端口寫入單片機。編程工作主要涉及端口定義、功能模塊的初始化(通信初始化、ad轉(zhuǎn)換初始化、輸入輸出初始化等),先按照avr的編程要求編寫各功能模塊。在具體應用時再根據(jù)不同的要求修改各功能模塊。如果想使用上位機控制還需要編寫相應的上位機控制軟件,上位機控制軟件可采用vb或vc編寫,編寫時一定要注意控制板的波特率的設定值,上位機的波特率與控制板的波特率一定要一致,否則無法正常通信。
控制板通信模塊軟件的編寫一定要考慮通信數(shù)據(jù)的校驗,無論采用rs485還是采用rs232通信,在實際通信過程中總是難以避免外界的干擾,因而對通信數(shù)據(jù)正確的校驗就顯得尤為重要。通常比較簡單有效的校驗辦法是采用幀頭、幀尾特征碼校驗的方法進行校驗,即通信傳輸?shù)臄?shù)據(jù)為aa bb +(實際需要傳輸?shù)臄?shù)據(jù))+aa bb,其中幀頭的aa bb和幀尾的aa bb為固定數(shù)據(jù),接收方在收到數(shù)據(jù)后首先檢查幀頭和幀尾數(shù)據(jù)的正確性,以此判定傳輸數(shù)據(jù)是否正確。
4、實際應用
該通用控制板筆者已經(jīng)成功應用于排風系統(tǒng)的遠程控制系統(tǒng)、空調(diào)系統(tǒng)、廢水處理系統(tǒng)自動控制。在排風系統(tǒng)的遠程控制系統(tǒng)中采用了兩個通用控制板,通過rs485實現(xiàn)兩控制板之間的數(shù)據(jù)遠程傳輸,實際傳輸距離為80米。在空調(diào)控制中使用一個控制板完全代替損壞的空調(diào)控制主板,用三個模擬量輸入端口采集空調(diào)的室內(nèi)溫度、室內(nèi)盤管溫度、室外盤管溫度?照{(diào)壓縮機控制接觸器、室內(nèi)機風扇高中低檔、室外機風扇、四通閥等由開關量輸出繼電器控制。在廢水處理系統(tǒng)自動控制中,用開關量輸入端點與水位傳感器連接,輸出端點控制水泵的接觸器、加藥泵等實現(xiàn)廢水的自動處理。
|