自动加料机控制系统的设计

时间:2007-04-29
摘 要:本文介绍了基于AT89C51的自动加料机控制系统的硬件和软件设计,并给出了AT24C01A和MAX813L等芯片接口方法,分析了控制系统的抗干扰措施。
关键词:AT89C51单片机;自动加料机;控制系统

自动加料机的工作原理
本文设计的由单片机控制的自动加料系统是与料斗式干燥机配套的加料系统。根据加料工艺要求,其工作原理是:先将真空管关闭,启动电机,用低真空气流将塑料树脂粒子送入真空管,电机停转,再将粒子排入料斗,如此循环。在设计的控制系统中,可用一个电机控制两个加料生产线,由方向阀切换。两个生产线既可单独运行,也可同时运行。假如两者同时运行,当一生产线输送结束后,判断到另一个生产线排料已经结束,那么,电机不停转而方向阀换向,从而为另一个生产线送料。这样可以发挥控制系统和电机的效率,从而实现供料自动化。
控制系统的控制器由单片机89C51和扩展电路组成。单片机控制继电器,继电器控制交流接触器,又由接触器控制电机等执行机构的运动。本控制系统可以根据送料工艺的需要,设置两条生产线的输送、排料、满料、空料等参数值,也可装载系统前次工艺参数值。

