7 stm32 focstm32_in_motor_control_W_第1页
7 stm32 focstm32_in_motor_control_W_第2页
7 stm32 focstm32_in_motor_control_W_第3页
7 stm32 focstm32_in_motor_control_W_第4页
7 stm32 focstm32_in_motor_control_W_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 STM32在马达控制中的应用 北京,南京,上海,深圳,杭州,天津, 武汉,西安,成都, 哈尔滨 大区 MCU技术支持中心 STM32 在马达控制中的应用可用于无刷马达控制的单片机32位MCU:基于ARM Cortex-M3内核及拥有丰富且强劲的外围,可支持FOC控制(矢量控制)面向高端应用针对无刷马达控制的方案 交流感应马达BLDCPMSM马达无传感器方案的实现带传感器/无传感器Starter Kit 可在数周内实现演示和开发用户的项目1STM32在马达控制中的应用Capture Compare Capture CompareCapture Compare 高级定时器TIM1 (1/12)结

2、构图ETRClockITR 1ITR 2ITR 3ITR 4Trigger OutputCH1 CH1NCH2 CH2NCH3 CH3N CH4CH1CH2CH3CH4 BKIN 4STM32在马达控制中的应用Capture CompareAuto Reload REG +/- 16-Bit C ounter16-Bit PrescalerTrigger/Clock Controller 高级定时器TIM1 (2/12)时钟最大可达72MHz:精度可达13.8ns边沿或中心对称模式更新倍频模式(见下页)可保证在中心对称模式下度损失由每个PWM周期的中断或DMA实现5STM32在马达控制中的应用

3、 高级定时器TIM1 (3/12)在PWM计数器上溢时产生更新可提高占空比精度U在上溢时产生MCPUN+1NU在下U在下溢时产生溢时产生Comp = NU在下溢时产生一次Comp = N + 1U在上溢和Comp from N to N + 1下溢时产生两次6STM32在马达控制中的应用 高级定时器TIM1 (4/12)重复计数器PWM counterDouble updateREP=0Single update OVFREP=1Single update UDFREP=1tttREP=2tREP=3t7STM32在马达控制中的应用ISRISRISRISRISRISRISRISRISRISRI

4、SRISRISRISRISRISRISRISRISR 高级定时器TIM1 (5/12)中断U中断(Update)- 用于同步更新所有下列预装载寄存器:比较寄存器 自动重载寄存器 PWM时钟预分频器输出比较或输入捕捉中断触发器中断 紧急故障中断DMATIM1_CH1, TIM1_CH2, TIM1_CH3, TIM1_CH4 TIM1_UPDATETIM1_COMTIM1_TRIG8STM32在马达控制中的应用 高级定时器TIM1 (6/12)DMA burst一次DMARAM传输允许更新多个寄存器的值,有效的利用了DMARegisters9STM32在马达控制中的应用OC1OC2OC3Virt

5、ual RegisterOC1t0OC2t0OC3t0OC1t1OC2t1OC3t1OC1t2OC2t2OC3t2 高级定时器TIM1 (7/12)PWM输出管理硬件死区发生器:8位寄存器,精度最大可达13.8ns(时钟为72MHZ),014us可编程(非线性)Internal PWM before dead time generatorHigh side PWM5V0V5V0VOC1REFCH1Delay5V0VLow side PWMCH1N Delay每个通道极性可选紧急故障输入关闭6个PWM输出并产生中断异步动作 10STM32在马达控制中的应用 高级定时器TIM1 (8/12)灵活的

6、PWM端口设置PWM timer used as aGP timerMotor Control (sinewave)Motor Control (6-steps)Motor Control (sinewave)Outputs disconnected from I/O portsAll PWMs OFF (low Z for safe stop)11STM32在马达控制中的应用控制位 输出状态 MOE OSSI OSSR CCxE CCxNE OCx 输出状态 OCxN 输出状态 1 X 0 0 0 输出禁止(与定时器断开) 输出禁止(与定时器断开) 0 0 1 输出禁止(与定时器断开) OC

7、xREF + 极性 0 1 0 OCxREF + 极性 输出禁止(与定时器断开) 0 1 1 OCxREF + 极性 + 死区 OCxREF反相 + 极性 + 死区 1 0 0 输出禁止(与定时器断开) 输出禁止(与定时器断开) 1 0 1 关闭状态(输出使能且为无效电平) OCxREF + 极性 1 1 0 OCxREF + 极性 关闭状态(输出使能且为无效电平) 1 1 1 OCxREF + 极性 + 死区 OCxREF反相 + 极性 + 死区 0 0 X 0 0 输出禁止(与定时器断开) 0 0 1 0 1 0 0 1 1 1 0 0 关闭状态(输出使能且为无效电平) 1 0 1 1 1

