芯片引脚介绍
TB6612FNG 是一块专为驱动直流电机设计的双路全桥驱动芯片。
VM:电机电源输入,给电机供电,接STLink5V电源;
VCC:接3.3V;
GND:接地;
AO1/AO2:A通道输出,控制电机A的方向,接直流电机;
BO1/BO2:B通道输出,控制电机B的方向,接直流电机;
PWMA/PWMB:控制A/B电机速度,接stm32引脚(输出PWM波形),通过控制占空比调整电机速度;
STBY:待机控制,接高电平正常工作;
AIN1/AIN2:接stm32的引脚,引脚高低电平变化决控制电机A的方向,如图;
BIN1/BIN2:接stm32的引脚,引脚高低电平变化决控制电机B的方向。
CubeMX配置
输出PWM波形:设置PSC、ARR,设置占空比调整PWM波形的输出。
控制电机旋转速度和方向
结合AIN0/AIN1的高低电平关系,设置电机的旋转方向;设置占空比的值来调速。
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);//AIN1 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);//AIN2 HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);//开启PWM 输出 __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3, 999);//设置CCR的值ARR增大,PWM占空比分辨率提高;如果PWM频率保持不变,电机最大速度基本不变。
电机死区/电机惯性/编码器测速
电机死区:由于启动需要克服摩擦、齿轮阻力、电机惯性等,所以当占空比小于给定值时,电机不会转动。实测测试电机在占空比为650/9999时,不会转动,需要校准。
电机惯性:电机不会瞬间达到目标速度;
编码器测速:编码器模式测得电机速度。