APP下载

步进电机细分控制系统的设计与实现

2020-02-25张宝宁

福建质量管理 2020年8期
关键词:步距子程序细分

王 潇 张宝宁

(中国矿业大学(北京) 北京 100083)

引言

步进电机是一种通过电脉冲信号来控制的常用的机电元件,被广泛应用于国民生活、生产的各个领域。然而,常见的步进电机多数采用固定的脉冲数量和脉冲频率来进行控制,难以达到较高的控制精度。因此目前最新研究采用细分驱动技术来改善步进电机的精准控制和平稳运砖。

本文以STM32F4单片机为主控制器,采用2TB6600步进电机专用驱动器为驱动模块,利用USB口实现单片机与PC上位机的数据通信,根据PWM调速方法完成对步进电机进行驱动控制。并通过角度传感器检测步进电机的步距角,实现对细分控制效果的验证测试。

一、步进电机细分控制系统的方案设计

步进电机细分控制系统基本工作原理为:首先,PC上位机以编程的方式预先设定所要输出的脉冲数量、脉冲频率等初始化信息,并将程序移植进入STM32F4单片机中。其次,操作者通过按键控制步进电机的运行状态,控制器(控制信号处理模块)收到按键信号后将按键信号转换为相应的运行状态控制信号输送到电路,驱动电路根据控制信号输出相应的脉冲电压信号给步进电机,使步进电机运行起来。最后,控制信号处理模块还将对应的运行状态信号通过通信接口反馈到PC上位机上,LED点亮则对应步进电机处于运行状态。

二、步进电机的细分驱动技术

(一)细分驱动技术原理。步进电机在整步驱动时,每接收到一个脉冲电机便会转动一个步距角,其步距角的大小由电机自身的结构确定,是一个固定不变的值。假设步进电机的步距角为θs,即每接收到一个脉冲,定子便会旋转θs个角度,如果采用细分技术后,电机的步距角应该是θs/n,n为细分数。显然,细分技术的运用能有效减小步进电机的步距角实现对转子位置的精确控制。

(二)细分驱动的实现。脉冲宽度调制(PWM),简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM波的产生可以通过时钟频率、自动重装值等参数进行设置,从而调节PWM波的占空比和输出频率,即对脉冲宽度的控制。

三、硬件控制系统设计与实现

本文设计的步进电机细分控制系统的硬件系统主要包括:单片机模块、串口通信模块、按键输入模块和电机驱动模块四大部分。

(一)单片机模块。本文的单片机微控模块选用ST公司在2011年推出的基于Cortex M4内核STM32F4系列产品。

(二)电机驱动模块。电机驱动模块选用TB6600步进电机专用驱动器,这是一款专业的两相步进电机驱动,具有噪音小,震动小,运行平稳的特点。本文选用57BYG250B两相步进电机作为此次实验电机。

(三)按键控制模块。按键控制模块,可通过按键来控制信号处理模块使之接收到高低电平后将其转换为对应的运行状态控制信号并输送到电路,并通过检测输入信号来判断是否有按键被按下。

(四)串口通信模块。串口通信模块中将单片机的PA9和PA10设置为复用功能,通过跳线帽将它们连接到CH340电路,这样就可以将TTL信号转换为USB信号把串口1等同于一个USB口使用。在PC上位机上安装CH340驱动,即可实现单片机与计算机的通信功能。

四、软件系统设计与实现

本系统采用德国KEIL公司研发的RealView MDK(简称MDK)开发工具,目前是针对Cortex M内核处理器的最佳开发工具。所设计的软件系统总体框架主要分为三部分:电机驱动程序、辅助程序和主程序,其中辅助程序包括按键子程序、LED子程序、延时子程序、串口子程序。

