TB6612 如何驱动电机与降压模块的基本使用

一.TB6612模块


1.TB6612的接线
tb6612是双电机驱动,即可同时驱动两个电机,有四种电机控制模式:正转/反转/制动/停止
VM :5V-10V电压
VCC:逻辑电平输入(接到C8t6上时,接3.3v或5v都可)

M1电机控制端:
pwmA:接到c8t6的pwm输出引脚上(c8t6的pwm是通过定时器输出的,对照数据手册找到相应的定时器pwm输出通道即可)
AIN1\AIN2:接到c8t6的io口(一个为高电平,另一个为低电平即可使电机转动)
AO1\AO2:接电机线

M2电机控制端:
pwmB:接到c8t6的pwm输出引脚上(c8t6的pwm是通过定时器输出的,对照数据手册找到相应的定时器pwm输出通道即可)
BIN1\BIN2:接到c8t6的io口(一个为高电平,另一个为低电平即可使电机转动)
BO1\BO2:接电机线

STBY:这是模块工作状态控制端,高电平工作,低电平不工作(使用时可连接到c8t6的io口,只需把此io口设置为高电平即可)

GND:接地,连接一个即可
2.tb6612控制电机的正反转和转速
正反转是通过AIN1、AIN2、BIN1、BIN2四个引脚控制的,而电机转速是通过PWMA、PWMB控制的
真值表

可以看出只需改变AIN1、AIN2、BIN1、BIN2的高低电平就可实现电机的正反转。
而转速的改变是通过改变pwm的占空比来实现的,高电平占空比越小电机转速越慢,本人的理解是电机在单位时间内接到的高电平时间减少,他的速度就会变慢
下面附上我的pwm输出配置的代码,我是采用了定时器2的通道3和通道4来输出两路pwm波

void TIM2_PWM_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_OCInitTypeDef TIM_OCInitStruct;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStruct);TIM_TimeBaseInitStruct.TIM_Period=899;TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInitStruct.TIM_Prescaler=0;TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM2;TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OC3Init(TIM2,&TIM_OCInitStruct);TIM_OC4Init(TIM2,&TIM_OCInitStruct);TIM_OC3PreloadConfig(TIM2,TIM_OCPreload_Enable);TIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable);TIM_ARRPreloadConfig(TIM2,ENABLE);TIM_Cmd(TIM2,ENABLE);
}

下面是轮子向前转的代码

void car_go(void)
{TIM_SetCompare3(TIM2,200);TIM_SetCompare4(TIM2,200);
}

至于轮子的左转、右转、后退只需通过控制轮子转向与转速即可
二.电源降压模块
我用的是从实验室找到的LM2596S DC可调降压模块

可以看到一共有四个引脚,IN+\IN-是输入端,分别接到电源的正负极,out+\out-是输出端,分别接到c8t6的5v或3.3v和GND,

特别注意:
1.输入、输出不可接反,接反可能会烧毁芯片
2.输入的电压必须比要输出的电压高1.5v以上。且不能用来升压。

当降压值为达到我们所需要的电压值时,我们可通过转动模块上的小黄色柱体,来调节降压值,如图所示

逆时针旋转是降压幅度增大,顺时针旋转是降压幅度减小。

了解了这两个模块,就可以把c8t6,tb6612,电池,降压模块,以及两轮小车连接起来,实现小车的基本走动了。

本人小白一个,文中如有错误还请见谅。

