直流电机的驱动

最简单的让直流电机转起来的方法是:直流电机的两个引脚,一个接高电平,一个接低电平。
但是今天,我们总结的是用stm32mini开发板产生的PWM来控制电机,使得电机的速度有个肉眼可见的变化。

TB6612驱动模块

TB6612FNG是东芝半导体公司生产的一款直流电机驱动模块,它是基于MOSFET的H桥集成电路,效率比晶体管的H桥高很多。重要的是TB6612FNG是双通道输出,也就是说,它可以独立双向控制两个直流电机。举个例子:假设,我们搭建一个双轮的小车,想要TB6612FNG来驱动,只需要一个TB6612模块就可以。下来,我们看一下其实物图、引脚图,以及真值表。

  • 实物图

  • 引脚图

    TB6612的引脚说明

引脚名称 说明
PWMA A电机控制信号输入端
AIN2 A电机输入端2
AIN1 A电机输入端1
YSTB 正常工作/待机状态控制端
BIN1 B电机输入端1
BIN2 B电机输入端2
PWMB B电机控制信号输入端
GND 接地
VM 电机驱动电压输入端(4.5V~15V)
VCC 逻辑电平输入端(2.7V~5.5V)
GND 接地
AO1 A电机输出端1
AO2 A电机输出端2
BO2 B电机输出端2
BO1 B电机输出端1
GND 接地

注意:
TB6612中A和B各为驱动一组电机的输入端和输出端。

  • 真值表(直流电机的驱动状态)
    注意:
    该驱动模块为高电平时有效,否则,直流电机处于停止状态。
IN1 IN2 直流电机的状态
0 0 制动
0 1 正转
1 0 反转
1 1 制动
  • TB6612的正转反转原理
    TB6612FNG是基于MOSFET组成的H桥驱动电路(MOSFET的功能和三极管比较相似,所以按照三极管去理解它的导通情况),下面是我在查资料时候,在网上找的一个图,觉得很能说明问题,所以,我就偷个懒。

直流电机的驱动

下面我们介绍一下使用TB6612来驱动直流电机的方法。(以A电机为例,B电机同理)

  • 代码的编写
    其实,其实代码和之前写的呼吸灯并没有差异,当时配置通道对应的是PA7引脚,所以我们将PA7引脚插在A电机的控制信号输入引脚,即PWMA上。然后再初始化stm32mini开发板上的两个GPIO口,并使其中一个为高电平,一个为低电平,到时候接到直流电机的AIN1,AIN2上,对应的电机转动状态见上面的表格(我初始化了PA14和PA15两个引脚,到时候连接在A电机的输入端)。

    下面,我们附带之前呼吸灯的链接。
    https://blog.csdn.net/jianbai_/article/details/101313546
    (2)硬件的连接

    按照以上两个部分操作后,我们将程序烧录到stm32mini开发板上后,就可以去观察直流电机变速的转动了。

总结

需要注意的是,有的时候,PWM的在一定范围变化时,电机的速度变化并不明显,所以不要一味的以为自己的程序或者电机有问题了,可以多试几个值,或者,我们使用一个灯泡试试(即:呼吸灯)。还需要注意的是,如果PWM接3.3~3.5V时,相当于满占空比,所以电机会一直按照你连接的正转/反转方式转下去。

