步进电机控制系统程序流程如图2所示,首先采集当前步进电机负载指针位置,得出当前位置与指定位置的偏差,当偏差 图2 程序流程图小于稳态误差(偏差≤0.02 cm),则控制步进电机自锁(位置控制完成),当偏差大于稳态误差,则通过PID算法得到控制量,控制步进电机向指定位置运动。系统编程采用LabVIEW软件,其应用程序由3部分组成:前面板、框图程序和图标/连接器。图3为步进电机控制系统前面板,图4为步进电机控制系统框图程序。
从框图程序中可知,整个程序结构是一个while循环,其内部结构分为4个模块:数据采集及数字滤波模块;位置比较及波形显示模块;PID控制算法模块;电机运转方向和速度控制模块。下面介绍各模块的设计方法。
(1)数据采集及数字滤波模块其功能是采集步进电机负载指针位置。设计方法:首先用设备打开子模板打开设备,通过数据采集配置子模板设置采集通道,由数据采集子模板采集数据。为了使采集的数据更准确,采用数字滤波,方法是用一个For循环对采集的前8个数据依次存人8个移位寄存器,相加后除以8。
(2)位置比较及波形显示模块其功能是计算步进电机负载指针实际位置与指定位置的偏差,并实时显示位置变化曲线,设计方法:实际位置采样的电压值输入此模块后,先乘以16/5(步进电机负载的线位移范围为0~16 em,对应于采集电压的0~5 V),换算为实际位置,并与指定位置比较,其差值为步进电机负载指针位置偏差,将此偏差存人移位寄存器,同时将实际位置和指定位置送人波形指示器并在前面板上实时显示位置变化曲线。
(3)PID算法控制模块此模块输入量为步进电机负载指针实际位置和指定位置的差值,输出量为控制步进电机运行速度的脉冲周期。程序采用增量式PID算式:△u(k)=^ [e(k)一e(k一1)]+Kie(k)+Kd[e(k)一2e(k一1)+e(k一2)] (1)在计算控制量时,调用公式结点,并向结点输入最近3次的位置偏差和PID参数,即可由公式结点算出控制量,控制量可作为控制步进电机运行速度的脉冲频率。由于系统采用脉冲周期时间间隔来控制步进电机的运行速度,且脉冲周期不能为负值,故要将PID算法得到的脉冲频率转变为脉冲周期,并取绝对值。但是由于步进电机最高稳定运行频率是有限的,对该系统来说,电机最高稳定运行频率对应的脉冲周期为0.5 ins,当PID算法得到的脉冲周期≤0.5 ins时,选择开关1选通0.5 ins作为控制步进电机运行速度的脉冲周期;当PID算法得到的脉冲周期>0.5 ms时,就取实际算得的脉冲周期控制步进电机的运行速度。
更多直线步进电机参数知识,请咨询覃工QQ:176340526