
电机控制单电阻采样PWM变形信号产生 9 Q: w n, O8 S) C7 I前 言) `" k1 c) r8 q' j0 K; y4 m 电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据, 需要对PWM波形进行变形用于构造电流采样区域。* q2 v* e0 S' \9 N% x6 ~ 背景介绍 根据电机控制拓扑结构,单电阻采样在一个PWM控制周期内可以取得两相电流数据:* S0 W- ^* y1 ]7 y/ j n ![]() ![]() 在扇区边沿无法获得两相电流信号。 ![]() 波形产生 ST专利的方法是在波形的中间部分产生变形波形,在变形后的波形上就可以得到两相电流ADC数据;8 v' E& s4 ]; O: \& w5 V6 f ![]() 当然还有目前比较流行的波形移位方法也可以做到相同效果。 波形如下:) X4 G3 W S D" W ![]() * j3 a3 p7 t, r5 ?4 P' X 9 i3 G' |9 A6 L6 ~" }& ]" f STM32系列单片机Timer有足够的功能,可以产生上面两种波形,机制如下: PWM波中间变形7 n! m& Q8 y+ b& n ![]() 1. 设定CCR4的DMA通道,并且设定此时Timer1的preload为禁止状态; ![]() 2. 在CCR4 比较值部分产生DMA事件;! e2 n5 L3 Q/ ]9 d5 ~0 d ![]() 3. 在1点上将CCR1数据直接修改为周期数据+1;- [/ v5 T% `4 Z$ j2 v( T7 ]* w 4. 在2点上将CCR1数据修改为CCR1’的数据;! z/ o1 u1 Q9 J 5. 时间计算上按照上面的图示设定,中间凹陷时间为两边补充波形时间之和。 7 O( \' L" O) G' Z/ b 波形移位变形0 Y& q( ~! V* o ![]() 1. 设定Timer1的update事件的DMA通道 ![]() 2. 在1点上更新CCR1数据为CCR1数据;4 M' |- `: ?; A* r 3. 在2点上更新CCR1数据为CCR1’数据;0 o7 z% x: J$ J# _ 4. 保证前后的移位时间相同。 " _2 V, y$ h" Y# n 文档下载 更多实战经验 m- J8 V2 x3 x- t |
沙发~~ |
收下 |
认真看看,这个不错 |
楼主高人! |
这个不错,正在研究 |