硬件电路设计
硬件框图如图1所示。由于AT89C51内含4KB容量,因此本设计中不需要外扩ROM。硬件电路主要有LED显示电路、键盘接收电路、继电器控制电路、EEPROM外部存储器扩展电路AT24C01A,以及看门狗电路MAX813L等组成。
外部存储器扩展电路
自动加料机存在两条生产线的输送、排料、满料、空料,共8个设置的重要数据需要读/写,并且能够提供掉电保护。如果扩展外部RAM,则需要外加电源维护,这就增加了电路设计的复杂性。为此采用了Atmel公司的具有掉电保护功能的24C01A。24C01A串行EEPROM遵守I2C总线标准,容量为128B。本系统24C01A的CLK接89C51的RXD,SDA 接TXD端。
本设计按24C01A页写入方式帧格式编程写入数据,先发送启动位,接着是器件地址(#0A0H)、应答位、EEPROM存储单元首地址、应答位,然后再发送数据。每两个数据位之间发一个应答位,发送停止位。读出数据时,格式和写入类似,器件地址是#0A1H。
LED显示电路
加料机在运行时要显示输送、排料、满料、空料时间,由时间切换键和标志哪条生产线的发光二极管表示。LED显示电路采用74LS377驱动器和MC14511B译码器控制LED数码管。74LS377的片选端接74LS138的输出Y0。两个LED显示一条生产线一个工作过程的秒数。两片MC14511B把P0口的高四位和低四位译码成十进制数控制LED显示。电路如图2所示。
8255控制电路
自动加料系统有8个按键:启动两条生产线的“启动1”键和“启动2”键、分秒选择键、时间设置加、时间设置减、显示生产线状态的切换键、时间设置(SET)键、时间切换键。另外,还有8个用于显示控制状态的发光二极管。由于单片机的并行口有限,本系统采用8255A扩展并行口。
8255A是通用可编程并行接口芯片,包含三个8位并行口PA、PB、PC和一个控制寄存器,并具有三种操作方式。本系统PA接8个按键,PB接8个发光二极管, /CS接74LS138的输出脚Y1。采用方式0基本I/O方式,PA输入、PB输出,此时8255A的控制字为98H。
继电器控制电路
自动加料机把塑料粒子送到一个真空管,在输送时真空管闭合,排料时真空管需要打开,将粒子送到排料漏斗。本设计共需4个继电器控制交流接触器,经考虑采用4123无极12V直流控制24V的交流继电器,并利用光耦合器件P521和MCU隔开。电路如图3(只画出一个继电器控制电路)所示。
89C51的P1初始值为0FFH,所以加一个74LS04反相器使得继电器初始不产生闭合。图3中MC1413是无源驱动器,IN4007组成继电器的续流二极管。MC1413的COM脚接外部模拟地,P521的脚2接数字地。
看门狗MAX813L电路
自动加料机工作在生产现场,要通过继电器控制交流接触器,由于干扰较大,可能出现死机现象。为此采用了MAXIM公司的MAX813L芯片,它能在单片机上电时可靠复位,下电时能防止程序跑飞而导致24C01A中数据被修改。MAX813L的WDI端接89C51的P2.0端,RST端接89C51的RESET端,程序设计时,规定时间间隔1.2s定时中断0中P1.7发出脉冲信号。如果外部干扰使单片机进入死循环,P1.7无脉冲发出,这时RST端产生复位信号复位89C51。另外,本系统也加了手动复位电路,以防止MAX813L由于某种原因不能可靠复位。

系统的抗干扰及可靠性
单片机系统供电线路是干扰的主要来源,电源采用隔离变压器接入电网,隔离变压器在初级和次级之间加了一层屏蔽层。交流接触器是继电器控制的,在紧靠交流接触器的输入端口并上一个电阻和电容串联的电路滤去高次谐波。每个集成电路芯片的电源和地之间要并上0.1mF的陶瓷电容。在输入输出通道上要加光藕P521。除了在继电器通道上外,两个满料信号也要经过P521光藕才送至INT0、INT1。另外,数字地和模拟地要分开,数字地线要粗而短。
软件抗干扰方面,本系统采用指令冗余和软件陷阱。当CPU受到干扰后,会把一些操作数当作指令码来执行,引起程序混乱。由于当PC指针飞到单字节指令上时,会自动步入正轨。因此我们在程序中人为地在RET、RETI、LCALL、LJMP、AJMP、DJZE、JZ、CJNE等处插入一些单字节指令(NOP)。并在继电器开闭指令SET、CLR前插入两条NOP指令。同时,当程序飞到ROM中未使用的非程序区时,非程序区要能捕获PC指针并强行拉到处理故障程序中。所以非程序区要每隔一段设置一个软件陷阱。软件陷阱由三条指令构成:
NOP
NOP
LJMP ERROR
ERROR处理过程放在0030H开始处。

软件设计
程序设计包括主程序、中断程序、故障处理程序、AT24C01A发送接收数据程序等。我们用到两个定时器中断:定时器0每隔1.2s使P1.7产生脉冲信号;定时器1产生1s的定时,使LED显示递减。故障处理程序使PC指针跳回到原来起动的相应程序段;AT24C01A发送接收程序按照时序要求和读写帧格式;主程序完成内部RAM数据区初始化、8255初始化,并根据按键信号跳转到相应程序段。按键“启动1”的程序框图如图4所示,其余7个按键对应的程序框图从略。

结语
本文设计的基于AT89C51的自动加料系统没有外扩ROM和RAM,程序直接放在AT89C51内部闪存中。设定数据通过串行口存入AT24C01A内,另外,系统从硬件和软件方面采取了抗干扰措施。本控制系统已成功运用于工厂的实际生产中。■

参考文献


[1]. AT89C51 datasheet https://www.dzsc.com/datasheet/AT89C51_810155.html.
[2]. AT24C01A datasheet https://www.dzsc.com/datasheet/AT24C01A_142911.html.
[3]. MAX813L datasheet https://www.dzsc.com/datasheet/MAX813L_1019603.html.
[4]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.
[5]. 74LS377 datasheet https://www.dzsc.com/datasheet/74LS377_1053266.html.
[6]. MC14511B datasheet https://www.dzsc.com/datasheet/MC14511B_1064687.html.
[7]. 74LS138 datasheet https://www.dzsc.com/datasheet/74LS138_1054480.html.
[8]. 8255A datasheet https://www.dzsc.com/datasheet/8255A_103888.html.
[9]. P521 datasheet https://www.dzsc.com/datasheet/P521_1135285.html.
[10]. 74LS04 datasheet https://www.dzsc.com/datasheet/74LS04_772886.html.
[11]. MC1413 datasheet https://www.dzsc.com/datasheet/MC1413_1054908.html.
[12]. COM datasheet https://www.dzsc.com/datasheet/COM_1118194.html.
[13]. MAXIM datasheet https://www.dzsc.com/datasheet/MAXIM_1062568.html.
[14]何立民. 单片机应用技术选编. 北京航空航天大学出版社, 1999. 8
[15] 陈光东. 单片微型计算机原理与接口技术(第二版). 华中理工大学出版社,1999. 4
[16]蒋敏兰、胡生清. AT24C01A串行EEPROM及其在灌胶机中的应用. 国外电子测量技术. 2002.5

上一篇:1-Wire在家庭监控网络中的应用
下一篇:基于ADSP-TS101S的多芯片数字信号处理系统的实现方案

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料