各位先进好,我要用L293D ESP12E Lua电机驱动板,控制我的小车时,遇到2个问题: 1.因为我的小车,为了要在前轮不转动时,可以自动回正,所以前轮有加弹簧,我用电机驱动板,给前轮马达5V时,前轮马达会因弹簧而卡住,导致电机驱动板由5V,降为0V,且马达卡住时,电机驱动板会发出声音,过几十秒后,电机驱动板就冒白烟了。 所以有2个问题要请教各位先进: 1.我要如何做,让前轮马达可以左右转动,而不会因弹簧而卡住呢? 2.当马达卡住时,要如何做,电机驱动板才不会由5V,降为0V,而导致发出声音,冒白烟烧掉呢? 以下是我的程序代码: */ /****************************************************************************************** 电机的引脚定义及接线说明 ******************************************************************************************/ int pwm1 =5;//PWMA(电机A转速) int dir1 =0;//DIRA(电机A方向) int pwm2 =4;//PWMB(电机B转速) int dir2 =2;//DIRB(电机B方向) /****************************************************************************************** 埠初始化 ******************************************************************************************/ voidsetup() { pinMode(dir1, OUTPUT); //定义数字14 接口为输出接口 pinMode(dir2, OUTPUT); //定义数字15 接口为输出接口 } /****************************************************************************************** 小车前进 ******************************************************************************************/ voidfront_run(int value) //前进 { digitalWrite(dir1, HIGH); analogWrite(pwm1, value); //PWM Speed Control delay(30); } /****************************************************************************************** 小车后退 ******************************************************************************************/ voidback_run(int value) //后退 { digitalWrite(dir1, LOW); analogWrite(pwm1, value); //PWM Speed Control delay(30); } /****************************************************************************************** 小车左转 ******************************************************************************************/ voidleft_run(int value) //左转 { digitalWrite(dir2, HIGH); analogWrite(pwm2 , value); //PWM Speed Control delay(30); } /****************************************************************************************** 小车右转 ******************************************************************************************/ voidright_run(int value) //右转 { digitalWrite(dir2, LOW); analogWrite(pwm2 , value); //PWM Speed Control delay(30); } /****************************************************************************************** 主程序 ******************************************************************************************/ void loop() { front_run(100); //前进 delay(1000); // back_run(255); //后退 // delay(1000); left_run(255); //左转 delay(1000); // right_run(100); //右转 // delay(1000); } /****************************************************************************************** END ******************************************************************************************/
|