(六)麒麟座读取直流电机编码器
时间:10-02
整理:3721RD
点击:
平衡车读取直流电机编码器的值来确认控制量进行闭环控制。电机尾部的编码器,一般是增量式的编码器,而且标准的正交编码器。这样的电机一般接口有6根线,电机+,电机-两根,编码器需要5V或者3V3的电源和GND线,还有两根则是编码器输出的两个信号,我们称之为A\B相。大家可以看下图这个编码器的引脚排列如下图:

实物连接图:请忽略下方那个板子,我只是为了用它上面的电源插针。

查看麒麟座的原理图,找两个未用的 定时器通道。这里选择定时器3的PA6 PA7两个引脚作为一侧电机编码器的检测。

选择定时器8的PC8 PC9两个引脚作为另一侧电机编码器的检测。

初始化定时器3,使其工作在编码器模式


初始化定时器8


读取电机编码器的值

使用麒麟座带的 STlink 进行仿真,全速运行之后,转动轮胎。轮胎转动的时候,编码器的输出波形如下:

转动轮胎,可以看到定时器在工作,CNT为计数值。

现有的电机带的编码器一般有两种,光电与霍尔编码器,一般光电分辨率比较高,但是会有被干扰的情况,霍尔的单圈脉冲较少,但相对而言,更稳定,而且霍尔一般价格较低。就DIY小车而言,光电以及霍尔精度都是足够的。

实物连接图:请忽略下方那个板子,我只是为了用它上面的电源插针。

查看麒麟座的原理图,找两个未用的 定时器通道。这里选择定时器3的PA6 PA7两个引脚作为一侧电机编码器的检测。

选择定时器8的PC8 PC9两个引脚作为另一侧电机编码器的检测。

初始化定时器3,使其工作在编码器模式


初始化定时器8


读取电机编码器的值

使用麒麟座带的 STlink 进行仿真,全速运行之后,转动轮胎。轮胎转动的时候,编码器的输出波形如下:

转动轮胎,可以看到定时器在工作,CNT为计数值。

现有的电机带的编码器一般有两种,光电与霍尔编码器,一般光电分辨率比较高,但是会有被干扰的情况,霍尔的单圈脉冲较少,但相对而言,更稳定,而且霍尔一般价格较低。就DIY小车而言,光电以及霍尔精度都是足够的。
感谢分享~!
