TB6612与电机编码器

  • Post author:
  • Post category:其他





前言

本文将讲述关于电机的知识,内容包含电机驱动和电机编码器。电机驱动介绍TB6612FNG。



以下是本篇文章的正文内容



一、为什么要用电机驱动

一般电机接上电源就可以转了,正接正转,反接反转。

如果要用单片机的IO口控制电机就需要电机驱动,原因是IO口功率不够驱动不了电机,而且单片机可能会烧掉。



二、TB6612电机驱动



1.TB6612介绍

TB6612FNG可以驱动两个电机,TB6612FNG 模块相对于传统的 L298N 效率上提高很多,体积上也大幅度减少,在额定范围内,芯片基本不发热。PWM控制的频率可达100kHZ。

以下是TB6612FNG模块的原理图

图2.1.1

实际使用的就是下列引脚:

VM:电机驱动电压,一般为2.5~13.5V

VCC:芯片驱动电压,3.3V或5V

STBY:高电平(3.3V/5V)使能芯片,低电平进入待机状态

PWMA:电机A的PWM控制,接单片机

PWMB:电机B的PWM控制,接单片机

AIN1:电机A的逻辑输入,接单片机

AIN2:电机A的逻辑输入,接单片机

BIN1:电机B的逻辑输入,接单片机

BIN2:电机B的逻辑输入,接单片机

AO1:电机A的输出,接电机A

AO2:电机A的输出,接电机A

BO1:电机B的输出,接电机B

BO2:电机B的输出,接电机B



2.TB6612的使用

以一个直流电机为例,电机的两个供电引脚接到AO1和AO2。PWMA、AIN1、AIN2接到单片机的IO口上,PWMA可以接到定时器IO输出PWM。VCC接3.3V或者5V。VM是电机供电电压,根据电机额定电压来接,注意只能是2.5~13.5V。STBY跟VCC接到一起。

真值表

AIN1 0 0 1
AIN2 0 1 0
状态 停止 正转 反转
BIN1 0 0 1
BIN2 0 1 0
状态 停止 正转 反转

根据真值表控制IO口从而控制正反转。

PWMA输出不同脉宽从而控制转速。



三、电机编码器



1.为什么要用电机编码器

电机编码器分两种,光电编码器和霍尔编码器。光电编码器精度更高,价格也比较贵。电机编码器可以测量出电机的角度、速度、正反转。有了电机编码器就可以监控电机的状态从而更好的控制电机。



2.电机编码器的使用

电机编码器有AB两相,AB相输出两个脉冲,编码器的所有信息都融合在这两个脉冲。

一般编码器都有四根线,VCC、GND、A相、B相。AB相接到单片机IO口捕获脉冲。

理想的AB相波形图。

图3.2.1

(1)根据A相超前还是滞后B相来判断正反转。

(2)电机每转一圈的脉冲数目是相同的,所以测量的脉冲数目除上一圈的总数目就是电机当前角度了。如果采用四倍频计数,还要再除上4。

(3)如果每隔一段时间读脉冲数目然后把计数器清0,那么所读的数目除上时间就相当于电机转速。

如果使用STM32,可以用定时器输入捕获的编码器模式来计数。直接读取计数器数值就可以了,而且自带滤波。




结语

那么以上就是本篇文章的所有内容了。

本文如果有什么不对的或者需要改进的地方欢迎指出。



版权声明:本文为qq_46554815原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。