Silniki kręcą się tylko w jedną stronę

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
Mimal9999
Majsterkowicz
Posty: 64
Rejestracja: 6 wrz 2016, 18:24

Silniki kręcą się tylko w jedną stronę

Post autor: Mimal9999 » 15 maja 2017, 15:51

Witam. Wie ktoś dlaczego silniki kręcą się tylko w jedną stronę przy użyciu sterownika podwójnego L298N i arduino MEGA? Zasilam sterownik z baterii 9V a część logiczną 5V z arduino.

Kod:

Kod: Zaznacz cały

int PP = 2;
int PT = 3;
int LP = 4;
int LT = 5;

void setup(){
 
pinMode (PP,OUTPUT);
pinMode (PT,OUTPUT);
pinMode (LP,OUTPUT);
pinMode (LT,OUTPUT);
}

void loop(){
  //w przod
digitalWrite (PP, HIGH); 
digitalWrite (LP, HIGH);
delay(3000);
digitalWrite(PP, LOW);
digitalWrite(LP, LOW);
delay(500);
// w lewo
digitalWrite (PP, HIGH); 
digitalWrite (LT, HIGH);
delay(1000);
digitalWrite(PP, LOW);
digitalWrite(LT, LOW);
delay(500);
// w przod
digitalWrite (PP, HIGH); 
digitalWrite (LP, HIGH);
delay(3000);
digitalWrite(PP, LOW);
digitalWrite(LP, LOW);
delay(500);
// w prawo
digitalWrite (LP, HIGH); 
digitalWrite (PT, HIGH);
delay(1000);
digitalWrite(LP, LOW);
digitalWrite(PT, LOW);
delay(500);
 //w tyl
digitalWrite (PT, HIGH); 
digitalWrite (LT, HIGH);
delay(2000);
digitalWrite(PT, LOW);
digitalWrite(LT, LOW);
}
W kodzie mam tylko 2 silniki bo patrzyłem czy chociaż z 2 będzie działać.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Silniki kręcą się tylko w jedną stronę

Post autor: Slawek » 16 maja 2017, 09:17

Zakladam, ze pin ENable masz zwarty do 5V zatem aby zmieniac kierunki musisz naprzemiennie zmieniac stany lini sterujacych, czyli np.
(PP, LOW)
(PT, HIGH)

i odwrotny kierunek :

(PP, HIGH)
(PT, LOW)

W innym przypadku potrzebujesz jeszcze podas sygnal pwm za pomoca analogWrite(pin EN, wartosc 0-255).

A najlepiej pokaz schemat jak to masz podlaczone bo trudno zgadywc.

Pozdr
Mimal9999
Majsterkowicz
Posty: 64
Rejestracja: 6 wrz 2016, 18:24

Re: Silniki kręcą się tylko w jedną stronę

Post autor: Mimal9999 » 16 maja 2017, 18:28

Slawek pisze:Zakladam, ze pin ENable masz zwarty do 5V zatem aby zmieniac kierunki musisz naprzemiennie zmieniac stany lini sterujacych, czyli np.
(PP, LOW)
(PT, HIGH)

i odwrotny kierunek :

(PP, HIGH)
(PT, LOW)

W innym przypadku potrzebujesz jeszcze podas sygnal pwm za pomoca analogWrite(pin EN, wartosc 0-255).

A najlepiej pokaz schemat jak to masz podlaczone bo trudno zgadywc.

Pozdr
Nie bardzo wiem jak robić schematy mam tylko moje bazgroły na kartce ale mam piny in podłączone od 2 do 11 pomijając 9 i 10 (tam jest nrf) pin 5V jest podłączony do 5V na sterowniku reszta to zasilanie i tak mam piny en zwarte z 5v. Mam nadzieje że to coś ułatwi
Awatar użytkownika
ethanak
Złota rączka
Posty: 766
Rejestracja: 21 lis 2015, 14:41
Kontakt:

Re: Silniki kręcą się tylko w jedną stronę

Post autor: ethanak » 16 maja 2017, 19:51

To popatrz sobie na program (hm...) i znajdź różnicę między tym, co pokazał Ci Sławek a Twoimi wypocinami.
I tak dziwię się że to coś jeszcze działa - teoretycznie podanie dwóch H na wejścia powinno spalić układ - ale to może wina słabego zasilania ;)
Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie.
To jest ewidentna bezczelność!
Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Silniki kręcą się tylko w jedną stronę

Post autor: Slawek » 16 maja 2017, 20:22

Przy IN1 = HIGH, IN2 = HIGH i EN = 0 jest hamowanie wolne a przy EN zwartym do 5V hamowanie szybkie.
l298.png
Pozdr
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 448
Rejestracja: 29 mar 2015, 15:05

Re: Silniki kręcą się tylko w jedną stronę

Post autor: Slawek » 17 maja 2017, 19:19

Mała errata, nie 10 a 6 pinów, dwa sterujące i jeden enable na silnik. Niektóre gotowe shieldy na arduino maia enable zwarte za pomoca zwory do 5V wiec do sterowania silnikiem potrzeba dwa piny IN, jednak wtedy silnik działa zerojedynkowo czyli albo nic, albo max.

Pozdr
ODPOWIEDZ

Strony partnerskie: