之前把MPU6050的相关知识了解了一下,可以做到测量欧拉角,在平衡小车的开发中需要测量小车的倾角来调整小车姿态。接下来该学习小车的电机驱动部分了,这里整理一下直流电机、减速器、编码器以及TB6612FNG的知识,为下一步驱动电机打基础!

一.直流电机

1.定义

直流电机在生活中很常见,比如玩具赛车的马达就是直流电机,我的平衡小车就采用直流电机驱动。下面是摘抄自百度的直流电机的定义:

直流电机(direct current machine)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;

2.原理

决定直流电机转动方向的是电流的方向;决定直流电机的转速是电流的大小。
直流电机的原理高中物理就学过,这里再总结一下,下面是直流电机的物理模型:

可以分解为5部分:

  • 电刷
  • 换向片
  • 线圈
  • 主磁极

由左手定则知道,当线圈中通有电流时,上下线圈所受的洛伦兹力相反,这样就使线圈转起来了,当线圈转至水平面是,换向片互换位置,线圈电流方向改变,又一次循环开始了…
所以,决定电机转动的就是电刷上电流的大小的方向。

二.TB6612FNG

1.简介


了解了直流电机的驱动原理,可以通过改变电流大小方向来控制直流电机,可以直接用单片机的引脚来实现。可是,单片机IO口带负载能力较弱,况且直流电机是大电流感性负载,所以我们需要使用功率放大器件,用到了TB6612FNG,其主要参数如下:
最大输入电压:VM=15V
最大输出电流:1.2A(平均)、3.2A(峰值)
内置过热保护和低压检测电路

2.优点

有的人喜欢用L298N模块,相比于L298N,TB6612FNG有很多改进的优点:

  • 发热小,无需散热片
  • 支持高达100KHz的PWM输入(L298N是10~20KHz)
  • 体积小,外围电路简单,只需要外接电源滤波电容就可以直接驱动电机

3.使用方法

TB6612FNG可以同时驱动俩路电机,如图,是TB6612FNG与电机的连接图:

TB6612FNG直接连接电机线,输出控制电压,具体的引脚说明如下:

  • VM:接12V电压(电机的额定电压)
  • VCC:模块内部逻辑供电,3.3V或者5V都可
  • GND:接地,三个GND有一个接地就行
  • STBY:置高,模块正常工作,一般3.3V或5V即可
  • PWMA:单片机输出PWM信号,占空比:0~100,对应控制输出电压,控制电机转速。一般输出10KHz的PWM就行
  • AIN0/AIN1:连接单片机IO,控制电压方向,从而控制电机转动方向
  • AO1/AO2:连接电机线,作为TB6612FNG的输出口

三.减速器

1.作用

一般直流电机的转速很快,可以达到每分钟几千上万转的转速,但是这样的转速太快了导致扭矩很小,而且实际中经常会用到转速小、扭矩大的电机,这个时候就要用到减速器了,减速器可以降低转速、提高扭矩。而且减速后的直流电机力矩增大、可控性增强。

2.分类

按照传动级数可以分为:

  • 单级减速器
  • 多级减速器

按照传动类型可以分为:

  • 齿轮减速器
  • 蜗轮蜗杆减速器
  • 行星齿轮减速器

    各种减速器的特点:
    齿轮减速器:减速箱体积小,传递的扭矩大,但是有一定的回程差。
    蜗轮蜗杆减速器:具有反向自锁功能,可以有较大的减速比,但是一般体积较大、传动效率不高、精度不高。
    行星齿轮减速器:结构紧凑,回程间隙小,精度高,寿命长,而且额定扭矩可以很大,但是,贵!!!

一般国产的减速电机都会搭配齿轮减速器的,我使用的这款减速电机就是。

四.编码器

1.概述

上面的知识足以驱动电机转动了,可是要怎么获取电机的转速情况或者电机的转动角度呢?这就用到编码器了!
编码器是一种将角位移或者角速度转换为一连串电数字脉冲的旋转式传感器,所以可以用来测量转动位置和测量速度,从输出数据类型上可以分为增量式和绝对式,从检测原理上一般分为光学式、磁式、感应式、电容式,常见的是光电编码器和霍尔编码器。
下面是百度百科对编码器的解释:

