基于PLC和SCM步进电机控制方法对比

描述

  0 引 言

  步进电机位移与输入脉冲信号数相对应,精度高、响应特性好、可靠性高、速度可在较宽范围内平滑调节,是控制系统中一种重要的自动化执行元件。

  SCM(Single Chip Microcomputer,单片机)是把组成微型计算机的中央处理器、存储器、输入输出接口电路、定时器/计数器等制作在一块集成电路芯片中,它具有小巧、低功耗、指令系统丰富等优点,成为工业控制的主角。

  PLC(Programmable Logic Controller,可编程序逻辑控制器)是以微型计算机为核心的一种工控机。其控制方案能事先进行模拟调试,自身设计采用了冗余措施和容错技术。由于PLC通用性强,编程操作方便,扩展灵活,可靠性高,应用几乎覆盖各个工业领域。

  步进电机的电脉冲信号若由SCM产生,就构成以SCM为核心的控制系统。若电脉冲信号由PLC产生,就构成以PLC为核心的控制系统。

  1 步进电机驱动方式

  反应式步进电机频率响应快、可双向旋转、定位准确、起停速度快,因而使用多,具有代表性。三相反应式步进电机定子有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,从上到下输出控制字时,电机正转,自下而上输出控制字数据时,电机反转。步进电机运行一拍的时间决定了步进电机的转速。在输出一个控制字后加入一定的延时时间,即可控制步进电机的转速。

  表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所示。工作过程简单描述如下:由输入端00000得电发出启动信号,前沿微分指令DIFU(13)保证移位寄存器SFT(10)指令中移位数据初始信号01600的唯一性。移位寄存器在移位脉冲的作用下顺序左移,实现6位脉冲分配,由输出继电器10000、10001、10002分别去接通步进电机的A、B、C三相。步进电机转速可由移位寄存器SFT的脉冲输入端控制,转向由继电器02603控制。当输入端00001无效时,KEEP(11)指令的置位端02600保证02603得电且保持该状态,电机正转;当00001为ON时,KEEP(11)指令的复位端02601使02603失电而恢复原状态,电机反转。

步进电机

  图1 梯形图

  4 结束语

  比较步进电机的SCM和PLC的控制方法可知。SCM采用定时器延时,以中断方式输出控制脉冲;PLC采用移位指令和内部特殊继电器,以循环顺序扫描方式输出控制脉冲。SCM采用汇编语言(或C语言)编程,其指令系统的同有格式受硬件结构的限制很大,编写和调试要求具备一定语言程序设计基础;而编写PLC程序,即可以采用语句表(助记符),又可以采用梯形图,梯形图简单易懂,通过图形编程器容易实现。SCM控制系统设计周期长,一般需要程序扩展,硬件方面需要经过印刷电路板设计等过程;PLC控制系统采用模块化结构,可在线修改控制程序,并实现实时监控,因而设计周期短。PLC系统扩展灵活,可以在原有控制系统基础上进行功能扩展,能有效降低成本,适应于复杂的工业控制环境。

  用SCM和PLC来实现步进电机控制脉冲的产生和分配,可以通过编程在一定范围内自由地设定步进电机的转速,而且还可以灵活地控制步进电机的运行状态。这两种控制方式都不需要反馈就能对位置或速度进行控制,且位置误差不会积累;用软件编程代替硬件控制,不仅减少了系统设计的工作量,而且提高了控制系统的可靠性。


:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分