基于ATmega128單片機的智能蒸柜控制系統(tǒng)設計
摘要:基于ATmega128單片機設計了智能蒸柜控制系統(tǒng)。由于蒸柜系統(tǒng)之前采用西門子PLC,目前這一系列已經(jīng)停產(chǎn),為了實現(xiàn)控制系統(tǒng)優(yōu)化,采用以ATmega128單片機為控制核心單元,取代原來由PLC及觸摸屏組成的控制系統(tǒng),并在軟件程序部分將原來的PID算法改進為模糊自整定PID算法。經(jīng)過軟硬件測試,控制系統(tǒng)與原系統(tǒng)相比更簡單、準確、穩(wěn)定、經(jīng)濟、智能,值得在實際應用中廣泛推廣。
關鍵詞:智能蒸柜;ATmega128單片機;485/FC協(xié)議;模糊自整定PID算法
智能蒸柜控制系統(tǒng)是一個蒸柜控制系統(tǒng)的改造與優(yōu)化,之前采用的控制單元部件為西門子S5系列PLC和MP370觸摸屏。S5系列模塊已經(jīng)停產(chǎn),觸摸屏操作也由于使用時間過長出現(xiàn)不靈敏現(xiàn)象,現(xiàn)使用的PLC模塊與s5系列模塊存在不兼容現(xiàn)象,并且PLC控制成本較高,故決定采用基于AVR單片機實現(xiàn)系統(tǒng)的節(jié)能優(yōu)化。
1 系統(tǒng)簡介
本次設計采用Atmel公司的AVR系列ATmega128單片,由于此單片機吸收了PLC及51單片機的優(yōu)點,同PLC一樣可以重設和復位;特別是AT mega128單片機具有128 KB FLASH,4 KB E2PROM,4 KB RAM,多達48個I/O,口,34個中斷源,以及ISP下載及JTAG仿真口。CS5464作為模擬量轉換芯片,ADM2483作為485通信模塊,并做了重大改進,程序的編寫可串行在線下載擦寫(ISP),內(nèi)置高精度的A/D轉換器;基于C語言完成AVR固件程序和用戶程序等軟件設計,結果驗證系統(tǒng)成本低、運行相對穩(wěn)定,系統(tǒng)結構如圖1所示。
2 蒸柜系統(tǒng)的工作原理及硬件實現(xiàn)
2.1 系統(tǒng)工作原理
(1)首先設定系統(tǒng)輸出量——溫度與壓力,再設定系統(tǒng)輸入量,包括閥門開度上限、上限、閥門工作時間、抽氣時間,系統(tǒng)時間等等;
(2)按啟動按鈕,若已關門(光電開關有信號),開始工作(工作指示燈亮、工作繼電器閉合),工作時間倒計時;
(3)工作期間,采集蒸房內(nèi)溫度、壓力值,并與設定值比較,通過模糊自整定PID算法串級控制,實現(xiàn)系統(tǒng)對閥門開度的調整,最終達到預期的自動控制與節(jié)能效果;
(4)當壓力、溫度超標時,報警(指示燈亮、蜂鳴器響),當壓力恢復時,報警停止;
(5)若工作期間檢測到門打開,或按停止按鈕,則停止工作并開始抽氣,抽氣完成結束。
2.2 硬件電路
硬件電路總共分為模擬量采集電路、電源電路部分、CPU處理模塊、鍵盤電路、液晶顯示電路、通信電路、模擬量輸出電路等幾部分,本文主要對以下幾個部分的硬件電路做重點設計。具體的I/O量見表1。
模擬量采集電路有兩路采集溫度,一路采集壓力,兩種電路不同的原因是:由于壓力傳感器采用的是PT1000,要將產(chǎn)生的電流信號通過三極管電路轉換成電壓信號做處理,而壓力變送器輸出的就是標準的4~20 mA標準信號,CS5464是一個常用的功率芯片,此處A/D模塊選用它的主要原因是成本較低,處理速度滿足控制要求。
電源是電子設備的核心部分,其質量的好壞直接影響著電子設備的可靠性,為了避免干擾,本設計電源電路采用相互隔離的兩路+5 V輸出:第一路輸出給單片機MCU、儲存芯片及LED數(shù)碼管供電;第二路輸出給RS 485通信芯片MAX485供電,電路如圖2所示。
主CPU板采用了Atmel公司的AVR單片機ATmega128,作為控制核心,主CPU板利用ATmega128的兩個USART和電平轉換芯片實現(xiàn)RS 232,RS 485通信、包含鍵盤處理、顯示屏處理、模擬量處理、時鐘口、JTAG口、繼電器輸出口等。
16×16鍵盤驅動電路如圖3所示,可實現(xiàn)如下功能:
(1)線狀態(tài)一:列輸出,行輸入,列輸出0000,讀行,如果行有口線為低電平,則有鍵盤按下。
(2)線狀態(tài)二:列輸出,行輸入,列依次輸出1110/1101,1011/0111,讀行,如果行有口線為低電平,確定當時的列輸出狀態(tài),可判定是哪一列鍵盤按下。
(3)線狀態(tài)三:列輸入,行輸出,行依次輸出1110/1101/1011/0111,只讀狀態(tài)二確定的列線,如果行有口線為低電平,確定當時的行輸出狀態(tài)。可判定具體是哪一個按鍵按下。
(4)本電路16個鍵的功能是:上翻up、下翻down、輸入input、清除clear、確定enter、返回ese、數(shù)字鍵:0~9。8個ATmega128的I/O口引腳分別對應16個按鍵,ATmega128直接檢測8個I/O口的變化,完成對時、報警限值設定、報警信息查詢,每路按鍵加RC電路去抖。
液晶屏選用LM240128CFW,該設計采用串口方式連接,LM240128CFW的引腳RS、R/W和E分別與ATmega128的PB0,PB3和PB1連接,同時ATme ga128對液晶屏進行初始化、設置和顯示等操作。R27和CL組成復位電路給液晶屏提供復位信號,電路如圖4所示。
通信電路采用AD2483通信芯片實現(xiàn)ABB標準的485協(xié)議與HLP專用的FC協(xié)議,RS 485的通信接口是由MAX485芯片構成,通過USART與MCU實現(xiàn)通信。采用3只光耦器件對單片機電路和RS 485接口電路進行隔離,提高系統(tǒng)的抗干擾能力,電路如圖5所示。
3 軟件設計
ATmega128單片機集成的指令功能非常豐富,內(nèi)存等資源也都比較豐富,為了提高代碼的可讀性、可移植性、可維護性和編程效率,本系統(tǒng)使用C語言開發(fā)系統(tǒng)軟件。采用的編程軟件為ICC AVR6.25A,仿真環(huán)境為AVR Studio 4.10。
系統(tǒng)上電后,首先初始化各底層硬件(包括LCD設備、串口參數(shù)等)。初始化完成后,執(zhí)行分段增量式PID控溫算法、溫度控制程序及人機交互程序,其中系統(tǒng)軟件流程圖如圖6所示,循環(huán)來等待中斷輸入,在此循環(huán)中,異常狀況檢測被定為具有最高優(yōu)先級的任務,其次是外部設備的手動輸入,最后是外部輸入信號。
4 測試結果及分析
4.1 溫度的校準與標定
首先在端口TIN處連接溫度傳感器,溫度計量得室內(nèi)溫度為27℃。初步上電在界面顯示正常情況,硬件電路測得信號電壓在計算范圍內(nèi),顯示界面仍然為0℃,單步執(zhí)行A/D采集程序,用示波器量得信號JSCK,MI,MO,發(fā)現(xiàn)JSCK為高電平,給MI一個標準方波,MO并沒有收到等同波形,顯示沒有規(guī)則的波形,差的最后的原因為A/D初始化程序,延時貼片光耦P781的動作時間,在將延時改為120 ms后,顯示界面出現(xiàn)一個不準確的溫度值,但此刻已經(jīng)說明能檢測到電路信號,關于PT1000的具體標定對應標定表格進行,標定方法較為復雜,其結果為與室溫有±0.15%的誤差,比廠家要求1%誤差有絕對高的精度。
4.2 通信的測試及結果
由于廠家變頻器采購的是HLP的NV系列變頻器,此系列變頻器遵循Modbus通信協(xié)議和自己的標準FC協(xié)議,本設計主要采用FC通信規(guī)約,標準Modbus暫且不作考慮,部分調試命令如下:
對于ModBus協(xié)議來說,按照地址分為4類:
0x為開關量表示該區(qū)域地址空間可讀可寫;1x為開關量表示該區(qū)域地址空間只讀;3x為模擬量表示該區(qū)域地址空間只讀;4x為模擬量表示該區(qū)域地址空間可讀可寫。
按照功能碼來說,01~255都可以,這些功能碼可以對應地操作地址空間中。
測試結果分析:通過標準FC規(guī)約參與變頻器485通信,實現(xiàn)對食品切刀、輸送機、進氣閥門的控制,實現(xiàn)頻率設定、正反轉啟動、變頻控制、七段速選擇、電機額定參數(shù)的顯示等。
5 結語
基于ATmega128芯片設計的智能蒸房控制系統(tǒng)基本滿足原系統(tǒng)所有功能,并加入了新的控制算法,控制精度更高、更準確、更節(jié)電,并在結構上更為簡易,在硬件上通過主板、按鍵和顯示屏組裝成簡單的可視化儀表,操作界面簡單明了,并添加了報警界面以便更為簡單地查找機器故障。