
电机控制单电阻采样PWM变形信号产生 前 言 电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据, 需要对PWM波形进行变形用于构造电流采样区域。 , i' D- N- O' `; S6 }& s- L 背景介绍$ \/ R g4 {) q: w7 \ 根据电机控制拓扑结构,单电阻采样在一个PWM控制周期内可以取得两相电流数据: Q0 q+ S. T8 k, J" L/ A0 o ![]() ! V6 d- J' R5 O7 i0 m! Z ![]() 在扇区边沿无法获得两相电流信号。 ![]() 波形产生 h- [1 T7 s7 ]4 b2 ]; l, P+ T ST专利的方法是在波形的中间部分产生变形波形,在变形后的波形上就可以得到两相电流ADC数据;" x5 ^8 \/ i4 V$ A! [2 h. ]5 P ![]() * n8 ~2 v; B/ a, ? 当然还有目前比较流行的波形移位方法也可以做到相同效果。 波形如下:. |. X1 }: N$ H' \5 S3 [* o$ ~- { ![]() 8 \- J C7 g+ b' ~' D STM32系列单片机Timer有足够的功能,可以产生上面两种波形,机制如下: S' w+ m& \( i7 o! X5 |# K$ F PWM波中间变形 ![]() 4 Q" m& C+ M7 e3 g X! ? 1. 设定CCR4的DMA通道,并且设定此时Timer1的preload为禁止状态; , R k. W M( V, |+ j5 U3 \, O: i ![]() 2. 在CCR4 比较值部分产生DMA事件;' ]4 z" Z6 C' v: w; n3 [) @. C ![]() 3. 在1点上将CCR1数据直接修改为周期数据+1;7 p) Z, g5 [& F3 B0 v 4. 在2点上将CCR1数据修改为CCR1’的数据;2 c V1 S" a6 l0 R! D, s0 @ 5. 时间计算上按照上面的图示设定,中间凹陷时间为两边补充波形时间之和。 3 s# M$ q1 ?: l6 @$ G/ h# [4 G6 g 波形移位变形% ? K$ A6 y! `! a$ E1 X ![]() , J+ o+ q9 f$ C3 R5 r5 w, J 1. 设定Timer1的update事件的DMA通道 ![]() 2. 在1点上更新CCR1数据为CCR1数据;) |+ b0 r! H0 \$ Y 3. 在2点上更新CCR1数据为CCR1’数据;* [. P% L, x8 v 4. 保证前后的移位时间相同。/ a4 R9 X e" n: O4 u4 j1 l 3 } M4 Y: C2 t# Z' E I" E- j: k9 O 8 V, j, p' I9 H: g$ y 文档下载 % e7 u( [: K, O& J L. Y, ` 更多实战经验, q, F2 ?) j5 T& b9 l% _* Y |
沙发~~ |
收下 |
认真看看,这个不错 |
楼主高人! |
这个不错,正在研究 |