百度seo网站优化,网站建设审核,搜索引擎最佳化,著名食品包装设计的案例TB6612FNG简介
单片机引脚的电流一般只有几十个毫安#xff0c;无法驱动电机#xff0c;因此一般是通过单片机控制电机驱动芯片进而控制电机。TB6612是比较常用的电机驱动芯片之一。 TB6612FNG可以同时控制两个电机#xff0c;工作电流1.2A#xff0c;最大电流3.2A。 VM电…TB6612FNG简介
单片机引脚的电流一般只有几十个毫安无法驱动电机因此一般是通过单片机控制电机驱动芯片进而控制电机。TB6612是比较常用的电机驱动芯片之一。 TB6612FNG可以同时控制两个电机工作电流1.2A最大电流3.2A。 VM电机电源正极是驱动电压输入端10V)VCC为逻辑电平输入端(2.7V~5.5V)。PWMA/PWMB为两个电机提供pwm脉冲也就是控制电机的速度。AIN1/AIN2,BIN1/BIN2.控制电机的正反转和停止
只需改变AIN1、AIN2、BIN1、BIN2的高低电平就可实现电机的正反转。 STBY可以理解为一个使能端口高电平有效。AO1和AO2是电机A的输入电压也就是这两个口接电机的正负极BO1和BO2是电机A的输入电压也就是这两个口接电机的正负极 工程创建
这里我只驱动一个电机先设置一下正反转的控制引脚。 然后用定时器1来输出两路的PWM其实只需要用到一路不过下意识设置了两个懒得改了
PWMA配置 PWMB配置 配置下中断 工程代码
在主函数初始化
//打开定时器
HAL_TIM_PWM_Start(htim1,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(htim1,TIM_CHANNEL_4);
//设置AIN1 和AIN2 让电机A反转
HAL_GPIO_WritePin(AIN1_GPIO_Port,AIN1_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(AIN2_GPIO_Port,AIN2_Pin,GPIO_PIN_SET);
在循环里面不断改变占空去看电机效果 HAL_GPIO_WritePin(AIN1_GPIO_Port,AIN1_Pin,GPIO_PIN_RESET);HAL_GPIO_WritePin(AIN2_GPIO_Port,AIN2_Pin,GPIO_PIN_SET);for(int i0;i7100;i){__HAL_TIM_SET_COMPARE(htim1,TIM_CHANNEL_4,i);HAL_Delay(1);}for(int j7100;j0;j--){__HAL_TIM_SET_COMPARE(htim1,TIM_CHANNEL_4,j);HAL_Delay(1);}