对于6612我脑子里只有组里前辈说过的一句话:“别把线接错了,接错就烧了?”
6612就是整个小车的心脏arduino板发送信息给6612然后6612驱动马达转动,于是小车就转起来了。
在驱动器的VM接口要接12V电源为电机供电,而VCC要接5V电源为芯片供电并于微控制器通信。这两个如果接反了?,6612就废了。
以下为每个引脚的功能:
- VM:电机电压,负责为电机供电,接12V电压;
- VCC:逻辑电压,为芯片供电并与微控制器通信,接5V电压;
- GND:电机电压与逻辑电压的公共接地;
- STBY:正常工作待机状态的工作引脚接3.3V电压;
- AO1/AO2:A电机的两个输出端口;
- BO1/BO2:B电机的两个输出端口;
- AIN1/AIN2:A电机的两个输入端口,控制A电机转向;
- BIN1/BIN2:B点击的两个输入端口,控制B电机转向 ;
- PWMA:A电机信号输入端,控制A电机转速;
- PWMB:B电机信号输入端,控制B电机转速;
示例代码:
int PWMA=3;
int PWMB=5;
int AIN1=8;
int AIN2=9;
int STBY=10;
int BIN1=11;
int BIN2=12;
void setup()
{
pinMode(PWMA,OUTPUT);
pinMode(AIN1,OUTPUT);
pinMode(AIN2,OUTPUT);
pinMode(PWMB,OUTPUT);
pinMode(BIN1,OUTPUT);
pinMode(BIN2,OUTPUT);
pinMode(STBY,OUTPUT);
}
void loop()
{
move(1,255,1);
move(2,255,1);
}
void move(int motor,int pwm,int mode)
{
boolean pin1=HIGH;
boolean pin2=LOW;
if(mode!=1)
{
pin1=LOW;
pin2=HIGH;
}
digitalWrite(STBY,HIGH);
if(motor==1)
{
digitalWrite(AIN1,pin1);
digitalWrite(AIN2,pin2);
analogWrite(PWMA,pwm);
}
else
{
digitalWrite(BIN1,pin1);
digitalWrite(BIN2,pin2);
analogWrite(PWMB,pwm);
}
}