8、 0 1 1 1 高级定时器TIM1 (9/12)例:6步换相方法驱动BLDC马达 T1T3T5T1T2T2T4T6T3T4T5T6相电流 12STM32在马达控制中的应用Step High Low OC1 OC1N OC2 OC2N OC3 OC3N1T1T4 oc1ref001002T1T6 oc1ref000013T3T600oc2ref0014T3T201oc2ref000 5T5T20100oc3ref06T5T40000oc3ref0 高级定时器TIM1 (10/12)紧急故障输入紧急故障输入可由下列产生:由BRK引脚输入:其极性可编程且由使能位使能时钟安全系统 当紧急故障发生时:

9、MOE被清零 状态位置1并产生中断 PWM输出通道的电平由OISx位决定紧急故障输入的应用若AOE=1: MOE位保持0直到软件重新置1,一般用于功率模块电路的保护若AOE=0: MOE位在下一个U重新置1,一般可用于电流调节13STM32在马达控制中的应用 高级定时器TIM1 (11/12)禁烟保护模式安全级别高的寄存器能被上锁,防止软件跑飞后对功率器件造成 损坏包括:死区、PWM输出极性、紧急故障输入使能所有寄存器在上锁前可读/写,上锁后只读2个上锁位一旦写值后就不能修改,直到MCU复位4个上锁等级针对不同的应用提供了灵活性 GPIO配置也能上锁,以避免PWM功能端口被重新设为标准输出口1

10、4STM32在马达控制中的应用 高级定时器TIM1 (12/12)调试特性针对马达控制此类应用,断点调试须慎重对待标准断点会对功率器件造成损坏 闭环系统不能在停止后在断点处继续专门有一个标志位用于配置当断点发生后PWM定时器的行为标准模式:定时器继续运行可能会对功率器件造成损坏,因为此时固定的占空比被加到了功率器件上(中断不会被执行) 安全模式:定时器停止运行,PWM停住输出 此时对功率器件是安全的,且定时器可在断点处继续运行15STM32在马达控制中的应用 速度和位置检测由通用定时器处理,使用专门的模式这些功能在所有的通用定时器上都可实现Hall 传感器Hall 传感器接口或输入编码器编码器

11、模式1, 2 & 3 (2x, 4x)测速发电机反馈输入捕捉模式检测周期16STM32在马达控制中的应用 TIM在编码器模式下的框图TI1TI217STM32在马达控制中的应用CLITR1TRGxITR2 ITR3 ITR4Polarity Select & Edge ControllerPolarity Select & Edge Controller+/-16-Bit Counter16 bit PrescalerTrigger ControllerControllerEncoder Interface16 bit AutoReload Registe TIM与编码器接口编码器与STM32

12、接口举例增量编码器可与MCU直接连接而无需外部接口电路编码器的第三个表示零位的输出(Z或Index)可连到外部中断 口,以此来触发定时器的计数器复位编码器模式下计数器的动作forwardreversalbackwardreversalforwardIC 2DownUpUpIC1Counter18STM32在马达控制中的应用 编码器的关键特性可程的计数率 x4: 标准模式,所有边沿有效 1000线的编码器每转一周可发出4000个计数脉冲 x2: 只对A或B计数,但仍可确定方向转速模式:对编码器计数时钟进行运算 可程的编码器精度 ,计当自动重载寄存器设为编码器每转一周可发出的计数脉冲时 数器就直接

13、得到了转子位置或角度信号当自动重载寄存器设为0xFFFF时,与使用自由运行定设计相兼容 器的编器每转一周可发出一个或多个中断 一个,每360; 多个,每60, 90,(依赖于自动重载寄存器的配置 )19STM32在马达控制中的应用 TIM 与 Hall接口Hall AHall BHall CTI420STM32在马达控制中的应用TI1F_EDIC1IC2TRCIC3IC4TRCCapture/Compare 4 RegisterCapture/Compare 3 RegisterInput Filter & Edge detectorCapture/Compare 2 RegisterEdge

14、 detectorCapture/Compare 1 RegisterPrescalerTRCInput Filter &Edge detectorPrescalerPrescalerPrescalerInput Filter & Edge detectorTRCInput Filter &XORTrigger & Slave Mode Controller 定时器同步配置(1/3)由于拥有触发输出及多个可选的触发输入,个通用定时器与PWM定时器能连接在一起串联或同步使用输入脚TI1 及TI2也可用作触发器CK_TIM TRG1TRG2 TRG3触发器输入TRG0触发器输出TI1 TI2Tim

