做两轮平衡小车的控制,参考了别人的代码,在读取两个车轮速度的时候,将读取的脉冲数取反,注释为“读取编码器的值,因为两个电机的旋转了180度的,所以对其中一个取反,保证输出极性一致”不太明白这句话的意思。定时器不是仅仅对脉冲进行计数吗,这个反向或者什么相位差的有什么影响呢?
截图不太清楚,内容是这样的:
/////////////////////////////
Encoder_Left=-Read_Encoder(2); //===读取编码器的值,因为两个电机的旋转了180度的,所以对其中一个取反,保证输出极性一致
Encoder_Right=Read_Encoder(4); //===读取编码器的值
//////////////////////////////////////
具体是用stm32 f103系列的timer2和timer4进行脉冲计数的。
你好,感谢答复!
你说的意思我懂了,但是不解的是,定时器记录的是脉冲,最后在记录的脉冲前面加了个负号,就得到了个“-”速度了,然后和另一个车轮是“+”速度,那就相反啦,哪里还有什么保持极性一直呢。。
我尝试着调试了下,发现Encoder_Left=-Read_Encoder(2); Encoder_Right=Read_Encoder(4);