stm32学习探究:利用TB6612驱动直流电机
直流电机的驱动
最简单的让直流电机转起来的方法是:直流电机的两个引脚,一个接高电平,一个接低电平。
但是今天,我们总结的是用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驱动直流电机相关推荐
- STM32智能小车------PWM驱动直流电机
文章目录 一.硬件连接 1.器件清单: 2.接线: 3.驱动电机 二.软件驱动代码编写 1.初始化代码 2.电机驱动代码 总结 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的普通大学生. ...
- STM32利用STM32CubeMX驱动SDRAM
STM32利用STM32CubeMX驱动SDRAM 本次发布FMC总线驱动SDRAM的博客,为下次发布LTDC外设驱动RGB屏的博客做准备.利用STM32CubeMX和HAL库,生成的工程代码具有很强 ...
- STM32驱动直流电机
此图为PWM驱动直流电机的接线图 AO1与AO2为电机输出端,与电机相连.(不分正反,对调会使电机反转) STBY为待机控制脚. AIN1.AIN2和PWMA为控制引脚.(AIN1与AIN2为方向控制 ...
- stm32学习笔记-6TIM定时器
6 TIM定时器 文章目录 6 TIM定时器 6.1 TIM定时中断原理 6.2 TIM定时中断相关实验 6.2.1 实验:定时器定时中断-内部时钟 6.2.2 实验:定时器定时中断-外部时钟 6.3 ...
- 【MSP432电机驱动学习—上篇】TB6612带稳压电机驱动模块、MG310电机、霍尔编码器
所用控制板型号:MSP432P401r 今日终于得以继续我的电赛小车速通之路: 苏轼云 " 素面常嫌粉涴 , 洗妆不褪朱红. " 这告诫我们不能只注重在表面粉饰虚伪的自己,要 ...
- STM32学习之TFTLCD
前言 之前的STM32博客学习了从0新建工程,C语言知识复习,总线时钟等基础知识,现在根据手册开始正式的开发项目,本篇博客主要是理解文档中的TFTLCD部分的学习 学习资料来自:STM32F407最小 ...
- 《STM32学习笔记》4——核心功能电路与编程(下)
接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...
- STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)
本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...
- STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)
本篇文章包含的内容 一.输入捕获 1.1 输入捕获简介 1.2 输入捕获通道的工作原理 1.3 输入捕获的主从触发模式 1.4 输入捕获和PWMI结构 二.频率的测量方法 2.1 测频法 2.2 测周 ...
- STM32学习笔记(八)丨ADC模数转换器(ADC单、双通道转换)
本篇文章包含的内容 一.ADC 模数转换器 1.1 ADC简介 1.2 逐次逼近型ADC工作原理 1.3 STM32中的ADC基本结构 1.4 STM32中ADC的输入通道 1.5 STM32中的AD ...
最新文章
- 比特币如何实现—《区块链历史链条》2
- Delphi中的容器类(二)
- c++ opencv 通道转换
- 很遗憾,没有一篇文章能讲清楚ZooKeeper
- 安装 Go 第三方包 go-sqlite3
- eclipse开发jsf_在Eclipse上创建JSF / CDI Maven项目
- 排序方法总结C++实现
- Golang 受欢迎的原因:大道至简
- android studio布局显示图片,Android Studio 使用ImageView时不显示布局
- 加入商品分类信息,考虑用户所处阶段的 图模型 推荐算法 Rws(random walk with stage)...
- 微信小程序开发--习题
- java和美利达_JAVA、GIANT、MERIDA、UCC四大厂商破风铝架横评
- 蚂蚁笔记(Leanote) ubuntu安装教程
- zabbix启用企业微信告警的脚本
- 一块钱可以拿到一包加拿大西洋参 一块钱可以拿到一盒50g正韩一宫庄高丽参 一块钱可以拿到一套保鲜扣扣 一块钱能拿到一盒一宫庄鹿茸 可以去哪里拿? 看在我们的情分上告送你 可以加微**信188 247
- MFC: DeviceIoControl 通过API访问设备驱动程序
- python数据结构:列表
- EDIUS 9带你剪辑萌萌的《疯狂动物城》
- 一些鲜为人知却非常实用的数据结构 - Haippy
- 微信小程序——模拟时钟案例