
基于STM32的双相步进电机细分驱动器设计.doc
6页基于STM32的双相步进电机细分驱动器设计吋闹:2012-10-16 22:14:08 来源:作者:关键字:32 步进电机步进电机是一种运用广泛的控制电机,其特征是不使用位罝反馈M路就能进行速度控制 及定位控制,即所谓的电机开环控制相对于伺服电机,步进电机有着成本低廉,控制简单 等优点,尤其是两相混合式步进电机,在工业运动控制系统中有着广泛的应用然而,传统 的驱动方式,比如甲.电压驱动、高低电压驱动、斩波恒流驱动等等,虽然已经应用十分成熟, 但是只限于低速运行,并且细分度一般限制在1/2步距,无法很好消除低频振荡,以及定位 精度差等缺点细分驱动的出现很好地弥补了这一缺点常见的细分控制器一般由MCU、专用逻辑驱动芯片以及功率驱动模块组成,这样的驱动 器虽然能满足多细分驱动,但由于细分数呈和效果会受到逻辑驱动芯片的影响,并且无法调 整细分数和限流值、从而造成系统调试困难、矩频特性差等缺点本文使用ST公司的32位ARM单片机,加上M0SEET驱动模块及电流传感模块,省去了逻 辑驱动芯片电机电流采用单片机A部AD采样,控制逻辑算法直接由单片机软件实现, M0SFET按照外部输入的脉冲速度及內部的时序来运行,从而大大简化了应用电路,提高了 电路的通用性和驱动性能。
1意法半导体STM32F103RB单片机简述STM32F103RB采用ARM公司最新的Cortex-M3内核,具有运行速度高、处理能力强、外 设接口丰富等特点由于其低廉的价格和很强的控制、运算性能,被广泛运用于电机控制 其具体性能指标如下:1)工作频率:最高72 MHz;工作温度范围:-40〜+85C;宽电压供电: 2.0〜3. 6 V;2)128 k字节的闪存存储器和16 k的SRAM;3) 12位16通道AD转挽器具有双采样 和保持功能,转换时间最短IMS4)3个16位通用定时器,每个定时器有多达4个通道,用于 输入捕获/输出比较/PWM或脉冲输出;1个16位带死区控制盒紧急刹午.,用于电机控制的PWM 高级控制定时器2细分驱动原理一般两相步进电机驱动分为吊极型和双极性驱动两种,吊极型驱动适用于6线制电机, 这样的驱动方法等于将两相电机转变为四相电机,从表面上看步距角缺损减小了,实则是以 牺牲电机的拖动转矩换来的,这样电机的带负载能力就会大大下降而双极型驱动则主要针 对两相四线(或者八线制)电机,一般机械步距角为50齿1.8 (也可为100齿0.9价格较贵), 故细分驱动技术主要是通过对步进电机的相电流进行阶梯化控制,使电机的以更小的单位步 距角运行,从而减小步长和低频振荡。
细分驱动的思想是把原来简单的对转子电流的通断过程改变为逐渐的改变各相绕组的 电流大小和方向,使电机A部的空间合成磁场逐步改变,这样就能把原来的一个步距角的通 电方式改变成为跟随电流的阶梯波,变成多步具体的计算方法如下:转矩T在一般情况下可表示为:T=KT • (-Iasin0+Ibcos0) (l)式子中KT在理想状态下的比例常数,0为转子的电角度位罝如果两相步进电机的矩角特性是正弦波,则给绕组通入如下电流:Ia=Im • cos 3Ib=Im • sin 3 (2)3为电机希望定位的电角度将式⑵代入式(1),则T=KT . Im • sin( P - 0 ) (3)从而可见,两相浞合式步进电机的细分就是控制两相绕组中的电流大小理想状态下, 电机A部的磁场为圆形空间旋转磁场,使步进电机按照交流同步电机的方式旋转而AB相 的理想电流为正弦波,而一般情况下通过阶梯波来模拟正弦波,从而达到恒转矩幅伉的控制 效果而转矩的大小巾合成磁场的矢迨来决定,即相邻两个合成磁场的夹角为细分步距角每当P变化一度,则步进电机走过1/360的电角度,例如一般的8细分挽制,则P的步 长为n/16o所以为了实现对两相混合式步进电机的恒转矩细分控制,就需要在电机的两相 绕组中通以按正弦规律变化并互差90相位的的两相电流,阶梯越细小,越接近于正弦波, 步距角也越小,细分效果越好。
J 平 4 a n? t t 好 Iffi I 8朗分时A.B相屯汝个机械步距怕内的变化m2八蛔分磁场矢城4化a3系统硬件设计基于STM32F103RB驱动系统的硬件部分主要巾信号输入端、电源输入端、电源模块、 MOSFET驱动模块、H桥模块和采样放大模块组成总体硬件图如图3所示♦1•fW 3系统硬汴结构阁3. 1输入信号在硬件设计中,需要从外部输入3种信号:Enable使能信号、Dir电机转向信号以及 Frequency速度脉冲信号Enable信号为使能信号,为防止电机從停止时,定子绕组仍然通 电造成的电机发热而设罝的电机转子断电信号Dir信号控制电机的转向;而Frequency信 号为外部控制器件发出的方波脉冲信号,此信号的频率将决定电机的转速,3个控制信号均 由光頼与内部隔离驱动器上电前需通过拨码开关设罝细分数和限流值,目前细分最多支持16细分,限流值 一般为电机绕组可承受的最大电流的1. 2倍左右,可以设罝6档限流值驱动器最大可承受4 A 的电流基于STM32的双相步进电机细分驱动器设计时间:2012-10-16 22:14:08 来源:作者:关键字:STM 32 里祖 步进电机3.2系统电源驱动系统的电源由一个外部输入的24〜48V的直流电源输入接线端,然后通过BUCK降 压芯片至5 V为内部光耦、比较器和运放供电,然后将5 V通过LD0降至3. 3 V给MCU供电, 这样MCU能获得相对干净的电源。
另一路外部电源经过电阻分压,产生一个15 V电源用于 M0SFET驱动芯片11^2010的供电3.3驱动电路M0SFET驱动部分采用IR公司的IR2101S驱动芯片来驱动双H桥,从而靠双H桥来控制 一个叫线制步进电机IR2101是IR公司生产的一款高性价比驱动器,使用方法非常简单, 性价比高,能输出100〜210 mA电流TR2101驱动器可驱动一组功率管,整个功率电路 片即可,这样不但节约制造成本,而且还提高系统稳定性其驱动电路如图4所示AVDDOAbISIl阁4 IR21O1S明动电鞒3.4电流检测和过流保护本系统使用采样电阻来采集经过H桥(即电机的定子电流)此处采样电阻阻伉比较大 时,会使电阯分压过大,造成H桥的低端电压髙于地电压,影响系统的稳定性,而阻值太小 又会使信号过小影响检测精度,所以本系统选用0. 1Q电阻作为采样电阻然后经过LMV358 放大后,成为0〜3 V的电压信号,在经过一个跟随器后,进入MCU片上AD,进行数模转挽, 放大后的信号还连接一个比较器用于过流保护4系统软件设计系统软件主程序框图如图5和图6所示,图5为主程序软件框图,图6为ADC中断软件流程 图主程序处于死循环状态,每次外部信号Enable后,就会锁存外部的校制频率,方向, 限流伉,细分度等信号,然后进行内部参数初始化,等待刷新定时器计时完毕后就开始按照 计时中的ADC中断及定时器中断完成的参数计算进行调节位置和速度。
其中ADC在每个PWM的上升沿触发,采样两相电流进行处理,并且将其送给PI调节器调节PWM占空比,并且每次都会与限流值进行比较,一旦电流超过限流值,则自行执行脱机 这些程序在中断中完成,可以是系统更具有实时性另外,每次走完一个阶梯的波形后,程 序将触发计数器,进行细分步数的计算,从而快的调整个周期的细分数Timer3程 序流程图如图7所示R5 I肩豔凟wm电机的细分步数为每次Enable之后方能调整,而细分值表则由计算好的正余弦参数存 于 MCU Flash 中5结论本系统采用电流实时采样并进行PI调节,使两相混合式步进电机的恒转矩运行,真正 达到了电流矢量不变控制,在测试中能够有效的降低低频振荡,并且,在16细分的状态下控 制工作,大幅度的减小了噪声和阻尼振荡,是一种有效的控制步进电机的手段。












