ctime:2020-01-28 19:15:33 +0900|1580206533
标签(空格分隔): 技术 硬件
问题终于解决了,折磨了好几天。
具体问题是什么呢,假设我有一个电压矢量U3(abc三相的导通情况为011,也就是a的下桥、bc的上桥导通),我将其导通3ms,我在3ms之中,要采样电流,那么理论上我要采样的是a相(因为电流采样电阻都连在下桥,只有下桥导通,才能测得电流。)但是呢,我发现无论怎么测试,U3导通的时候,总是在b相测到了电流,a相死活没有。
玄学阿?我测试了U5(abc为101),理论上应该是b相可以采的到电流,但实际上在a相采到了。
因为之前发现了以前写定时器的互补PWM波时,使用PWM2模式是错的,改成了PWM1后,发现了这个问题。
又以为是PWM1的问题,但是画了半天图,确认了PWM1是对的,以前写PWM2确实错了。(虽然PWM2也能跑,但与本意相违)。
终于在昨天有了重大进展,发现无论怎么样,只有ab相相反,与C相无关。这就排除了PWM1的问题。
然后又以为是电机ABC三相上,代码上定时器的通道与原理图不一样,比如A相和B相的CCR弄反了,或者以为是把ADC的通道和原理图上AB相电流通道弄反了,看了好久好久的原理图
和PCB,也没发现有啥问题。
后来开始怀疑是ADC采样的问题,但配置上也没啥问题阿。ADC2、两通道、DMA、TIM8的TRGO触发。
试着将两通道改成一通道,比如在U3导通的