Skocz do zawartości

Pololu HP 210:1 - problem ze sterowaniem(L293D i Arduino)


Pomocna odpowiedź

Napisano

Witam wszystkich serdecznie,

Potrzebuję pomocy ze sterowaniem tymi silnikami (Pololu HP 210:1). Dziś je kupiłem i do sterowania ich wykorzystuję sterownik L293D oraz Arduino Leonardo. Problem polega na tym, że nieważne, który kierunek obrotu podam dla silnika to wał obraca się tylko w jedną stronę. Dzieje się tak na obu kanałach, dla obu silników. Już nawet testowałem kod z kursu Arduino, w którym kierunek i PWM zmienia się co ileś sekund i owszem, PWM się zmieniał ale kierunek już nie.

P.S Wcześniej na sterowniku SN754410 było to samo.

Macie jakieś rozwiązanie na coś takiego?

Schemat podłączeń i kod obecny jest taki sam jak w https://forbot.pl/blog/artykuly/programowanie/kurs-arduino-8-sterowanie-silnikami-dc-petla-for-id8311

Co byś nie musiał szukać:

void setup() { 
 pinMode(6, OUTPUT); //Sygnał PWM silnika nr 1
 digitalWrite(6, HIGH); //Ustawiamy (na stałe) stan wysoki na pinie 6

 pinMode(7, OUTPUT); //Sygnały sterujące kierunkiem obrotów silnika nr 1
 pinMode(8, OUTPUT);
} 

void loop()  {   
 digitalWrite(7, LOW); //Silnik nr 1 - obroty w lewo
 digitalWrite(8, HIGH); 
 delay(3000);

 digitalWrite(7, HIGH); //Silnik nr 1 - obroty w prawo
 digitalWrite(8, LOW); 
 delay(3000);                          
}

ArdKurs_2-650x211.png

Tylko oczywiście zamiast diod idą 2 kabelki do linii, w którą wpiąłem + z silnika.

Pierwsza uwaga to zasilanie silnika z baterii która kompletnie się do tego nie nadaje. Rozumiem że sprawdzałeś oscyloskopem szynę zasilania mikrokontrolera podczas pracy silnika i pod tym kątem jest wszystko cacy?

Tylko oczywiście zamiast diod idą 2 kabelki do linii, w którą wpiąłem + z silnika.

Możesz to jakoś jaśniej opisać? Najpierw dwa kabelki, potem nagle + z silnika? A może mam sobie poszukać?

A po zmianie bateryjki 9V na coś poważniejszego (koszyczek 5-6 paluszków AA? zasilacz wtyczkowy 9-12V?) spróbuj od początku. Budując driver silnika i napotykając kłopoty musisz jakoś dojść gdzie jest problem. Próbuj więc izolować i zawężać obszary. Przecież do włączenia silnika nie potrzebujesz Arduino. Masz tylko trzy sygnały sterujące. Wywal komputerek a druty wejściowe mostka podłączaj do plusa lub masy w zależności od tego co ma tam być. Bez problemu sprawdzisz wszystkich 8 kombinacji stanów i zauważysz zachowania silnika pomijając zbędne programowania i ładowania kodu. Napisz jak poszło. Akurat ten scalak jest bardzo prosty i szybko dojdziesz co spaprałeś w układzie. Potem od drugiej strony: włączasz samo Arduino i weryfikujesz multimetrem napięcia na jego wyjściach których używasz do sterowania mostkiem. Jeśli sam mostek będzie już działał po poprzednich próbach i teraz Arduino też będzie wysyłało poprawne sygnały, to ich połączenie też powinno zadziałać.

Nie wszystko na raz, działaj systematycznie i sprawdzaj układy po kawałku. Poczynając od zasilania, idąc od wyjść (driver silnika) poprzez sterowanie (Arduino) aż do wejść (ew. czujniki lub przyciski).

Korzystam z baterii Li-Po 7,4 V 😃 Chodziło mi o schemat połączeń, że jest taki sam, a nie wszystko identycznie. Z problemem już sobie poradziłem. Dzięki za chęci pomocy.

No to spójrz: prosiłeś o pomoc i znaleźli się ludzie którzy pochylili się nad Twoim problemem i poświęcając swój czas próbowali pomóc tak dobrze, jak to tylko zdalnie było możliwe. Czy nie sądzisz, że dobrym zwyczajem jest szczegółowe opisanie rozwiązania? Tym bardziej, że ten wątek pewnie czyta w tej chwili kilku podobnych Tobie amatorów, połowa z nich najara się na serwo a połowa tej połowy za chwilę trafi na te same grabie.

A poza tym sam jestem ciekaw co skopałeś, jak to znalazłeś i co zmieniłeś. Nawet niech to będzie np. "Ech, pomyliłem kable, zawsze uważajcie na łączenie zgodnie ze schematem. Nigdy nie róbcie tego w czasie oglądania House of Cards" - zawsze to jakaś nauka.

BTW: No i LiPol 2S to jednak nie 9V - to Forum techniczne. Ktoś próbujący pomóc musi mieć komplet informacji a takie drobne mijanki z prawdą (które Tobie wydają się nieznaczące) tylko zaciemniają obraz. Wyobraź sobie, że Twój mostek ma np. minimalne napięcie pracy 8V. My to wiemy więc gdy piszesz twardo "9V" nikt się nie przyczepi a w rzeczywistości tu może leżeć problem. Na drugi raz nie ściemniaj.

Wybaczcie, za tę baterię, liczyłem na to, że zwrócicie uwagę jedynie na połączenia wychodzące i wchodzące z/do Arduino bez zwracania uwagi na to zasilanie. Nie pomyślałem o tym.

Już piszę jak to rozwiązałem:(błąd był bardzo podstawowy)

1) Błędne rozwiązanie: Wpinałem - z silnika do grounda, zaś + silnika na wyjście ze sterownika, przez co nieważne, który kanał sterownika zasiliłem to i tak wał silnika kręcił się w jedną stronę.

2) Rozwiązanie: Wpiąłem - z silnika w wyjście 1Y z regulatora, a + z silnika w 2Y regulatora dzięki czemu silnik mógł się kręcić w dwie strony i w ten sposób już mogłem sobie programem wybrać, który sygnał z Arduino w którym kierunku ma mi obracać wałem.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...