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

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,电池,降压模块,以及两轮小车连接起来,实现小车的基本走动了。

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

猜你喜欢

转载自blog.csdn.net/m0_46507918/article/details/109270863