基于ATMEGA16的智能控制器的開發(fā)研制
1、引言
隨著科學技術的飛速發(fā)展和人們生活水平的提高,普通儀表已顯過時,不能滿足現(xiàn)代生活的需求?,F(xiàn)代儀表已日趨數(shù)字化、網(wǎng)絡化和智能化。微電子技術的發(fā)展和工業(yè)過程對測控方面要求的加強,使智能儀表的應用更廣、成本更低。AVR單片機具有低成本、低功耗、高速度的特點。本控制器主要針對浙大中控的 AE2000B過程控制實驗裝置設計的,對其水箱的液位、電熱鍋爐的溫度進行控制、顯示。
2、智能儀表的研制開發(fā)
智能儀表是以單片機為核心的儀表,其設計要點大致有兩點,即模塊化設計和模塊的連接。
2、1 模塊化設計
依據(jù)儀表的功能、精度要求等,自上而下按儀表功能層次把硬件和軟件分成若干個模塊,分別進行設計與調(diào)試,然后把它們連接起來,進行總調(diào),這是設計儀表最基本的思想。
硬件部分包括主機電路、過程輸入/輸出通道(模擬量輸入/輸出通道和開關量輸入/輸出通道)、人機聯(lián)系部件和接口電路以及串行數(shù)據(jù)通信接口等。軟件部分包括監(jiān)控程序(包括初始化、鍵盤和顯示管理、中斷管理、時鐘管理、自診斷等),中斷處理程序以及各種測量(數(shù)字濾波、標度變換、非線性校正等)和控制算法等功能模塊。模塊化設計的優(yōu)點是:無論是硬件還是軟件,每個模塊都相對獨立,故能獨立地進行研制和修改,使復雜的研制工作得到簡化,從而提高工作教益和研制速度。
2、2 模塊的連接
上述各種軟、硬件研制、調(diào)試之后還需要將它們按一定的方式連接起來,才能構(gòu)成完整的儀表,以實現(xiàn)數(shù)據(jù)采集、傳輸、處理和輸出等各項功能。為實現(xiàn)既定的各種功能,軟件模塊的連接一般是通過監(jiān)控主程序調(diào)用各種功能模塊,或采用中斷的方法實時地執(zhí)行相應的服務模塊來實現(xiàn)。
硬件模塊連接方法有兩種:一種是以主機模塊為核心,通過設計者自行定義的內(nèi)部總線(數(shù)據(jù)總線、地址總線和控制總線)連接其它模塊;另一種是用標準總線連接其它模塊,這種方式可選擇標準化、模塊化的典型電路,使配接靈活、方便。
3、系統(tǒng)硬件研制
3、1 單片機的選擇
單片機是整個智能儀器的核心部件,它直接影響整機的硬件和軟件設計,它對智能儀表的功能、性價比以及研制周期起決定性作用。一般兼有數(shù)據(jù)處理任務的控制類智能儀表,大多采用數(shù)據(jù)處理型的單片機。我們選用高性能、低功耗的8位ATMEGA16單片機,它具有如下特點:16K 字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時讀寫的能力,即RWW);512字節(jié)EEPROM;1K字節(jié)SRAM;32個通用I/O口線;32個通用工作寄存器;三個具有比較模式的靈活的定時器/計數(shù)器(T/C);可編程串行接口;低功耗空閑和掉電方式等。
3、2 外部設備的選擇
一臺智能儀表往往需要有多種外部設備。根據(jù)功能模塊劃分,外部設備通常指過程輸入/輸出通道、人機接口(鍵盤、顯示器、連接電路)等。
圖1 智能控制器硬件系統(tǒng)原理圖
3、2、1 模擬量輸入通道
A/D轉(zhuǎn)換器我們直接運用MEGA16芯片上的5-8路10位AD轉(zhuǎn)換。ATmega16有一個10位的逐次逼近型 ADC。ADC與一個8通道的模擬多路復用器連接,能對來自端口A的8路單端輸入電壓進行采樣。單端電壓輸入以0V (GND)為基準。器件還支持16 路差分電壓輸入組合。兩路差分輸入(ADC1、ADC0 與ADC3、ADC2)有可編程增益級,在A/D 轉(zhuǎn)換前給差分輸入電壓提供0dB(1x)、20dB(10x) 或46dB(200x)的放大級。七路差分模擬輸入通道共享一個通用負端(ADC1),而其他任何ADC輸入可作為正輸入端。ADC包括一個采樣保持電路,以確保在轉(zhuǎn)換過程中輸入到ADC的電壓保持恒定。
3、2、2 開關量輸出通道
在測控系統(tǒng)中,被控設備的驅(qū)動常常采用模擬量輸出驅(qū)動和數(shù)字量(開關量)輸出驅(qū)動兩種方式。前者由于其輸出受模擬器件的信號漂移等影響,很難達到較高的控制精度。隨著電子技術的迅速發(fā)展,特別是單片機進入測控領域后,數(shù)字量輸出控制的應用日益廣泛。精度控制上,開關量輸出控制比模擬輸出控制高。利用開關量輸出控制往往無需改動硬件,而只需改變程序就可用于不同的控制場合。
我們采用開關量輸出,并提供2種輸出方式由用戶選擇: 繼電器控制輸出(AC 220V/3A.DC 24V/5A)阻性負載;SCR(可控硅)輸出400V/0.5A。
3、2、3 LED顯示電路
顯示屏驅(qū)動電路的主要作用是接受來自控制系統(tǒng)的數(shù)字信號,將發(fā)光二極管點亮,實現(xiàn)在LED顯示屏上的信息的顯示。在顯示電路中采用雙4位LED顯示,測量值和目標值同時顯示,LED顯示屏使用的驅(qū)動電路是基于通用型集成電路移位寄存器74HC595和6B595來設計的。
3、2、4 通訊接口電路
通訊傳輸采用標準的RS485或RS232計算機數(shù)據(jù)串行通訊方式,通過串口按一定的通訊協(xié)議接收來自計算機串口RS232的信號,經(jīng)過處理后按一定的規(guī)律傳送到顯示屏上顯示。
4、系統(tǒng)軟件開發(fā)
系統(tǒng)軟件是整個控制系統(tǒng)的靈魂,而在控制系統(tǒng)中,核心部分是控制器的設計。本次設計我們主要采用了PID控制實現(xiàn),全部軟件都是用C語言編寫的。依據(jù)總體設計的要求,軟件流程圖如圖3,它由如下模塊組成:
圖2 ATMEGA16電路圖
圖3 主程序流程圖
4、1 初始化模塊
要求完成I/ O的設置、數(shù)據(jù)存儲器分配(包括A/ D采樣的結(jié)果、輸入按鍵的鍵碼、程序標志等) 、定時器、A/ D的設置并開中斷。
4、2 循環(huán)掃描模塊
檢測是否有鍵盤輸入、A/ D轉(zhuǎn)換完成否、是否定時中斷等判別任務。若有則轉(zhuǎn)跳至相應的子程序或中斷程序。
4、3 中斷處理模塊
依據(jù)狀態(tài)完成定時計數(shù)、A/ D采樣、鍵盤掃描等任務。
4、4 顯示驅(qū)動模塊
依據(jù)狀態(tài)完成溫度或系數(shù)的顯示。
4、5 鍵盤處理模塊
檢測鍵碼并進入相應處理程序。
4、6 定時中斷模塊
完成定時計數(shù),定時間隔約為1s,為系數(shù)的設置提供數(shù)碼。
4、7 溫度/液位控制模塊
依據(jù)測得的數(shù)據(jù)和預置數(shù)的差確定控制信號的輸出。
5、智能控制器的應用
用ATMEGA16單片機實現(xiàn)的智能控制器,主要有如下功能:
(1) 具有比較強的控制功能,可以實現(xiàn)基本的PID控制、串級控制、基本的PID控制、串級控制、比值控制、前饋控制、史密斯補償控制、位調(diào)節(jié)等功能。
(2) 能對輸入信號進行處理,如線性化、數(shù)據(jù)濾波、標度變換等。
(3) 具有顯示測量值和給定值的功能;具有故障報警的功能。
(4) 具有通信的功能。
(5) 具有自動/手動切換的功能。
將研發(fā)的智能控制器應用于浙大中控的AE2000B型過程控制實驗裝置中,具有穩(wěn)定性好、精度高、抗干擾能力強等特點,滿足實驗所需的各項指標的要求,達到了預期的效果。
6、結(jié)束語
通過實踐運行表明,所設計的系統(tǒng)能夠可靠、穩(wěn)定、無擾動地完成手動、自動切換的功能。以PID算法為核心的控制器能很好的滿足系統(tǒng)的穩(wěn)定性和精度要求,并且具有開發(fā)周期短、成本低、性能高、功能易擴大的優(yōu)點。
參考文獻
[1] 宋建國.智能儀表原理與設計技術.北京航空航天大學出版社[M],1998
[2] 馬天程.智能測控儀表的研究[J].儀表技術與傳感器,1997,12:23~28
[3] 袁樂安.智能儀表的開發(fā)[J].礦業(yè)研究與開發(fā),2000,20(2) :34~36
[4] 王 健,單 印.一種高精度智能溫度控制器[J].微計算機信息,2002,18(11) :31~32
評論