基于 STM32 的双相步进电机细分驱动器设计
关键字:STM 32 双相 步进电机
步进电机是一种运用广泛的控制电机,其特征是不使用位置反馈回路就能进行速度控
制及定位控制,即所谓的电机开环控制。相对于伺服电机,步进电机有着成本低廉,控制
简单等优点,尤其是两相混合式步进电机,在工业运动控制系统中有着广泛的应用。然而,
传统的驱动方式,比如单电压驱动、高低电压驱动、斩波恒流驱动等等,虽然已经应用十
分成熟,但是只限于低速运行,并且细分度一般限制在 1/2 步距,无法很好消除低频振荡,
以及定位精度差等缺点。细分驱动的出现很好地弥补了这一缺点。
常见的细分控制器一般由 MCU、专用逻辑驱动芯片以及功率驱动模块组成,这样的驱
动器虽然能满足多细分驱动,但由于细分数量和效果会受到逻辑驱动芯片的影响,并且无
法调整细分数和限流值、从而造成系统调试困难、矩频特性差等缺点。
本文使用 ST 公司的 32 位 ARM 单片机,加上 MOSFET 驱动模块及电流传感模块,省
去了逻辑驱动芯片。电机电流采用单片机内部 AD 采样,控制逻辑算法直接由单片机软件
实现,MOSFET 按照外部输入的脉冲速度及内部的时序来运行,从而大大简化了应用电路,
提高了电路的通用性和驱动性能。
1 意法半导体 STM32F103RB 单片机简述
STM32F103RB 采用 ARM 公司最新的 Cortex-M3 内核,具有运行速度高、处理能
力强、外设接口丰富等特点。由于其低廉的价格和很强的控制、运算性能,被广泛运用于
电机控制。其具体性能指标如下:1)工作频率:最高 72 MHz;工作温度范围:-40~
+85℃;宽电压供电:2.0~3.6 V;2)128 k 字节的闪存存储器和 16 k 的 SRAM;3)12 位
16 通道 AD 转换器具有双采样和保持功能,转换时间最短 1μs。4)3 个 16 位通用定时器,
每个定时器有多达 4 个通道,用于输入捕获/输出比较/PWM 或脉冲输出;1 个 16 位带死区
控制盒紧急刹车,用于电机控制的 PWM 高级控制定时器。
2 细分驱动原理
一般两相步进电机驱动分为单极型和双极性驱动两种,单极型驱动适用于 6 线制电机,
这样的驱动方法等于将两相电机转变为四相电机,从表面上看步距角缺损减小了,实则是
以牺牲电机的拖动转矩换来的,这样电机的带负载能力就会大大下降。而双极型驱动则主
要针对两相四线(或者八线制)电机,一般机械步距角为 50 齿 1.8°(也可为 100 齿 0.9°价
格较贵),故细分驱动技术主要是通过对步进电机的相电流进行阶梯化控制,使电机的以更
小的单位步距角运行,从而减小步长和低频振荡。
细分驱动的思想是把原来简单的对转子电流的通断过程改变为逐渐的改变各相绕组的
电流大小和方向,使电机内部的空间合成磁场逐步改变,这样就能把原来的一个步距角的
通电方式改变成为跟随电流的阶梯波,变成多步。具体的计算方法如下:
转矩 T 在一般情况下可表示为:
T=KT·(-Iasinθ+Ibcosθ) (1)
式子中 KT 在理想状态下的比例常数,θ 为转子的电角度位置。
如果两相步进电机的矩角特性是正弦波,则给绕组通入如下电流:
Ia=Im·cosβ
Ib=Im·sinβ (2)
β 为电机希望定位的电角度。
将式(2)代入式(1),则
T=KT·Im·sin(β-θ) (3)
从而可见,两相混合式步进电机的细分就是控制两相绕组中的电流大小。理想状态下,