ST电机控制培训--FOC控制2017.08MCUApplicationAgenda电机简介评估工具:IDE,GUI,Demo板STM32PMSMFOCSDKV4.3概述试验一:评估工具使用FOC控制基础理论API使用示例基于电机库开发项目试验二:API使用2电机简介电机分类2直流有刷电机2图片来源:基本原理:•通电导体在磁场中受到作用力•力的方向符合左手定则•力的大小为F=BIL*sinθ有刷直流电机构造特点:•一般情况下转子是绕组,定子为永磁体•电机内部有电刷-换向器速度控制方式:•通直流电,通过控制直流电压大小来控制速度,•电压固定时,通过控制PWM波的占空比控制平均电压大小;直流无刷电机-BLDC2基本原理通电线圈产生磁场,该磁场与永磁体磁场相互作用产生磁力矩,使得转子转动;BLDC构造特点:•转子是永磁体,定子为绕组•永磁体的磁化及其在转子上的分布是经过处理的•理想电流为方波电流,理想反电动势为梯形波控制方式:•需要控制器产生旋转磁场•使用方波电流控制产生最佳效果永磁同步电机-PMSM2PMSM构造特点:•转子是永磁体,定子为绕组,同BLDC•理想电流为正弦波电流,理想反电动势为正弦波控制方式:•需要控制器产生矢量旋转磁场•使用正弦波电流控制产生最佳效果红色:电流绿色:反电动势BLDCvsPMSM2两者在某些时候可以统一看作是同步电机对比这两种电机需要和控制方法放一起讨论•BLDC也可以使用矢量控制•PMSM也可以使用方波控制控制方法方波控制矢量控制控制途径简单,位置换向复杂,需要坐标变换转矩脉动波动大波动小运行噪声较高较低气隙大,参数稳定小,参数易饱和低速性能差优高转速性能较高较低评估工具:评估板,IDE,GUI马达控制评估板各种评估板供选择11MCSoftwareDevelopmentKit(SDK)(FWlibrary,GUI,collateralmaterials)ControlstagesPowerstagesFlexibleMCPlatformCompleteMCdrivesSTM32Nucleo+X-NUCLEOMCKIT有小电机EVB+功率板•可以灵活搭配MCU,功率板,符合目标开发目的22连接排线MCUEVB板功率板MCUEVB•MCUEVB拥有马达控制接口(34-Pin)22功率板-DC供电23功率板-AC供电23Nucleo功率板23电机控制整合板17电机控制套件(带电机)17IDE17支持多种IDE工具IAREmbeddedWorkbenchforARM•KeilEmbeddedDevelopmentToolsforARM,Cortex-M...•SW4STM32:freeIDEforSTM32onWindows,LinuxandOSX•注:如果使用的芯片是STM32F0或者STM32L0芯片,Keil有正版无代码限制版本工具软件–STMStudio17•不增加硬件基础上可观测变量变化趋势•配合DAC使用效果更佳电机控制库17PartNumberGeneralDescriptionSTSW-STM32018Drivingbipolarsteppermotorsusingamedium-densitySTM32F103xxmicrocontroller(AN2820)STSW-STM32056STM32F1xxmotorcontrolfirmwareforSTSPINL6474STSW-STM32100STM32PMSMFOCSoftwareDevelopmentKit-MClibrary(UM1052)STSW-STM8020STM8SandSTM8ABLDCandACIMmotorcontrolfirmwarelibraryV1.0(UM0708)X-CUBE-SPN1SteppermotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN11Lowvoltagethree-phasebrushlessDCmotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN12LowvoltagedualbrushDCmotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN13LowvoltagebrushDCmotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN2TwoaxessteppermotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN3HighpowersteppermotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN4DualbrushDCmotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN5BipolarsteppermotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN6LowvoltagesteppermotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN73-phasebrushlessDCmotordriversoftwareexpansionforSTM32CubeX-CUBE-SPN8Low-VoltageBLDCmotordriversoftwareexpansionforSTM32Cube本次培训所使用的Demo板可使用的电机库如红色标注的部分STM32PMSMFOCSDKV4.3概述STM32PMSMFOCSDKV4.3•SDKV4.3软件包包含:PMSMFOC固件库和STMCWorkbench(GUI),允许用户使用STM32进行单或双PMSM马达的FOC的驱动,其支持STM32F0xx,STM32F1xx,STM32F2xx,STM32F3xx及STM32F4xx4整合:软件库+产品(MCU、功率器件等)+应用5•FOC:高动态性能••高频注入法(HFI)无传感器算法低CPU负荷,大部分时间用于应用软件上•同时控制2个马达高端应用,单/双马达控制•FOC矢量控制对马达进行高效控制••降低马达的噪音:正弦波电流硬件成本优化:1-shunt电流采中/低端应用要求:样,无传感器算法低端应用•Scalarcontrol•成本敏感应用STM32F4xx180MHZ,Cortex-M4STM32F2xx120MHZ,Cortex-M3STM32F3xx72MHZ,Cortex-M4STM32F10372MHZ,Cortex-M3STM32F0xx48MHZ,Cortex-M0STM32F10024MHZ,Cortex-M3STM8S24MHZ,STcoreFOCMCFWlibMCFWlibIndustrialmotordrivesFitness,wellnessandhealthcareHomeappliancesGamesFan算法集及MCU支持MCFWLIBv4.31/3shuntFluxWeakeningIPMSMMTPAFeedForwardSensor-less(STO+PLL)Sensor-less(STO+Cordic)EncoderHallsensorsStartupon-the-flySTMCWorkbenchsupportUSARTbasedcomprotocoladd-onMaxFOCF100~11kHzF0xx~12kHz3shuntICS(2)FreeRTOSMaxFOC(3)~23kHzDualFOCMaxFOC(3)F103~23kHzF2xx~40kHzMaxDualFOC(3)F103~20kHzF2xx~36kHzSTM32F103xHD/XL,STM32F2xxSTM32F103xLD/MDSTM32F100x,STM32F0xxSTM32F4xx,STM32F3xxNewMotorProfilerHFI(1)MaxFOC(3)F3xx~30kHzF4xx~50kHzMaxDualFOC(3)F3xx~27kHzF4xx~45kHz26STM32FSinglemotorDualmotor@20kHzPWM/10kHzFOCSTM32FConfigurationCodesize(Kb)RAMusage(Kb)CPUload(%)ConfigurationCodesize(KbRAMusage(Kb)CPUload(%)STM32F1001shunt/sensorless17.82.658.0NANANANASTM32F05x1shunt/sensorless16.72.745.2NANANANASTM32F103x3shunt/sensorless16.22.521.3Motor1&23shunt/sensorless17.53.949.4STM32F2x3shunt/sensorless15.52.613.9Motor1&23shunt/sensorless17.53.929.0STM32F30x3shunt/sensorless16.72.715.2(*)Motor1&23shunt/sensorless18.84.033.3STM32F4x3shunt/sensorless15.52.611.1Motor1&23shunt/sensorless17.53.923.5(*)+8%ifwithHFISTM32FOC性能指标SDKFOCV4.3新增特性新增工具:STMotorProfiler•测试马达参数工具软件•需要使用STDemo板18选择DemoBoard设置参数测试完成,给出电机参数FOCV4.3库新增支持芯片新增支持芯片STM32F446•ARM®32-bitCortex®-M4180MHz•浮点运算单元FPU+DSP指令集•支持QSPI•灵活存储器控制器(FMC)•增强USB,支持LinkPowerMode(LPM)FOCV4.3库新增支持芯片新增支持芯片STM32F07x•ARM®32-bitCortex®-M048MHz•12个Timer•有CANBus•DAC(两个通道输出)•两个电压比较器(COMP)•HDMI消费电子控制器(CEC)FOC4.3电机库支持的芯片型号•STM32F030C6/C8/K6/R8•STM32F051C6/C8/K6/K8/R6/R8•STM32F072x•STM32F100,STM32F103•STM32F103•STM32F302xB/C,STM32F303xB/C,STM32F302x6/x8•STM32F301C6/C8/K6/K8/R6/R8•STM32F2series•STM32F405xx,STM32F407xx,STM32F415xx,STM32F417xx,STM32F446xx新增STM32F0的3-shunt算法支持17使用1个ADC模块采样两相电流数据采样点需要符合2Ts+TcDT+max(TN,TR)得益于STM32的ADC灵活的硬件触发机制•ADC触发点可以在波形上任意平移支持AC6Workspace5forKEILµVisionwithsimpletimebaseSTM32F0xxSTM32F10xSTM32F2xxSTM32F30xSTM32F4xx6forIAREWARMwithsimpletimebaseSTM32F0xxSTM32F10xSTM32F10x_ExampleSTM32F2xxSTM32F30xSTM32F4xx4forIAREWARMwithFreeRTOSSTM32F10xSTM32F2xxST