基于MCF51QE128和ATmega64的MCU控制板设计
扫描二维码
随时随地手机看文章
由于高效能的色谱柱、高灵敏的检测器及智能检测技术的使用,使得色谱法已成为一种分析速度快、灵敏度高、应用范围广的分析手段。在食品、医药、环境、化工等领域都需要组份收集分析。因此组份收集分析系统也越来越应用广泛,以往的组分收集控制系统很多采用PLC控制,模块体积大,成本高。本文就是在考虑PLC控制方案成本高后,设计出MCU控制板替代PLC控制,达到更好的控制精度,更低的成本,相同的系统稳定性。
1.系统原理及功能
本系统驱动两个步进电机,对步进电机速度按照要求进行控制,从而改变电机所带动的泵转速,达到输出流量的控制和混合液体的浓度的控制;或者通过控制一个步进电机控制输出的流量,同时配合电磁三通阀门对混合液体的浓度进行控制;检测紫外线一可见光传感器输出的电压信号,经A/D转换得到对应的物体成分,并按照预定设定的采集模式,发出采集的控制信号;系统同时定时记录紫外线一可见光传感器的输出电压和每个试管所对应的电压(成分)区域;根据设定的收集运动路径,通过控制两个步进电机(XY轴)来控制滴管的位置,同时配合滴管头上的三通阀门的开关,将配比的溶剂,按照预先设计的采集数量,依次存入预定位置的试管进行收集,并且记录每个试管对应的紫外线一可见光传感器的输出电压;定时(或根据要求)将分析的结果传送的PC机中;系统具有一个分辨率320X240的液晶屏幕,用来设置整个系统的所有参数(包括泵的流量,混合比例,控制梯度,收集数量、报警等参数);同时支持上位PC机对设备参数进行控制,两者效果相同。下图为系统功能示意图。
2.组分收集板卡硬件设计
考虑到系统结构功能较为复杂,所以将硬件控制板卡分三部分来设计。
第一部分:系统核心控制器采用的是Freescale公司推出的32位单片机MCF51QE1280它是第一款32位Cold-FireVlMCU和业界最高效的32位控制4器,其停止电流降至370nA,6μs唤醒时间,超低运行电流起始于50mA;50.33MHzColdFireVl内核运行频率;25.165MHz的总线频率:最大为8K字节的RAM;最高128KB的闪存;24信道的12位ADC;两个模拟比较器;2×SCI、2×12C、2×SPI;一个6信道和两个3信道的定时器PWM模块;RTC;最多70路通用输入/输出(GPIO);系统集成:频率锁定环(FLL)和软件看门狗;内部时钟源(ICS);低功耗外部32kHz振荡器;电压范围为1.8V~3.6V;增强型内部振荡器、电压调节器和实时计数器。通用开发环境是CodeWarriorforMicrocontrollers6.0。MCF51QE128用于所有模拟数字信号的采集,数据的处理,输出步进电机的控制信号(间接控制信号,直接控制信号),电磁阀控制信号和采集数据的传送以及通讯。下图为MCFQE128控制板原理图。
第二部分:整个系统和上位PC机的通讯、和MCF51QE128控制板通讯、配置参数的掉电存储、320X240图形液晶驱动和键盘扫描由Atmel公司的8位单片机ATmega64负责制,ATmega64是一款基于AVR内核,采用了RISC结构,低功耗CMOS的8位单片机。具有64KB的可在系统编程的FLASH程序存储器;4KB的RAM、2KB的EEPROM、53个通用I/O口;2个可编程USART接口;2个8位定时器、两个16位定时器,一个兼容IEEE1149.1的JTAG接口,完全能够满足设计的需要。处理人机接口的ATmega64板单独做为一个部分设计嵌在320X240图形液晶后面也充分考虑了系统的安装。第三部分:电机功率驱动和电源模块。
3.软件设计
泵电机控制模块软件设计系统能够根据所设置的流量值,以及泵和电机控制器的参数,转换为相对应的脉冲频率值。根据预先设置的浓度值,得到两种溶剂所对应的电机旋转周数,通过电磁阀,在泵电机过临界位置时候,切换电磁阀。或者系统能够根据所设置的流量值,以及泵和电机控制器的参数,转换为相对应总流量的脉冲频率值。并按照浓度梯度的值分别计算两种溶剂的流速和对应的电机转动的频率值。
MCF51QE128配置电机驱动脉冲程序如下:
modbus通讯协议系统通讯采用基于modbus标准的通讯协议RTU模式,采用基于RS-232/422的物理层接口。对于MCF51QE128控制板和Atmaga64控制板来说,MCF51QE128控制板是从机,ATmega64控制板是主机。对于PC接入的情况来说,PC是主机,ATmega64控制板相对PC而言是从机。通讯波特率固定为9600bit/s。
数据帧结构:每一个完整的数据帧如下表所示。
每一个数据字节包括:每个字节的位、1个起始位、8个数据位、最小的有效位先发送、1个奇偶校验位,无校验则无、1个停止位(有校验时);2个停止位(无校验时)。
用到的功能代码如下表所示,注意:所有寄存器都是16位(2字节)。
MCF51QE128解包modbusRTU的程序如下:
4.结语
笔者设计采用基于MCF51QE128和ATmega64的控制板作为组份收集系统的控制核心。已经成功的进行了应用,具有很高的市场应用价值。系统中的MCF51QE128具有很好的数据运算能力,构成的系统性能稳定,可以作为一个低成本高性价比的应用方案。