职场文秘网

首页 > 心得体会 > 学习材料 / 正文

基于STM32的步进电机位置闭环控制系统设计

2023-05-11 12:30:05

谭人铭,张仁杰,江 涛

(重庆理工大学 机械工程学院,重庆 400054)

随着当代自动化产业的发展,运动控制已应用于各个领域当中且发挥着重要的作用[1]。步进电机具有性价比高,应用简单,因此步进电机广泛用于各类运动控制系统[2-5]。但在一些开环系统当中,由于系统本身的机械结构或步进电机本身的性能影响,步进电机在运动过程中可能会出现丢步或越步的情况,在某些对精度要求较高的系统中就会导致严重的后果[6-8]。通过在直线模组上安装光栅采集实际位移值,使用PID算法对步进电机实现精确的位置控制,根据目标值与实际值的偏差进行比例、积分、微分运算[9-11],将运算结果用以控制输出实现对步进电机位置闭环控制。由此,本文使用STM32F103ZET6单片机、FM5756SFD04步进电机、FMDD50D40NOM驱动器、雷尼绍RH100光栅和FSL40直线模组等构成闭环运动控制系统,人机交互界面采用LabVIEW图形化编程语言,运用PID算法对系统进行闭环控制以实现对步进电机位置的精确控制,实验验证后该PID闭环控制方法提升了步进电机运动控制系统精度80%以上。

针对步进电机位置的精确控制,采用位置反馈的闭环控制方式,微控制器根据编码器通过采样计数获得脉冲信号计算得到当前滑块的实际位置信息,将此位置数据传递给PID控制程序,将此值与输入目标位置数据进行比较运算,修正输出,进而控制器输出相应固定脉冲来实现对步进电机位置的闭环控制,硬件结构如图1所示。

图1 硬件结构

由图2闭环系统原理框图所示,开环系统的结构更为简单经济,缺点即无法消除干扰带来的误差,从而不能实现对步进电机位置的精确控制;
采用闭环控制系统具有抑制干扰的能力,有对位置误差进行修正的能力,提升步进电机位置控制的精度,从而达到对步进电机位置的精确控制。图2中:r(t)为设定的目标位置,与y(t)为系统实际位置测量值,e(t)为设定值与目标值之差。

图2 闭环系统原理框图

控制系统主要分为系统软件设计、硬件设计、PID位置闭环控制和上位机四个部分。控制系统设计方案如图3所示。其中硬件方面,控制器选用STM32F103ZET6单片机,执行发送脉冲指令,输出信号作为步进电机的输入信号,通过驱动器控制步进电机的转速和驱动丝杆滑块的位置。PID位置闭环控制方面,以雷尼绍RH100光栅为目标数值,滑块位移为实际值,使用PID算法让实际位置无限逼近光栅数值,提升精度。系统软件方面,使用KEIL对STM32F103ZET6进行源程序编写与调试;
上位机使用LabVIEW与单片机进行串口通信,实现启停、方向转变、速度变换、定点位移等功能。

图3 控制系统整体结构图

2.1 硬件设计

本控制系统的硬件结构主要由微控制器STM32F103ZET6芯片、USB转串口芯片CH340、步进电机、利用6N137光耦芯片差分信号转单端信号、使用PC817光耦芯片将24V限位信号转换为3.3V信号,其中微控制器完成对驱动电路的控制,与上位机的通信以及光栅编码器的数据采集和处理。具体硬件实物图如图4所示。

图4 硬件实物图

2.2 软件设计

单片机的PWM输出和光栅编码器信号的获取都由定时器来实现,以库函数的方式配置好定时器的I/O输出。单片机每10ms向上位机发送一次光栅数据同时发送到PID控制器,PID控制器判断实际位置是否达到预期,若没有达到预期则调用PID增量算法对其进行修正,将结果加载至PWM输出函数中调整步进电机当前的位置状态。具体软件流程图如图5所示。

图5 软件流程图

2.3 PID位置闭环控制

连续控制系统中的理想PID控制规律如式(1)所示。

(1)

式(1)中,Kp为比例增益,Kp与比例度成倒数关系;
T为积分时间常数;
TD为微分时间常数;
u(t)为PID控制器的输出信号;
e(t)为目标值与测量值之差。

将上式离散化得到位置式PID公式如式(2)所示。

(2)

增量型PID控制器输出的是相邻两次采样时刻所计算的位置值之差,不需要对积分项进行累加,相对位置型PID来说计算误差对控制量计算的影响较小。因此选择增量型PID算法,其公式如式(3)所示。

