TB6612驱动电机
一、连线
PWMA---连接程序中的端口 VM------连接高电平
AIN2-----连接高电平(1) VCC-----连接VCC
AIN1-----连接低电平(0) GND-----接地
STBY----连接VCC A01-----连接电机1
BIN1--- 连接低电平(0) A02-----连接电机1
BIN2---- 连接高电平(1) B2------连接电机2
PWMB---连接程序中的端口 B1------连接电机2
GND-----接地 GND----接地
二、TB6612芯片引脚图
三、TB6612原理
STBY口接单片机的IO口清零电机全部停止,置1通过AIN1,AIN2,BIN1,BIN2控制电机的正反转
VM(4.5~15 V)和VCC(2.7~5.5 V)
四、PWM简介
假定定时器工作在向上计数PWM模式,且当CNT<CCRx时,输出为0,当CCRx>=CCRx时,输出为1.
所以可以得到如上的IO逻辑示意图:当CNT值小于CCRx的时候,IO输出低电平(0),当CNT>=CCRx的时候,IO输出高电平(1),当CNT达到ARR值的时候,重新归零,然后重新向上计数,依次循环。
五、直流电机的驱动
关于直流电机的驱动,代码如下:
void TIM1_PWM_Init(u16 arr,u16 psc)
{ RCC->APB1ENR|=1<<2; //TIM4时钟使能 RCC->APB2ENR|=1<<3;GPIOB->CRL&=0X00FFFF00; //PB0 1 6 7清除之前的设置GPIOB->CRL|=0X3B000033; //复用功能输出 GPIOB->CRH&=0XFFFFFFF0; //PB8清除之前的设置GPIOB->CRH|=0X00000003; //复用功能输出 TIM4->ARR=arr; //设定计数器自动重装值 TIM4->PSC=psc; //预分频器设置TIM4->CCMR1|=6<<4; //CH1 PWM1模式 TIM4->CCMR1|=1<<3; //CH1预装载使能 TIM4->CCER|=1<<0; //OC1 输出使能 //TIM4->BDTR|=1<<15; //MOE 主输出使能 TIM4->CR1=0x0080; //ARPE使能 TIM4->CR1|=0x01; //使能定时器1 //TIM1RCC->APB2ENR|=1<<11; //TIM1时钟使能RCC->APB2ENR|=1<<2;GPIOA->CRH&=0XFFFFFFF0; //PA8清除之前的设置GPIOA->CRH|=0X0000000B; //复用功能输出 TIM1->ARR=arr; //设定计数器自动重装值 TIM1->PSC=psc; //预分频器设置TIM1->CCMR1|=6<<4; //CH1 PWM1模式 TIM1->CCMR1|=1<<3; //CH1预装载使能 TIM1->CCER|=1<<0; //OC1 输出使能 TIM1->BDTR|=1<<15; //MOE 主输出使能 TIM1->CR1=0x0080; //ARPE使能 TIM1->CR1|=0x01; //使能定时器1
} void Go_Straight(int left,int right)
{ LEFT_PWM_VAL=left; //250RIGHT_PWM_VAL=right; //270GPIOB->ODR|=1<<0; //PB0 1 GPIOB->ODR&=~(1<<1); //PB1 0GPIOB->ODR|=1<<7; //PB7 1 GPIOB->ODR&=~(1<<8); //PB8 0}void Stop(void)
{GPIOB->ODR&=0<<0;GPIOB->ODR&=0<<1;GPIOB->ODR&=0<<7; //PB7 0 GPIOB->ODR&=0<<8; //PB8 0}
TB6612驱动电机相关推荐
- 猿创征文|OneOS 万耦启物TB6612驱动电机
猿创征文|OneOS 万耦启物TB6612驱动电机 1. 介绍
- Stm32-使用TB6612驱动电机及编码器测速
这里写目录标题 起因 一.电机及编码器的参数 二.硬件 三.接线 四.驱动电机 1.TB6612电机驱动 2.定时器的PWM模式驱动电机 五.编码器测速 1.定时器的编码器接口模式 2.定时器编码器模 ...
- 【project】Adruino小型自平衡机器人EVA(+硬件+源代码+3D文件)
文章目录 00-灵感篇 01-设计篇 02-硬件篇 03-原理篇 04-软件篇 05-3D打印篇 06-测试篇 网盘链接 对某个篇章感兴趣的,请直接跳转 00-灵感篇 小型自平衡机器人EVA的 ...
- STM32智能小车------PWM驱动直流电机
文章目录 一.硬件连接 1.器件清单: 2.接线: 3.驱动电机 二.软件驱动代码编写 1.初始化代码 2.电机驱动代码 总结 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的普通大学生. ...
- 平衡小车从0开始stm32带源码
平衡小车为鸭脖智能的,但不推荐购买,太垄断了,一般零件只能买他们家的,而且还贵,不开源.做的不错,不如原子好. 一.电机.编码器介绍 电机使用的是JGB37-520(带有霍尔编码器),属于价格中等性能 ...
- ROS机器人小车底盘DIY有何难?不枉学一番工业设计,巧手搭躯壳
ROS机器人小车底盘DIY有何难?不枉学一番工业设计,巧手搭躯壳 目标: 四轮驱动,可扩展多层的车架结构. 孔位设计: 固定轮子(底座) 固定雷达 固定扩展多层支柱 固定主板,其他传感器,穿线孔等 c ...
- 【MSP432电机驱动设计—下篇】霍尔编码器测车轮运行距离与M/T综合公式法测速概念
开发板型号为MSP432P401r 今日得以继续我的MSP432电赛速通之路,本篇使用MSP432编程学习霍尔编码器M/T公式法测速概念,最终实现用外部中断方式测得小车行走路程,文章学习讲解原理.附上 ...
- 我的PID学习历程---PID位置式和增量式
文章目录 起因 一.什么是开环系统? 二.什么是PID? KP,KI,KD三个参数的作用 三.PID算法的离散化 1.什么是位置式PID? 2.位置式PID实现 3.什么是增量式PID? 4.增量式P ...
- CC3200+TB6612FNG 驱动电机实现开环控制
电机特性 电机采用的是额定电压为12V,额定功率为4.32W的永磁有刷电机. 使用说明上建议电机驱动频率是10kHz,也就是周期为0.1ms,这个后续编程会用到. 电机1号线和6号线分别为电机线-和电 ...
- STM32平衡小车 TB6612电机驱动学习
TB6612FNG简介 单片机引脚的电流一般只有几十个毫安,无法驱动电机,因此一般是通过单片机控制电机驱动芯片进而控制电机.TB6612是比较常用的电机驱动芯片之一. TB6612FNG可以同时控制两 ...
最新文章
- 自己动手写C语言编译器(3)
- Xcode 7中Static Cells自动计算高度失效的解决方法
- H3C 路由器配置console密码登录[学习]
- Farseer.Net ORM开源框架 V0.x 教程目录
- C#关于读写INI文件
- spring cloud+.net core搭建微服务架构:Api授权认证(六)
- python比较运算符重载_python运算符重载
- idea2020.03 lombok异常
- 网页控制台调用click()失败_C# 调用百度AI 人脸识别
- Ubuntu 配置串口信息
- 生意人没有“攀比”的目标,会过的很迷茫
- android:windowSoftInputMode属性使用
- 【NOIP2013】【Luogu1969】积木大赛(贪心,差分)
- php和tp中生成二维码电子名片
- [转] 串、并行加法器
- 怎么把epub转换成txt文本
- Linux入门系列课程一
- 文件加密共享防止转发-冷杉云盘
- 描述一系列的几何图形,包括矩形,圆形,三角形
- 【遇见Doris】Apache Doris在一点资讯自媒体平台的应用