Pytanie:
Serwo drga w określonych pozycjach, dlaczego?
Moulde
2011-06-27 23:39:44 UTC
view on stackexchange narkive permalink

Mam Pololu Micro Maestro i jest świetny, ale kiedy mówię serwomechanizmom, aby ustawiły się w określonych pozycjach, czasami wydaje dźwięk podobny do pikania. Dzieje się to tylko w określonych miejscach. Nie dlatego, że staram się, aby poszło dalej niż jest to możliwe, dzieje się tak również, gdy jest umieszczony pośrodku.

Dzieje się tak, gdy używam laptopa do sterowania serwami za pośrednictwem aplikacji napisanej w .NET

Próbowałem kontrolować je tylko za pomocą własnej aplikacji lub panelu sterowania maestro.

Czy jest jakiś sposób, aby tego uniknąć?

Mam nadzieję rozumiecie, o co mi chodzi. Dzięki

Rozważ sprawdzenie wyjścia micro maestro i zobaczenie, czy szerokość impulsu w tych pozycjach jest różna. Ponadto zamień serwomechanizmy i użyj różnych modeli serw, aby sprawdzić, czy problem porusza się z serwomechanizmem, występuje na wszystkich portach, czy tylko na kilku wyjściach. Dodatkowe testy powinny pokazać, czy jest to problem z serwomechanizmem, sterownikiem serwa lub oprogramowaniem.
Jak właściwie sterujesz serwomechanizmem? Sygnał PWM? Jak to jest drukowane? Czy używasz dedykowanego sprzętu?
Myślę, że najlepszą odpowiedzią, jaką tu uzyskasz, jest "Robi to, ponieważ serwa hobbystyczne są bzdury". Czy próbowałeś różnych serw?
Sześć odpowiedzi:
John R. Strohm
2011-06-30 02:59:25 UTC
view on stackexchange narkive permalink

Sygnał sterujący serwomechanizmu R / C to ciąg impulsów. Istnieją dwa parametry opisujące ciąg impulsów: szerokość impulsu (PW) i interwał powtarzania impulsu (PRI). PW steruje położeniem serwomechanizmu. Jest krytyczny i musi być stabilny. PRI nie jest tak krytyczny, przynajmniej w przypadku serwomechanizmów R / C: generalnie będą zadowoleni z PRI w zakresie od 20 do 50 ms i nie mają nic przeciwko temu, że niektóre się różnią. (Zobaczysz także PRF, dla częstotliwości powtarzania impulsów, zwykle w systemach radarowych. PRI 20-50 ms odpowiada PRF od 50 do 20 Hz.)

Każdy rodzaj niestabilności szerokości impulsu (PW ) spowoduje "brzęczenie" serwomechanizmu, goniąc za sygnałem sterującym. Taka niestabilność może być wywołana OGROMNYM poborem prądu serwomechanizmu w ruchu, jeśli zasilacz W OBWODZIE STERUJĄCYM ma niewystarczającą zdolność udarową. (Standardowe serwo w kontrolowanym ruchu może z łatwością pobierać 250 mA. „Brzęczące” serwo może pobierać impulsy o połowie mocy. Tak, wynika to z doświadczenia.)

Niestabilność PRI generalnie nie jest problemem dla serwo R / C.

Pierwszą rzeczą, którą bym zrobił, to zawiesić około 250 uF kondensatora bezpośrednio na przewodach zasilających serwa. Drugą rzeczą, którą bym zrobił, to zakres sygnału sterującego, wyzwalanie na zboczu narastającym i przyjrzenie się problemowym zakresom, aby zobaczyć, czy w ogóle zmienia się synchronizacja na zboczu opadającym.

Każdy, kto planuje grę z serwomechanizmami należy rozpocząć od podłączenia falownika 555 i jednotranzystorowego, generując sygnał sterujący serwomechanizmem całkowicie sprzętowo i grając z tym. Oglądanie serwomechanizmu siedzącego tam, brzęczącego, obserwowanie, jak amperomierz zasilacza krąży po całym miejscu, rejestrując skoki półwzmacniacza, jest INSTRUKCYJNE. Oswajanie tej bestii jest tym bardziej pożądane. Uwaga: Ten obwód zademonstruje również tolerancję serwomechanizmu na zmienne PRI: najprostszy generator impulsów 555 do tego celu będzie różnił PRI, ponieważ zmienia się PW.

Olin Lathrop
2011-06-28 00:20:44 UTC
view on stackexchange narkive permalink

Czy laptop wykonuje kontrolę w pętli zamkniętej? Jeśli tak, jest to prawdopodobnie spowodowane próbą kontroli w czasie rzeczywistym w systemie operacyjnym, który nie jest w czasie rzeczywistym. Zmierzyłem Windows wychodzący na lunch na kilka 100 ms na raz tylko dlatego, że mysz została przesunięta. Jeśli twoje iteracje sterowania są szybsze, takie opóźnienie spowoduje niestabilność.

