概述
正在做的项目需要用STM32控制步进电机,本篇主要讲解利用STM32定时器外设输出脉冲来控制步进电机转动。
STM32定时器
使用STM32芯片类型:STM32c8t6。
使用外设接口:选用TIM4的CH1通道,对应输出脉冲IO口为PB6。
步进驱动器介绍
(这里以两相步进驱动器为例,详细见说明书)
- 接口
步进驱动器可分为两部分:环形分配器、功率放大器。
环形分配器:接收3种信号分别为:脉冲信号(PUL),方向信号(DIR),脱机信号(ENA)。
脉冲信号:环形分配器对脉冲信号进行分配,去控制功率放大器相应的晶体管,使步进电机的线圈得电。所以,步进电机要运转就必须有脉冲输入,所以需要一个驱动器来给步进电机的各项绕组依次通电。
方向信号:控制AB通电的相序,A-B顺时针,B-A逆时针
脱机信号:步进电机停止时,AB线圈有一相得电,得电的功能使转子锁住,使转子不能动,需要收去拨动转子的时候,需要给脱机信号,使AB相绕组完全断电,转子处于自由转动状态。(也就是说控制电机停止除了不给脉冲之外,还可以控制脱机信号来锁死电机,此处用不着脱机信号)
- 细分
为了提高步进电动机控制的精度,现在的步进驱动器都有细分的功能,所谓细分,就是通过驱动器中电路的方法把步距角减小。比如把步进驱动器设置成5细分,假设原来步距角1.8°那么设成5细分后,步距角就是0.36°。也就是说原来一步可以走完的,设置成细分后需要走5步。一般步进电动机的细分表在驱动器上可以直接看到。(设置合适细分能够避免电机转动时震动过大,但过高的细分数会导致电机输出力矩减小)
- 驱动电源:
需要9-42V直流电源,需要使用变压器将220V交流电转为24V直流电
定时器频率与步进电机的关系
-
接线
将驱动器PUL+端接入STM32输出脉冲的IO口(PB6),PUL-端接地
将驱动器DIR+端接入STM32的任意一个闲置IO口(这里选PB5),DIR-端接地
驱动器ENA±端不接
A+、A-、B+、B-接入步进电机
电源接到变压器 -
频率与速度的关系
确定输出脉冲频率与电机转速的关系,对于两相步进电机而言:
转速 = 脉冲频率 * 60 /((360/T)*x) T是步进电机步距角(1.8°