STM32马达控制软件介绍及开发套件的使用2009年STM32全国研讨会北京、深圳、上海、台北、青岛、重庆、南京、哈尔滨、武汉、福州、西安STM32全国研讨会14-25/09/20092演讲内容STM32面向马达控制的特性STM32马达控制软件库的介绍FOC简介软件库特点软件库结构软件库性能马达控制套件的使用套件特点套件功能怎样基于STM32马达控制套件及软件库实现PMSM马达的无传感器模式控制使用户能在很短时间内就能运转自己的马达STM32全国研讨会14-25/09/20093STM32面向马达控制的特性功能强劲的内核-ARMCortex-M31.25DMIPS/MHz,哈弗结构,与ARM7相比性能提高30%单周期乘法、硬件除法及乘累加指令代码密度Thumb-2指令集,与ARM7相比代码密度提高30%NVIC:快速的中断响应面向马达控制的丰富的外设16位高级定时器6通道三相互补PWM的产生,带硬件死区,每个通道的极性独立设定时钟为72MHz(13.9ns精度)紧急故障输入端口,可异步地关断PWM的输出可触发ADC的事件16位通用定时器霍尔、编码器硬件接口ADC双ADC或三ADC模块12BIT精度,1MSps,每个通道的采样时间可单独编程可由外部或定时器事件触发DMA通道分组:注入转换组及常规转换组SCAN模式多样化的双ADC模式STM32全国研讨会14-25/09/20094软件库——FOC简介FOC(FieldOrientedControl),采用数学方法实现三相马达的力矩和励磁的解耦控制定子电流被分解成:励磁电流Id:产生励磁交轴电流Iq:控制电磁力矩,类似于DC马达的电枢电流FOC算法优点:当负载变化时,速度响应快速而精确马达的瞬时效率得到优化能实现位置控制(通过瞬时力矩控制)STM32全国研讨会14-25/09/20095软件库——特点(1)针对无刷马达控制的方案–有传感器/无传感器方案的实现交流感应马达(带速度反馈)PMSM马达(无传感器方案的实现)特点GUI用户界面:产生软件库的头文件用户调试界面(通过LCD及JOYSTICK):可实时地调试PID及观测器参数DAC功能:可实时地跟踪某些重要的变量以循序渐进的方式指导用户如何使用软件库来开发自己的项目详尽的用户手册免费的软件源代码STM32全国研讨会14-25/09/20096软件库——特点(2)特点(续)优化的PMSM马达控制不同的转子位置反馈方法的实现–Sensor模式:HALL(120度/60度)/ENCODER–Sensorless模式:Luenberger观测器及PLL算法马达相电流采样:–三电阻法–单电阻法:改善硬件成本–电流传感器法MTPA-I-PMSM马达的优化控制改进的弱磁控制算法:无须知道马达的精确参数电流前馈:可实现对DCBUS纹波的补偿STM32全国研讨会14-25/09/20097软件库——特点(3):GUI界面通过直观的界面配置软件库输入马达及控制参数,可直接生成软件库的头文件STM32全国研讨会14-25/09/20098软件库——特点(4):实时调试界面可实时地调节力矩环,励磁环及速度环PID的参数可实时地调节观测器的增益参数(无传感器模式下)可实时地改变目标速度(速度控制模式下)或目标力矩及励磁(力矩控制模式下)进入弱磁控制区的上限电压值的选择DCBUS电压及功率板温度监控DAC输出变量的选择STM32MotorControlPMSMFOCver1.0SensorlessDemoSpeedcontrolmodeTargetMeasured02500(rpm)00000←→Move↑↓ChangeSTM32全国研讨会14-25/09/20099STM32MotorControlPMSMFOCver1.0SingalonPB0IqrefSingalonPB1Ia←→Move↑↓Change软件库——特点(5):DAC功能通过TIM3的两个PWM通道实现可通过LCD菜单实时地检测两个软件变量软件脱机运行,避免使用仿真器运行时引起的驱动电路烧坏可实时检测马达相电流,速度,转子位置等可在头文件中通过条件编译行禁止STM32全国研讨会14-25/09/200910软件库——特点(6):MTPAMTPA-I-PMSM(永磁体内嵌式马达:LdLq)的优化控制控制‘力矩/电流比’最大化提高效率STM32全国研讨会14-25/09/200911软件库——特点(7):循序渐进的开发通过头文件STM32F10X_MCconf.h实现一步一步地指导用户进行项目的开发通过条件编译避免包含不需要的代码/**************CurrentsensingbyICS(Isolatedcurrentsensors)************///#defineICS_SENSORS/**************CurrentsensingbyThreeShuntresistors*******************/#defineTHREE_SHUNT/**************PositionsensingbyIncrementalencoder*******************///#defineENCODER/***********************SpeedsensingbyHallsensors******************///#defineHALL_SENSORS/******************************Nospeedsensors*********************///#defineNO_SPEED_SENSORS//#defineVIEW_HALL_FEEDBACK//#defineVIEW_ENCODER_FEEDBACK/********************PI+DifferentialtermforId&Iqregulation**********///#defineId_Iq_DIFFERENTIAL_TERM_ENABLED/*****************PI+Differentialtermforspeedregulation**************///#defineSPEED_DIFFERENTIAL_TERM_ENABLED/**********************PIDsParameterregulationsoftware**************///#defineFLUX_TORQUE_PIDs_TUNING//#defineOBSERVER_GAIN_TUNING#defineDAC_FUNCTIONALITY//#defineIPMSM_MTPA#defineFLUX_WEAKENING//#defineFEED_FORWARD_CURRENT_REGULATIONSTM32全国研讨会14-25/09/200912软件库——FOC软件框图vqd*vqd*θrelva,b,c3phaseinverterIPMSMMotor~ACMains~shuntsvqd-vabciabc-iqd电流采样无传感器观测器PID电流调节电流前馈&BUS电压补偿PI速度调节定子电压闭环弱磁ωrMTPAiqd*iabcTe*iqd**iqdvoltagelevel*ωr+θrelBusvoltageVmeasurementωr速度环电流环STM32全国研讨会14-25/09/200913软件库性能——FOC算法执行时间基于CortexTM-M3强劲的计算能力,sensorless模式下FOC控制环的执行时间如下(与第三方编译器有关)三电阻电流采样方式:从20.2µs到21.6µs单电阻电流采样方式:从23.9µs到26µsvdsvqs+-+-iqsidsiqs*ids*θrelvα’β’siabcsθreliαβsPIDPIDREVERSEPARK&circlelimitationCALCSVPWM3-SHUNTCURRENTREADINGSENSORLESSROTORPOSITIONFEEDBACKCLARKEPARKCPUload@10kHzsamplingtime≈30%CPUload@10kHzsamplingtime25%1-SHUNTCURRENTREADINGSTM32全国研讨会14-25/09/200914软件库性能——代码长度由于Thumb2指令集具有较好的代码密度,PMSMFOC软件库的总的代码长度(sensorless模式,三电阻电流采样)为:23.3kB到24.7kB(与第三方的编译器有关)排除LCD及Joystick管理代码,纯的马达驱动的代码长度为:(矢量控制模块的优化选项为速度优化)12.5KbSTM32全国研讨会14-25/09/200915马达控制套件(1)——特点高压驱动板+低压控制板整合成一块主板,价格远低于第一代套件更高的功率容量(与第一代套件相比)直观的硬件平台,使用户无需设计硬件即可进行马达驱动性能的评估。给用户设计硬件电路提供参考仿真器(不包含在套件中)隔离板主板STM32全国研讨会14-25/09/200916马达控制套件(2):功能兼容STM32FOC软件库软件库可以直接在该套件上运行通过跳线设置,可满足软件的各种编译模式单电阻和三电阻电流取样选择功能编码器/HALL输入检测功能,Sensorless模式满足大功率应用要求,如变频空调压缩机及工业大功率电机驱动的开发调试20A/30AIGBT三相半桥驱动模块主动PFC控制功能兼容部分PFC、全部PFC硬件拓扑结构,包括:–AC输入电压波形检出(正弦波)–电感电流波形检出(正弦波)–DCBUS电压检出PFC硬件保护电路:IGBT过流硬件自关断,IGBT过流保护信号输出可提升DCBUS电压,抑制输入电流谐波STM32全国研讨会14-25/09/200917马达控制套件的使用(3):功能一块控制板集成了EVB及功率驱动的所有功能,摒弃了原开发套件(EVB+PowerStage)的模式,且驱动功率更高JTAG仿真隔离板能耗刹车控制电路LCD及Joystick用户界面:可结合FOC软件库调试马达RS232通信接口(光耦隔离)CAN通信接口上电延时功能:抑制上电浪涌电流可驱动低压马达(12V/24V)及高压马达(交流220V)STM32全国研讨会14-25/09/200918基于马达控制套件实现PMSM马达的控制(1)使用GUI产生软件库参数头文件使马达运行在纯传感器模式HALL或ENCODER选择马达电流采样方式马达电流采样电路参数设置Shunt:0.015欧放大倍数:3.9输入马达参数使能电流环调节使用GUI产生参数头文件,替代软件库中的原文件,编译软件库,通过JTAG仿真器把程序烧入MCU在套件上运行,此时马达短时间地正反转,运行在速度开环模式下,用DAC功能监测阶跃响应,实时调节电流PID参数;把电流PID参数结果写入软件,禁止电流环调节,使马达运行在速度闭环模式下,调节速度PID参数STM32全国研讨会14-25/09/200919基于马达控制套件实现PMSM马达的控制(2)使马达运行在纯传感器模式,且使能观测器:选择OBSERVER_GAIN_TUNING:电流和速度环仍使用由传感器反馈的转子位置角信号,但此时观测器同时运行;使用DAC功能实时地调节观测器及PLL增益参数(K1,K2,F1,F2,PLL_KP_GAIN,PLL_KI_GAIN):观测器增益参数对反电动势观测起作用,而PLL增益参数(一般其缺省值就满足要求了)对位置角重构起作用;一旦这6个参数确定,把它们写入头文件MC_State_Observer_pa