基于STM32的双相步进电机细分驱动器设计
步进电机是一种运用广泛的控制电机,其特征是不使用位置反馈回路就能进行速度控制及定位控制,即所谓的电机开环控制。相对于伺服电机,步进电机有着成本低廉,控制简单等优点,尤其是两相混合式步进电机,在工业运动控制系统中有着广泛的应用。然而,传统的驱动方式,比如单电压驱动、高低电压驱动、斩波恒流驱动等等,虽然已经应用十分成熟,但是只限于低速运行,并且细分度一般限制在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)
从而可见,两相混合式步进电机的细分就是控制两相绕组中的电流大小。理想状态下,电机内部的磁场为圆形空间旋转磁场,使步进电机按照交流同步电机的方式旋转。而AB相的理想电流为正弦波,而一般情况下通过阶梯波来模拟正弦波,从而达到恒转矩幅值的控制效果。而转矩的大小由合成磁场的矢量来决定,即相邻两个合成磁场的夹角为细分步距角。每当β变化一度,则步进电机走过1/360的电角度,例如一般的8细分控制,则β的步长为π/16。所以为了实现对两相混合式步进电机的恒转矩细分控制,就需要在电机的两相绕组中通以按正弦规律变化并互差90°相位的的两相电流,阶梯越细小,越接近于正弦波,步距角也越小,细分效果越好。
3 系统硬件设计
基于STM32F103RB驱动系统的硬件部分主要由信号输入端、电源输入端、电源模块、MOSFET驱动模块、H桥模块和采样放大模块组成。总体硬件图如图3所示。
3.1 输入信号
在硬件设计中,需要从外部输入3种信号:Enable使能信号、Dir电机转向信号以及Frequency速度脉冲信号。Enable信号为使能信号,为防止电机在停止时,定子绕组仍然通电造成的电机发热而设置的电机转子断电信号。Dir信号控制电机的转向;而Frequency信号为外部控制器件发出的方波脉冲信号,此信号的频率将决定电机的转速,3个控制信号均由光耦与内部隔离。驱动器上电前需通过拨码开关设置细分数
- 单片机控制步进电机驱动器工作原理(10-19)
- 基于FPGA的步进电机控制器设计(02-12)
- 基于单片机的步进电机控制系统设计(09-13)
- 步进电机及驱动器的正确选择方法(10-01)
- 新的步进电机控制器/驱动器简化步进电机系统设计(10-29)
- 基于Beckhoff嵌入式PC控制器的步进电机群控系统设计(11-10)