Skocz do zawartości
Eyeless

Line follower: "z" czy "bez" mikrokntrolera?

Pomocna odpowiedź

W mostku H prąd a więc i obroty silnika zależą od wypełnienia sygnału PWM. Jego częstotliwość jest sprawą drugorzędną, ma być wystarczająco duża i zwykle jest stała, np kilka kHz. Możesz eksperymentować od kilkuset Hz do np. 20kHz. W tym przypadku wypatroszone serwo nie zasługuje już na miano serwomechanizmu, bo została tylko plastikowa wydmuszka obudowy, silnik i przekładnia. Silnik podłączasz dwoma drutami wprost do Twojego mostka a mostek zasilasz z takiego napięcia jakie lubi ten silnik (zwykle 5-6V) plus straty na mostku. Ten akurat test kiepski i tracisz 1.5-3V, więc musisz zasilanie podnieść do 7-8V. Podkreślam: silnik z przekładnią nie jest seromechanizmem.

W serwie przerobionym tak, że potencjometr zastępujesz dwoma opornikami (przypadek 2) nadal masz oryginalną elektronikę serwa, kabelek z typowym złączem 3-kontaktowym i w zasadzie musisz spełniać wymagania producenta. Jeżeli pisze, że 5V to (choć to trochę dziwne) na złączce ma być 5V. Jeśli obiecuje działanie do 6V, radzę podać 6V. Serwa sterujesz sygnałem PPM, który jest zupełnie inny niż PWM z poprzedniego przypadku. Tutaj musi być 50Hz a dla oryginalnej elektroniki serwa liczy się długość pojedynczego impulsu. Możesz ją zmieniać od 1 do 2ms. Ponieważ okres powtarzania wynosi 1/50Hz=20ms, to przeliczając to na wypełnienie masz zakres 10-20%. A teraz najważniejsze: elektronika serwa też ma mostek H po to by mogła dwukierunkowo obracać swoim silnikiem. Niestety nie masz bezpośredniego wpływu na to, jak ten silnik będzie wysterowany. Impulsy PPM służą jedynie do wskazania gdzie ma być ustawiony orczyk serwa czyli de facto potencjometr. Jeśli zastąpiłeś go dwoma identycznymi opornikami "udającymi" pozycję neutralną (środkową) potencjometru, to jedyne co wiesz na pewno to to, że:

- podając impulsy 1.5ms silnik będzie najprawdopodobniej stał, bo elektronika "widzi" impulsy nakazujące ustawienie potencjometru na środku a to właśnie udają dwa oporniki,
- podając impulsy 1ms silnik będzie się obracał z maksymalną prędkością w jedną stronę, bo elektronika "widzi" impulsy nakazujące przesunięcie potencjometru w jedno skrajne położenie a przecież wciąż dostaje z oporników sygnał, że jeszcze tam nie dojechała - i nigdy nie dojedzie,
- z tego samego powodu podając impulsy 2ms silnik będzie się obracał z maksymalną prędkością w drugą stronę.

Nie masz absolutnie żadnej pewności co się będzie działo np. przy impulsach 1.2ms albo np. 1.6ms bo nie wiesz jak elektronika serwa reaguje na drobne odchyłki położenia potencjometru od pozycji zadanej długością impulsów PPM.

Czy to jest jasne? Przemyśl to sobie.

-----------------------------

EDIT: W obu przypadkach stosowania serwomechanizmów do napędu kół musisz zdjąć wewnętrzne blokady mechaniczne tak, by wał wyjściowy mógł się obracać bez przeszkód dookoła.

Nie rozumiem Twoich pytań o napięcia. Wiesz czego potrzebujesz i widzisz co dostajesz. W czym problem?

Udostępnij ten post


Link to post
Share on other sites

Tak, każde zagadnienie staje się coraz bardziej zrozumiałe. Mogę znaleźć w internecie poradniki jak przerobić serwo, aby działało z zewnętrznym mostkiem H i została z niego tylko plastikowa wydmuszka obudowy, silnik i przekładnia?

Udostępnij ten post


Link to post
Share on other sites

marek1707, Dlaczego dziwne? Serwa są zasilane s BEC poprzez odbiornik - mają więc 5V.

A serwa reagują na pośrednie długości (pomiędzy 1 a 2ms) liniową zmianą prędkości obrotów, testowałem to.

Udostępnij ten post


Link to post
Share on other sites

Tak jest od niedawna i to też nie wszędzie. Serwa modelarskie mają długą historię. Zanim wymyślono i wprowadzono regulatory silników wyposażone w BEC (Battery Eliminator Circuit) odbiorniki modelarskie były zasilane z 4 akumulatorów NiMH (4.8V) a serwa albo z tego samego albo z osobnego pakietu 5 takich akumulatorów (6V). Dlatego producenckie specyfikacje wielu serwomechanizmów obejmują ten zakres napięć a momenty podaje się właśnie dla 6V, bo wtedy są maksymalne - a przecież trzeba się czymś w katalogu pochwalić.

