电机控制单电阻采样PWM变形信号产生 3 {! e) b4 k0 C前 言5 a! R& t4 @4 P. I0 X 电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据, 需要对PWM波形进行变形用于构造电流采样区域。 背景介绍0 a' { B4 }; f B/ j 根据电机控制拓扑结构,单电阻采样在一个PWM控制周期内可以取得两相电流数据:3 [6 f( b: r+ f9 B5 V8 Y$ n- \ $ v( W' l6 g$ w G 在扇区边沿无法获得两相电流信号。 波形产生; i( {% X) `/ s/ P* A$ L2 P ST专利的方法是在波形的中间部分产生变形波形,在变形后的波形上就可以得到两相电流ADC数据; 当然还有目前比较流行的波形移位方法也可以做到相同效果。 波形如下: & l! Q% H/ {+ N: Y# v8 I; q $ R! Z6 c2 @& i STM32系列单片机Timer有足够的功能,可以产生上面两种波形,机制如下:) M5 p* \7 D- F" s # j- L0 r3 f8 Y3 [1 u) R# e! s$ r PWM波中间变形" U; s+ d7 E" X . ^/ A$ s" i& R6 Y 1. 设定CCR4的DMA通道,并且设定此时Timer1的preload为禁止状态; 2. 在CCR4 比较值部分产生DMA事件;6 l3 v' I$ s c$ G+ O; F 3. 在1点上将CCR1数据直接修改为周期数据+1;6 p" G. [' w b 4. 在2点上将CCR1数据修改为CCR1’的数据; 5. 时间计算上按照上面的图示设定,中间凹陷时间为两边补充波形时间之和。 波形移位变形: y) [, D. h9 _ U: b- m 0 o+ b3 i+ E2 k1 n; D1 `* \ 1. 设定Timer1的update事件的DMA通道 2. 在1点上更新CCR1数据为CCR1数据; 3. 在2点上更新CCR1数据为CCR1’数据;( p' s3 h) u. n' ^& n 4. 保证前后的移位时间相同。( n% Q# _' a) U2 x( O2 \( B: H 文档下载 . y; E0 A+ p/ q2 R& ^ 更多实战经验 |
沙发~~ |
收下 |
认真看看,这个不错 |
楼主高人! |
这个不错,正在研究 |