之前把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. 官宣.NET 6 预览版4

    我们很高兴发布 .NET 6 Preview 4.我们现在大约完成了 .NET 6 发布的一半.现在是一个很好的时机,可以再次查看.NET6的完整范围.许多功能都接近最终形式,而其他功能将很快推出,因 ...

  2. postgresql分组后获取第一条数据

    -- 根据编号分组取第一条数据 select * from table t where t.no=(select max(no) from table t1 where t1.no=t.no) -- ...

  3. SuperEdge 易学易用系列-SuperEdge 简介

    关于 SuperEdge SuperEdge 是由腾讯.Intel.VMware.虎牙直播.寒武纪.首都在线和美团等多家公司共同发起的边缘容器管理系统,它基于原生 Kubernetes.针对边缘计算和 ...

  4. 记录APP 启动ACTIVITITY

    a.启动待测apkb.开启日志输出:adb logcat>D:/log.txt c.关闭日志输出:ctrl+cd.查看日志找寻: Displayed com.mm.android.hsy/.ui ...

  5. C语言:printf标志符

    %d 十进制整数 %i %lf双精度浮点数 %o八进制整数  0%o或0%O %x十六进制整数  0x%x 或  0X%X %f单精度浮点数 %E  %e科学计数法 %s  字符串 %c  字符(单个 ...

  6. VisualEffectGraph基础操作 --创建VEG项目步骤讲解

    一:建立VEG项目步骤 首先打开Unity Hub,  使用unity2020.1 新建项目(本技术博客,默认使用unity2020.1 版本演示),选择HDRP 高清渲染管线,确定项目目录与名称. ...

  7. 00JAVA语法基础 原码、反码、补码

    记得之前学C语言的时候老师课上讲过一些,不过当时觉得考试不考,也就上课听了下,下课也没怎么多做了解.这次,Java课上再次提出来了,自己也超越了些资料,对这三种概念算是有所初步了解. 1.原码 数据储 ...

  8. Java核心基础第5篇-Java面向对象_类和对象

    Java面向对象之类和对象 一.面向对象概述 Java是完全的面向对象编程(Object Oriented Programming),简称OOP. 面向对象编程的思维方式更加符合大家的日常生活,因为我 ...

  9. 理解并掌握Promise的用法

    前沿:  Promise在处理异步操作非常有用.项目中,与后端进行数据请求的时候经常要用到Promise.我们可以用promise + xhr进行ajax的封装.也可以使用基于promise封装的请求 ...

  10. [SqlServer] 理解数据库中的数据页结构

    这边文章,我将会带你深入分析数据库中 数据页 的结构.通过这篇文章的学习,你将掌握如下知识点: 1. 查看一个 表/索引 占用了多少了页. 2. 查看某一页中存储了什么的数据. 3. 验证在数据库中用 ...