平衡车-电机调速和调向

平衡车-电机调速和调向

芯片引脚介绍

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时,不会转动,需要校准。

电机惯性:电机不会瞬间达到目标速度;

编码器测速:编码器模式测得电机速度。