(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时,就取实际算得的脉冲周期控制步进电机的运行速度。
3 方向和速度控制模块
电机控制分3种方式:左转、右转和自锁,当偏差l e(k)l≤0.02 em,选择开关3选通自锁分配表,并将此表送人数组子模板,通过数字输出子模板输出数字量控制步进电机自锁;当偏差e(k)>0.02 em,选择开关2选通右转分配表,此表通过选择开关3送人数组子模板,并通过数字输出子模板输出数字量控制步进电机右转;当偏差e(k)<一0.02 em,选择开关2选通左转分配表,此表通过选择开关3送人数组子模板,并通过数字输出子模板输出数字量控制步进电机左转。数字量的输出是由for循环体实现的,由于采用四项八拍脉冲控制,故循环变量取8,每一次循环的时间间隔是由赋给延时子模板的脉冲周期决定的。
4 结束语
用虚拟仪器图形化编程软件LabVIEW 实现对步进电机位置控制编程,其软件界面形象生动,并且编程简单,实现起来非常方便,可根据用户的不同要求随时调整控制方式。因此具有应用价值。
参考文献:
[1] 王仲生,陈东.智能检测与控制技术[M].西安:西北工业大学出版社,2002.
[2] 陶永华.新型PID控制及其应用[M].北京:机械工业出版社,2000.
[3] 杨乐平,李海涛.LabVIEW 高级程序设计[M].北京:清华大学版社,2003.
来源:工业仪表与自动化装置