15、er control signals: clock, reset, update, enable,21STM32在马达控制中的应用TIM0TRGOTrigger Controller 定时器同步配置(2/3)配置为主模式时,触发器输出可为:Clock计数器复位计数器使能更新输出比较信号Master ARRMaster CNTMaster TriggerOut Slave CNT当配置为从模式时,定时器可工作在如下模式:ClockNew MasterOCR1触发模式门控模式复位模式外部时钟模式 Master OCR1Master CNTMaster OC1Slave CNT22STM32在马达控

16、制中的应用触发模式门控模式 定时器同步配置(3/3)举例:BLDC马达换相:一个通用定时器检测Hall位置, 触发PWM定时器换相主定时器 (TIM)从定时器 (ADVANCED TIM)23STM32在马达控制中的应用HallITR3TIM1ITR 2ITR 4counterprescalerXORTI1FTIM2_EDTRG 2ITR 1ITR4UpdateITR 3counterprescalerTrigger Controller ADC 特性 (1/3)ADC转换速度为1MHZ,精度为12位采样时间可编程(1.5239.5cy),最小采样时间:107nsADC输入范围:0=VIN=V

17、REF+18个通道个外部通道个内部通道:温度传感器和参考电压中断DMA - 仅ADC1有转换通道编组常规转换组:最大16个通道注入转换组:最大个通道24STM32在马达控制中的应用 注入转换模式常规转换扫描模式 注入转换扫描模式 TriggerInterrupt25STM32在马达控制中的应用Last channel ConversionLast injected channel ConversionLast channel ConversionSecond injected channel ConversionSecond channel ConversionSecond channel C

18、onversionFirst injected channel ConversionFirst channel ConversionFirst channel Conversion ADC 特性 (2/3)ADCWATCHDOG基于定序器的扫描模式:任意通道,任意次序最大16个通道的常规转换(结果由DMA存储)最大个通道的注入转换(结果相应寄存器存储)多触发源每个组可被来自定时器的个触发可由外部和软件触发26STM32在马达控制中的应用 ADC 特性 (3/3)转换数据可向左或向右对齐4个偏移补偿寄存器补偿外部电路的偏移,如运放。如需要可提供带符号值每个通道可单独编程采样时间,可以采样不同输入

19、阻抗的信号从1.5cy(Rin1.2K)到239.5cy(Rin350K),共8个值当采样率为1MSps时,可不用电压跟随器27STM32在马达控制中的应用 ADC框图VREF+VREF-VDDAVSSAPCLK2ADC_IN0ADCDMA RequestADC_IN1.Up to 4IADC_IN15Up to 16Temp Sensor End of injected conversionVREFINT TIM1_TRGO TIM1_CC4 TIM1_TRGO TIM2_CC1 TIM3_CC4 TIM4_TRGO Start Trigger (injected group)JEXTRIG

20、 bitFlagsExt_IT_15JEXTSEL2:0bitsInterrupt enable bitsTIM1_CC1 TIM1_CC2 TIM1_CC3TIM2_CC2 Start Trigger (regular group)TIM3_TRGO TIM4_CC4 EXTRIG bitADC interrupt to NVICExt_IT_11EXTSEL2:0 bits28STM32在马达控制中的应用Address/data busANALOG MUXAWDEOCJEOCAWDIEEOCIE JEOCIEAnalog WatchdogLow Threshold register (12

21、bits)High Threshold(12bits)Regular data register (12bits)End o conversregisterAnalog watchdoeventnjected data registers (4x12bits)f iongADCCLKADC Prescalers: Div2, Div4, Div6 and Div8Regular ChannelsInjected ChannelsGPIOPorts ADC双模式(1/2)只能在拥有2个ADC的MCU中实现ADC1和ADC2可分别单独使用或耦合在一起使用(分主从)8个ADC双模式ADC_IN15

22、ADC_IN1ADC_IN0GPIOPortsANALOG MUXUp to 4 injected channelsUp to 16 regular channelsExternal event (Regular grouExternal event (Injected gro29STM32在马达控制中的应用VREFINT)External event syncp)Data registerADC2AnalogDigital SlaveEOC/JEOCADC1AnalogDigital Master ADC双模式(2/2)Injected simultaneous mode on 4 injected channelsSamplingADC2ConversionADC1End of Injected Conversion on ADC1 and ADC2Trigger for injected channelsFast Interleaved mode on 1 regula

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论