Jeśli laptop wysyła tylko polecenia wysokiego poziomu do dedykowanego kontrolera, który wykonuje faktyczne sterowanie, trudno zgadnąć, co się dzieje na. Jak jest wytwarzany sygnał zwrotny położenia? Jeśli pochodzi z garnka, może być szorstki.

Pololu Micro Maestro to kontroler serwo. Przykro mi, że o tym nie wspomniałem, ale najprawdopodobniej nadal będziesz musiał przeprowadzić proste wyszukiwanie, ponieważ nie mogę podać wszystkich szczegółów dotyczących urządzenia. Domyślam się, że jest to druga opcja, o której wspominasz w kwestii wysyłania poleceń do dedykowanego kontrolera.
Wątpię, czy możliwość pracy w czasie innym niż rzeczywisty w systemie Windows ma coś wspólnego z „Dzieje się to tylko w określonych miejscach”.
@kenny jeśli Windows musiał zamykać pętlę to bardzo dobrze mógłby być jej źródłem nawet w określonych pozycjach. Filtr / kontroler może mieć dziwne bieguny lub zera, które pojawiają się z powodu dziwnego taktowania okien, które wpływają tylko na określone pozycje. Ale to nie wydaje się być problemem.
@kennny, Myślę, że przegapiłem część dotyczącą konkretnych pozycji. Jeśli to naprawdę prawda, to zła informacja zwrotna, jak szorstki garnek, jeśli tego właśnie używają, wydaje się bardziej prawdopodobnym winowajcą.
@kenny, istnieją dwa parametry opisujące ciąg impulsów: szerokość impulsu (PW) i interwał powtarzania impulsu (PRI). PW steruje położeniem serwomechanizmu. Jest krytyczny i musi być stabilny. PRI nie jest tak krytyczny, przynajmniej w przypadku serwomechanizmów R / C: generalnie będą zadowoleni z PRI w zakresie od 20 do 50 ms i nie mają nic przeciwko temu, że niektóre się różnią. (Zobaczysz również PRF, dla częstotliwości powtarzania impulsów, zwykle w systemach radarowych. PRI 20-50 ms odpowiada PRF od 50 do 20 Hz.)
Tim Williscroft
2011-06-28 05:22:54 UTC
view on stackexchange narkive permalink

Nasze doświadczenie z modelowymi serwami do zdalnego sterowania i kartami Pololu jest takie, że niektóre serwomechanizmy mają zaszumione pozycje.

To serwo, a nie kontroler. Zamień serwo, jeśli potrzebujesz lepszej wydajności.

Tak, tak mówi @Moulde. Nie dajesz żadnych wyjaśnień ani sugestii, jak tego uniknąć. -1
@Federico: dodał rozwiązanie.
Nie rozumiem tego, bo serwo to dość drogi Hitec HS-7950TH !?
Yann Vernier
2011-06-29 00:01:47 UTC
view on stackexchange narkive permalink

To pojedynczy PIC robi więcej kanałów PWM niż ma timery. To, jak dobrze to zrobi, zależy całkowicie od tego, co robi program w PIC. W tym projekcie użyłbym licznika czasu, aby odmierzyć długości impulsów, przerwać, aby wykonać przełączanie wyjścia i odpytywanie oprogramowania dla USB i portu szeregowego, aby nie mógł przerwać synchronizacji wyjść serwomechanizmu. Wiele innych kombinacji będzie mieć zakłócenia między taktowaniem kanałów serwa lub aktualizacjami zewnętrznymi. Może to być określone pozycje, które widzisz, pokrywają się z biciem serca na USB.

user924
2011-06-30 21:52:33 UTC
view on stackexchange narkive permalink

Jeśli twoje serwo oscyluje z amplitudą jednego kroku enkodera, sprawdź, czy funkcja o nazwie „coś martwego” jest używana poprawnie. Jeśli nie jest włączone, twoje serwo zawsze ma szansę trafić w niepewne miejsce w pobliżu pozycji enkodera N i N + 1 lub N-1. Serwo próbuje wyeliminować najmniejszy 1-krokowy błąd i przeskakuje o jeden krok więcej, lub enkoder ma wrażliwość na szumy lub światło pola magnetycznego i ciągle zmienia zdanie między N a N + 1.

Niepewny odczyt jest nieunikniony w każdej kompilacji bez względu na to, jak dobre i drogie są części. Aby to naprawić, konfiguracja PID musi ignorować błędy pozycji mniejsze lub równe 1 krokowi enkodera.

John R. Strohm
2011-09-14 09:35:41 UTC
view on stackexchange narkive permalink

Jeśli jest to konwencjonalne serwomechanizm R / C, używa on potencjometru do wykrywania położenia wału i generowania wewnętrznego sygnału błędu, który napędza silnik. Potencjometry mogą się zabrudzić. MOŻESZ spróbować ostrożnie operować serwomechanizm i spryskać naczynie roztworem do czyszczenia styków.

Lub spróbować innego serwomechanizmu.

W zależności od matematyki Twojego prawa sterowania w komputerze (. NET -> kontroler PC), możesz mieć matematyczną niestabilność, która pojawia się w poleceniach serwomechanizmu.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...