基于STM32的双相步进电机细分驱动器设计
和限流值,目前细分最多支持16细分,限流值一般为电机绕组可承受的最大电流的1.2倍左右,可以设置6档限流值。驱动器最大可承受4 A的电流。
3.2 系统电源
驱动系统的电源由一个外部输入的24~48V的直流电源输入接线端,然后通过BUCK降压芯片至5 V为内部光耦、比较器和运放供电,然后将5 V通过LDO降至3.3 V给MCU供电,这样MCU能获得相对干净的电源。另一路外部电源经过电阻分压,产生一个15 V电源用于MOSFET驱动芯片IR2010的供电。
3.3 驱动电路
MOSFET驱动部分采用IR公司的IR2101S驱动芯片来驱动双H桥,从而靠双H桥来控制一个四线制步进电机。IR2101是IR公司生产的一款高性价比驱动器,使用方法非常简单,性价比高,能输出100~210 mA电流。IR2101驱动器可驱动一组功率管,整个功率电路需4片即可,这样不但节约制造成本,而且还提高系统稳定性。其驱动电路如图4所示。
3.4 电流检测和过流保护
本系统使用采样电阻来采集经过H桥(即电机的定子电流)。此处采样电阻阻值比较大时,会使电阻分压过大,造成H桥的低端电压高于地电压,影响系统的稳定性,而阻值太小又会使信号过小影响检测精度,所以本系统选用0.1Ω电阻作为采样电阻。然后经过LMV358放大后,成为0~3 V的电压信号,在经过一个跟随器后,进入MCU片上AD,进行数模转换,放大后的信号还连接一个比较器用于过流保护。
4 系统软件设计
系统软件主程序框图如图5和图6所示,图5为主程序软件框图,图6为ADC中断软件流程图。
主程序处于死循环状态,每次外部信号Enable后,就会锁存外部的控制频率,方向,限流值,细分度等信号,然后进行内部参数初始化,等待刷新定时器计时完毕后就开始按照计时中的ADC中断及定时器中断完成的参数计算进行调节位置和速度。其中ADC在每个PWM的上升沿触发,采样两相电流进行处理,并且将其送给PI调节器调节PWM占空比,并且每次都会与限流值进行比较,一旦电流超过限流值,则自行执行脱机。这些程序在中断中完成,可以是系统更具有实时性。另外,每次走完一个阶梯的波形后,程序将触发timer3计数器,进行细分步数的计算,从而快的调整个周期的细分数。Timer3程序流程图如图7所示。
电机的细分步数为每次Enable之后方能调整,而细分值表则由计算好的正余弦参数存于MCU Flash中。
5 结论
本系统采用电流实时采样并进行PI调节,使两相混合式步进电机的恒转矩运行,真正达到了电流矢量不变控制,在测试中能够有效的降低低频振荡,并且,在16细分的状态下控制工作,大幅度的减小了噪声和阻尼振荡,是一种有效的控制步进电机的手段。
- 单片机控制步进电机驱动器工作原理(10-19)
- 基于FPGA的步进电机控制器设计(02-12)
- 基于单片机的步进电机控制系统设计(09-13)
- 步进电机及驱动器的正确选择方法(10-01)
- 新的步进电机控制器/驱动器简化步进电机系统设计(10-29)
- 基于Beckhoff嵌入式PC控制器的步进电机群控系统设计(11-10)