Skocz do zawartości
BuxBleed

Zasilanie arduino przez gniazdo DC i osobne zasilanie silników

Pomocna odpowiedź

Cześć mam dwa pytanka odnośnie zasilania.

1. Dysponuję koszykiem na baterie wraz ze wtyczką DC jak na zdjęciu :

Mam też 8 akumulatorków Ni-MH 1.2V 2450mAh. Ile z nich będzie potrzebne żeby zasilić samo arduino do którego nie jest nic podłączone ?

2. Mam dwa sterowniki silnika krokowego Pololu DRV8825 45V/2,2A oraz dwa silniki krokowe (Silnik krokowy JK35HY28-0504 200 kroków/obr 10V / 0,5A / 0,1Nm) i jeden serwomechanizm zasilany napięciem z zakresu 4,8 - 6,0 V. Czy w jakiś sposób dam radę zasilić to powyżej wymienionymi akumulatorkami? Czy konieczny będzie inny akumulator ?

Pozdrawiam.

koszyk-na-6-baterii-typu-aa-r6-ze-zlaczerm-dc-5521mm.thumb.jpg.5419c5b244441e28d478e66d33cfa4df.jpg

Udostępnij ten post


Link to post
Share on other sites

1. Musisz włożyć 6 baterii, bo koszyk umożliwia szeregowe łączenie ogniw, więc aby uzyskać jakieś napięcie na złączu musisz mieć wszystkie sloty zapełnione (albo wstawioną zworę zamiast baterii). Pod kątem napięcia też 6 cel wydaje się rozsądne, daje to nominalnie 7,2V.

2. Do zasilania serwa masz dwie opcje: przetwornica obniżająca napięcie lub podpięcie się przewodem np. ze złączem krokodylkowym do 'plusa' 5 baterii w koszyku (wtedy na krokodylku będziesz miał nominalnie 6V). Ewentualnie możesz od biedy wstawić np. dwie diody szeregowo o napięciu przewodzenia około 0,7V i też powinno być ok do testów. Zależy też jakiej wielkości jest to serwo.

Jeśli chodzi o silniki krokowe to możesz zasilić sterownik bezpośrednio z napięcia na złączu, nie uzyskasz jednak dobrej dynamiki napędu (ale zakładam, że chcesz sobie tylko potestować działanie).

Udostępnij ten post


Link to post
Share on other sites

A więc to napięcie 7,2V po przejściu przez stabilizator napięcia który jest wbudowany w arduino obniży mi się do pożądanego 5V ?

No właśnie potrzebowałbym dobrej dynamiki silników żeby mój robot mógł jeździć, potrzebna mi duża precyzja ruchu stąd silniki krokowe.

Czyli konieczne będzie lepsze źródło zasilania które dostarczy sterownikowi silników większego napięcia tak ?

Udostępnij ten post


Link to post
Share on other sites
A więc to napięcie 7,2V po przejściu przez stabilizator napięcia który jest wbudowany w arduino obniży mi się do pożądanego 5V ?

Tak

Czyli konieczne będzie lepsze źródło zasilania które dostarczy sterownikowi silników większego napięcia tak ?

Wyższe napięcie zasilania przekłada się na możliwość uzyskania lepszych przyspieszeń kątowych oraz większej prędkości maksymalnej (bo prąd w uzwojeniach szybciej narasta w każdym kroku). Nie można stwierdzić czy potrzebujesz większego napięcia, bo nie podałeś żadnych danych o wymaganych parametrach ruchu.

Tak na marginesie

żeby mój robot mógł jeździć, potrzebna mi duża precyzja ruchu stąd silniki krokowe

Jeśli zakładasz, że w otwartej pętli (bez sprzężenia zwrotnego od rzeczywistej pozycji robota) uda Ci się zrealizować jakikolwiek ruch po zaplanowanej trajektorii na dłuższym dystansie to się możesz rozczarować.

Udostępnij ten post


Link to post
Share on other sites

