微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > (六)麒麟座读取直流电机编码器

(六)麒麟座读取直流电机编码器

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


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


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


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


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



初始化定时器8



读取电机编码器的值


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


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


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


感谢分享~!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top