基于STM32的交流永磁同步电机驱动器设计
电阻两端的电压经线性光耦HCPL-7840隔离、放大后输入到电压比较运算放大器,再将比较后的值输入到控制芯片STM32中进行准确的计算,从而得出当前的电流值。由于PMSM为三相对称电机,即Ia+Ib+Ic=0,因此,研究检测其中两相就能得到三相电流。
3 STM32驱动PMSM原理及实现
控制模块作为电机驱动的弱电部分,是电机的控制核心,也是伺服驱动技术核心控制算法的运行载体。控制芯片性能的优劣直接影响整个伺服系统的动态性能。意法半导体的STM32是采用基于ARM工业标准嵌入式处理器Cortex-M3为内核的32位微处理器,主频可高达72MHz,内置Flash和SRAM(容量可分别高达512 KB和64 KB)。强大的内核及其丰富的外设,使其在无刷马达控制应用领域得到了广泛的使用。马达控制配套软件库V2.0包含电机矢量控制函数库,新增支持单旁路无传感器控制、内部永磁(IPM)电机控制和永磁同步(PMSM)电机弱磁控制的算法,极大地简化了电机的控制,缩短了研发周期。基于此,论文选取STM32作为控制核心芯片,针对PMSM的控制提出了FOC+SVPWM控制算法。FOC(矢量控制)的应用使得交流PMSM具有直流电机一样的特性,解决了交流电机强耦合、非线性的问题,提高了系统的动态性能,实现对PMSM电流、转速双闭环的控制。
3.1 FOC+SVPWM的控制原理
矢量控制的实质是坐标变换,即将PMSM三相定子电流Ia、Ib经过Clarke 3/2变换成两相静止坐标系中的Iα、Iβ,再经过Park变换得到两相旋转坐标系中的Id、Iq。通常在控制时令Id=0,实现定子绕组与d轴的完全解耦,从而可以很好地控制电磁转矩,这与永磁直流电机的控制原理类似。电压空间矢量控制SVPWM是根据逆变器功率开关管的开关状态和导通顺序将圆形空间旋转磁场分成6个扇区,根据定子上反馈的电流值大小和给定值的比较来确定当前所处的扇区,通过相应的控制算法输出6路PWM信号控制逆变器桥开关管的导通和关断时间,实现对电机的调速控制。图5为PMSM矢量控制的原理图。
3.2 STM32实现电流、转速环的控制算法
在函数FOC_Model(MC_FOC_DRIVE.c)中,当电流转换开始即执行如下的算法流程。首先读取三相定子电流Ia、Ib,然后进行Clarke函数变换得到两项静止坐标系中的电流Iα、Iβ,再经过Park函数得到两相旋转坐标系中的Id、Iq。给定转速与反馈转速进行PI调节后,输出信号作为电流环的输入给定信号Iqref。Id的给定值Idref=0,转矩电流Iq和励磁电流Id分别经过PI调节和限幅控制后经过Park反变换得到两相旋转坐标系Vd、Vq,由Vd、Vq的值判断空间矢量的扇区号S,从而实现对电机转速的调节和控制。
3.3 高精度PWM产生
STM32可提供13.8 ns的定时精度,其内部高级定时器是由一个自动重装载的16位计数器组成,可输出高精度的PWM波形(输出比较PWM、嵌入"死区"的互补PWM)。PWM的输出模式有边沿和中心对称两种模式,由于中心对称模式下PWM波形没有精度损失,因此,论文选取中心对称模式下的7路带死区互补输出的PWM作为驱动芯片的控制信号。
电机控制PWM信号是由TIMx_ARR寄存器确定频率,由TIMx_CCRx寄存器确定占空比,示波器上读出的6路PWM信号及控制逆变器工作输出的电流波形图如图6所示。
STM32控制电机的主程序中应包含如下两个函数:STM32F10x-MCconf.h,定义用于选定的电流反馈类型;MC_Control_Param.h,定义PWM频率,死区时间(ns)及寄存器更新率REP_RATE。
结语
本文所设计的基于STM32的交流PMSM控制,结合先进的IPM功率逆变器,简化了硬件电路的设计,充分利用以Cotex-M3为内核的STM32的优势,其丰富的固件库函数缩短了开发周期。圆网印花机的实践应用表明,基于STM32的交流PMSM具有良好的动态性能,符合工业控制的需求。
伺服驱动器 STM32 永磁同步电机 PMSM IPM 相关文章:
- STM32-FSMC机制的NOR Flash存储器扩展技术(11-20)
- 基于Cortex-M3的 STM32微控制器处理先进电机控制方法(11-23)
- 基于STM32控制的声音导引系统(01-16)
- 基于Cortex-M3的STM32微控制器处理先进电机控制方法(03-07)
- 基于STM32的嵌入式语音识别模块设计(03-29)
- 新一代嵌入式微处理器STM32F103开发与应用(05-08)