循迹避障小车制作第一篇(tb6612模块与降压模块的使用)相关推荐

  1. STM32循迹避障小车制作代码详解(简单实现版)

    感谢几年来大家的支持,看到大家对工程的呼声很高,所以来把工程上传了,大家自行下载即可哈,谢谢大家支持 这个代码是进阶版的,就是可以跑的很快的,和上面博客的主要区别就是这个代码的避障机制并不是做在主ma ...

  2. STM32蓝牙控制循迹避障小车源代码——4.蓝牙控制

    STM32蓝牙控制循迹避障小车源代码--4.蓝牙控制 注意-所需模块: 蓝牙模块 接线: 串口通信 A2–RX A3–TX 所有的代码都是直接从工程里面复制的,实测是没有问题的. 蓝牙控制原理: 设计 ...

  3. 基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)

    基于STM32F103C8T6的循迹避障小车完整制作过程 本文适合小白观看 由于本人的一个小项目,要做一个基于STM32的循迹避障小车,前后花了约1周的时间,这个过程中也参考了很多大神分享的资料,学到 ...

  4. 基于STC12C5616AD芯片智能循迹避障小车完整制作过程(详细教程)

    前言:本篇文章适合小白阅读,其中有很基础的Keil 5的使用教程等.大多网友知道如何使用,因此大家可以看目录,对于自己而言比较基础的可以不用阅读,重点关注一些迷茫的部分. 智能循迹避障小车教程目录 智 ...

  5. STM32蓝牙控制循迹避障小车——2.循迹模块

    STM32蓝牙控制循迹避障小车源代码--2.循迹模块 注意-所需模块: 接线:四个循迹模块(从左到右分别为1,2,3,4) B4–第1个循迹模块的D0 B5–第2个循迹模块的D0 B6–第3个循迹模块 ...

  6. STM32蓝牙控制循迹避障小车源代码——3.舵机、超声波测距模块

    STM32蓝牙控制循迹避障小车源代码--3.舵机.超声波测距模块 注意-所需模块: US-015超声波模块 SG90舵机云台 接线:舵机超声波: A1–P2.7 B8–Trig B9–Echo 代码 ...

  7. 基于STM32F103的红外循迹避障小车设计(含Proteus仿真)

    基于STM32F103的红外循迹避障小车设计 红外循迹及红外避障实现较简单,无论是51单片机还是STM32单片机,其例程随处可见.但是完全可以运行的Proteus仿真,开源的并不多,更不要说基于STM ...

  8. 基于STM32的智能循迹避障小车实验(小车运动部分)

    写在前面 这个实验是关于智能小车的实验,现在的想法就是先做出一个循迹和避障功能,后续可能会再添加一些其他的模块. 我在做这个实验之前基本了解了F1系列开发板的大部分模块,如果没有学习之前的模块,建议先 ...

  9. STM32蓝牙控制循迹避障小车源代码——5.最终程序

    STM32蓝牙控制循迹避障小车源代码--5.最终程序 将前面4讲的内容整合一起.主函数里用switch函数或者if语句来判断接收到的数据,改变小车的运动. 注意要将控制循迹和避障的参数单独定义一个.否 ...

  10. c语言智能车跑道检测程序,基于单片机的智能循迹避障小车(附电路原理图,程序清单)...

    基于单片机的智能循迹避障小车(附电路原理图,程序清单)(论文10000字) 摘要:目前,移动机器人的开发和研究越来越令人瞩目,而智能循迹壁障小车作为移动机器人的一个重要分支,非常值得我们探索和讨论.智 ...

最新文章

  1. Python 修改终端输入字体颜色值
  2. flink集成springboot案例_Flink从流处理到流批一体的19个最佳实践
  3. 170页PPT入门深度强化学习! 汪荣贵 图灵人工智能 昨天
  4. html仿命令行界面,实战:vue仿dos命令界面
  5. 浅谈面向对象开发原则:高内聚,低耦合
  6. 蚂蚁金服生产级 Raft 算法库存储模块剖析 | SOFAJRaft 实现原理
  7. layUI表单验证不生效的问题
  8. tomcat UTF-8格式的HTML文件乱码
  9. merge规则 python_用Python处理PDF
  10. 关于level_idc
  11. 马尔科夫决策过程(MDP) : BlackJack问题(MC-ES)
  12. ansys15.0安装教程
  13. 【微信支付】微信支付之 Native 支付
  14. 【集合论】关系闭包 ( 关系闭包求法 | 关系图求闭包 | 关系矩阵求闭包 | 闭包运算与关系性质 | 闭包复合运算 )
  15. 互联网时代,站对了风口,猪都能飞起来
  16. Pycharm下同一目录py文件不能相互调用?
  17. 2月14日机构龙虎榜和知名游资操作情况
  18. RTCP(一): RR--Receiver Reports 接收者报告
  19. 基于微信小程序的教务管理系统(教务管理小程序)
  20. html5游戏引擎推荐

热门文章

  1. centos7平台手动搭建snort入侵检测系统
  2. opencms的安装
  3. 电力拖动自动控制系统复习(二)
  4. 怎么把手机字体改成繁体_如何把手机字体变成繁体 繁体字转换器
  5. 用友软件用友二次开发用友单据导入用友凭证导入工具用友EXCEL导入工具EXCEL导入凭证
  6. 【扩频通信】第五章 扩频信号解扩和解调
  7. appfuse mysql_AppFuse 2.1的安装运行步骤
  8. 视频显示服务器无返回播放器,播放器没有办法播放
  9. python入门视频教程
  10. 5W1H 图书管理系统