黄工无刷电机学习
直播中

陈文博

8年用户 955经验值
擅长:测量仪表
私信 关注
[问答]

为什么要用电机编码器?电机编码器怎么使用?

为什么要用电机驱动?TB6612电机驱动怎么实现?
为什么要用电机编码器?电机编码器怎么使用?

回帖(1)

潘琳

2021-10-20 09:43:27
  前言

本文将讲述关于电机的知识,内容包含电机驱动和电机编码器。电机驱动介绍TB6612FNG。
  以下是本篇文章的正文内容
一、为什么要用电机驱动

一般电机接上电源就可以转了,正接正转,反接反转。
如果要用单片机的IO口控制电机就需要电机驱动,原因是IO口功率不够驱动不了电机,而且单片机可能会烧掉。
二、TB6612电机驱动

1.TB6612介绍

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





实际使用的就是下列引脚:
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接到一起。
真值表
[tr]AIN1001[/tr]
AIN2010
状态停止正转反转
[tr]BIN1001[/tr]
BIN2010
状态停止正转反转
根据真值表控制IO口从而控制正反转。
PWMA输出不同脉宽从而控制转速。
三、电机编码器

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

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

电机编码器有AB两相,AB相输出两个脉冲,编码器的所有信息都融合在这两个脉冲。
一般编码器都有四根线,VCC、GND、A相、B相。AB相接到单片机IO口捕获脉冲。
理想的AB相波形图。





(1)根据A相超前还是滞后B相来判断正反转。
(2)电机每转一圈的脉冲数目是相同的,所以测量的脉冲数目除上一圈的总数目就是电机当前角度了。如果采用四倍频计数,还要再除上4。
(3)如果每隔一段时间读脉冲数目然后把计数器清0,那么所读的数目除上时间就相当于电机转速。
如果使用STM32,可以用定时器输入捕获的编码器模式来计数。直接读取计数器数值就可以了,而且自带滤波。
  结语

那么以上就是本篇文章的所有内容了。
本文如果有什么不对的或者需要改进的地方欢迎指出。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分