基于SCM和PLC的两种步进电机控制方法
0 引 言
步进电机位移与输入脉冲信号数相对应,精度高、响应特性好、可靠性高、速度可在较宽范围内平滑调节,是控制系统中一种重要的自动化执行元件。
SCM(Single Chip Microcomputer,单片机)是把组成微型计算机的中央处理器、存储器、输入输出接口电路、定时器/计数器等制作在一块集成电路芯片中,它具有小巧、低功耗、指令系统丰富等优点,成为工业控制的主角。
PLC(Programmable Logic Controller,可编程序逻辑控制器)是以微型计算机为核心的一种工控机。其控制方案能事先进行模拟调试,自身设计采用了冗余措施和容错技术。由于PLC通用性强,编程操作方便,扩展灵活,可靠性高,应用几乎覆盖各个工业领域。
步进电机的电脉冲信号若由SCM产生,就构成以SCM为核心的控制系统。若电脉冲信号由PLC产生CONTROL ENGINEERING China版权所有,就构成以PLC为核心的控制系统。
1 步进电机驱动方式
反应式步进电机频率响应快、可双向旋转、定位准确、起停速度快,因而使用多CONTROL ENGINEERING China版权所有,具有代表性。三相反应式步进电机定子有6个等间隔的磁极,线圈绕过相互正对的两个磁极构成一相,共有A—A、B—B和C—C三相。根据步进电机的工作原理,若按顺序给步进电机的绕组施加有序的脉冲电流即可控制步进电机的转动,从而进行数字到角度的转换。转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动的方向则与脉冲的顺序有关。
从一相通电转到另一相通电称为一拍,对三相反应式步进电机来说,若按A→B→C→A顺序通电,则称为单相三拍运行方式。若按A→AB→B→BC→C→C→A→A顺序通电,则称为三相六拍运行方式。若按AB→BC→CA→AB顺序通电,则称为双相三拍运行方式。一般数字电路的信号能量远远不足以驱动步进电机,必须要有一个与之匹配的驱动电路来驱动步进电机。驱动电路不仅应该包含由功率开关器件构成的驱动主电路,还应包含一个逻辑单元,在输入脉冲序列的作用下输出定子绕组通电状态,控制主电路功率开关器件的导通与关断。典型的驱动电路主要有全电压,恒流斩渡,升频升压等形式。
2 基于SCM的步进电机控制方法
2.1 控制原理
SCM的P1口作为输出口,P1.0,P1.1,P1.2分别输出控制脉冲,通过7406驱动脉冲功率放大级的达林顿复合管,再分别控制三相步进电机的A、B、C三相。根据P1口输出控制信号的状态,即可实现对步进电机的正反转控制。
表1列出了步进电机工作在三相六拍时的控制字。从中可以看出,步进电机第一个控制字数据为01H,从上到下输出控制字时CONTROL ENGINEERING China版权所有,电机正转,自下而上输出控制字数据时,电机反转。步进电机运行一拍的时间决定了步进电机的转速。在输出一个控制字后加入一定的延时时间,即可控制步进电机的转速。
表1 三相六拍步进电机控制字
2.2 控制程序
设SCM工作寄存器R3中存放了步进电机要走的步数,转向标志存放在程序状态寄存器用户标志位F1(D5H)中,当F1为“0”时步进电机正转,F1为“1”时步进电机反转。正转控制字存放在片内数据存储器20H~25H中,26H中存放结束标志00H。在27H开始的存储区存放反转控制字,在2DH单元存放结束标志00H。SCM可以采用程序延时和定时器延时。下面利用定时器延时控制工程网版权所有,以中断方式输出控制脉冲。
3 基于PLC的步进电机控制方法
本文以OMRON的CQM1型机为例,分析通过PLC的软件设计来实现步进电机的脉冲分配。
由移位寄存器SFT(10)指令循环输出实现脉冲分配,步进电机工作在三相六拍时的状态由内部辅助寄存器IR016的00~05继电器控制,为实现循环控制,由第6位信号01605作为反馈信号接到SFT的数据输入端IN。SFT的移位脉冲输入端CP可由PLC内部高速定时器通过编程实现,本设计中为方便起见。采用了内部特殊继电器SR25500。SFT的复位输入端R接步进电机停止信号,该端为ON时,数据通道IR016的所有位置0,并且不接受数据输入。
表2列出了IR016与步进电机通电绕组的对应关系,在步进电机正转时,当移位数据信号移到第一位时。移位寄存器SFT第一位01600的输出应接通步进电机的A相;移到第二位时,应接通A相和B相;其余如此类推。以A相绕组为例,由表2可知,当辅助继电器01600、01601、01605中任一个接通时(并联关系),A相通电。移位寄存器每一位的输出信号先驱动与步进电机各相对应的输出继电器,再由输出继电器通过功率放大器驱动步进电机。
表2 IR016与电机通电绕组对应关系
梯形图控制程序如图1所示。工作过程简单描述如下:由输入端000
- 嵌入式系统硬件平台的软件PLC实现方法(04-12)
- 利用数字信号控制器实现稳健的PLC通信(05-02)
- 基于Linux系统的软PLC设计(07-19)
- 基于VxWorks的嵌入式实时PLC设计(01-08)
- 基于AT89C51单片机的微型可编程控制器(04-23)
- 基于DSP的光纤监控网络系统方案(08-03)