Skocz do zawartości

Zasilanie arduino przez gniazdo DC i osobne zasilanie silników


BuxBleed

Pomocna odpowiedź

No tak, ale wciąż nie znamy założeń Twojego projektu: do czego to w ogóle jest? Zabawka do rysowania fajnych wzorków dzieciakom z przedszkola czy coś więcej? Od tego zależy jakie mechanizmy korekcji będziesz musiał użyć, niezależnie do tego czy tego chcesz czy nie. OK, już wiemy, że enkoderów nie lubisz a projekt jest budżetowy. A inne rzeczy o których pisaliśmy? Czy jesteś w stanie wygenerować akapit wiele mówiącego tekstu o swoich planach i przeznaczeniu tego robota? Nie każ nam się wszystkiego domyślać, nie szkoda Ci naszego czasu?

Link do komentarza
Share on other sites

Oki, przepraszam...

No generalnie to ma być projekt na "Noc Naukowców" czyli różnego rodzaju pokazy chemiczne, układów regulacji automatycznej, elektroniki, robotów tego typu rzeczy...

Zależało by mi na narysowaniu załączonego obrazka przedstawiającego logo mojego koła naukowego. Zrobiło by to dobre wrażenie na opiekunach koła a mi dało trochę fejmu 😋. Zdaję sobie sprawę że ciężko będzie utrzymać robota po takiej trajektorii. Nie musi być też nie wiadomo jak dokładny, jeśli wyjdzie poza linię o kilka mm to raczej nic się nie stanie.

Na pokazach będzie sporo dzieciaków i głównym zamierzeniem było przyciągnięcie dużej uwagi z ich strony i nie tylko. Robot ma zachwycać dużą różnorodnością rysowanych rzeczy. Czas na realizację mam do października, może wydawać się długo lecz dla kogoś kto ma niemalże zerowe pojęcie o robotyce to tak średnio bym powiedział...

940504297_Beztytuu.jpg.cc361e6ff34a5e4d8f7d481aefd5334d.jpg

Link do komentarza
Share on other sites

No to nie wygląda na wielkie wyzwanie. Właściwie żadnych sztywnych wymagań, jak zrobisz to będzie dobrze. Najprościej byłoby (najmniej liczenia i najprostsze algorytmy) wziąć dwa silniki krokowe, dokładnie między nimi, na odcinku łączącym punkty styku opony z podłożem, w połowie szerokości umieścić podnoszony pisak i jazda. Wtedy obrót platformy (symetryczny ruch silników w przeciwne strony) nie będzie powodował zmiany położenia pisaka a to wiele ułatwia. Z przodu jakaś kulka podporowa, akumulator, gotowa przetwornica boost, dwa drivery silników i komputerek. Jak chcesz wgrywać wzorki do rysowania? Czy coś przez te dni przemyślałeś? Będziesz musiał zaprząc do roboty trochę matematyki. Jak takim robotem narysowałbyś odcinek z punktu xy do punktu XY? Zauważ, że odcinek łączący punkty styku opon z podłogą będzie zawsze prostopadły do rysowanej krzywej.

Link do komentarza
Share on other sites

Skonsultowałem się z moją opiekunką naukową i sporo się dowiedziałem.

Komunikacja z robotem będzie przez moduł Bluetooth, robot reaguje na komendy podawane przez komputer, program jest uprzednio wgrany na mikrokontroler, niestety w ofercie sklepu Botland moduł Bluetooth z programatorem był akurat niedostępny :/.

Co do oczujnikowania to najprawdopodobniej będzie system pozycjonowania absolutnego, u góry na suficie kamerka a drugi czujnik na robocie na pisaku. Generalnie to poprosiłem ją o pomoc w tej części projektu bo jest dla mnie najbardziej problematyczna 🙂.

Część arduino zasilana przez 6 akumulatorków Ni-Mh 1,2V/2450mAh , a część elektro-mechaniczna przez akumulator litowo-polimerowy 14,8V, napięcie zostanie dane na przetwornicę step-up żeby podnieść je do optymalnego do pracy robota. Nie potrzebuję dużego momentu obrotowego wytworzonego przez silniki krokowe dlatego przed doborem napięcia akumulatora, zostaną przeprowadzone testy z użyciem generatora laboratoryjnego z pełni obciążonym robotem aby dobrać optymalne napięcie, wystarczy tylko że robot ruszy się z miejsca. Pozwoli to wydłużyć czas pracy robota na akumulatorze. W sumie to tyle.

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

Nareszcie jakiś zestaw konkretów. Przyznam, że Pani Opiekun odważnie puszcza Cię na głęboką wodę.

