基于STM32的永磁同步电机伺服控制器设计
的ADC采样。STM32F407芯片通过采样直流母线电压来进行直流母线纹波补偿。
本方案选用allegro公司的HALL电流传感器ACS706,来对V相、W相电流进行检测,并根据检测结果进行FOC控制算法,控制电机的转动。之所以选用ACS706,是为了进行高低压隔离,防止系统功率部分产生的干扰串入STM32F407芯片。
1.2.5 故障保护电路
在电流采样电路的基础上,通过比较器设定过流门限,当电流超限时,启动制动电路,停止PWM输出,并进行故障指示。
在电压采样电路的基础上,通过软件设定过压、欠压门限,当电压超限时,启动制动电路,停止PWM输出,并进行故障指示。
1.2.6 码盘接口电路
本方案通过74LV244将电机的HALL码盘信号由TTL电平变换为LVTTL信号,送STM32F407芯片进行处理。
1.3 基于STM32F407芯片的伺服控制器的软件实现
基于STM32F407芯片的交流伺服控制器,采用基于永磁电机动态解耦数学模型的矢量控制一场定向控制算法(FOC)。在进行交流伺服控制器的软件设计时,可使用ST公司的图形化芯片外设配置软件Microxplorer进行STM32F407芯片的选型及外设配置、初始化代码的生成;在PMSM电机的FOC算法设计阶段可参考ST公司的PMSMFOC Library和Standard Peripherals Labrary-CMSlS进行开发,并且ST公司提供了DSP算法库以供开发者使用;在系统的调试阶段由于电机控制的特殊性,不能在电机运行时设置断点进行调试,为此可采用ST公司的STMStudio软件进行实时变量监控及可视化调试。
1.3.1 交流伺服控制器软件应具有的功能
交流伺服控制器软件应实现以下功能:
◆系统位置控制、速度控制和电流控制;
◆与上位机通信功能;
◆过流、过压、欠压的保护及故障指示。
伺服控制器性能的好坏,电机的位置环、速度环和电流环控制是设计重点。现将这几部分分述如下:
1.3.1.1 伺服系统位置环的实现
STM32F407芯片根据上位机/PLC发出的位置指令,控制PMSM快速平稳的转动到指定的角度。
位置的控制算法采用三段法,即:位置误差大时,采用最大速度跟踪,以快速消除误差;位置误差为中等偏差时,速度控制量为
(其中:ε为加速度,e为当前位置误差);在位置误差较小时采用PI控制算法。其软件工作流程如图3。
1.3.1.2 伺服控制器速度环的实现
由STM32F407芯片内部的正交编码器接口的脉冲计数寄存器确定输入的正交脉冲数,并且转子每转过一周,增量编码器输入一个零位标志脉冲信号,以消除因脉冲丢失引起的计数误差。为使脉冲计数寄存器的计数不会溢出,因此转子位置角最大采样周期必须根据电机的最高工作频率和控制精度确定,电机工作频率和控制精度越高,则采样周期越小。控制算法则采用PI算法。
速度环的工作流程如图4。
1.3.1.3 伺服控制器电流环的实现
伺服控制器要求电流环具有输出电流谐波分量小、响应速度快的特点,所以电流调节器必须满足内环控制所需要的控制响应速度,能精确控制随转速变化的交流电流大小及频率。但若电流环的响应速度过大,会使电流环调整时的音频噪声较大,同时在电流很小时会引起电流环的震荡,建议电流环响应频率的上限值是开关频率的10%~20%为好。
对电流环的控制算法则采用积分分离的PI控制算法。其基本思路:当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。其流程框图如图5。
2 总结
这个方案用到了STM32F407芯片的众多强大特性,如:DSP指令、浮点运算单元、大容量的RAM和Flash、168 MHz的高主频、Ethernet和加密协处理器。通过ST公司的众多软、硬件设计参考和贯穿开发各个阶段的免费软件支持,使得广大的电机控制开发工程师可以在最短的时间开发出性能强大的伺服控制产品。
- STM32学习笔记:在IAR中建立FWlib 3.0项目(08-13)
- 基于STM32单片机的火控系统信号采集测试(11-14)
- 基于LabVIEW的STM32调试平台设计(11-17)
- 基于STM32的LF RFID识别系统设计(11-25)
- STM32中断与嵌套NVIC快速入门(01-25)
- 基于TLC5947的旋转LED屏显示控制器设计(01-25)