Δu(k)=Kp[e(k)-e(k-1)]+Kie(k)+

Kd[e(k)-2e(k-1)+e(k-2)]

(3)

实际PID输出如式(4)所示。

u(k)=u(k-1)+Δu(k)

(4)

通过定时器设置采样周期,定时采样位置数据发送至PID控制器,PID控制器对其与目标位置数据进行处理,将输出值反馈给控制系统,实现位置闭环控制。

为便于电机的操作控制以及数据的可视化,故设计相应功能的人机交互界面。

2.4 人机交互可视化操作界面设计

本控制系统上位机采用LabVIEW图形化编程语言设计,通过VISA串口配置与下位机取得通信,事件结构通过对不同按键按下进行判断,发送相应的指令给下位机,下位机执行对应的程序。可实现对丝杠滑块速度、方向、位移的控制以及光栅位移数据的保存,上位机界面操作简单,人机交互性强,上位机部分图形程序如图6所示,前面板操作可视化界面如图7所示。

图6 上位机部分图形程序

图7 前面板操作可视化界面

3.1 实验方案

为了验证本闭环控制系统精度的提升,分别对是否使用PID算法的控制系统进行闭环控制进行实验,对实验数据进行误差比对。

丝杠滑台全量程为50.000mm,使用上位机控制步进电机转动,使得丝杠滑块从零点开始每运动10.000mm采集一个数据点,全程采集6个位置值,重复5次实验。

3.2 实验结果

通过上述方案进行实验,分别得到使用与不使用闭环控制方式丝杠滑台的位置数据,其开环控制与闭环控制位置数据的平均值与标准差如表1所示。位置数据对比如图8所示。

(a)目标值与实际值曲线图

(b)目标值与实际值曲线局部放大图图8 位置数据对比图

表1 控制精度 mm

图8(a)中横坐标表示位置数据的目标值(即控制系统的输入值),纵坐标表示丝杠滑块的实际位移数据,两种不同的曲线分别表示在6组目标值下开环与PID闭环控制下的实际位移值;
由于两种曲线在全行程中的数据差异表现不明显,故引入局部放大图8(b),可明显地看出两种控制方式的数据差异。由表1和图8可知,采取了PID位置闭环控制方式后,其位置数据的重复度有了明显的提升。

将上述实验结果进行误差分析,分别将开环与闭环的位置数据与目标位置作差,得到误差数据,并对误差数据进行分析。其误差数据对比如图9所示。

图9 误差数据对比图

图9中X轴表示目标位置,Y轴表示误差值(实际值与目标值的差值),两组曲线分别表示开环与PID闭环状态下6个不同测点实际位移值与目标值的差值。系统的定位精度用各测点误差的平均值和标准差的平均值表示,计算结果如表2所示。

表2 精度

由图9、表2可知,在开环控制系统中,控制步进电机转动越久,误差越大,且重复度较差。在采取了PID算法闭环控制后,整个控制系统的定位精度与重复度都有了较大的提升,精度提升比例超过80%。

本文针对步进电机的精确控制,提出了以STM32F103ZET6微控制器为控制系统的主控芯片,采用PID算法闭环控制方式,经过实验验证,该控制系统不仅操作简单,人机交互界面友好,还极大地提高了整个控制系统的定位精度,有效地解决了在开环控制下步进电机出现丢步等导致误差变大的问题。

猜你喜欢目标值开环闭环控制基于LMI的过渡态主控回路闭环控制律优化设计北京航空航天大学学报(2022年5期)2022-06-06ML的迭代学习过程电子产品世界(2021年5期)2021-02-09适用于厚度在线测量的水压闭环控制系统测控技术(2018年1期)2018-11-25智能车竞赛中的闭环控制算法应用分析电子制作(2018年11期)2018-08-04转速开环恒压频比的交流调速系统的分析与仿真研究电子测试(2018年1期)2018-04-18一种温和环醚开环成双酯的新方法合成化学(2015年4期)2016-01-17基于开环补偿的飞机偏航角控制系统设计及仿真海军航空大学学报(2015年1期)2015-11-11SSSC的双闭环控制策略及仿真分析电测与仪表(2015年3期)2015-04-09">不同危险程度患者的降脂目标值——欧洲《血脂异常防治指南》
浙江中西医结合杂志(2013年4期)2013-11-08microRNAs and ceRNAs: RNA networks in pathogenesis of cancerChinese Journal of Cancer Research(2013年2期)2013-06-12

Tags: 闭环   控制系统   步进电机  

搜索
网站分类
标签列表