NiMH??? W nowym projekcie??? Taki zestaw bardzo obciąży robota. I tak masz paskudne klocki silników i to wystarczy. Resztę zrób lekką, bo każdy nadmiar będzie miał wpływ na dynamikę. Nie, nie wystarczy by robot się poruszył. Żeby to nie wyglądało żałośnie powinien rysować całkiem żwawo a masa będzie wymagała więcej energii do przyspieszania - nie odzyskasz tego przy hamowaniu. Poza tym stosowanie dwóch różnych typów akumulatorów jest niepraktyczne. Musisz mieć dwie różne ładowarki i nic już dzisiaj nie przemawia na NiMHami: ani cena ani wielkość ani osiągi. Moim zdaniem jeden LiPol 3S do zasilania Arduino i przetwornicy boost będzie jak ulał. Lekki a pojemność dobierzesz sobie do wymiarów nadwozia i oczekiwanego czasu pracy. Poza tym nie masz wtedy praktycznie żadnych ograniczeń na prąd. Kupujesz takie dwa: jeden ładujesz a na drugim jeździsz. Szybka wymiana i masz właściwie pracę ciągłą. Wybór jest ogromny.

Jeśli całą inteligencję przeniesiesz na PC to zadanie się niby upraszcza, ale dochodzi mnóstwo kłopotów z kamerą, obróbką obrazu, detekcją obiektu, jego orientacji itd.. Za to robot wydaje się wtedy łatwy do zbudowania. Od razu planuj jego mechanikę tak, by cały jego dach był jednym wielkim znacznikiem ułatwiającym rozpoznanie położenia i kierunku platformy. Zastanów się nad rodzajem komend przesyłanych przez BT tj. nad podziałem kompetencji między PC a komputer pokładowy. Na robocie wystarczy zrobić interpolatory liniowe(?), które bardzo dobrze pasują do silników krokowych, bo sterowanie nimi to generacja ciągów impulsów odpowiednio rozłożonych w czasie.

Link do komentarza
Share on other sites

Jeśli potrzebujesz kilku różnych zasilań to musisz je sobie zrobić, to żadne odkrycie. Warto jednak sprawę dokładniej przemyśleć.

Np. Arduino ma swój stabilizator który wytrzyma te 12V z hakiem i dlatego zaproponowałem akumulator 3S. Przy pakiecie 4S musiałbyś już użyć czegoś dodatkowego a tak podpinasz aku do Vin i działa. Do serwa tylko podnoszącego pisak wystarczy stabilizator typu 7805. Pół sekundy pracy serwa nawet go nie nagrzeje a ponad 1A prądu na pewno wystarczy. Do silników przyda się wysokie napięcie i tu przetwornica boost jest konieczna. Tak więc jeden moduł przetwornicy i jeden tani stabilizator liniowy - nie wygląda to groźnie, prawda? Oczywiście jeśli dostaniesz jakieś dofinansowanie projektu to zamiana 7805 na coś impulsowego, dającego 5V/2A będzie bardzo elegancka. Zarówno boost do silników jak i buck do serwa kup gotowe. Na pewno nie powinieneś ich robić. Tu masz dwa przykładowe moduły które możesz użyć:

http://www.tme.eu/pl/details/df-dfr0123/moduly-zasilajace/dfrobot/dfr0123/

http://www.tme.eu/pl/details/amsr2-7805-nz/przetworniki-dcdc/aimtec/

Na pewno znajdziesz wiele innych.

Link do komentarza
Share on other sites

Skończyłem właśnie całą mechanikę do robocika 😃

Podwozie wydrukowane na wymiar za pomocą drukarki 3D.

Teraz biorę się za część elektryczną, do tego użyte zostanie akumulator li-pol 3S 11,1V 2650mAh 40-50C. No i tutaj zaczynam mieć kolejne wątpliwości bo nie ogarniam właśnie tego poboru prądu poprzez odbiorniki :/.

1. Pytanie czysto teoretyczne. Dajmy na to że chce za pomocą tego akumulatora zasilić samo arduino poprzez Vin które spokojnie wytrzyma te 11,1V z tego co deklaruje jego producent ale co z tymi amperami ? Przez płytkę popłynie prąd o dużym natężeniu to ją chyba uszkodzi no nie ?

_20170704_015235.thumb.JPG.a6c547c51a6f4faa3d3ea35b2cdcdcea.JPG

Link do komentarza
Share on other sites

1. Akumulator to nie zasilacz stabilizowany i nie daje tyle ile fabryka na opakowaniu napisała. Naładowane ogniwo LiPol ma 4.1-4.2V a rozładować możesz do 3V. Sam sobie policz jakie napięcia będziesz dostawał ze stosu 3 takich ogniw w czasie cyklu pracy aku.

