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