(一)电机驱动程序。电机驱动程序使用了单片机定时器8的PWM功能,通过输出频率及占空比可变的PWM波来驱动电机。具体实现方法为:首先,使能TIM8和相关IO口时钟,将GPIOC7复用为定时器8。其次,对TIM8进行初始化并设置其自动重转载值和预分频值,将计数模式设置为向上计数模式。最后,再使能预装载寄存器,使能定时器8,通过改变比较值CCRX,达到不同的占空比效果。

(二)辅助程序。在辅助程序中,由于延时子程序和LED子程序都较为简单所以在此不作说明,本文仅对按键子程序和串口子程序进行说明。

在一般情况下,当按键被按下时,经常会出现按键抖动的情况,即按键介于闭合和松开之间会经历短暂的波动才会到达稳定的闭合状态,但是这种波动时间通常不会大于10MS。所以,只需引入延时函数delay_ms(),在按键被按下后延时10MS即可实现防抖。在配置串口的过程中,首先要使能GPIO时钟和相应的外设时钟,同时把GPIO模式设置为复用功能。

(三)主程序。系统主程序主要完成子程序调用和各种初始化操作包括:初始化延时函数、初始化串口、初始化LED、初始化按键和初始化驱动器。为了更合理控制电机,要利用好单片机定时器控制脉冲的频率,改变其转速和步距角。

五、实验测试

为了测试本文所设计的步进电机细分控制系统对于步距角控制精度的改善效果,本文设计了测量步进电机在不同细分工作方式下步距角大小的实验。采用角度传感器对其步距角进行精准测量,并将所获取的数值上传至PC上位机,最后将实验数据导入Matlab中进行处理并绘制出转动角度与时间的图像。通过图像不仅可以直观反映出步进电机步距角的大小,还可以根据图像的平滑程度判断电机运行是否平稳。

(一)实验内容与结果分析。实验中,先将角度传感器置0,为了方便对实验数据进行比较,把每次向步进电机输送的脉冲数设置为25,依次让电机在未细分至16细分下进行运转,利用USB串口实现角度传感器与PC上位机通信获取实时步距角并保存到PC上位机中,当角度传感器的值到达360度时,关闭串口停止实验,将获取的实验数据在Matlab中进行处理得出角度-时间图。

通过分析各细分数下电机运转角度与时间图像可知,各个细分工作方式下电机的转动角度都符合设计预期。当电机在接收相同的脉冲数时,如果不采用细分技术,由图像可知步进电机的步距角相对较大,在接收25个脉冲后,每次转动角度为45°,此时的角度-时间图像呈阶梯状,电机运行时振动较为明显使得电机运转不够平稳,此时对步进电机的控制难以达到较高精度;当加入细分驱动技术后,随着细分数的增加,步进电机的步距角越来越小,在同样接收25个脉冲的条件下,电机每次转动的角度由45°逐渐减小至2.8125°,此时角度-时间图像由阶梯状逐渐接近一条平滑倾斜的直线,证明电机运转越来越平稳,步进电机的控制精度有了很大提高。

六、总结

针对步进电机步距角难以达到较高控制精度的问题,对步进电机的细分控技术进行实验研究,提出了采用STM32F407单片机作为主控芯片,设计并制作完成了步进电机细分控制系统,实现了对两相步进电机的细分控制。最后利用角度传感器,通过实验测量电机在不同细分状态下的步距角,通过实验得知:采用细分技术可以合理有效的降低步进电机的步距角,提高电机定位的准确度,达到精密控制的目的。此细分控制系统能适应步进电机高精度的控制要求,大大提高了电机工作的稳定性。

猜你喜欢

步距子程序细分
单线隧道大型机械化快速施工步距优化研究
采放比及步距的不同对采出率的影响分析
特别的赛跑
深耕环保细分领域,维尔利为环保注入新动力
充填步距对矸石充填开采覆岩运动影响的数值模拟
1~7月,我国货车各细分市场均有增长
浅谈子程序在数控车编程中的应用
整体低迷难掩细分市场亮点
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序