2. To wyobraź sobie sytuację w której do swojego akumulatora o wydajności powiedzmy 50A i napięciu 12V dołączasz opornik 10k. Ogromny prąd go spali, prawda? Nie? To dlaczego ten sam akumulator ma zwęglić biedne Arduino?

3. Wybrałeś wielkiego kloca. Jak daleko chcesz zajechać albo jak długo chcesz się bawić na tym akumulatorze? Silniki będą musiały to dźwigać a i miejsca zajmuje sporo.

4. Gratulujemy wydruku i postępów prac, ale napisz także jak planujesz zrobić elektronikę. Jak rozwiążesz zasilanie driverów? Jak serwa? Najlepiej wrzuć pełny schemat - tradycyjnie skrytykujemy bezlitośnie.

Link do komentarza
Share on other sites

Poczytaj o prawie Oma, to powinno ci sporo rozjaśnić. Generalnie to odbiornik decyduje ile prądu będzie brać. Dlaczego Arduino miałoby brać dużo prądu?

No chyba, że chcesz do tego Arduino z drugiej strony podłączyć silniki -- to wtedy rzeczywiście przez płytkę popłynie duży prąd i się spali. Dlatego istnieją kontrolery silników z osobnym zasilaniem.

Link do komentarza
Share on other sites

1. Moduł BT nie potrzebuje takiej pojemności na zasilaniu. Wszystko czego mu trzeba ma już u siebie na pokładzie.

2. To samo z przetwornicą S7V8. To nie jest goły scalak więc wszelkie konieczne pojemności ma wbudowane na płytkę. Co najwyżej, w celu stłumienia zakłóceń produkowanych przez przetwornicę i dostających się do ogólnego zasilania dałbym na wejściu dławik szeregowy kilkanaście uH wytrzymujący min. 1A, ale to już naprawdę dmuchanie na zimne. Swoją drogą, skoro serwo będzie tylko co jakiś czas podnosiło pisak, to średnio będzie brało bardzo mało prądu i wystarczy tu taniutki stabilizator liniowy, np. LM317 (≈1zł?) w TO220, nawet bez radiatora. Przynajmniej nie śmieci i prądu daje więcej.

3. Skoro już tyle pinów poświęciłeś na sterowniki silników, to ja bym jeszcze dodał ich wyłączanie. W obu masz EN które wyłącza drivery - można to nawet spiąć razem i sterować z procesora. Nie zawsze podczas testów i pisania kodu będziesz korzystał z silników więc niech procesor ma możliwość oszczędzania zasilania. Tym bardziej, że "korkowe" pobierają mnóstwo prądu niezależnie od tego czy stoją czy się kręcą. Wyjścia sygnałów step dałbym z pinów wyjściowych timera 1 lub podobnego 16-bitowego.

4. Ciężko będzie kupić 42uF.

5. Skorzystałbym z jakiegoś innego UARTa. Arduino Mega ma ich kilka, a akurat UART0 jest podłączony wewnętrznie (przez oporniki) do mostka UART-USB. Pewnie daje się korzystać, ale po co ryzykować konflikty skoro trzy następne UARTy leżą wolne?

6. Dodałbym jakąś sygnalizację LED lub nawet mały wyświetlacz OLED, np. na I2C. Oczywiście cała komunikacja może iść przez BT, ale: a) to tylko radio więc nie zawsze działa, b) na początku pisania kodu nie działa wcale, c) LEDy czasem dużo szybciej i bardziej komunikatywnie pokazują co się w środku dzieje. Ich sterowanie jest proste a zapalenie diodki można bezkarnie wstawić w każde miejsce kodu (nawet w obsługę przerwania) nie powodując żadnych dodatkowych opóźnień.

7. Skoro na pokładzie będzie silnik DC i całkiem skomplikowany system zasilania (stabilizator w Arduino, zasilanie serwa i drivery silników krokowych) to zastanowiłbym się nad prowadzeniem mas i miejscem podłączenia akumulatora. Narysuj schemat samych zasilań. Te same moduły+akumulator, ale bez sygnałów logicznych, tylko 35V, 11V, 6V, 5V i masa. Pomyśl którędy będą płynęły prądy i jak to wszystko połączyć by nie głupiało.

Link do komentarza
Share on other sites

1. Zastosowałem się co do tego.

2. Producent przetwornicy S7V8 podaje że podczas zasilania układu napięciem powyżej 9V lub gdy obciążenie będzie miało wysoką indukcyjność należy wlutować kondensator o pojemności co najmniej 33 uF pomiędzy VIN a GND, aby prąd startowy nie powodował występowania tzw. szpilek czyli nagłych skoków napięcia do wartości powyżej ustalonego poziomu. Jeśli amplituda szpilki przekroczy wartość dopuszczalna regulatora, może on ulec zniszczeniu.

