关于平衡车pwm控制电机的问题,
在control中调用Set_Pwm(Moto1,Moto2);
将moto1和moto2的值赋给pwma和pwmb
void Set_Pwm(int moto1,int moto2)
{
if(moto1>0) AIN2=0, AIN1=1;
else AIN2=1, AIN1=0;
PWMA=myabs(moto1);
if(moto2>0) BIN1=0, BIN2=1;
else BIN1=1, BIN2=0;
PWMB=myabs(moto2);
}
通过宏定义将pwma和pwmb的值给寄存器
#define PWMA TIM1->CCR1//PA8
#define PWMB TIM1->CCR4//PA11
就这样就可以驱动电机了吗
它在底层的执行顺序是啥样的
弄懂了,大概是这样,
电机有tb6612驱动
电机与tb6612连接的引脚在motor.h文件用宏定义说明
#define PWMA TIM1->CCR1//PA8
#define PWMB TIM1->CCR4//PA11
控制电机速度
方向有其他引脚控制
pwm通过控制这两个引脚占空比控制速度
页:
[1]