5V o których piszesz jest "ugodą" między producentami nowoczesnych odbiorników wymagających takiego napięcia do zasilania swoich procesorów (choć obecnie 3.3V też by im wystarczyło, no ale mamy standard) a wymaganiami na moc/prąd silnika serwa.

Acha, wyobraź sobie model szybowca - tam nie masz regulatora z BEC bo nie masz silnika. Możesz wstawić LiPol 2S i stabilizator 5V, ale wielu modelarzy wciąż lata na 4-celowych pakietach NiMH zasilając serwa napięciem dużo poniżej 5V. Dlatego wymaganie 5V wydało mi się dziwne choć jestem w stanie zrozumieć, że większość nowego pokolenia użytkowników nie ma pojęcia o innych opcjach niż tylko ESC+BEC.

To, że badane przez Ciebie serwo tak reaguje nie jest regułą. Dlatego napisałem, że nie wiadomo co się będzie działo, bo akurat takie zachowanie (przez nas tutaj pożądane) zwiększającego się wysterowania silnika w miarę oddalania się impulsów PPM od położenia potencjometru jest bez sensu z punktu widzenia regulacji położenia. Wszystko zależy od konstrukcji elektroniki i serwo innego producenta może mieć zupełnie inną, np. prawie trzystanową charakterystykę (lewo 100% - stop - prawo 100%) z ostrymi przejściami między stanami. Moim zdaniem nie można na tym bazować w projekcie chyba, że Eyeless kupi dwa konkretne serwa, zmodyfikuje je i zbada ich zachowanie. Jeżeli regulacja prędkości za pomocą PPM będzie w miarę OK to może uznać, że będą mu pasować. Tylko te konkretne i z tej produkcji. Tak można robić w jednostkowych zabawkach, ale takie postępowanie nie jest chyba dobrym i polecanym "wzorcem projektowym", nie uważasz? To trochę tak, jakbyś podkręcił zasilacz do 6.5V i stwierdził, że wszystkie 5V procesory przeżywają i działają przy 6.5V a potem radził to innym. Jest to cecha absolutnie pozakatalogowa i nikt nie da gwarancji, że kupione jutro nawet takie same serwo będzie zachowywało się tak samo.

Udostępnij ten post


Link to post
Share on other sites

OK, to w tej chwili ma już komplet informacji i niech podejmie decyzję:

➡️ Własny PWM + mostek H + gołe silniki

czy

➡️ Elektronika serwa + sterowanie PPM

Aby "ułatwić" wybór może jeszcze dorzucę kilka zdań: 🙂

Choć elektronika serwa ma w sobie mostek H, to raczej nie jest on przystosowany do pracy z ciągłym obciążeniem 100%. W typowym układzie pracy serwo działa start-stopowo tylko w momencie zmiany położenia. Dopóki nie mamy na pokładzie samolotu systemu żyroskopowej stabilizacji lotu (który rusza wszystkimi sterami właściwie ciągle), typowy modelarz nie macha drążkami jak cepami a konstruktorzy serwomechanizmów korzystają z tego skwapliwie zmniejszając i potaniając swoją elektronikę.

Typowy driver silnika w serwie będzie jednak lepszy niż archeologiczne wykopalisko typu L293 lub L298, więc straty napięcia na nim będą mniejsze i przy tam samym zasilaniu serwo z własną elektroniką będzie raczej szybsze niż sam silnik napędzany ze starego mostka bipolarnego. Można oczywiście dać większe napięcie na własny mostek lub kupić lepszy (czyt: droższy) scalak mostka.

Moim zdaniem 100% pewność liniowej pracy napędu przy jego sterowaniu z własnego mostka popychanego własnym sygnałem PWM jest przewagą, ale prostota konstrukcji wynikająca z zachowania oryginalnej elektroniki serwa jest dużą zaletą.

W przypadku współpracy z jakimiś nietrywialnymi algorytmami śledzenia linii (np. PID) liniowy napęd któremu można wygenerować sygnał 0-100% i oczekiwać w miarę sensownej odpowiedzi jest fajny. Z uwagi na nieznaną charakterystykę sterowania w przypadku elektroniki serwa, zakres pracy czyli długości impulsów PPM pokrywających 0-100% obrotów silnika trzeba będzie dobrać eksperymentalnie.

