softwareliang 发表于 2017-11-23 16:22:51

关于平衡车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
就这样就可以驱动电机了吗
它在底层的执行顺序是啥样的

softwareliang 发表于 2017-11-24 15:12:09

弄懂了,大概是这样,
电机有tb6612驱动
电机与tb6612连接的引脚在motor.h文件用宏定义说明
#define PWMA   TIM1->CCR1//PA8
#define PWMB   TIM1->CCR4//PA11
控制电机速度
方向有其他引脚控制
pwm通过控制这两个引脚占空比控制速度
页: [1]
查看完整版本: 关于平衡车pwm控制电机的问题,