基于MCF51QE128和ATmega64的MCU控制板設(shè)計(jì)
由于高效能的色譜柱、高靈敏的檢測(cè)器及智能檢測(cè)技術(shù)的使用,使得色譜法已成為一種分析速度快、靈敏度高、應(yīng)用范圍廣的分析手段。在食品、醫(yī)藥、環(huán)境、化工等領(lǐng)域都需要組份收集分析。因此組份收集分析系統(tǒng)也越來(lái)越應(yīng)用廣泛,以往的組分收集控制系統(tǒng)很多采用PLC控制,模塊體積大,成本高。本文就是在考慮PLC控制方案成本高后,設(shè)計(jì)出MCU控制板替代PLC控制,達(dá)到更好的控制精度,更低的成本,相同的系統(tǒng)穩(wěn)定性。
1.系統(tǒng)原理及功能
本系統(tǒng)驅(qū)動(dòng)兩個(gè)步進(jìn)電機(jī),對(duì)步進(jìn)電機(jī)速度按照要求進(jìn)行控制,從而改變電機(jī)所帶動(dòng)的泵轉(zhuǎn)速,達(dá)到輸出流量的控制和混合液體的濃度的控制;或者通過(guò)控制一個(gè)步進(jìn)電機(jī)控制輸出的流量,同時(shí)配合電磁三通閥門(mén)對(duì)混合液體的濃度進(jìn)行控制;檢測(cè)紫外線一可見(jiàn)光傳感器輸出的電壓信號(hào),經(jīng)A/D轉(zhuǎn)換得到對(duì)應(yīng)的物體成分,并按照預(yù)定設(shè)定的采集模式,發(fā)出采集的控制信號(hào);系統(tǒng)同時(shí)定時(shí)記錄紫外線一可見(jiàn)光傳感器的輸出電壓和每個(gè)試管所對(duì)應(yīng)的電壓(成分)區(qū)域;根據(jù)設(shè)定的收集運(yùn)動(dòng)路徑,通過(guò)控制兩個(gè)步進(jìn)電機(jī)(XY軸)來(lái)控制滴管的位置,同時(shí)配合滴管頭上的三通閥門(mén)的開(kāi)關(guān),將配比的溶劑,按照預(yù)先設(shè)計(jì)的采集數(shù)量,依次存入預(yù)定位置的試管進(jìn)行收集,并且記錄每個(gè)試管對(duì)應(yīng)的紫外線一可見(jiàn)光傳感器的輸出電壓;定時(shí)(或根據(jù)要求)將分析的結(jié)果傳送的PC機(jī)中;系統(tǒng)具有一個(gè)分辨率320X240的液晶屏幕,用來(lái)設(shè)置整個(gè)系統(tǒng)的所有參數(shù)(包括泵的流量,混合比例,控制梯度,收集數(shù)量、報(bào)警等參數(shù));同時(shí)支持上位PC機(jī)對(duì)設(shè)備參數(shù)進(jìn)行控制,兩者效果相同。下圖為系統(tǒng)功能示意圖。
2.組分收集板卡硬件設(shè)計(jì)
考慮到系統(tǒng)結(jié)構(gòu)功能較為復(fù)雜,所以將硬件控制板卡分三部分來(lái)設(shè)計(jì)。
第一部分:系統(tǒng)核心控制器采用的是Freescale公司推出的32位單片機(jī)MCF51QE1280它是第一款32位Cold-FireVlMCU和業(yè)界最高效的32位控制4器,其停止電流降至370nA,6μs喚醒時(shí)間,超低運(yùn)行電流起始于50mA;50.33MHzColdFireVl內(nèi)核運(yùn)行頻率;25.165MHz的總線頻率:最大為8K字節(jié)的RAM;最高128KB的閃存;24信道的12位ADC;兩個(gè)模擬比較器;2×SCI、2×12C、2×SPI;一個(gè)6信道和兩個(gè)3信道的定時(shí)器PWM模塊;RTC;最多70路通用輸入/輸出(GPIO);系統(tǒng)集成:頻率鎖定環(huán)(FLL)和軟件看門(mén)狗;內(nèi)部時(shí)鐘源(ICS);低功耗外部32kHz振蕩器;電壓范圍為1.8V~3.6V;增強(qiáng)型內(nèi)部振蕩器、電壓調(diào)節(jié)器和實(shí)時(shí)計(jì)數(shù)器。通用開(kāi)發(fā)環(huán)境是CodeWarriorforMicrocontrollers6.0。MCF51QE128用于所有模擬數(shù)字信號(hào)的采集,數(shù)據(jù)的處理,輸出步進(jìn)電機(jī)的控制信號(hào)(間接控制信號(hào),直接控制信號(hào)),電磁閥控制信號(hào)和采集數(shù)據(jù)的傳送以及通訊。下圖為MCFQE128控制板原理圖。
第二部分:整個(gè)系統(tǒng)和上位PC機(jī)的通訊、和MCF51QE128控制板通訊、配置參數(shù)的掉電存儲(chǔ)、320X240圖形液晶驅(qū)動(dòng)和鍵盤(pán)掃描由Atmel公司的8位單片機(jī)ATmega64負(fù)責(zé)制,ATmega64是一款基于AVR內(nèi)核,采用了RISC結(jié)構(gòu),低功耗CMOS的8位單片機(jī)。具有64KB的可在系統(tǒng)編程的FLASH程序存儲(chǔ)器;4KB的RAM、2KB的EEPROM、53個(gè)通用I/O口;2個(gè)可編程USART接口;2個(gè)8位定時(shí)器、兩個(gè)16位定時(shí)器,一個(gè)兼容IEEE1149.1的JTAG接口,完全能夠滿足設(shè)計(jì)的需要。處理人機(jī)接口的ATmega64板單獨(dú)做為一個(gè)部分設(shè)計(jì)嵌在320X240圖形液晶后面也充分考慮了系統(tǒng)的安裝。第三部分:電機(jī)功率驅(qū)動(dòng)和電源模塊。
3.軟件設(shè)計(jì)
泵電機(jī)控制模塊軟件設(shè)計(jì)系統(tǒng)能夠根據(jù)所設(shè)置的流量值,以及泵和電機(jī)控制器的參數(shù),轉(zhuǎn)換為相對(duì)應(yīng)的脈沖頻率值。根據(jù)預(yù)先設(shè)置的濃度值,得到兩種溶劑所對(duì)應(yīng)的電機(jī)旋轉(zhuǎn)周數(shù),通過(guò)電磁閥,在泵電機(jī)過(guò)臨界位置時(shí)候,切換電磁閥?;蛘呦到y(tǒng)能夠根據(jù)所設(shè)置的流量值,以及泵和電機(jī)控制器的參數(shù),轉(zhuǎn)換為相對(duì)應(yīng)總流量的脈沖頻率值。并按照濃度梯度的值分別計(jì)算兩種溶劑的流速和對(duì)應(yīng)的電機(jī)轉(zhuǎn)動(dòng)的頻率值。
MCF51QE128配置電機(jī)驅(qū)動(dòng)脈沖程序如下:
modbus通訊協(xié)議系統(tǒng)通訊采用基于modbus標(biāo)準(zhǔn)的通訊協(xié)議RTU模式,采用基于RS-232/422的物理層接口。對(duì)于MCF51QE128控制板和Atmaga64控制板來(lái)說(shuō),MCF51QE128控制板是從機(jī),ATmega64控制板是主機(jī)。對(duì)于PC接入的情況來(lái)說(shuō),PC是主機(jī),ATmega64控制板相對(duì)PC而言是從機(jī)。通訊波特率固定為9600bit/s。
數(shù)據(jù)幀結(jié)構(gòu):每一個(gè)完整的數(shù)據(jù)幀如下表所示。
每一個(gè)數(shù)據(jù)字節(jié)包括:每個(gè)字節(jié)的位、1個(gè)起始位、8個(gè)數(shù)據(jù)位、最小的有效位先發(fā)送、1個(gè)奇偶校驗(yàn)位,無(wú)校驗(yàn)則無(wú)、1個(gè)停止位(有校驗(yàn)時(shí));2個(gè)停止位(無(wú)校驗(yàn)時(shí))。
用到的功能代碼如下表所示,注意:所有寄存器都是16位(2字節(jié))。
MCF51QE128解包modbusRTU的程序如下:
4.結(jié)語(yǔ)
筆者設(shè)計(jì)采用基于MCF51QE128和ATmega64的控制板作為組份收集系統(tǒng)的控制核心。已經(jīng)成功的進(jìn)行了應(yīng)用,具有很高的市場(chǎng)應(yīng)用價(jià)值。系統(tǒng)中的MCF51QE128具有很好的數(shù)據(jù)運(yùn)算能力,構(gòu)成的系統(tǒng)性能穩(wěn)定,可以作為一個(gè)低成本高性價(jià)比的應(yīng)用方案。