Elektronika serwa dostaje informację w postaci impulsów PPM co 20ms, czyli "tylko" 50 razy na sekundę i tego nie przeskoczymy. To oznacza średnie opóźnienie napędu właśnie w okolicach 20ms na dowolną komendę wypracowaną w procesorze. W przypadku generowania sygnału PWM dla mostka mamy już częstotliwość kHz (100 razy szybciej) a szybkość reakcji zależy głównie od częstotliwości powtarzania pętli regulacji w procesorze. Raz wymyślona przez program decyzja natychmiast zamienia się na liczbę ładowaną do rejestru timera a ta za kilkadziesiąt mikrosekund zmienia wysterowanie silnika. W serwie komenda najpierw musi przejść przez wolny kanał PPM a potem jeszcze zostać zinterpretowana przez elektronikę serwa.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Tak z ciekawosci - od czego jest skrot PPM? Przyznam, ze pierwszy raz slysze zeby serwa nie byly sterowane z PWM. Jak widac cale zycie czlowiek sie uczy.

Udostępnij ten post


Link to post
Share on other sites

A to jeszcze starsza historia. U zarania dziejów modelarskiego zdalnego sterowania, gdy już znudziła się zabawa z 2-3-4 kanałowymi aparaturami typu włącz-wyłącz, gdzie na wyjściu mieliśmy po prostu 2, 3 lub 4 przekaźniki załączające elektromagnesy przechylające stery lewo-środek-prawo, zaczęto pracować nad sterowaniem proporcjonalnym. O procesorach mieszczących się w jednym scalaku nikt wtedy nie marzył. W technice cyfrowej królowały układy TTL więc o jakichś skomplikowanych kodowaniach, ramkach cyfrowych i kodach kontrolnych nikt nie myślał. Szybko wybrano wersję z kodowaniem długości impulsu, czyli takie swoiste przesyłanie informacji analogowej przez kanał cyfrowy. Ponieważ nowy odbiornik musiał być prosty i bazować wyłącznie na układach TTL (nie licząc oczywiście części radiowej) wymyślono następujący sposób: w powietrzu przesyłano ciąg bardzo krótkich (poniżej 100us) impulsów wyznaczających "przejścia" między kolejnymi kanałami. Tak więc pierwszy impuls po dłuższej przerwie rozpoczynał sekwencję i uaktywniał (zresetowany długą przerwą) dekoder odbiornika wystawiając stan wysoki na pierwsze wyjście. Kolejny impuls radiowy po prostu przesuwał jedynkę z wyjścia 1 na 2, kolejny z 2 na 3 itd. Tak więc po 9 impulsach mieliśmy jedynki "pokazane" kolejno na 8 wyjściach. Gdybyśmy obserwowali tylko jedno wyjście odbiornika, to zobaczylibyśmy znany już sygnał 1-2ms co ok. 20ms. I takie serwa zostały zaprojektowane i okazały się wielkim sukcesem. Aparatury Varioprop i Webraprop były marzeniem każdego modelarza z demoludów a krótkie impulsy radiowe, których pozycja wyznaczała koniec jedynki na jednym wyjściu i początek na drugim dały nazwę standardu Pulse Position Modulation, PPM 🙂

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Wlasnie PPM tez mi tylko do Pulse Position Modulation pasowalo. Moim zdaniem serwo jest jak najbardziej sterowane za pomoca PWM. Natomiast mozna wykorzystac jeden kanal do wysterowania wielu serwomechanizmow, wtedy bedzie to typowe TDMA (Time Division Multiple Access).

PPM to troche co innego - moment pojawienia sie impulsu przenosi informacje.

W przypadku TDMA kazdy uklad dostaje swoje "okno czasowe" - identycznie jak np. w GSM. W obrebie okna mozna przesylac informacje na wiele sposobow, dla serw bedzie to PWM.

[ Dodano: 02-04-2015, 15:15 ]

Moze jestem w bledzie ale moim zdaniem:

1) serwo sterujemy tylko i wylacznie za pomoca PWM

2) sterownik serw mozne wykorzystywac multipleksowanie, np. za pomoca TDMA (czy tez PPM)

Udostępnij ten post


Link to post
Share on other sites

Nazwa PPM jak najbardziej pasuje do struktury sygnału przesyłanego (kiedyś) przez radio. Dziś w tym standardzie pracują jeszcze stare aparatury na 27 i 35MHz, ale wszystko na 2.4GHz ma już pełną transmisję cyfrową. Dlaczego pasuje i nie jest to TDMA? Bo nie ma tu ustalonych szczelin czasowych o znanym położeniu względem.. czegoś, np. początku ramki. Ramka może być dłuższa lub krótsza a poszczególne kanały zajmują dokładnie tyle miejsca w czasie, jaka informacja jest w nich zakodowana. A kodowanie jest dokonywane poprzez zmianę położenia impulsów - PPM.

