Skocz do zawartości

Schemat sterownika serw


piotrek038

Pomocna odpowiedź

Witam,

zrobiłem schemat sterownika serw... sterowanie za pomocą przycisków. Trochę nietypowo bo są 2 uC z czego jeden obsługuje 2 serwa a drugi resztę.

Płytki jeszcze nie mam, poczekam aż usłyszę opinie czy dobrze.

Nie jestem w sumie pewny co do filtrowania zasilania, podłączenia tych przycisków jednocześnie do 2 uC i tego wskaźnika napięcia. Potencjometrem ustawiam napięcie poniżej którego włącza się dioda. Zasilanie z 3s albo 2s lipola.

I może ktoś sprawdzał jaki prąd można bezpiecznie puścić tą szarą taśmą? Chce zasilić 4 serwa 10g... a one mogą czasem trochę pociągnąć... generalnie nie będą pod dużym obciążeniem wiec moim zdaniem powinno dać radę.

Schemat w eaglu do pobrania.

A tu obraz.

razraz.sch

Link do komentarza
Share on other sites

1.Mikrokontrolery można połączyć ze sobą np. przez magistralę I2C,SPI, ale jak dla mnie można to zrealizować na 1 Atmedze 8.Nie ma potrzeby komplikować projektu 2 Atmegami.

2.Nie widzę mostków H, bez nich nie wysterujesz serwa, maksymalny prąd, który możesz pobrać z uC to około 140mA.

3.Napisz dokładny model serwa.

4.Przyciski są w bibliotece switch-omron (Standardowy switch to 10-XX). Przyciski mają zwierać do masy, a nie między sobą.

5.Daj dławik na AVCC.

6.Na resecie nie stosuje się kondensatorów, możesz miec problemy z zaprogramowaniem megi.

http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html

7.Sygnalizator rozładowania możesz zrobić na zasadzie dzielnika napięcia na ADC + dioda, która się zapali przy rozładowanym akumulatorze.

8.Nie wyprowadziłeś pinów do zaprogramowania Atmegi (MOSI,MISO,SCK,RESET,GND, Opcjonalnie VCC).

EDIT: Nie czytać punktu 2

Link do komentarza
Share on other sites

2.Nie widzę mostków H, bez nich nie wysterujesz serwa, maksymalny prąd, który możesz pobrać z uC to około 140mA.
Mostek H do serwa? W jakim celu? A co do prądu, to przecież nie zasilasz serwa z uC tylko nim sterujesz. Ot, pierwszy z brzegu przykład bezpośredniego sterowania.
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

1.są dwie ATmegi bo będą one w 2 różnych miejscach. Na razie używam przycisków ale zamienię w późniejszym czasie na podczerwień albo radiowo.

2.Chcę kontrolować serwa bez przeróbki. Normalne serwa. Z tym że dwa będą w rozmiarze mini (3,7g) dwa mikro (10g) jedno duże mikro a jedno gigant... wiec rozstrzał spory. Do dwóch największych oczywiście podciągnę odpowiednie zasilanie bo przy zblokowaniu "szarpnie" z 8A

3.Wiem ze przyciski są w tej bibliotece, to jest złącze IDC którym podłącze przyciski, podobnie jest z serwami, zapomniałem napisać.

4.uC będzie programowany z zewnątrz, poza układem.

5.Kondensator w takim razie zmieniam.

Link do komentarza
Share on other sites

Moim zdaniem "lepiej" jest zaprojektować 2 identyczne bloki - każdy z atmegą. Mniej roboty, jeden program, a ew. rozszerzenie na 3 procesory też łatwiejsze. Jeśli będzie więcej kanałów niż niezbędne, to może w przyszłości się przydadzą.

Pierwszy problem to programowy PWM - jeśli użyjesz atmege8, to może być za mało kanałów sprzętowych, a programowo uzyskać stabilny sygnał nie jest łatwo. Najlepiej od razu pogodzić się z programowaniem w asemblerze, albo zmienić procesor.

Jak chodzi o schemat to rezystor podciągający reset i kondensator filtrujący są po złej stronie switcha... Kondensator C10 jest po prostu zwarty.

Link do komentarza
Share on other sites

Dwa procesory do kilku sygnałów PPM to jednak przerost formy nad treścią. Jednym wyjściem OC z jednego procesora możesz sterować i 8 serwami dołączając dekoder za złotówkę. Jeśli te Twoje serwa mają realizować jakiś wspólny cel (niechby i było to sterowanie z kilku przycisków) to dużo łatwiej będzie Ci ogarnąć projekt, gdy zrobisz jeden ośrodek decyzyjny. Przyciski (czy co tam będzie w przyszłości) podłączone do dwóch procesorów to kilka możliwych zachowań systemu, jeden odkoduje rozkaz, drugi nie albo odwrotnie. Dwa procesory to już tłum - problemy z komunikacją lub z brakiem synchronizacji działania a w jednym będzie tylko jeden program, spójne decyzje, mniej upierdliwego wyjmowania i wstawiania układów z/do podstawek i w rezultacie szybsze efekty Twojej pracy. Przemyśl to. Odległość montażu serw w ogóle nie ma znaczenia. Sygnał PPM jest dość odporny a same serwa są projektowane do pracy w torze radiowym, gdzie zakłóceń jest nieporównywalnie więcej niż w kabelku.

