基于STM32F407的永磁同步电机伺服控制器设计
自20世纪90年代以来,随着现代电机技术、现代电力电子技术、微电子技术、控制理论及计算机技术等支撑技术的快速发展,交流伺服控制技术得到极大的发展,使得先前困扰着交流伺服系统的电机控制复杂、调速性能差等问题取得了突破性的进展。交流伺服系统的性能日渐提高,价格趋于合理,使得交流伺服系统取代直流伺服系统,尤其是在高精度、高性能、智能化、模块化和网络化要求的伺服控制领域成了一个发展趋势。 在伺服控制器中,为了保证伺服控制良好的实时性、准确性及灵活性,常采用专用于电机控制的DSP(DSC)或FPGA作为控制核心,这些芯片都针对电机控制做了大量的优化,如:带死区的互补型PWM,多种触发、同步方式的快速ADC,高可靠性和抗干扰性。但它们都不约而同地将芯片的设计重心偏向了电机控制本身,而少了对网络化的支持。由于现在伺服控制器正在向智能化、网络化方向发展,DSP或FPGA作为伺服控制器的核心,不但应具有良好的电机控制特性,而且更要有良好的互联性,以适应伺服单元与其它控制设备间飞速增长的互联能力。这方面,意法半导体的基于ARM Cortex—M4内核的STM32F407系列芯片就做到非常到位,STM32F407芯片内置的单精度FPU和1MB的闪存,使它不但运算速度快(168 MHz,2.79Coremark/MHz)、运算精度高,使得复杂的电机控制算法得以实施,而且具有IEEE1588 v2 10/100 M以太网接口、CAN2.0接口和USART接口以方便和不同的控制设备互联互通。另外,芯片自带的加密/哈希硬件处理器保证了产品的知识产权不至轻易被盗。 使用意法半导体(ST)的STM32F407芯片不但在硬件上大幅减小了外部器件的种类及数量,降低了生产成本,提高了产品的可靠性;而且提供了通用外设库、DSP算法库、交流永磁电机(Permanent Magnet Synchronous Motor以下简称:PMSM)的场定向(Field Oriented Control以下简称:FOC)库,图形化芯片外设配置软件Microxplorer和支持实时变量监控及可视化调试的软件STMStudio,以加快设计开发人员的产品开发速度。 1 伺服控制器的方案设计 1.1 伺服控制器设计原理 由于伺服系统具有高带宽、高精度、大扭矩的特点,为达到伺服控制要求,采用技术成熟的交流永磁同步电机作为被控对象,将伺服系统设计成一个具有电流环、速度环、位置环三闭环回路的复合控制系统。 伺服系统最终追求的是外环定位的准确性和快速性,而外环的性能发挥在于内环的性能。电流内环的设计是高性能伺服系统的基础和前提,是提高伺服系统控制精度和响应速度、改善控制性能的关键。伺服控制系统的原理框图见图1。 1.2 基于STM32F407芯片的伺服控制器的硬件实现 基于STM32F407芯片的伺服控制器原理框图如下: 由图2可知:基于STM32F407芯片的伺服控制器使用的元件少,结构简单,易于开发。现就基于STM32F407芯片的伺服控制器各部分分述如下: 1.2.1 电源供电 本方案中驱动的电机为24 V~48 V的中小功率PMSM,所以直流母线电压应该在DC 24 V~48 V之间,最低不能低于DC18 V。 采用L7815CP三端稳压模块将直流母线电压降为15 V,供IGBT驱动器L6390使用; 采用L7805CP三端稳压模块将15 V电压降为5 V,供电机的码盘、电流传感器ACS706、数据缓冲74LV244以及运放TSV994使用; 采用AMS1117低压差稳压器将5 V转为3.3 V,供SFM32F407芯片及UART PHY接口芯片C3222B、CAN PHY接口芯片SN65HVD234和以太网PHY接口芯片DP83848T供电。 1.2.2 与上位机/PLC的接口电路 本方案中与上位机/PLC的接口有三种方式,分别是RS232串口、CAN接口和以太网接口,因为STM32F407芯片不提供相应的物理层接口,为此选用ST公司的C3222B作为RS232的接口芯片,TI公司的SN65HVD234和DP83848T作为CAN和以太网的接口芯片。 1.2.3 IGBT及其驱动电路 本方案选用ST公司的IGBT,型号是STGF7NC60HD,该款IGBT的耐压为Vce=600V,在100℃时的允许电流为Ic=6 A,饱和压降Vces=2.4 V,栅极充电电荷Qg=48 nC,由于其Qg较小,所以其最大开关频率可达70 kHz。 选用的IGBT驱动芯片为ST公司的L6390半桥驱动芯片,它采用BCD离线技术,使其可以在600 V下工作。 1.2.4 电压电流采样电路 本方案先将直流母线电压通过电阻分压后,再用运放变换至合适的电平供STM32F407芯片内部的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公司的众多软、硬件设计参考和贯穿开发各个阶段的免费软件支持,使得广大的电机控制开发工程师可以在最短的时间开发出性能强大的伺服控制产品。 |