Zasilanie poszczególnych elementów musisz do nich dopasować, bo każdy odbiornik ma inne wymagania i ograniczenia. Mając do dyspozycji stosik 6xNiMH (czyli 6-7.2V), moim zdaniem optymalnym byłoby:

1. Napędzanie Arduino wprost z całego kompletu aku przez wejście Vin i jego wewnętrzny stabilizator liniowy. Różnica napięć (ok. 2V) i prąd nie są duże więc i straty mocy do przyjęcia.

2. Serwo zasilane z osobnego stabilizatora 5-6V lub rzeczywiście przez diodę. Robienie odczepu na stosie to raczej niepolecany pomysł - zawsze jeden, dwa akumulatorki będą inne a nie każda ładowarka umie to potem wyrównać. Użytkowanie takiego nierównomiernie obciążonego kompletu aku jest upierdliwe.

3. Silnikom dać przetwornicę podwyższającą (step-up, boost) do np. 36V i dopiero z tego zasilić drivery. To i tak tylko 3x więcej niż napięcie nominalne silników więc żaden wypas, a zawsze będzie trochę lepiej. Silniki 10V zasilane z 7V minus spadek na sterownikach - pewnie nawet same nie ruszą, nie mówiąc o oddawaniu jakiegoś momentu.

Wydaje się, że sumaryczne zapotrzebowanie na moc jest w granicach możliwości NiMHów AA więc system zadziała. Zwróć jednak uwagę na to co napisał Łukasz: żaden silnik nie da gwarancji poprawnego ruchu platformy bez sprzężenia zwrotnego. Silniki gubią kroki, masz poślizgi na styku opona-podłoże, zmienne opory toczenia, tolerancje wykonania mechaniki a samo miejsce kontaktu opony nie jest punktem. Ani zakręty nie są idealne ani jazda po prostej nie wceluje w dychę na przeciwległej ścianie. Od razu musisz przewidzieć mechanizmy korekcji: najpierw samego położenia silników/kół - enkodery (ale to przy poprawnie sterowanych krokowych jest rzeczywiście mniej ważne) a potem podwozia: żyroskopy i akcelerometry plus ew. północ magnetyczna lub inny czujnik bezwzględny, np, znaczniki w otoczeniu. Wszystko zależy od tego co to ma być, gdzie się poruszać i jak bardzo autonomicznie. Możesz napisać coś o tym więcej?

Udostępnij ten post


Link to post
Share on other sites

Jestem studentem automatyki więc rozumiem o co chodzi z tą pętlą ujemnego sprzężenia zwrotnego 😉

Generalnie to ma być taki robocik jak na poniższym obrazku. Jeździ sobie po kartce i rysuje jakieś rysunki które są uprzednio zaprogramowane. Tylko właśnie nie bardzo wiem jakie czujniki były by potrzebne aby skorygować trasę po jakiej będzie poruszał się ów robót.

FGDVP7IIFD6JQUC.MEDIUM.thumb.jpg.331739263f9966d267574295e3dc11aa.jpg

Udostępnij ten post


Link to post
Share on other sites

Przychodzą do głowy enkodery na kołach, być może sensor od myszki pod spodem.

Udostępnij ten post


Link to post
Share on other sites

A czy to w ogóle możliwe aby do silnika krokowego podłączyć enkoder ?

Chodzi mi o odczytywanie pozycji silnika krokowego. Wtedy chyba podłącza się enkoder do sterownika silnika krokowego ale ten sterownik musi mieć też taką funkcjonalność...

Zastanawiam się czy nie prościej było by po prostu zastosować serwa 360 i jakoś sterować ich obrotami.

Udostępnij ten post


Link to post
Share on other sites

Enkoder możesz podłączyć do czegokolwiek, a nawet do czego bądź -- czy jest to silnik krokowy, koło, dźwignia, trybik czy cokolwiek. Nikt ci tego nie zakaże.