Zasilanie kilku serw z jednego 7805 popędzanego jeszcze na dodatek z 12V to kompletna pomyłka: 7 Watów ciepła przy prądzie 1A - wyobrażasz to sobie? Bo jak tak i wcale nie chciałbym tego dymu zobaczyć na moim biurku.

Układ sygnalizacji będzie działał choć nie zrobiłeś "ostrego" progu załączania LEDa więc będzie się rozjaśniała i przygasała w zależności od chwilowego obciążenia akumulatora prądem serw. Z drugiej strony mając dwa (a choćby i jeden) procesor a w nim komparator i przetwornik A/D robienie takiego układu na piechotę wydaje się dość dziwną rozrzutnością. Procesor mierzący napięcie mógłby robić dużo więcej: zapalać diodę (lub ją gasić) gdy jest OK, mrugać nią gdyby napięcie zbliżało się do granicy rozładowania, nie dopuszczać do pracy serw poniżej jakiegoś napięcia krytycznego itp. Poza tym kilka LEDów (lub choćby jeden) podłączonych do procesora zawsze się przyda.

O układzie RESETu już Koledzy pisali - do poprawki.

Link do komentarza
Share on other sites

Dlaczego sygnały PPM? łatwiej jest wysterować fazę niż szerokość?

Robię to w taki sposób bo inaczej po prostu nie potrafię, nie wykorzystałem A/D bo nigdy tego nie robiłem, nie żebym nie chciał się nauczyć, po prostu nie chce robić wszystkiego na raz... chyba że to nie jest aż tak trudne jak może się zdawać...

Co do zasilania, napięcie wejściowe faktycznie 12v to dużo. Na początku chciałem zasilać z 2s LiPola, później nie pomyślałem o tym jaka to będzie wzrost ciepła...

Oczywiście Reset poprawiam, nie zauważyłem tego błędu.

Link do komentarza
Share on other sites

Korzystanie z ADC jest bajecznie proste. Robisz dzielnik napięcia tak, by przy maksymalnym naładowaniu wchodziło do ADC 5V. Wtedy po prostu odczytujesz wartość. Nie wiem jaki tam jest przetwornik, ale dajmy na to, że 10 bit, wtedy wartość 1023 to jest maksymalny odczyt. I ustalasz potem próg lub progi, przykładowo dla trzech diod. Dajmy na to, że świecą trzy diody przy max, po zejściu poniżej 900 jedna gaśnie, poniżej 800 druga, 700 trzecia. Albo jakkolwiek inaczej, wedle upodobań. Musisz tylko wyliczyć kiedy będzie krytyczne napięcie i tyle.

No i ważne, by nie przekraczać tych 5V.

Jak źle prawię to mnie koledzy poprawią : )

Link do komentarza
Share on other sites

Właściwie wszystko jest już w procesorze. Do monitorowania nap zasilania można użyć komparator analogowy który jest w procku, ma tę przewagę nad ADC że wszystko robi ci się sprzętowo, co najwyżej obsługujesz przerwanie od niego.

Ja bym sobie zabezpieczył wszystkie linie sterujące serwami szeregowym opornikiem tak z 560Ω do 1KΩ, przynajmniej w przypadku zwarcia tej linii z zasilaniem serw, nie upalisz portu proca, a 10 oporników kosztuje 60gr.

Stabilizator liniowy do 5V, i zasilanie 12V to raczej błędne myślenie, lepiej zastosować przetwornicę STep-down, choćby nawet gotową.

Trzeba dobrze filtrować i rozdzielić obwód zasilania serw, i proca, aby ten ci się sam nie restartował, jak serwo szarpnie z miejsca. problem nie jest tyle, narysować to na schemacie, co nie walnąć się potem robiąc PCB.

Co do sterowania. Hm..? Kwestia idei i tego czym chcesz sterować ? Ogólnie najwygodniejsza jest analogowa gałka, taka jak w padzie do konsoli. daje największą swobodę ruchu, i intuicyjne sterowanie. Trzeba co prawda używać ADC do jej obsługi, ale nie jest to takie straszne i skomplikowane.

Link do komentarza
Share on other sites

"Dlaczego sygnały PPM? łatwiej jest wysterować fazę niż szerokość? "

PPM to akurat w tym przypadku (przyznaję) nazwa trochę nietrafiona, bo wzięła się z postaci sygnału "zespolonego", podawanego do modulatora nadajników RC. Tam w ramce jest kilka dość krótkich impulsów, którym zmienia się pozycja (odległość) od poprzednika. Od biedy można to nazwać fazą i stąd wziął się skrót Pulse Position (lub Phase) Modulation. Odbiornik zdalnego sterowania przerabiał taki ciąg na osobne sygnały do serw a tam no to już mamy oczywiście modulację szerokości impulsu.

