Skocz do zawartości
alshrom

Serwomechanizm- problem z utrzymaniem pozycji po ponownym włączeniu zasilania

Pomocna odpowiedź

9 godzin temu, alshrom napisał:

Chciałem zastosować serwo, a nie silnik z przekładnią

A czym jest serwo, jeśli nie silnikiem z przekładnią?

9 godzin temu, alshrom napisał:

można łatwo sterować prędkością obrotową

Jak widzisz, wcale nie jest tak łatwo. Stosując zwykłę serwo łatwo sterujesz położeniem, a nie prędkością bo ta jest stała.

9 godzin temu, alshrom napisał:

I tutaj mam pytanie: czy istnieją serwa modelarskie, które mogą wysyłać sygnał do arduino nt. swojej aktualnej pozycji?

Tak, na przykład takie

Ewentualnie robisz to, o czym parę postów wyżej rozmawialiśmy z @marek1707

9 godzin temu, alshrom napisał:

3. Stosuję silnik z przekładnią, którego obroty i kierunek mogę sterować np. za pomocą mostka typu H.

Czyli samodzielnie w pocie czoła konstruujesz to, co można kupić w sklepie pod nazwą "servo" 🙂

Dodatkowa możliwość:

4. Stosujesz silnik krokowy.

5. Kupujesz serwo, wywalasz całą elektronikę podłączasz swoją (połączenie punktu 2 i 3, osobiście bym to zastosował gdyby finansowo się opłacało bo najmniej roboty i odpadają jakieś czujniki położenia).

9 godzin temu, alshrom napisał:

Z geometrii mojego układu wynika, że potrzebuję napędu, który wykona około 5 obr/min.

Takie silniczki (12V) kolega kiedyś kupił na Allegro ale nie mogę znaleźć aukcji.

Zresztą z Twojego programu wynika, że ok. 11, wcześniej coś mówiłeś o 2 sekundach, stąd moja propozycja silnika 14 RPM.

 

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
8 godzin temu, ethanak napisał:

Jak widzisz, wcale nie jest tak łatwo. Stosując zwykłę serwo łatwo sterujesz położeniem, a nie prędkością bo ta jest stała.

Ale też nie trudno, zależy od programu sterującego. Pisałem kiedyś sterownik 12 serw i prędkością mogłem sterować niemal dowolnie na każdym serwie, rozdzielczość zależy od możliwości serwa ale  nawet te malutkie Tower Pro SG90 działały całkiem płynnie jeśli się nie przesadziło ze spowolnieniem. Wystarczy wprowadzić niewielkie opóźnienia pomiędzy zmiany wypełnienia sygnału sterującego. Ten sygnał nie jest zbyt szybki 50 - 100Hz i spokojnie można sobie taką funkcję zaimplementować nawet dla większej ilości serw.

Udostępnij ten post


Link to post
Share on other sites

Na dzień dzisiejszy najbardziej skłaniam się ku pomysłowi by zastosować serwo 360 stopni (kupić gotowe lub przerobić- ważne by miało odpowiedni moment i było wodoodporne). Nie rozumiem tylko jednej rzeczy- na jakiej podstawie działa sterowanie prędkością w takim serwie. Dlaczego  czym większa jest nastawa od wartości w której serwo się nie obraca, tym szybciej się ono kręci. Jeżeli nastawię serwo by kręciło się na 95 stopni  (gdzie np przy 90 sie nie rusza) to czy uzyskam wtedy moment obrotowy jaki jest deklarowany?

Sam silnik z przekładnią byłby wg. mnie najwygodniejszym rozwiązaniem, ale niestety nie znalazłem nic co by pasowało mi obrotami, gabarytami i było wodoodporne.

 

Udostępnij ten post


Link to post
Share on other sites

W tego typu mechanizmie nie ma pętli sprzężenia zwrotnego, także od prędkości. To prosty układ przyjmujący impulsy typowe dla serwomechanizmów modelarskich, porównujący je ze wzorcem 1ms i na podstawie wielkości różnicy produkujący wysterowanie dla mostka H. Im Twój impuls jest bardziej odległy od "neutralnej" 1ms (co odpowiada środkowej pozycji normalnego serwa, czyli położeniu 90°) tym większe wypełnienie ma PWM dla silniczka. Oczywiście znak różnicy czasów mówi o kierunku. Nie ma żadnej gwarancji momentu, no chyba że dasz "całą wstecz" (0.5ms) lub całą naprzód" (1.5ms) - bo wtedy możesz oczekiwać pełnego momentu gwarantowanego przez producenta. W każdym innym przypadku jest "jakiś" a Ty widzisz go jako zmiany prędkości przy której aktualnie dostarczana do silnika moc równoważy moc potrzebną do pokonania oporów ruchu. Jeśli taki biegnący luzem silnik obciążysz, obroty spadną, prąd wzrośnie i zrównoważy nowe opory przy jakiejś mniejszej prędkości. Nie regulujesz zatem prędkości tylko PWM silniczka.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Dziś przyszło do mnie serwo- PowerHD LF-20MG-360 standard. Stworzyłem prosty program do przetestowania motoru i pojawił się problem.

Przy włączeniu programu serwo chwile czeka, rusza się o kilkanaście stopni i następnie znowu czeka. Przy testowaniu zwykłego serwa analogowego zmieniało ono prawidłowo zadaną pozycję, gdy było zasilane z płytki arduino, ale gdy było zasilanie z zasilacza to się trzęsie . Do zasilania użyłem zasilacza 5,5V, 2000mA. Wcześniej, gdy chciałem przetestować serwo na moim docelowym programie to efekt był podobny. Jedynie gdy na zasilaczu zmieniłem napięcie zasilania na 2v to wtedy serwo zaczęło równo się kręcić. Czy problem z moim nowym serwem może wynikać z zasilacza?

Dla pewności wstawiam kod do testowania

#include <Servo.h>

Servo servo;  




void setup() {
  servo.attach(9);  
}

void loop() {
 servo.write(55);     
   
}

 

Edytowano przez alshrom

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