编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关

2.原理

下图是一个编码器工作的示意图:

一般在电机尾部安装一个光电码盘(霍尔码盘),然后使用光电管(霍尔元件)在电机转动的过程中对码盘进行测量,一般安装俩组光电管,所以测量结果可以输出俩路AB相的脉冲信号,根据AB的相位差可以判断电机的转动方向,根据一定时间脉冲判断电机转速。

3.四倍频技术


通过单片机IO口识别AB相脉冲信号的高低变化,测量AB相的上升沿和下降沿,这样的话,相当于原来测量一个信号的周期内现在可以测量四个信号(原来只是测量一个相的上升沿或者下降沿),这就使测量结果更加准确。
STM32可以通过自带的硬件计数来测量。

直流电机、减速器、编码器与TB6612FNG知识整理的更多相关文章

  1. js事件(Event)知识整理

    事件(Event)知识整理,本文由网上资料整理而来,需要的朋友可以参考下   鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemo ...

  2. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  3. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  4. wifi基础知识整理

    转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...

  5. 数据库知识整理<一>

    关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...

  6. 【转载】UML类图知识整理

    原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...

  7. Linux进程管理知识整理

    Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...

  8. js事件(Event)知识整理[转]

    事件注册 平常我们绑定事件的时候用dom.onxxxx=function(){}的形式 这种方式是给元素的onxxxx属性赋值,只能绑定有一个处理句柄. 但很多时候我们需要绑定多个处理句柄到一个事件上 ...

  9. Spring Ioc知识整理

    Ioc知识整理(一): IoC (Inversion of Control) 控制反转. 1.bean的别名 我们每个bean元素都有一个id属性,用于唯一标识实例化的一个类,其实name属性也可用来 ...

随机推荐

  1. getopt模块的学习

    在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能.目前有短选项和长选项两种格式.短选项格式为"-"加上单个字母选项:长选项为"--"加 ...

  2. 如何查看wsdl文档

    http://www.360doc.com/content/16/1027/00/37651083_601648996.shtml

  3. 羊城杯wp babyre

    肝了好久,没爆破出来,就很难受,就差这题没写了,其他三题感觉挺简单的,这题其实也不是很难,我感觉是在考算法. 在输入之前有个smc的函数,先动调,attach上去,ida打开那个关键函数. 代码逻辑还 ...

  4. fast-poster海报生成器v1.4.0,一分钟完成海报开发

    fast-poster海报生成器v1.4.0,一分钟完成海报开发 介绍 一个快速开发动态海报的工具 在线体验:https://poster.prodapi.cn/ v1.4.0 新特性 为了项目和团队 ...

  5. Linux | 命令的参数

    命令的参数 格式:command parameters --> 命令参数 短参数 在短参数中,字母的大写效果是不同的,比如大写 T 和小写 t 的含义通常是不同的. 一个短参数 最常用的参数形式 ...

  6. .Net Core微服务——服务发现:Consul(一)

    先思考一些问题:它是做什么的.以及怎么使用它.带着这些问题往下走. consul是做什么的 consul用于微服务下的服务治理.服务治理是什么?它包含但不限于:服务发现.服务配置.健康检查.键值存储. ...

  7. 「CF1380G」 Circular Dungeon

    CF1380G Circular Dungeon 看懂样例就能做. 虽然我瞪了 20 分钟 菜是原罪 首先可以将从每一个点出发所能获得的价值相加,再除以 \(n\) 就可以得到价值的期望. 所以问题转 ...

  8. C语言:获取汉字的编码

    #include <stdio.h> #include <locale.h> #include <wchar.h> int main() { setlocale(L ...

  9. 自动执行文件夹中的py文件

    写一个函数,接收一个地址,执行其中的py文件,包括子文件.path.endswith('.py') 判断以'.py'结尾,是什么类型的文件.os.system('python %s'%path) 模拟 ...

  10. 【剑指offer】58 - II. 左旋转字符串

    剑指 Offer 58 - II. 左旋转字符串 知识点:字符串: 题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串 ...