关键词:单片机 控制 步进电机
Abstracts: The primary function and hardware structure principle as well as software function are introduced.. The realizing theory and programming idea of main modules are discussed. The system has very quick dynamic response, high controlling regulation and high reliability.
Keywords: single-chip microcomputer;Control;Step motor
纸币打捆机是广泛应用于银行、邮局、证券公司、造币厂等金融系统的一种操作设备。所谓的纸币打捆就是在一捆纸币上用打包带打成双十字形状。整个流程共分为四个分解动作,即:打横道、打竖一道、打竖二道、复位。整个流程机械机构要完成四个转位。全自动纸币打捆机控制系统实现了控制打捆机构自动完成整个流程、调节焊头温度和打捆压力等功能。系统具有精度高、可靠性好、成本低的优点。
1 控制系统的功能及设计
1.1 控制系统的工作留流程
图1 控制系统工作流程示意图
传统的纸币打捆机四个转位动作不连续,位置控制要通过人工作业。我们采用三个步进电机,分别控制一个自由度。其中一个电机控制X自由度;一个电机控制Y自由度;一个电机控制θ自由度。单片机通过对电机的精确控制从而达到较高的定位精度,电机带动机械装置完成四个工位的运动。
1.2控制系统的硬件组成原理
图2 系统原理示意图
整个控制系统主要分为以下几个部分:键盘单元、主控单元、位置单元。整个系统的原理框图如图2所示。
2 系统的软件设计
系统软件的设计按照结构化的程序设计方法完成,将整个程序细分为若干个子程序(模块),方便调试与检查。因为系统比较复杂而且分散,每个单片机都有相应的主程序和相关的子程序。下面就几个主要的程序做一简单介绍。
2.1初始化子程序
在初始化子程序中,主要对89C51的系统资源,包括定时器、中断、串行通信、8255A进行初始化工作。
2.2键盘程序
键盘程序完成键盘单元的初始化工作、点亮相应的功能指示灯、键值的取得、焊头温度的设定以及和主控单元的通讯功能。
2.3主控程序
在主控程序中,完成与键盘单元和位置单元的通信、故障报警、各种币值打捆、各个功能电机的控制及其手动操作。
2.4捆钞作业子程序
在捆钞作业子程序中,完成压板的上升和下降、压力传感器的检测、进带电机进带、抽带电机抽带和下焊电机的控制。
2.5位置控制程序
在程序中,完成与键盘主控单元的通信、对应于各种币值的位置电机位置的控制及各电机手动操作。
3 系统硬件的子功能模块实现
整个硬件系统按照模块化的设计方法设计,使系统的整体结构更加完善的同时使性能得以提高,方便调试、维修。
3.1键盘模块
键盘采用8255A的A口和C口扩展出一个4×4的键盘,键盘共有12个功能键,在本系统中采用程序扫描法来识别按键。单片机先使8255A的PC口均为低电平,再读A口。如果A口不全为高电平,则延时10ms去抖动,然后再读A口,此时A口仍不全为高电平,说明没有键按下。进一步确定按下键的位置,先置PC0=0,PC1=PC2=PC3=1,读A口,由A口低电平的位便可确定按下键的位置。以此类推,如果检查完所有的键均无按下,说明是干扰或误操作。扫描结束时,按下键的位置信息存于某个存储单元中。然后通过RS-422串行通讯方式发送至主控单片机,使其控制电机做出相应的打捆动作以及电机的手动控制。
3.2步进电机控制模块
步进电机是机电一体化产品中重要的执行元件。在本系统中,我们采用的是三相异步式步进电机。如果对步进电机的稳定性和控制精度有更高的要求,则可以采用有细分的电机控制器来控制。
该控制模块采用双三拍正的驱动脉冲方式。根据系统的转速要求。由89C51单片机的P0.0送出脉冲,经过n倍频器,送入环形分配器CH250的cp端。CH250的3个输出信号就是步进电机的A、B、C三相的控制信号。其频率是CP信号频率的1/3。控制原理如图所示。
如果直接利用89C51的P0口作为A、B、C三相的控制信号。通过重置定时常数的方法改变频率。这种控制转速的方法缺点是随着转速的提高,误差逐渐增大。我们可以算出,当转速是W转/分时,定时的
图三 步进电机控制原理图
微秒数是500000/W。在12M的晶振下,单片机得最小定时单位是1μS。设步距角为3°,我们把每一圈的120步分为长步和短步(因为定时器不能定到小数位)。当W=1200时,则是416.67μS走一步。那末我们就把一圈120步当中80步走417μS,40步走416μS。
这种控制方法可以达到的精度是大约1700±1转。但是随着转速的增大误差逐渐增大。原因是:一,晶振高频时误差比低频时误差大;二,程序进入退出中断的不定时间(1微秒左右)足以使微秒级的定时产生较大的误差。
我们使用n倍频器,当n=20,W>4000时,P0.0的输出频率不超过400HZ。我们仍然采用定时器中断的方式,精度可以达到4000±1转的精度。使用倍频器的实质在于使得定时时间尽量的长,尽量减小各种不定时间对定时时间产生的影响。倍频器又内置锁相环(PLL)实现,倍频数n由程序确定。
环形分配器CH250时专门用于三相异步步进电机驱动控制的集成电路。它可将输入的CP脉冲分配为A、B、C三相驱动信号。要使驱动信号能驱动步进电机的线圈,还必须通过驱动电路。(如图4所示)
图4 步进电机驱动电路图
图中只画出一相驱动电路,其余两相与其完全相同。
图中,三极管相当于一个开关,当其截止时,集电极无电流通过,开关断开;当其饱和时,集电极电流最大,开关闭合。这个开关作用由基极电流控制。
驱动电路由T2、T3两个三极管组成达林顿式功率放大,驱动步进电机的3个绕组。
光耦的作用是消除各种干扰信号,并将控制和驱动信号隔离。当控制信号为低电平时,T1截止,输出高电平,红外发光二极管截止,光敏三极管截止,绕组中无电流通过;当控制信号为高电平时,T1饱和导通,红外发光二极管点亮,使光敏三极管导通,向功率驱动级晶体管提供基级电流,使其导通,绕组被加电。
步进电机绕组中的串联电阻Ra的作用是限制绕组中的电流,绕组中并联的二极管其保护作用,在断电时提供一个磁能释放回路,而不至于使晶体管损坏。
3.3焊接功率控制单元
图五 焊接功率控制原理图
焊接功率控制是通过脉宽调制控制电压来实现的。这里我们主要用到了8位的D/A转换芯片AD558和PWM控制芯片SG3524。.AD558由内部锁存器、利用R~2R的T型解码网络和晶体管开关组成,仅需要+5V电压供电,输出模拟电压范围围0~2.56V。SG3524是一个定频的双端输出式脉宽调制器(PWM),它的接法有两种,一种是把主电路的输出反馈到芯片内部的比较放大器的反向输入端,去调节输出电路的PWM占空比。另一种接法是把芯片的误差比较放大器结成电压跟随器的形式,从主电路取反馈信号加到误差比较放大器的同相输入端。这里我们采用的是第二种接法。
功率控制模块的工作原理是:键盘单片机接收到键盘信息后。把相应的温度数值写入DAC558的地址单元3800H,DAC558经数模转换后直接输出相应的电压,SG3524产生正比于输入数值量的脉宽信号,然后通过调压模块使输出的交流电压和输入的数字信号成正相关,交流电压经变压器接到焊头,使焊头加热。
3.4 串行通讯模块
在工作过程中,控制系统需要精密的位置控制,每一个动作需要各位置电机、和功能电机准确可靠的到达相应的位置。而位置电机和功能电机由不同的单片机控制。因此通讯的可靠性对于本系统而言是非常重要的。
由于RS-232C通讯协议在电平转换时采用的是单端输入/输出,传输过程中的噪声干扰会使信号发生畸变,因此抗干扰能力差,因此我们采用抗干扰能力更强的RS-422通讯协议。接口芯片采用美国MAXIM公司生产的单片光电隔离式全双工串行通讯接口芯片MAX1490。该芯片具有较高的集成度。由其构造成的RS-422接口结构简单、电气隔离性好。
波特率设为90Kbps,单片机之间接收数据采用查询方式,数据的发送采用中断方式。以中断的方式发送数据可以满足通讯实时性的要求。为防止电机的误动作,我们在存储单元中开启了4个动作信息标志位。接受方每接收到一种电机位置信息就把相应的动作标志位置1。如果连续接受到同样的动作信息,就会发出报警信息。位置控制程序中电机的每一次动作,都要检查相应的标志位,标志位为1,则开始启动,到达位置后自动将相应的标志位清零。
4 结束语
全自动打捆控制系具有统自动化程度高、作业时间短。大量实验表明:系统具有精度高、可靠性好、成本低、抗干扰能力强等优点。
参考文献
1 何立民.MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社.1990
2 王福瑞.单片微机测控系统设计大全. 北京:北京空航天大学出版社,1999