在现代工业控制中步进电机和伺服电机的控制是滑台控制的执行机构。区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机转速由脉冲信号的频率决定。
在很多情况下需要让步进电机控制滑台运动非常精确的距离,且运行轨迹是不规则的,运行时速度需可调。本文首先介绍系统的硬件电路原理;分析了控制滑台运行不规则轨迹的计算方法;在此基础上提出了用定时器中断的方法精确控制PWM数量;介绍了具体的软件实现方法并分析了系统测试结果。
1 系统硬件设计
本论文基于机车牵引梁数控磨削设备的电控设计,此设备用来磨削一个带弧线的六边形物体,因此要求设计两维滑台的电控部分,以精密控制磨削头的运行轨迹,经分析此轨迹呈不规则路线。系统硬件框图如图1所示,本系统的主控芯片是STM32F407,该芯片主频高达168 MHz,PWM定时器的频率同样可以达到168 MHz,在频率要求较高的设计中有较显著的优势。同时对于定时器中断控制PWM数量可以防止中断嵌套,且可以显著减少中断现场保护的开销,且该芯片支持SPI、CAN、I2C等多种协议。
主机和从机分别用两台两相步进电机来带动X轴和Y轴滑台,步进电机用M860驱动器来驱动。STM32主控板给驱动器发送PWM信号、方向和使能信号,驱动器经过光耦隔离并细分后来驱动步进电机。本系统主机和从机之间用CAN总线来进行通信,CAN总线具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点。主机和从机可以单独运行,只有当需要的时候采用CAN总线来进行同步。主机设置PWM的频率、滑台位置等数据以及发送开始运行、停止运行等信号,从机通过CAN总线接收相关数据和指令。当从机结束运行就会发送结束信号给主机。主机和从机之间通过CAN总线进行同步。
2 系统软件设计
2.1 二维滑台的运行模式
以二维滑台为研究对象,滑台由步进电机带动,滑台的运行模式中包含了二维滑台的单独运行和同时运行,假设滑台的齿距为10 mm(步进电机转动一圈,滑台前进10 mm)。
假设目标滑台前进距离为L。驱动器细分倍数为、步进电机总步数、PWM脉冲总个数为别为n、N、P。则
为了便于计算,此次设计将驱动器细分倍数设为5,则
P=N=100L
(2)
即当滑台需要前进距离为Lmm时,则步进电机总步数以及PWM脉冲总个数也应该为100 L。
如图2所示是二维滑台的不规则运动轨迹,轨迹由直线、斜线、圆弧组成。各种轨迹实现方法如下:
1)斜线轨迹
由图2可知,二维滑台有同时运动和结束的过程,对于斜线部分X轴滑台运距离为n1的过程中Y轴滑台同时运行距离为n2。有公式2可知X轴滑台和Y轴滑台运行n1和n2的距离所需要的PWM的脉冲个数分别为P1、P2则有P1=100n1,P2=100n2,以X轴为基准,则
n2=n1·cosα (3)
P2=P1cosα (4)
STM32定时器产生的PWM频率由系统时钟f、预分频值M、计数周期T决定,系统时钟f和和预分频值M不变,以改变计数周期T来改变PWM的频率。
以X轴滑台为基准,Tx、Ty分别为X和Y轴定时器计数周期,Vx、Vy分别为X轴和Y轴定时器频率,则有
2)单滑台运动轨迹
如图2所示,对于距离为n3的部分,由于只需要在X轴方向上运动,由公式2可知需要的PWM数量为100n3,因此只需要设置X轴定时器的PWM频率为固定值。并且计数100n3个PWM数量然后停止,轨迹在X轴方向上运动的距离就为n3。
而对于距离为n4的部分,和n3部分唯一不同的地方就是此时只需在Y轴方向运动。因此只需要设置Y轴定时器的PWM频率为固定值,并且计数100n4个PWM然后停止。
3)圆弧轨迹
而圆弧部分是以直线切割的方式实现的,圆弧角度为90度,D点是圆弧的中心点,圆弧半径为55
mm。
D点以上以X轴为基准,假设X轴定时器产生的PWM频率为,每输出100个PWM时Y轴定时器频率变换一次。假设A点变换了n-1次PWM,而B点变换了n次PWM,则A点坐标为(100(n-1),Ya),B点坐标为(100n,Yb),圆弧半径为R,则有
但是由于圆弧中点对应的X轴的PWM数量往往不是100的倍数,所以假设C点是离中点D最近的点,C点变换了m次PWM,则C点X轴坐标为100m,D点X和Y轴的坐标