Skocz do zawartości

Projekt manipulatora 4-osiowego - Serwonapędy odmawiają współpracy


WhoAmI

Pomocna odpowiedź

Witam serdecznie innych użytkowników.

W ramach projektu na studia zaprojektowałem, wydrukowałem, oraz zaprogramowałem 4-osiowy manipulator sterowany za pomocą płytki Arduino. Niestety serwonapędy odpowiadające za ruch nie reagują na polecenia, drgają (prawdopodobnie tzw. "servo jitter'). Prosiłbym więc o pomoc w zlokalizowaniu problemu, czy jest to wina sterowania, mojego programu, zasilania bądź też inna możliwość, której nie brałem wcześniej pod uwagę.

Dziękuje wszystkim chętnym za pomóc.

Kod C#.txt

Kod Arduino.txt

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Teraz to już je możesz zasilać czym chcesz, wątpię, żeby ich elektronika wytrzymała 2x większe napięcie niż wyspecyfikowane.

[ Dodano: 04-09-2017, 21:19 ]

A tak na przyszłość, to może zacznij od prostego programu machającego jednym serwem -- na przykład tego z przykładów w Arduino -- i dopiero jak to będzie działać, to podłączaj resztę. Mniej się spali.

Link do komentarza
Share on other sites

Skoro wszystko przetestowałeś tak jak piszesz, Arduino UNO jest sprawne, program używasz z przykładu, połączenia są poprawne, a zasilanie jest takie, jak napisałeś, to nie widzę żadnego innego miejsca, gdzie mógłby być błąd. Pozostaje wniosek, że te serwa są wadliwe, ale coś mi się nie chce w to wierzyć.

[ Dodano: 05-09-2017, 00:46 ]

Jeszcze o jedną rzecz się upewnię. Bo na schemacie niby masz dobrze, ale to częsty błąd przy osobnych zasilaniach. Masę zasilania serw masz połączoną z masą Arduino?

Link do komentarza
Share on other sites

Być może robisz rzeczy, które nam do głowy by nie przyszły. Pokaż dokładny i prawdziwy schemat tego układu z akumulatorem żelowym, jednym serwem i Arduino wykonującym program testowy.

Skąd zasilałeś Arduino w pierwotnym połączeniu z zasilaczem 9V? A skąd teraz, przy akumulatorze 6V? Czy mierzyłeś napięcie zasilacza 9V i teraz, akumulatora gdy serwo wariuje?

Czy możesz wyposażyć program testowy w diodę zapalaną tylko w funkcji setup() na 1 sekundę? O ile pamiętam na UNO masz taką wbudowaną na wyjściu nr 13. Jej zapalanie pokaże, czy procesor się resetuje.

Link do komentarza
Share on other sites

Arduino zasilam z gniazda USB, napięcie było mierzone i jest stałe, bez dziwnych skoków/spadków.

Korzystając z przykładowego kodu:

void setup() {
 myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  pinMode(LED_BUILTIN, OUTPUT);
 digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(1000);                       // wait for a second
 digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
 delay(1000);                       // wait for a second
}

Dioda po zapaleniu się na chwilę, gaśnie i pozostaje wyłączona.

Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.