基于STM32的永磁同步电机伺服控制器设计

  F407为基础进行了小功率的伺服控制器设计,详细讲述了伺服控制器的软、硬件的具体设计流程及其实现方式。并通过意法半导体公司提供的相关软件设计工具快速、有效地完成伺服控制器的设计、调试。

  自20世纪90年代以来,随着现代电机技术、现代电力电子技术、微电子技术、控制理论及计算机技术等支撑技术的加快速度进行发展,交流伺服控制技术获得极大的发展,使得先前困扰着交流伺服系统的电机控制复杂、调速性能差等问题取得了突破性的进展。交流伺服系统的性能日渐提高,价格趋于合理,使得交流伺服系统取代直流伺服系统,尤其是在高精度、高性能、智能化、模块化和网络化要求的伺服控制领域成了一个发展趋势。

  在伺服控制器中,为了能够更好的保证伺服控制良好的实时性、准确性及灵活性,常采用专用于电机控制的DSP(DSC)或FPGA作为控制核心,这些芯片都针对电机控制做了大量的优化,如:带死区的互补型PWM,多种触发、同步方式的快速ADC,高可靠性和抗干扰性。但它们都不约而同地将芯片的设计重心偏向了电机控制本身,而少了对网络化的支持。由于现在伺服控制器正在向智能化、网络化方向发展,DSP或FPGA作为伺服控制器的核心,不但应拥有非常良好的电机控制特性,而且更要有良好的互联性,以适应伺服单元与其它控制设备间飞速增长的互联能力。这方面,意法半导体的基于ARM CortexM4内核的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。

  由图2可知:基于STM32F407芯片的伺服控制器使用的元件少,结构相对比较简单,易于开发。现就基于STM32F407芯片的伺服控制器各部分分述如下:

  本方案中驱动的电机为24 V~48 V的中小功率PMSM,所以直流母线 V之间,最低不能低于DC18 V。

  采用L7815CP三端稳压模块将直流母线 V,供IGBT驱动器L6390使用;

  采用L7805CP三端稳压模块将15 V电压降为5 V,供电机的码盘、电流传感器ACS706、数据缓冲74LV244以及运放TSV994使用;

  本方案中与上位机/PLC的接口有三种方式,分别是RS232串口、CAN接口和以太网接口,因为STM32F407芯片不提供对应的物理层接口,为此选用ST公司的C3222B作为RS232的接口芯片,TI公司的SN65HVD234和DP83848T作为CAN和以太网的接口芯片。

  选用的IGBT驱动芯片为ST公司的L6390半桥驱动芯片,它采用BCD离线 电压电流采样电路

  本方案先将直流母线电压通过电阻分压后,再用运放变换至合适的电平供STM32F407芯片内部的ADC采样。STM32F407芯片通过采样直流母线电压来进行直流母线纹波补偿。

  本方案选用allegro公司的HALL电流传感器ACS706,来对V相、W相电流进行仔细的检测,并根据检测结果进行FOC控制算法,控制电机的转动。之所以选用ACS706,是为了进行高低压隔离,防止系统功率部分产生的干扰串入STM32F407芯片。

  在电流采样电路的基础上,通过比较器设定过流门限,当电流超限时,启动制动电路,停止PWM输出,并进行故障指示。

  在电压采样电路的基础上,通过软件设定过压、欠压门限,当电压超限时,启动制动电路,停止PWM输出,并进行故障指示。

  本方案通过74LV244将电机的HALL码盘信号由TTL电平变换为LVTTL信号,送STM32F407芯片做处理。