Skocz do zawartości
ptai66

Problem z działaniem serwa MG996R

Pomocna odpowiedź

Witam, mam problem z działaniem serwomechanizmu firmy TowardPro (tak wiem że jest to tańsza wersja TowerPro jednak nie zorientowałem się podczas zakupu przez internet i pokusiłem niższą ceną), posiadam serwomechanizm TowardPro MG996r i podczas podłączania go pod Arduino aby przez prosty program sterować nim za pomocą potencjometru to nie działa, kod jest poprawny sprawdzałem na innym serwie. Gdy podłączam serwo pod samo zasilanie ono zaczyna pracować jak zwykły silnik a jakby nie odczytuje pozycji potencjometru(?).Jako zasilania używam baterii 9V przez stabilizator 5V/2A.

Udostępnij ten post


Link to post
Share on other sites

@ptai66, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

19 minut temu, ptai66 napisał:

Jako zasilania używam baterii 9V przez stabilizator 5V/2A.

Takiego dużego serwa nie możesz zasilać z baterii 9V. Ma ona za małą wydajność. Wykorzystaj jakiś zasilacz lub użyj koszyk np. na 6xAA.

20 minut temu, ptai66 napisał:

Gdy podłączam serwo pod samo zasilanie ono zaczyna pracować jak zwykły silnik a jakby nie odczytuje pozycji potencjometru(?).

To znaczy, że kręci się w koło (360 stopni, bez żadnej blokady)?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
5 godzin temu, Treker napisał:

To znaczy, że kręci się w koło (360 stopni, bez żadnej blokady)?

@Treker Zauważyłem że na kołach zębatych znajduje się blokada w postaci wystającego malutkiego walca i po wykonaniu obrotu o 180 stopni zaczyna buczeć i nie kręci się dalej, więc jeśli nie ta blokada kręciło by się cały czas.

A czy jeśli bym użył zasilacza 9V/0,6A to nic nie da, chodzi mi o sam fakt, czy natężenie prądu wejściowego może być mniejsze niż takie jakie chce uzyskać czy w jakiś sposób stabilizator zwiększy je, bo już wiem że każdy stabilizator ma swój dropout co do napięcia. Czy pozostaje mi kupno zasilacza o większym natężeniu wyjściowym. Jestem kompletnie zielony narazie w tych sprawach, a mam plan na mechaniczne ramię z pamięcią ruchu. 

 

Edytowano przez ptai66

Udostępnij ten post


Link to post
Share on other sites

Hej. Od razu zaznaczam, że jestem początkujący (kupiłem je jako TowerPro a jak się okazało było Toward...napisze Ci tyle, ile sam zaobserwowałem) ... tez miałem z tymi serwami problemy.

Podłączałem zasilacz 6 v 300 mA i kilka innych zbliżonych 5 i 6 v. (nie pamiętam ile mA). Na zasilaczu 6 v 2 A oba serwa chodzą ładnie i płynnie. Na tych poprzednich albo dojeżdżały do końca i buczały, albo latały tam i z powrotem. Na komplecie baterii jak zalecał Treker tez mi wariowały.

Możesz sprawdzić, czy to jest przyczyna w ten sposób, podłącz serwo i zrób automatyczny ruch od początku do końca i z powrotem. Ja używałem z tego, co pamiętam tego kodu do testów.

#include <Servo.h>
#include <AFMotor.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 10) { // dla pewnosci czy problem nie jest w zbyt duzym zakresie serwa mozesz zmienic np od 160 do 20  
    myservo.write(pos);              
       delay(15);               //zwiekszajac opoznienie np na 70-100 ms oraz wyzej "+= 10" na np 5 lub 3 jak bedzie ok to raczej brak mu 
  }
  for (pos = 180; pos >= 0; pos -= 10) { // dla pewnosci czy problem nie jest w zbyt duzym zakresie ruchu serwa mozesz zmienic np od 160 do 20 
    									//wtedy nie dojdzie do konca tylko bedzie działac w zakresie od 20-160 i wyeliminujesz jedna z przyczyn.
    myservo.write(pos);              
       delay(15);                
  }
}

Po zmianie zasilacza wszystko działa pięknie... (bez ustawiania wielkich opóźnień itp.) a ja szukałem przyczyny w złym sterowaniu przez płytkę, zbyt dalekim zakresie itp...

Z tego, co pamiętam, te serwa mogą potrzebować chwilowo nawet 2 A ale mogę się mylić.

Jeśli tak jest, proszę o poprawę bardziej doświadczonych 😉

Chętnie sam się dowiem czy sprawdzałem to we właściwy sposób.

Mam nadzieje ze choć trochę pomogłem i nie wprowadziłem cię w błąd.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dziękuje za pomoc na dniach postaram się dostać zasilacz odpowiedni i będę informował 😀

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...