stm32学习探究:利用TB6612驱动直流电机相关推荐

  1. STM32智能小车------PWM驱动直流电机

    文章目录 一.硬件连接 1.器件清单: 2.接线: 3.驱动电机 二.软件驱动代码编写 1.初始化代码 2.电机驱动代码 总结 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的普通大学生. ...

  2. STM32利用STM32CubeMX驱动SDRAM

    STM32利用STM32CubeMX驱动SDRAM 本次发布FMC总线驱动SDRAM的博客,为下次发布LTDC外设驱动RGB屏的博客做准备.利用STM32CubeMX和HAL库,生成的工程代码具有很强 ...

  3. STM32驱动直流电机

    此图为PWM驱动直流电机的接线图 AO1与AO2为电机输出端,与电机相连.(不分正反,对调会使电机反转) STBY为待机控制脚. AIN1.AIN2和PWMA为控制引脚.(AIN1与AIN2为方向控制 ...

  4. stm32学习笔记-6TIM定时器

    6 TIM定时器 文章目录 6 TIM定时器 6.1 TIM定时中断原理 6.2 TIM定时中断相关实验 6.2.1 实验:定时器定时中断-内部时钟 6.2.2 实验:定时器定时中断-外部时钟 6.3 ...

  5. 【MSP432电机驱动学习—上篇】TB6612带稳压电机驱动模块、MG310电机、霍尔编码器

    所用控制板型号:MSP432P401r 今日终于得以继续我的电赛小车速通之路: 苏轼云   "  素面常嫌粉涴 , 洗妆不褪朱红. " 这告诫我们不能只注重在表面粉饰虚伪的自己,要 ...

  6. STM32学习之TFTLCD

    前言 之前的STM32博客学习了从0新建工程,C语言知识复习,总线时钟等基础知识,现在根据手册开始正式的开发项目,本篇博客主要是理解文档中的TFTLCD部分的学习 学习资料来自:STM32F407最小 ...

  7. 《STM32学习笔记》4——核心功能电路与编程(下)

    接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...

  8. STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)

    本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...

  9. STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)

    本篇文章包含的内容 一.输入捕获 1.1 输入捕获简介 1.2 输入捕获通道的工作原理 1.3 输入捕获的主从触发模式 1.4 输入捕获和PWMI结构 二.频率的测量方法 2.1 测频法 2.2 测周 ...

  10. STM32学习笔记(八)丨ADC模数转换器(ADC单、双通道转换)

    本篇文章包含的内容 一.ADC 模数转换器 1.1 ADC简介 1.2 逐次逼近型ADC工作原理 1.3 STM32中的ADC基本结构 1.4 STM32中ADC的输入通道 1.5 STM32中的AD ...

最新文章

  1. 比特币如何实现—《区块链历史链条》2
  2. Delphi中的容器类(二)
  3. c++ opencv 通道转换
  4. 很遗憾,没有一篇文章能讲清楚ZooKeeper
  5. 安装 Go 第三方包 go-sqlite3
  6. eclipse开发jsf_在Eclipse上创建JSF / CDI Maven项目
  7. 排序方法总结C++实现
  8. Golang 受欢迎的原因:大道至简
  9. android studio布局显示图片,Android Studio 使用ImageView时不显示布局
  10. 加入商品分类信息,考虑用户所处阶段的 图模型 推荐算法 Rws(random walk with stage)...
  11. 微信小程序开发--习题
  12. java和美利达_JAVA、GIANT、MERIDA、UCC四大厂商破风铝架横评
  13. 蚂蚁笔记(Leanote) ubuntu安装教程
  14. zabbix启用企业微信告警的脚本
  15. 一块钱可以拿到一包加拿大西洋参 一块钱可以拿到一盒50g正韩一宫庄高丽参 一块钱可以拿到一套保鲜扣扣 一块钱能拿到一盒一宫庄鹿茸 可以去哪里拿? 看在我们的情分上告送你 可以加微**信188 247
  16. MFC: DeviceIoControl 通过API访问设备驱动程序
  17. python数据结构:列表
  18. EDIUS 9带你剪辑萌萌的《疯狂动物城》
  19. 一些鲜为人知却非常实用的数据结构 - Haippy
  20. 微信小程序——模拟时钟案例

热门文章

  1. 糖葫芦低通滤波器的设计
  2. 会声会影高清视频输出(小体积-大高清)
  3. 常用的功率半导体器件汇总
  4. python爬取糗百第一页的笑话
  5. 基于WinForm开发的Ribbon界面案例的扩展
  6. ISO-IEC 27001 SOA适用性说明原文+个人理解
  7. Spiceworks数据统计:Win10发布半年使用情况
  8. 如何识别服务器网站有病毒,网站有病毒怎么解决?
  9. html语言弹出窗口代码,网页弹出窗口代码
  10. mysql MHA集群安装