基于Labview的步进电机闭环控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第55卷第2期2021年2月
电力电子技术
Power Electronics
Vol.55,No.2
February2021基于Labview的步进电机闭环控制系统设计
刘旭辉,简震,丁志娟,张远方
(上海应用技术大学,机械工程学院,上海201418)
摘要:针对步进电机容易出现丢步现象,釆用比例积分微分(PID)控制原理,并结合Labview和STM32控制器搭建了步进电机闭环控制系统。
通过调用动态链接库库函数Pcomm.dll的方式,实现了Labview与STM32控制器之间的串口通信。
设计了PID参数实时整定模块,能够快速获得最佳PID参数。
进行了步进电机开环控制和闭环控制对比实验,实验结果表明该系统对步进电机失步问题具有良好的调控效果。
关键词:步进电机;比例积分微分;串口通信
中图分类号:TM3文献标识码:A文章编号:1000-100X(2021)02-0054-03
Design of Closed-loop Control System of Stepper Motor Based on Labview LIU Xu-hui,JIAN Zhen,DING Zhi-juan,ZHANG Yuan-fang
(Shanghai Institute of Technology,Shanghai201418,China)
Abstract:In view of the fact that stepper motor is easy to lose step,a closed-loop control system of stepper motor is built by using proportional integral differential(PID)control principle and combining Labview and STM32controller. The serial communication between Labview and STM32controller is realized by calling Pcomm.dll.A real-time PID parameter tuning module is designed to get the best PID parameters quickly.The open-loop and closed-loop control of the stepper motor are compared.The experiment shows that the system has a good control effect on the stepper motor out of step problem.
Keywords:stepper motor;proportional integral differential;serial communication
Foundation Project:Supported by National Natural Science Foundation of China(No.51675345)
1引言
步进电机是一种将数字脉冲信号转变为角位移或线位移的开环控制元件,通过改变脉冲频率和脉冲数量可分别控制其转速和角位移,在额定工况下,步进电机具有较高的定位精度且无累计误差,常用于数控机床、医疗器械等自动化领域〔7。
然而在高转速和大负载的情况下,步进电机容易出现丢步现象,造成定位误差。
Labview是一款基于命令流的面向对象的并行式图形化编程语言,其强大的底层驱动程序可方便地与单片机应用程序接口相连,实现快速的可视化编程,在数据采集、仪器控制、图像处理、测量测试等领域具有广泛应用⑷。
这里以两相混合式步进电机为研究对象,针对其丢步问题进行了探讨,基于PID控制原理,并结合Labview和STM32控制器搭建了步进电机闭环控制系统,对步进电机进行了研究与分析。
基金项目:国家自然科学基金(51675345)
定稿日期:2020-06-22
作者简介:刘旭辉(1978-),男,湖北天门人,博士,教授,研究方向为智能材料及振动控制。
2控制系统结构
这里以目前应用最为广泛的双极性两相混合式步进电机为研究对象,所设计的闭环控制系统可分为软件和硬件部分。
硬件部分主要包括:步进电机、STM32控制器、驱动器和编码器。
软件部分主要包括STM32控制程序和Labview上位机软件,其中,STM32控制程序通过Keil软件釆用C语言编写实现。
控制器采用YS-F4Pro控制器,该控制器包含STM32F407IG6驱动芯片,内置Cortex-CM4内核处理器。
步进电机驱动器采用TB67S109A驱动芯片,电机为57BYG250B步进电机,编码器采用HN38-06-N增量型旋转编码器。
通过上述软件和硬件的结合搭建了步进电机闭环控制系统,该闭环控制系统的具体结构框图如图1所示。
图1系统的结构框图
Fig.1Structural block diagram of the system
54
基于Labview的步进电机闭环控制系统设计
3硬件环境设计
3.1驱动电路设计
步进电机是一种感应电机,必须由相应的环形脉冲分配器和功率驱动电路驱动方可使用。
驱动器是利用电子电路将直流电变成分时供电的多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作冋。
TB67S109A是一种配备脉宽调制(PWM)斩波器的两相双极步进电机驱动器,最高可实现32细分驱动。
通过STM32高级定时器PWM翻转模式,调整PWM脉冲频率控制驱动器输出相电压实现电机调速。
此外,外围驱动电路采用共阳接法,利用光耦隔离器将STM32控制器与驱动电路进行隔离,确保电路安全可靠。
3.2速度位移采集电路
HN38-06-N为AB相增量式编码器,每转动一圈可输出600个脉冲信号,通过STM32控制器高级定时器编码器接口,可对编码器脉冲信号捕获计数,得到电机输岀轴转速和位置信息。
为提高测量精度,采用AB相上升沿下降沿同时计数,实现对编码器信号的4倍频。
此外,考虑到编码器信号直接与控制器引脚连接对控制器产生信号干扰等不良影响,采用高性能光耦隔离板对编码器信号进行隔离传输。
4软件设计
4.1PID算法
考虑到位置式PID对误差有累计作用,可能引起机构的大幅度变化,造成机构损伤,因此采用离散型增量式PID算法,对步进电机进行闭环控制,其算法如下:
△〃*=Ae*-Be—+Ce*_2(1)式中:为第A次釆样输岀控制量增量;%为第A次釆样偏差;e—为第k-\次釆样偏差;e*_2为第k-2次釆样偏差;A=K?(1+T/K,+KJT),K P为比例系数,K;为积分系数,心为微分系数,T为釆样周期;B=K”(1+2^7);C=K#JT。
STM32控制器通过对编码器脉冲信号的采样计数得到电机的实际转速,然后将该转速传给PID 控制函数,得到控制量增量用于修改定时器比较值,输出相应频率的PWM脉冲信号给驱动器,从而实现对步进电机转速的闭环控制叫控制流程如图2所示,p(t)为目标转速,r(t)为电机实际转速。
p"[罕T pid函数|as»|控制器严“彳驱动器
图2增量式PID闭环控制框图
Fig.2Incremental PID closed-loop control block diagram 4.2上位机软件编写
为实现上位机与下位机之间的通信,釆用Labview编写了上位机软件,主要包括串口通信模块、模式选择模块、PID参数整定模块、速度调节模块及图形显示模块。
4.2.1串口通信模块
Labview中通常采用VISA函数来实现上位机与下位机之间的串口通信,VISA函数使用方便,编程简单,但生成安装文件时,需安装约300M驱动程序导致软件安装包体积较大,运行速度变慢,数据传输时可能造成数据丢失⑴。
这里采用动态链接库库函数Pcomm.dll来实现Labview串口通信功能°Pcomm.dll是台湾MOXA公司提供的第三方库文件,体积只有84k,通过Pcomm.dll动态链接库库函数编写串口通信程序与VISA函数相比程序运行速度提高近2倍间。
4.2.2速度调节模块
上位机以字符串形式通过串口向下位机发送相关指令数据,通讯协议如表1所示。
表1串口通讯协议
Table1Serial communication protocol
数据名称帧头功能码参数1~12校验码结束符字符表示OxAA0x01~0xFF0x01~0xFF
前13个字节
的校验和
0x2F 速度调节模块指令码为“AA03speed(XX XX XX XX)(0x55•••0x55)CS2F”,AA为帧头,03为功能码,speed为单精度浮点型字符串(以4个8位整型XX表示),Ox55为空字节,CS为校验码,2F 为结束符(“/”),共16字节,均以十六进制表示。
当拖动速度滑杆改变速度时,会触发“速度调节”事件结构将该指令码发送至STM32控制器,控制器收到数据后对指令码进行判断并截取“speed”参数字符串来修改源程序速度参数,达到速度调节的目的。
4.2.3图形显示模块
为实现对电机输出轴角位移、速度的监测及PID参数的实时整定,设计了图形显示模块。
STM32控制器在对编码器脉冲信号进行计数后,定时器中断回调函数通过串口向上位机以指令码形式发送电机转速或角位移信息。
上位机接收到指令码后,先对指令码帧头、帧尾及校验和进行验证,之后以条件结构判断功能码,最后通过索引字符串功能截取转速或角位移信息并通过图形显示模块实时显示。
结合PID参数整定模块,通过调整PID参数可实时观测电机转速和角位移随时间变化曲线,快速获得最佳PID参数。
55
第55卷第2期2021年2月
电力电子技术
Power Electronics
Vol.55,No.2
February2021
5实验测试
为测试步进电机在闭环控制下的动态性能,搭建了步进电机实验测试平台,对步进电机进行开环控制和闭环控制对比实验,测试平台由驱动器、编码器、步进电机、YS-F4Pro控制器组成。
5.1PID参数实时整定实验
采用Labview编写的上位机软件能实现PID 参数的实时整定,快速获得最佳PID参数。
下面以比例调节(心)为例,通过实验对PID参数的实时整定功能进行说明。
如图3所示,7;时间段内设定p=100r-min-1,^=5,^=1.25,^=0,^时间段内设定p=50r•min-1,K=2.5,&=1.25,K d=0;T3时间段内设定/>=100r・minT,Kp=3,Ki=1.25,Kd=0。
对比八,*可知,当r与p重合时,甘时间段调整时间约为3s,T3时间段调整时间约为9s,随着K,,的减小电机的响应速度变慢,且厲时间段出现较为明显的振荡现象。
对比E’G可知,厲的&略高于T2,T2时间段调整时间约为12s,较T3推迟3s,振荡幅度也有所增加。
通过3个时间段对比可知,K”对电机的响应速度起决定作用,随着心的减小电机响应速度变慢,电机运行越不稳定。
经多次PID 参数整定,当心=5.5,&=1.75,心=0.2时步进电机具有良好的动态性能。
100 95 90
75 70 65 60 50
~r------
/
1
T\r7^
T
P
,J
图3PID参数实时整定
Fig.3Real time tuning of PID parameters
5.2步进电机闭环控制实验
通过调速滑杆设定p=600r-min-'(额定转速),电机启动后STM32控制器定时器中断回调函数每隔0.1s向上位机发送一次转速信息。
为便于数据的分析,采用Matlab对上位机采集到的数据进行处理,闭环控制与开环控制速度对比如图4所示,S3,"open为闭环、开环转速。
700
7600 =500三400
上300点200 d100
0 -100,叹
护"closed[局部
2加匚抛大
I 4.161s
卩3.25血-円 6.517s
586.3r«min-1
12345678910
t/s
图4速度对比
Fig.4Speed comparison
设定步进电机在0.5s时启动,在闭环控制作用下,步进电机迅速达到P,其响应速度要高于开环控制,在接近p时由于比例环节的作用出现超调现象,超调量约为P的3%,属于允许误差范围,之后约在4.2s时n doeed与p重合,调整时间约为3.7s0“旳则稳定在593r-min"1,与p存在偏差,属于失步现象,因此该闭环系统对步进电机失步现象具有良好的调控作用。
此外,为探究该闭环系统的稳定性,在5s时对步进电机施加反向负载,傀“a略有下降后,在PID控制的作用下,约在6.5s时恢复至P,调整时间约为1.5s,而“咛在负载作用下存在较大幅度的下降并最终稳定在586r-min-1,存在较大的失步现象,故相较开环控制而言该闭环系统具有良好的稳定性。
通过对比实验可知该闭环系统对步进电机失步现象具有良好调控作用和稳定性。
6结论
基于PID控制理论并结合STM32控制器和Labview搭建了步进电机闭环控制系统。
针对步进电机失步问题设计了步进电机开环与闭环对照实验,该系统对步进电机失步现象具有良好的调控作用,并具有较高的响应速度及稳定性。
另外,设计了步进电机PID参数实时整定模块,与传统参数整定方法相比,该模块具有良好的交互性和直观性,这种新型的参数整定模式,在工程应用、教育机构示教演示上具有一定应用价值和借鉴意义。
参考文献
[1]张嬪,樊艳艳,李勇.基于STM32和TMC5160的步进电机控制系统[J].仪器仪.表用户,2020,27(2)=63-
66.
[2]刘成浚,王直.基于STM32的一种步进电机系统的设计[J].电子设计工程,2018,26(1):131-134,139.[3]郭豪,赵树忠.基于单片机的步进电机控制[J].机械工程与自动化,2018,42(1):169-170,173.
[4]郭鹤飞,李华,陈敏,等.基于LabVIEW的光储微电网运行系统设计研究[J].电力电子技术,2020,54(2):69-72.
[5]夏斯权,周亦敏.步进电机闭环控制系统的研究与应用[J].机电工程,2017,34(12):1446-1450.
[6]何庆.一种面向步进电机控制的PID控制算法[J].
电工技术,2018,28(18):21-23,26.
[7]杨叶,刘晓梅,李琳.基于Labview的步进电机检测系统[J].信息系统工程,2016,18(2):71-72.
[8]田云.在LabVIEW中利用动态链接库实现串口通信[J].日用电器,2015,17(8):139-141.
56。