基于STM32的步进电机运动控制设计

2020-08-04 09:50熊方李爱民
数字技术与应用 2020年5期
关键词:运动控制步进电机

熊方 李爱民

摘要:本文基于v2Arm Cortex-M3为内核的324A微控制器STM32F103R6,对步进电机实现正转、反转、加速、减速、停止状态进行控制。该设计利用了STM32的GPIO端口、中断、定时器等资源和技术进行硬件、软件设计,通过Keil软件仿真和实验证明,该设计方案稳定可行,系统运行各项指标符合设计要求。

关键词:STM32;步进电机;运动控制

中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2020)05-0003-02

0引言

步进电机是广泛应用于智能制造、汽车电子和精密仪器等领域的执行器。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。STM32系列处理器是由ST公司以Am Cortex-M3为内核开发生产的32位处理器,专为高性能、低成本、低功耗的嵌入式应用而设计。STM32F103R6属于增强型系列处理器,有64个引脚,32KB闪存容量,工作频为72MHz,有16个内核中断线、1个高级定时器、3个通用16位定时器。本文基于STM32F103R6处理器设计一款简洁的商陛能、低成本、低功耗的步进电机运动控制系统。

1系统方案

该系统包括STM[32F103R6处理器、控制按键、电机驱动器和步進电机四个部分,如图1所示。STM32接收到按键信息,对步进电机运行状态进行控制。

2硬件设计

2.1控制键盘

控制键盘的设计采用独立式键盘方式,如图2所示。KEYO~KEY4分别与SM32的PA8-PA12连接。当按键没有按下时,引脚上是高电平;当按键按下时,引脚上是低电平。

2.2电机驱动

本设计中,步进电机驱动器采用ULN2003A,它是一种新型的七路高耐压、大电流达林顿晶体管驱动IC,在继电器驱动、电磁阀驱动、伺服电机以及步进电机驱动电路当中广泛应用。驱动电路如图3所示,STEP_A、STEP_B、STEP_C、STEP_D分别接到STM32的PB8-PB11。

3软件设计

3.1步进电机正反转控制

以四相八拍步进电机为例,只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。加上正时序A_AB_B_HCC_CD_D_DA_A,步进电机正转。加上反向时序步进电机反转。正反转控制函数void STEP MO"FOR RUN(u8 Direction)主要程序如下:

3.6步进电机加减速控制

为了克服步进电机失步和过冲现象,应采用与电机控制相适应的控制算法,即在启动和停止时实行加减速控制。其实质是在速度变化过程中控制发送脉冲的频率实现速度的加减速。通常加减速算法主要有梯形曲线、指数曲线和s型曲线。

4结语

本文针对步进电机,选用STM32F103R6芯片进行控制。利用了STM32的GPlO口、定时器、中断等资源和技术来完成,通过Kdl软件进行仿真和在开发板上进行实验,实现了步进电机正转、反转、停止、加速、减速的运动控制。程序中如果加人s速度曲线或其它优化算法,可以减少步进电机启动和停止过程中的振动和失步现象,提高电机控制精度和平稳度。该设计简易、低成本、低功耗,便于应用。

猜你喜欢
运动控制步进电机
基于TMS320F2812的调光器系统的设计