Nie rozumiem też dlaczego uważasz, że taki enkoder musi być wówczas połączony ze sterownikiem. Możesz go podłączyć do czego chcesz co będzie zdolne odczytać ten sygnał -- w szczególności do swojego mikrokontrolera.

W jaki sposób serwa miałyby w czymkolwiek polepszyć sytuację? Przecież nadal będziesz mieć z nimi dokładnie te same problemy: niedokładności w prędkości, nierównomierne obciążenie wynikające z nierówności terenu, zmiana napięcia rozładowującej się baterii, straty na przekładniach, poślizgi samych kół, etc. -- a z czasem to wszystko się dodaje i błąd rośnie.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Oki to przekonuje mnie do pozostania jednak przy swoich silnikach.

Mam jednak wątpliwości czy stosując enkoder będę w stanie regulować obroty z wystarczająco dużą dokładnością.

Poza tym taki silnik krokowy (na pełnym kroku) ma rozdzielczość 200 czyli 360°/200=1,8° a taki typowy enkoder znaleziony na Botlandzie ma 20 impulsów na pełen obrót czyli 360°/20=18° czy to w jakiś sposób nie koliduje ze sobą ???

Udostępnij ten post


Link to post
Share on other sites

No nie. Enkodery do napędów mają rozdzielczości od kilkuset do jakichś 4096 kroków/obrót. To co znalazłeś to raczej pokrętło/gałka do ustawiania wskazanych wartości w interfejsie człowiek-maszyna.

http://www.wobit.com.pl/oferta/322/czujniki-i-urzadzenia-pomiarowe/pomiar-kata-obrotu-i-zadawanie-impulsow/

A w sprawie ogólnej: pozwolę sobie zmienić zdanie. Widząc tego robota i jego zadanie wydaje mi się, że użycie silników krokowych bez enkoderów jest tu wystarczające. Do rysowania takich rzeczy wystarczą dwa ładnie/płynnie sterowane krokowce plus cienkie oponki zrobione np. z oringów. Ok, będą błędy i to nawarstwiające się, ale przy niezbyt wygórowanych wymaganiach przyśpieszeniowo-prędkościowych (to nie wyścig) można rampy rozpędzania/hamowania dopasować do możliwości trakcji i błędy zminimalizować. Dobrze zaprojektowane i nieżyłowane napędy nie będą gubić kroków a wtedy enkodery nie są potrzebne. Tu raczej trzeba pomyśleć o kompensacji błędów zewnętrznych a z tymi będzie trudno. Jeśli nie jest to jakieś wyzwanie "naukowe" (robimy przenośny ploter do rysunków technicznych) a raczej demo/zabawka dla zwiedzających jakąś wystawę, to odpuściłbym wszelkie pomiary i pracował w otwartej pętli. Da się tą metodą robić napisy i wiele innych podobnych grafik a najtrudniejszym miejscem będą powroty do punktów startu lub wspólnych przecięć linii, bo tam błąd przesunięcia będzie widać jak na dłoni.

Jako "backup" projektu i ew. rozszerzenie do przyszłych eksperymentów można wstawić moduł IMU (akcelerometr/żyroskop/ew. magnetometr). Nie wiem, czy na białej kartce sprawdzi się czujnik/kamerka z myszy. No i nie daje informacji o obrotach a tylko przesunięciach liniowych w 2D.

EDIT: Tak przyszło mi do głowy, że jest to fajna aplikacja dla widzenia maszynowego. Kamerka patrząca na pole robocze, obejmująca np. jakieś 2x2cm wokół pisaka mogłaby służyć jako sprzężenie zwrotne do pozycjonowania właśnie w tych krytycznych chwilach, gdy trzeba dowiązać nowo kreśloną linię do już istniejącej. Przecież program wiedziałby co już narysował i mógłby sobie wygenerować obraz niewielkiego obszaru wokół punktu w który ma wcelować. Gorzej z zaczynaniem od pustego miejsca, ale z kolei błędy położenia względnego np. liter w napisie nie są tak istotne jak właśnie domykanie krzywych lub rozpoczynanie od jakiegoś miejsca na już istniejącym rysunku. Ciekawym tematem byłby np. algorytm optymalizacji grafiki wektorowej właśnie pod kątem tej technologii rysowania.