3.Podłączyłem EN do arduino. Wyjaśnij proszę o co chodzi z tymi timerami bo tego nie rozumiem

4.Masz rację, chodziło mi o kondensatory 47uF a te już można łatwo dostać.

5.Podłączałem do UART0 moduł Bluetooth i wszystko działało dobrze, nie wiem co by miało pójść nie tak.

6.Też o tym myślałem, dodatkowo dodałbym zielony LED sygnalizujący ruch robota do przodu i czerwony gdy robot jedzie do tyłu. A gdy robot będzie skręcać ( sterowanie różnicowe ) to już nie wiem 😉

7. Nie wiem o co chodzi do końca Ci chodzi. Wydaje mi się że schemat jest zrobiony poprawnie, pomijając fakt, że nie pozostaje w zgodzie ze "sztuką" tworzenia schematów elektrycznych 😉. Podłączałem już układ do zasilania i nic się nie spaliło. Jednak nie miałem okazji przetestować poruszania się robota bo nie mam napisanego odpowiedniego programu.

Link do komentarza
Share on other sites

2. To prawda, zbyt duże napięcie wejściowe załatwia regulator, ale zastanów się: skąd wezmą się szpilki zbyt wysokiego napięcia na wejściu? Przecież nie ze źródła zasilania. Problemem są źle poprowadzone lub zbyt długie przewody - to na ich indukcyjności - podczas gwałtownych zmian obciążenia robią się szpile, które musisz skompensować dodatkową, szybką pojemnością. Właśnie o tym pisałem w ostatnim punkcie.

3. AVR nie jest mocarzem prędkości a impulsów dla silników krokowych będziesz musiał wygenerować całe mnóstwo (tysiące?) w ciągu sekundy. I to dwa, niezależne ciągi o dwóch różnych częstotliwościach. Robienie tego programem i przerwaniami jest dużym obciążeniem procesora. A przecież masz timery. W Mega2560 masz - nawet tych 16-bitowych - kilka. Skorzystaj z nich, po to są. Ich wyjścia są wyprowadzone tylko na pewne piny - sprawdź to. Najwyżej nie użyjesz timera i nakręcisz silniki programem, ale zawsze będziesz mógł zrobić to porządnie. Gdy podłączysz STEPy do przypadkowych pinów, zamykasz sobie tę drogę.

5. Z UART0 korzysta bootloader i jest to jedyny używany przez tę płytkę w jakimś celu, wszystkie inne są wolne. Nic się nie dzieje, ale po co moduł BT ma widzieć tę transmisję i po co jego nadajnik ma walczyć z nadajnikiem mostka USB? Masz tu kilka sprzętowych UARTów, zmiana na któryś "czysty" przecież nie boli. Nie rozumiem obiekcji.

6. Zrób po prostu kilka LEDów. W czasie pisania programu sam zobaczysz co chcesz na nich wyświetlać, i tak teraz tego nie przewidzisz. To wcale nie muszą być jakieś ważne dla robota rzeczy, a np. stan jakichś wewnętrznych flagów czy czujników. W każdym nietrywialnym programie jest tego mnóstwo. W jednej wersji kodu będzie to coś, w kolejnej wersji kodu coś innego, po prostu je miej. To nic nie kosztuje a będziesz miał fajne "okienko" do bezpośredniego podglądu ciekawych zdarzeń lub stanów.

7. Schemat ideowy nie pokazuje jak poprowadzisz, a co najważniejsze gdzie podłączysz kable. A przewody masy i zasilania prowadzą duże prądy. Duże prądy to duże spadki napięć a spadki napięć to błędy w sygnałach logicznych. To nie grozi spaleniem, ale dziwnym zachowaniem systemu w czasie pracy - już tak. Szczególnie gdy kabeki są za cienkie i/lub zbyt długie.

Link do komentarza
Share on other sites

Podłączyłem robota ( przy podłączonych ale nie używanych silnikach ) i nic się nie spaliło. Podłączenie zasilania powoduje nagły, chwilowy ruch serwomechanizmu który akurat powinien stać w miejscu.

Pytanko do znawców, w jaki sposób mogę podczepić się do ogniwa li-pol żeby pobrać prąd ? Ja używałem zrobionego przewodu z krokodylkami które wpinałem do takiego konektora ( jak na zdjęciu ) z drugiej strony było wyjście DC które wpinałem do odpowiedniego wejścia na płytce stykowej. To rozwiązanie działa ale ma jedną wadę, otóż krokodyli zsuwają się z tych końcówek i jest spore ryzyko zwarcia. Słyszałem że dobrym rozwiązaniem było by użycie kostki elektrycznej ale niestety jestem zielony w tym temacie, może coś doradzicie ?

Konektor.thumb.jpg.d00dde498cce686f4221bb973237ed6f.jpg

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.