完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基于labview 步进电机PID控制系统的设计
陈东,姚成法 (西北工业大学航空学院,陕西西安710072) 摘要:文中给出了基于LabVIEW 的步进电机PID控制系统的设计方法,着重介绍了程序设计方法。系统具有良好的软件交互界面,编程简单,控制效果良好,有实际应用价值。 关键词:步进电机;LabVIEW;PID控制O 前 言 步进电机是工业过程中一种能够快速启动、反转和制动的执行元件。其功能是将电脉冲转换为相应的角位移或直线位移。步进电机的运转是由电脉冲信号控制的,其角位移量与脉冲数成正比,每给一个脉冲,步进电机就转动一个角度(步距角)。步进电机旋转的角度由输入的电脉冲数确定,改变脉冲输入频率,就可以改变电机的速度;改变通电顺序,即改变定子磁场旋转的方向,就可以达到控制步进电机正反转的目的。正是因为步进电机具备上述特点,它已经被广泛地用于数控机床、精密旋转和线性位移系统中,在步进电机控制系统设计中,传统的方法是用逻辑电路或单片机实现步进电机控制,虽然此方法可行,但由于线路复杂而且制成后不易调整,因此存在一定的局限性。该系统采用虚拟仪器图形化编程软件I.abVIEW实现对步进电机的位置控制,为了取得较好的控制效果,采用PID控制算法。系统有较好的人机交互界面,编程简单,根据不同的要求可随时调整控制方式。 1 系统组成及工作原理 系统由一台计算机、一台步进电机装置、一块数据采集板及步进电机驱动电路板组成,如图l所示。 在步进电机装置上,步进电机的轴连接蜗杆传动减速机构,再通过齿轮和皮带部分,将电机的圆周运动转换成皮带的直线运动。皮带直线运动的位移量用指针和刻度尺来量化表示。皮带移动同时带动一只多圈电位器(位移传感器)转动,位移传感器输出的电压可定量地表示步进电机的角位置量,电机的角位置量可由电机负载指针将位置直观地表示出来。该指针在0~16 cm的行程范围内运动,对应的位置反馈电压范围为0~5 V。计算机通过采集位移传感器输出的反馈电压,就可得到当前电机负载指针位置,与指定指针位置比较,得到位置偏差,采用PID控制算法可得控制量,通过数据采集板的DIO控制电机向指定位置运动。 2 系统软件设计 步进电机控制系统程序流程如图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时,就取实际算得的脉冲周期控制步进电机的运行速度。 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. |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
有没有大佬知道labview中使用Halcon拍照算子采集图像后,如何把图像传入调用的Halcon算子?
4172 浏览 0 评论
LabVIEW对51单片机电压的采集,用VISA写入函数发送字符串voltage,VISA读取函数也是字符串?
2117 浏览 1 评论
1837 浏览 0 评论
7127 浏览 1 评论
2478 浏览 0 评论
3076浏览 1评论
4316浏览 0评论
有没有大佬知道labview中使用Halcon拍照算子采集图像后,如何把图像传入调用的Halcon算子?
4172浏览 0评论
3256浏览 0评论
3202浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:55 , Processed in 0.588182 second(s), Total 55, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号