Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak poprawnie podłączyć serwomechanizm do Arduino?

03 Wrz 2017 01:21 2271 25
  • Poziom 5  
    Witam, mam problem z działaniem serwomechanizmu Towardpro MG996R. Napisałem program na Arduino do sterowania serwomechanizmem, który działa poprawnie, testowałem go wcześniej na serwie micro i wszystko działało bez zarzutu. Problem pojawił się gdy zamieniłem serwomechanizm na Towardpro MG996R. Otóż po załączeniu Arduino, serwomechanizm nie wykonywał poleceń, serwo wariowało oraz Arduino restartowało się co ok 5sek. Pomyślałem więc, że prąd pobierany przez to serwo jest za duży na zasilanie z USB więc podłączyłem zewnętrzne zasilanie tylko do serwomechanizmu, a Arduino poprzez USB, oraz oczywiście połączyłem masy obu zasilań ze sobą, lecz efekt dalej bez zmian. Co dziwniejsze gdy zrobiłem tak samo z drugim serwem,(micro) czyli podłączyłem do niego osobne zasilanie z pakietu 2 akumulatorów 18650 połączonych szeregowo i poprzez przetwornice step down 5V 3A, serwo wykonywało poprawnie polecenia z Arduino, lecz w stanie spoczynku dosyć mocno buczało i wibrowało, co w przypadku zasilania z USB nie miało takiego miejsca. Pytanie więc jest takie: Jakie mogą być przyczyny takiego zachowania? A może serwomechanizmy łączy się z Arduino w inny sposób?
  • BotlandBotland
  • Pomocny post
    Poziom 9  
    Posiadam ten serwo mechanizm. Masy polacz razem z adruino (brazowy kabel) vcc do innego zrodla zasilania zeby uniknac restartow(czerwony kabel) no i zólty służy do sterowania. nie pamietam jaki jest teraz zakres dlugosci sygnalu ale chyba od 1.5 do 2.5ms. Jak chcesz na maxa pojechac w jedna strone to np dajesz stan wysoki i po 2.5 ms dajesz stan niski jak chcesz powrot to dajesz czas np 1.5ms i wraca na pozycje wyjsciową. zakres musisz przetestowac bo wiem ze jak bawilem sie tym serwem to sobie tak ustawilem zakres zeby osiagnac maxymalny kat 180. i po kazdym sygnale musi byc jakis odstep czasowy zeby silnik nie wariowal. W moim przypadku mialem zasilacz do serwa regulowany 5v do 1A. I nie korzystalem z arduino tylko z atmegi 328p-pu i eclipe ,nie wiem jak tam wyglada biblioteka do arduino i serwa.

    Jak osiagniesz maxymalny zakres to serwo bedzie stało w miejscu i buczało.
  • Użytkownik usunął konto  
  • Pomocny post
    Poziom 21  
    Czy masz na pewno Arduino na 5V? Jak robiłem kiedyś eksperymenty z sygnałem sterującym o amplitudzie 3.3V jedne serwa działały inne nie.
  • Użytkownik usunął konto  
  • Pomocny post
    Poziom 21  
    Piotrus_999 masz rację. Sprawdziłem w dokumentacji przykładowego kontrolera serwa M51660L - napięcie sterujące >3V. Jednak napięcie wyjściowe z portu jest niższe od napięcie zasilania i jest blisko granicy. Ja miałem problemy z popularnym tanim modułem z STM32F103 (na obrazku). Dopiero po dodaniu bufora podwyższającego napięcia serwa pracowały stabilnie. Może był zasilany z 3V a nie z 3.3V - nie pamiętam.

    Jak poprawnie podłączyć serwomechanizm do Arduino?
  • Poziom 5  
    ExtreMme napisał:
    Posiadam ten serwo mechanizm. Masy polacz razem z adruino (brazowy kabel) vcc do innego zrodla zasilania zeby uniknac restartow(czerwony kabel) no i zólty służy do sterowania.

    Czyli serwo podłączam prawidłowo.

    R-MIK napisał:
    Pokaż przebieg sygnału sterującego serwomechanizmem na oscyloskopie.

    Niestety nie posiadam oscyloskopu. Jestem początkującym elektronikiem.

    Piotr Piechota napisał:
    Czy masz na pewno Arduino na 5V?

    Arduino podpięte pod USB komputera więc zasilanie jest na pewno 5V.

    Piotrus_999 napisał:
    To miales jakies stare śmieci. Wszystkie serwa muszą działać na 3.2 V

    ?

    Tutaj zdjęcie mojego programu, Jak poprawnie podłączyć serwomechanizm do Arduino?20170903_1..034.jpg Download (2.19 MB) może coś muszę zmienić?
    Później wstawię filmik pokazujący jak to wygląda.

    Dodano po 5 [minuty]:

    Piotr Piechota napisał:
    Piotrus_999 masz rację. Sprawdziłem w dokumentacji przykładowego kontrolera serwa M51660L - napięcie sterujące >3V. Jednak napięcie wyjściowe z portu jest niższe od napięcie zasilania i jest blisko granicy. Ja miałem problemy z popularnym tanim modułem z STM32F103 (na obrazku). Dopiero po dodaniu bufora podwyższającego napięcia serwa pracowały stabilnie. Może był zasilany z 3V a nie z 3.3V - nie pamiętam.

    Nie za bardzo rozumiem, jestem początkujący w Arduino i serwomechanizmach, mógłbyś to wytłumaczyć?
  • BotlandBotland
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 5  
    Napięcie zmierzone: 5.13V
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 5  
    R-MIK napisał:
    15ms zwiększ do 20 a nawet do 25. Dawno serw nie robiłem ale cos mi sie kojarzy, ze min wymagana przerwa pomiędzy impulsami dla wielu modelu serw to 20ms.

    Zmiana na 25ms pomogła, lecz dalej przy pozycji 0 serwo jest niestabilne, więc zmieniłem pozycje 0 na 5 i wszystko teraz działa prawidłowo. Dzięki za pomoc. Tylko dlaczego przy pozycji 0 serwo jest niestabilne? I czy powinienem się martwić buczeniem serwa w trakcie spoczynku, czy to jest normalne zachowanie? (Pierwszy raz zajmuję się serwami)
  • Pomocny post
    Użytkownik usunął konto  
  • Pomocny post
    Użytkownik usunął konto  
  • Pomocny post
    Poziom 21  
    cyfrowe tanie chińskie serwa potrafią "buczeć" nawet nieobciążone, sterowane w moim przypadku z odbiornika FrSky
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 21  
    Buczenie buczeniu nie równe. Przy lekkim buczeniu (drganiach) serwo nie pobiera dużego prądu. Ja zawsze latałem z lekkim niepokojem wiedząc jak zawodne są tanie podzespoły modelarskie ;)
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 5  
    Spokojnie, serwo będzie użyte do projektu naziemnego :) , a dokładnie będzie podnosiło 4 blaszki(cele), które po zestrzeleniu z wiatrówki mają się podnieść.
    Jak wszystko będzie już gotowe to zamieszczę post w dziale DIY i wstawię linka tutaj.
    Czas realizacji ok. 2tyg.
  • Pomocny post
    Poziom 36  
    Piotrus_999 napisał:
    Jak buczy to prąd konsumuje na potęgę. Nie wiem, ja bym się nie odważył latać


    Piotr mylisz się troszkę cyfrowe serwa często "buczą" ,bo są bardzo precyzyjne i często nawet minimalna siła przyłożona do orczyka powoduje że brzęczą czy buczą . Część serwomechanizmów może pracować cyfrowo z powtarzaniem sygnału sterującego nawet do 333Hz a część używa sygnałów specjalnych gdzie środek to 760us Serw do żyroskopu w śmigłowcach. Przypadek kolegi wynika raczej ze zbyt częstego powtarzania sygnału sterującego dla starszego serwa anologowego bo normalny sygnał ma impuls od 1 do 2ms i przerwę wynikająca z sygnału synchronizacji dla odbiornika plus 7 sygnałów serwomechanizmów więc to przerwa od 25-40 ms .

    edit :Poprawiłem jednostki jak słusznie zauważył Piotruś 760us nie jak było 760ms
  • Użytkownik usunął konto  
  • Pomocny post
    Poziom 36  
    Piotruś masz zupełną rację 760us nie jak napisałem 760ms błąd poprawiłem . Poza tym większość starych serwomechanizmów pracowała na napięciu od ok 4 do 6V dopiero po wprowadzeniu na rynek akumulatorów LIPO i LIFE większość firm zaczęła oferować serwomechanizmy na napięcie do 8,4V z oznaczeniem HV .

    Co do mojej wiedzy w tym zakresie wynika ona z zawodniczego uprawiana jednej z klas modelarstwa lotniczego ,ale na tym forum to sprawa drugorzędna i nie ma to większego znaczenia w posiadaniu czysto teoretycznej wiedzy w tym temacie.
  • Użytkownik usunął konto  
  • Użytkownik usunął konto  
  • Poziom 5  
    Chyba już wiem co jest przyczyną buczenia serwa i drgań przy pozycji 0 stopni. Bawiłem się długi czas z programem, co by mogło być nie tak, i zacząłem dodawać po jednym stopniu do "pos = 0".
    Gdy doszedłem do wartości "pos = 16" ,serwo przestało buczeć i zachowuję się w tej chwili perfekcyjnie. Możliwe, że serwo jest rozregulowane i pozycje początkową uzyskuje przy 16 stopniach. Co o tym sądzicie?
  • Pomocny post
    Poziom 36  
    Prędzej spodziewał bym się wadliwego potencjometru w okolicy zera. Potencjometry w serwomechanizmach najczęściej zużywają się w okolicy neutrum wynika to z faktu że to miejsce jest najbardziej używane przynajmniej w modelach RC i kończy się to brakiem neutrum lub pływaniem pozycji środkowej . Serwo zatrzymuje się w różnych pozycjach zbliżonych do neutralnej +/- kilka stopni . Może więc serwa które posiadasz są po prostu zużyte na tyle że nie działa poprawnie .