首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于STM32的双相步进电机细分驱动器设计(2)

基于STM32的双相步进电机细分驱动器设计(2)

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细分的状态下控制工作,大幅度的减小了噪声和阻尼振荡,是一种有效的控制步进电机的手段。
继承事业,薪火相传
返回列表