Moim głównym zastrzeżeniem są dwa procesory sterowane ze wspólnych przycisków. Te - jako dość niepewne i zupełnie "niegodne zaufania" elementy wypuszczają z siebie sygnały, które trzeba odkłócać, wykrywać zbocza itp. Dwa programy pracujące na dwóch procesorach mogą detekować różne (od siebie) rzeczy i dlatego pisałem, byś decyzje o tym "co robić" wypracowywał w systemie tylko w jednym miejscu. Jak już będzie jednoznacznie wiadomo co robić, możesz wygenerować odpowiednie sygnały do serw w dowolny, ulubiony przez siebie sposób i wypuścić je na praktycznie dowolną odległość. W każdym razie z tak trywialnym zadaniem jak obsługa przycisków (lub odbiór np. RC5 lub co tam jeszcze wymyślisz) i generacja kilku sygnałów do serw poradzi sobie jeden procesor i jeszcze będzie się nudził.

Pomysł z opornikami szeregowymi na wyjściach sygnałów do serw - znakomity, popieram.

Manipulator - nic nie wiemy o zastosowaniu tego urządzenia. Czasem wygodniejsza jest gałka, czasem przyciski, analogowy lub cyfrowy joystick a może będzie to sterownik czegoś "robotowego" i będzie dostawał komendy przez UART lub IR? Napisz coś więcej.

"Przerwaniowa" obsługa sygnału od detektora napięcia to niezbyt dobra propozycja. Sygnał będzie zgłaszany wielokrotnie (być może dziesiątki razy na sekundę) gdy napięcie zbliży się do progu alarmowego i w zależności od obciążenia silnikami będzie przysiadać lub podskakiwać. To już raczej lepiej próbkować to programowo np. w obsłudze timera, odkłócać i w zależności od stanu uznanego za stabilny alarmować lub nie. Na pewno wartość analogowa z przetwornika A/C niesie dużo więcej informacji i można ją fajniej spożytkować.

Serwa mogą zwykle pracować do ponad 6V więc jeśli chcesz mieć szybsze czasy reakcji i większe momenty a dysponujesz wyższym zasilaniem, celuj w 6V.

Link do komentarza
Share on other sites

W sumie może trochę was to hmm.. zdziwi? ale układ nie będzie miał konkretnego zastosowania. To znaczy serwa będą poruszać animatronicznym zwierzakiem. Robię to z kilku powodów, po pierwsze chce się nauczyć podstaw, po drugie akurat wszystkie te elementy mam. Po trzecie robiąc gotowe układy jedynie je kopiuję bez większego zastanawiania się... zazwyczaj wygląda to tak że przeglądam projekt "to wiem, to wiem, to z grubsza rozumiem" i kopiuję... tak za dużo się nie nauczę.

Nie mam zamiaru od razu rzucać się na jakiegoś robota kroczącego (bo w tym kierunku zmierzam) czy manipulator jeśli nie będę umiał sobie poradzić z podstawami. Okey, mógłbym zacząć od manipulatora sterowanego przyciskami i dalej to rozwijać ale dlaczego by nie zrobić czegoś innego... i nie sądzę żeby to było "rzucanie się na głęboką wodę" bo od strony programowej jest to chyba łatwiejsze a lubię grzebać się z tego rodzaju mechaniką. Małymi kroczkami...

A poza tym animatronika jest całkiem spoko 😉

Może dodam że po naciśnięciu przycisku miałby się włączać odpowiedni tryb "pracy"

Kiwanie uszami, przewracanie oczu, obracanie głowy i takie różne.

Dzięki temu wydaje mi się że w interesujący sposób mogę się nauczyć podstaw. Nie ma to być w efekcie końcowym jakiś super robot tylko bardziej geekowska zabawka 😉 od tak... dlaczego by nie.

I w sumie poza tym sterownikiem dużo nie zostało. Program jaki mam taki mam, i podczas robienia tego układu mam zamiar po prostu poćwiczyć i spróbować różnych sposobów sterowania serwami.

Może niektórym wydaje się to dziwne ale cóż... dlaczego nie...

Co do zasilania... mam sporo pakietów i 2 i 3s mam pojedyncze cele wiec z tym zasilaniem to mogę bez problemu przerzucić się na dwie cele...

Link do komentarza
Share on other sites

Każdy sposób na naukę jest dobry. Lepsze to od siedzenia i nicnierobienia 😉

Wszystko co nas rozwija jest dobre. Kieruj się tym i powodzenia przy projekcie. Najważniejsze to mieć pomysł i go ZREALIZOWAĆ, a nie mieć potem 30 niedokończonych : P

Link do komentarza
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.