Przy okazji: chyba myślałeś raczej o TDM (Time Division Multiplexing) czyli o multipleksowaniu z podziałem czasu, gdzie rzeczywiście mamy sztywne sloty czasowe. TDMA a w szczególności człon MA (Multiple Access) to nie ta bajka - nie mamy tu dostępu wielu nadajników do jednego medium.

Moim zdaniem, mimo pozornego podobieństwa nie można sygnału dla serwa nazwać PWM. Różnica jest delikatna, ale zauważ, że w sygnale PWM informacja jest niesiona jakby przez wartość średnią. Im bardziej zwiększysz wypełnienie, tym sygnał (np. obroty/prąd silnika) jest większy. Serwo mierzy natomiast długość impulsu. Możesz zmieniać częstotliwość (oczywiście w granicach rozsądku) co pociągnie za sobą zmianę wypełnienia (czyli również wartości średniej) a jeśli tylko zachowasz impuls 1.5ms serwo będzie stało w pozycji neutralnej. Dlatego moim zdaniem - o ile nazwa PPM rzeczywiście do tego nie pasuje (ale jest używana ze względów historycznych - przez "przeniesienie" z sygnału radiowego i wszyscy się już przyzwyczaili) o tyle PWM to już raczej nie. Mimo, że wygląda to na zmianę wypełnienia, de facto jest zmianą długości impulsu - więc powinno nazywać się PLM (Pulse Length Modulation) czy jakoś tak. Tylko kogo to dzisiaj obchodzi? 🙂

Udostępnij ten post


Link to post
Share on other sites

Moim zdaniem, mozna mowic o PPM czy tez TDM (z A przesadzilem) w przypadku sterownika wielu sero. Wtedy ten sterownik moze takiego kodowania jak najbardziej uzywac. Moze tez byc sterownany przez I2C, RS-232, czy inne lacze.

Natomiast serwo, jako pojedynczy element, np. MG-995 jest sterowane z PWM. Tak sie przyjelo i jakos nigdy innego okreslenia nie widzialem:

http://en.wikipedia.org/wiki/Pulse-width_modulation

Podobnie podaje datashet od MG-995.

Natomiast wymyslanie nowej terminologii to chyba nie najlepszy pomysl.

[ Dodano: 02-04-2015, 16:43 ]

http://en.wikipedia.org/wiki/Servo_control

Udostępnij ten post


Link to post
Share on other sites

OK, zmieniamy długość impulsu więc Pulse Width Modulation też pasuje. Ważne, by pamiętać o co w tym wszystkim chodzi i w jaki sposób jest kodowana informacja.

Nie mam zamiaru wymyślać i próbować stosować nowego nazewnictwa. Chciałem tylko zwrócić uwagę na drobne różnice w tym jak sygnał (niech będzie) PWM jest wykorzystywany przez mostek/silnik a jak przez serwo. W pierwszym przypadku szerokość impulsu jest odnoszona do całego okresu i w tym sensie ważne jest wypełnienie czyli wartość średnia, a w drugim ważny jest tylko impuls - i tu okres powtarzania a więc i wypełnienie nie mają znaczenia.

Moim zdaniem PWM intuicyjnie "odbieramy" raczej w ten pierwszy sposób, a różnica sprowadza się jedynie do interpretacji przychodzącego sygnału.

Udostępnij ten post


Link to post
Share on other sites

Pojawil sie spory offtopic w temacie, moze admini powinni wydzielic? W kazdym razie temat chyba ciekawy - przy najmniej jak dla mnie. O PPM i sterownikach RC w takim ujeciu wczesniej nie slyszalem, wiec dziekuje za informacje. Zawsze milo czegos nowego sie dowiedziec 🙂

Udostępnij ten post


Link to post
Share on other sites

Sporo osób przechodzi na PPM w sterownikach RC z tego względu, że zamiast 8 kabelków mamy jeden. Mniejsza waga, mniej galimatiasu, mniej miejsc do ewentualnego wypięcia się przewodu.

Bywają z tym też kłopoty, gdy wszystkie kanały mają maksymalną wartość i przerwa pomiędzy kolejnymi ramkami bywa wtedy zbyt mała by ją wykryć. Pamiętam, że z rok temu autorzy ArduPilota naprawiali to wraz z jakimś znanym producentem odbiorników RC.

Udostępnij ten post


Link to post
Share on other sites
OK, to w tej chwili ma już komplet informacji i niech podejmie decyzję:

➡️ Własny PWM + mostek H + gołe silniki

czy

➡️ Elektronika serwa + sterowanie PPM

Decyduje się na sterowanie z mostkiem H.

W jaki sposób mogę przerobić serwo, aby zostały gołe silniki?

Istnieje jakaś strona ze wskazówkami i opisem?

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!

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