Udostępnij ten post


Link to post
Share on other sites
No i nie daje informacji o obrotach a tylko przesunięciach liniowych w 2D.

Ale dwa takie czujniki już dają.

Możliwości jest sporo. Kiedyś miałem w rękach taki śmieszny "sprytny" długopis, który nagrywał dźwięk towarzyszący robieniu notatek -- potem kliknięcie w dany kawałek tekstu pozwalało odtworzyć ten dźwięk. Skąd długopis wiedział gdzie piszemy? Otóż papier cały był zadrukowany delikatnym wzorem (podobnym do kodów QR), a długopis miał na czubku prymitywną kamerkę, którą odczytywał then wzór i w ten sposób wiedział w którym jego miejscu jest. Dokładność tego była zadziwiająco wysoka. No tylko to wymaga wtedy specjalnego papieru.

Da się też zrobić zewnętrzne śledzenie: jakiś webcam nad przestrzenią roboczą i migające diodki albo fiducial na robocie. Po korekcji na geometrię soczewki możemy mieć bardzo dokładną pozycję. Istnieją podobne zabawki już:

Oba te podejścia pozycjonują absolutnie, więc nie ma problemu z nawarstwiającymi się błędami.

Udostępnij ten post


Link to post
Share on other sites

No pewnie, jest wiele metod pozycjonowania, ale to wszystko wymaga jakiegoś "wsparcia" z otoczenia. Specjalny papier, może jakieś znaczniki pod blatem, światełka/wzorki na suficie lub ścianach, beacony ultradźwiękowe, podczerwone lub radiowe w pokoju itd itp.. Wyobraziłem sobie i próbowałem ograniczyć się do autonomicznego pojazdu rysującego coś na dowolnym stole w dowolnym pomieszczeniu. Przy koniecznej do rozstawienia a priori i kalibracji maszynerii, to już chyba prościej kupić ploter wielkoformatowy. Albo zlecić wydruk w najbliższej drukarni - dziś tego pełno.

W każdym razie moim zdaniem prosty mechanizm rysujący z ładnie sterowanymi silnikami krokowymi może dać zaskakująco dobre rezultaty bez posiłkowania się zewnętrznymi systemami pozycjonowania. Wszystko zależy od specyfiki stosowania. Jeśli np. dziecko ma postawić robota gdziekolwiek i jakkolwiek a ten ma podjechać i narysować poprawną grafikę w odpowiedniej orientacji i miejscu, to wtedy trzeba się przyłożyć. Może najprostsza będzie wtedy kamerka pod sufitem i wyraźny znacznik na obudowie robota. Ale do narysowania kilku literek na pokazie wystarczą same silniki...

EDIT: Chyba szkoda czasu na takie dywagacje. Proponuję poczekać na info od autora wątku.

Udostępnij ten post


Link to post
Share on other sites

A moim zdaniem nie szkoda, bo temat się pojawia często w najróżniejszych zastosowaniach robotów i warto o nim dyskutować -- zawsze coś tam przez osmozę się przedostanie do głowy.

Udostępnij ten post


Link to post
Share on other sites

No właśnie wolałbym uniknąć stosowania enkoderów w projekcie, głównie dlatego że ceny takich są bardzo wysokie i po prostu nie było by mnie stać na zakup dwóch takich.

[ Dodano: 06-05-2017, 18:26 ]

No właśnie wolałbym uniknąć stosowania enkoderów w projekcie, głównie dlatego że ceny takich są bardzo wysokie i po prostu nie było by mnie stać na zakup dwóch takich.

Może najprostsza będzie wtedy kamerka pod sufitem i wyraźny znacznik na obudowie robota.

Podoba mi się ten pomysł, wydaje się być tańszym rozwiązaniem niż stosowanie enkoderów.

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