не понимаю почему не работает через шилд esp13

ejik_off
Offline
Зарегистрирован: 24.02.2018

Здравствуйте, ребята нужна ваша помощь.

Купил набор https://www.aliexpress.com/item/OSO...453.html?spm=a2g0s.9042311.0.0.2cc84c4dGb5od0

собрал как сказано в инструкции, но при движении робота крутятся только колеса с правой стороны.

если подключаю не использую шилд esp13 как на схеме работают все 4 мотора

если подключаю как на схеме ниже то работают моторы только с одной стороны, К1 и К2

в чем может быть проблема?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

ejik_off пишет:

в чем может быть проблема?

На 90% в программе, которую Вы не представили. Будете вставлять - прочитайте наставления по вставке программы.

ejik_off
Offline
Зарегистрирован: 24.02.2018


#define dir1PinL  2    //Motor direction
#define dir2PinL  4    //Motor direction
#define speedPinL 6    // Needs to be a PWM pin to be able to control motor speed

#define dir1PinR  7    //Motor direction
#define dir2PinR  8   //Motor direction
#define speedPinR 5    // Needs to be a PWM pin to be able to control motor speed
/*motor control*/
void go_Advance(void) //Forward
{
digitalWrite(dir1PinL, HIGH);
digitalWrite(dir2PinL,LOW);
digitalWrite(dir1PinR,HIGH);
digitalWrite(dir2PinR,LOW);
}
void go_Left(void) //Turn left
{
digitalWrite(dir1PinL, HIGH);
digitalWrite(dir2PinL,LOW);
digitalWrite(dir1PinR,LOW);
digitalWrite(dir2PinR,HIGH);
}
void go_Right(void) //Turn right
{
digitalWrite(dir1PinL, LOW);
digitalWrite(dir2PinL,HIGH);
digitalWrite(dir1PinR,HIGH);
digitalWrite(dir2PinR,LOW);
}
void go_Back(void) //Reverse
{
digitalWrite(dir1PinL, LOW);
digitalWrite(dir2PinL,HIGH);
digitalWrite(dir1PinR,LOW);
digitalWrite(dir2PinR,HIGH);
}
void stop_Stop() //Stop
{
digitalWrite(dir1PinL, LOW);
digitalWrite(dir2PinL,LOW);
digitalWrite(dir1PinR,LOW);
digitalWrite(dir2PinR,LOW);
}

/*set motor speed */
void set_Motorspeed(int speed_L,int speed_R)
{
analogWrite(speedPinL,speed_L);
analogWrite(speedPinR,speed_R);
}

//Pins initialize
void init_GPIO()
{
pinMode(dir1PinL, OUTPUT);
pinMode(dir2PinL, OUTPUT);
pinMode(speedPinL, OUTPUT);

pinMode(dir1PinR, OUTPUT);
pinMode(dir2PinR, OUTPUT);
pinMode(speedPinR, OUTPUT);
stop_Stop();
}

void setup()
{
init_GPIO();
go_Advance();//Forward
set_Motorspeed(255,255);
delay(5000);

go_Back();//Reverse
set_Motorspeed(255,255);
delay(5000);

go_Left();//Turn left
set_Motorspeed(255,255);
delay(5000);

go_Right();//Turn right
set_Motorspeed(255,255);
delay(5000);

stop_Stop();//Stop

}

void loop(){
}

 

kalapanga
Offline
Зарегистрирован: 23.10.2016

Что тут подсказать можно? Надо тестер брать и смотреть, чего моторам не хватает. Скорее всего неконтакт где-то. Или питание на грани, что подключили есп оно и кончилось. Или собрали не по схеме. Приведённая картинка - это как должно быть, а как на самом деле мы не знаем. А программа вряд ли виновата, она небось в обоих случаях одна и та же?

ejik_off
Offline
Зарегистрирован: 24.02.2018

программа одна и таже, питание идет от 2-х батареек 18650 4,2В. подключил один в один со схомой. что бы проврить что питания досточно, отключил 2 мотора, осавил по одному на каждой стороне. но ничего не изменилось.

kalapanga
Offline
Зарегистрирован: 23.10.2016

Приборы-то что показывают? На пинах драйвера моторов то, что должно быть? И с питанием непонятно. Что за 4,2 вольта? У Вас две батареи по 3,7V. Должно 7,4 V быть. Вы их на драйвер не забыли подать?

В общем расскажите точнее как всё запитано. На картинках этого нет.

ejik_off
Offline
Зарегистрирован: 24.02.2018

kalapanga пишет:

Приборы-то что показывают? На пинах драйвера моторов то, что должно быть? И с питанием непонятно. Что за 4,2 вольта? У Вас две батареи по 3,7V. Должно 7,4 V быть. Вы их на драйвер не забыли подать?

В общем расскажите точнее как всё запитано. На картинках этого нет.

Извинити что так долго отвечаю

О каких приборах идет речь?

питание на драйвера моторов подключено. Вот тут фото как все подключено - https://dropmefiles.com/jkvJp