Dziś przedstawię wam budowę niskobudżetowego łazika z napędem na 4 koła ze sterowaniem za pomocą bluetooth. Pojazd ten stanowi też bazę do zbudowania 2-kołowego pojazdu, potrafiącego poruszać się “autonomicznie” – z wykorzystaniem ultradźwiękowego czujnika odległości. Do napędu użyłem czterech tanich silniczków 6V z przekładnią i kółkiem modelarskim 65mm.
W sieci można znaleźć dziesiątki podobnych sobie konstrukcji opartych o te silniczki, lecz jak dla mnie brakowało w nich jednego elementu: amortyzowanego zawieszenia.
Oto zestaw niezbędnym materiałów:
- drukarka 3D i filament PLA
- 4szt. -silnik elektryczny 6V+ kółko koło modelarskie 65mm
- 4szt-amortyzator modelarski (zamiennik do modelu auta Land Buster 4wd12).
- 1szt-L293d – mostek H
- Arduino NANO
- podstawka do arduino nano z zaciskami śrubowymi
- 1szt-HC-05 – moduł bluetooth
- 1szt-HC- SR04 – czujnik odległości (wymagany w modelu 2WD+autonomiczne omijanie przeszkód)
- 2szt-ogniwo 18650 3,7V (w moim przypadku z odzysku)
- koszyk na dwa ogniwa 18650.
- 1szt-miniwłącznik
- przewody
- 1szt szpilka 1mb/śruba M3 + nakrętki + podkładki
Poszczególne elementy zaprojektowałem w programie Autodesk Fusion 360. Musiałem rozpocząć od pomiarów silniczków i amortyzatora i wymodelowania ich kształtów i mechaniki w Fusion360 (poniżej widok uproszczonego modelu amortyzatora)
Początkowo zaprojektowałem układ zawieszenia oparty w całości na wydrukowanych elementach, ale z racji dużych oporów
i nie do końca udanych wydruków,
postanowiłem wspomóc się wykorzystaniem jako osi elementów metalowych – w postaci, nagwintowanego i przyciętego na wymaganą długość, pręta z gwintem M3. W obecnej wersji każdy z silników przymocowany jest do elementu nazwanego przegubem.
W przegubie znajdują się otwory do zamontowania dwóch prętów M3, stanowiących oś do zamocowania wahaczy (dolnego i górnego),
łączących go z centralnym blokiem środkowym zawieszenia każdej osi.
Kosze po prawej i lewej stronie są swoimi lustrzanymi odbiciami.
Na kompletne zwieszenie dwóch osi składają się poniższe wydruki:
- Wspornik centralny – 2 szt.
- Przegub prawy – 2 szt.
- Przegub lewy – 2 szt.
- Wachacz górny -4 szt.
- Wachacz dolny -4 szt.
- Wspornik zawieszenia – 2 szt.
- Podkładka amortyzatora t1 -4 szt.
- Podkładka amortyzatora t2 – 4 szt
Po wydruku należy elementów zawieszenia należy doposażyć je w części metalowe –osie z przyciętych na odpowiednią długość prętów M3.
Do kompletnego zawieszenia niezbędne będą nakrętki i podkładki M3 oraz:
- 2 odcinki M3 o długości 46 mm
- 2 odcinki M3 o długości 40 mm
- 8 odcinków M3 o długości 50 mm
- 4 odcinków M3 o długości 35 mm
- 8 odcinków M3 o długości 30 mm do przymocowania silniczków do przegubów (miałem odpowiednie więc zastosowałem śrubki M3 26mm)
- 8 śrub M3 o długości 10mm
- 4 odcinków M3 o długości 22 mm do przymocowania amortyzatorów do wsporników (miałem odpowiednie więc zastosowałem śrubki M3 20mm)
- 4 śrub M3 o długości 14mm do przymocowania amortyzatorów do przegubów
Wspornik zawieszenia służy do ustawienia twardości zawieszenia w zależności od końcowej wagi pojazdu i własnych preferencji.
Na śrubach mocujących wspornik można zainstalować uchwyt do modułu HC- SR04 – czujnik odległości (wykorzystywanego w pojeździe 2WD).
Symulacja kompletnego podwozia z obudową elektroniki, bateriami i zawieszeniem.
Po montażu zestaw zawieszenia jednej osi prezentuje się następująco:
Zawieszenie montuje się do ramy za pomocą czterech śrub M3 o długości minimum XX mm.
(widok spodniej strony ramy)
Widok obu osi i koszyka z ogniwami przymocowanymi do ramy
Montaż elektroniki na ramie.
Montaż elektroniki należy rozpocząć od zamocowania koszyka na ogniwa 3,7V/typ 18650 do spodniej części ramy. Jako podstawę do ArduinoNano wykorzystałem gotową płytkę z zaciskami śrubowymi, którą należy przymocować do górnej strony ramy. Obok Arduino należy przymocować moduł mostka H. Wszystkie cztery silniki, koszyk na ogniwa i włącznik należy podłączyć do mostka H. W tym modelu napięcie 2×3,7V z ogniw zasila mostek H. W nim także znajduje się stabilizator napięcia +5V, którym zasilane będzie Arduino. Do mostka H należy doprowadzić z Arduino jeszcze cztery linie sygnałowe, sterujące prawymi i lewymi silnikami.
Arduino Nano |
moduł L298N |
Vin |
+5V |
GND |
GND |
D3 |
IN 1 |
D5 |
IN 2 |
D6 |
IN 3 |
D9 |
IN 4 |
D12 |
LED PRZÓD ANODA |
D13 |
LED TYŁ ANODA |
GND |
LED PRZÓD KATODA |
GND |
LED TYŁ KATODA |
D10 |
HC-05 TX |
D11 |
HC-05 RX |
L298N +5V |
HC-05 VCC |
L298N GND |
HC-05 GND |
Całą elektronikę należy połączyć zgodnie z poniższym rysunkiem.
Moduł BT należy przymocować za pomocą taśmy dwustronnej/piankowej do osłony elektroniki, do której należy przymocować włącznik zasiania.
Model Osłony elektroniki
Osłona elektroniki (po wstępnym usunięciu tymczasowych podpór wydruku).
Po podłączeniu elektroniki osłonę należy przymocować śrubkami M3 do ramy autka.
W górnej części osłony jest kilka otworów M3, które mogą posłużyć do montażu dodatkowego wyposażenia autka np. kamerki sportowej.
Opis apki i kodu Arduino.
Do sterowania autkiem używam popularnej apki Bluetooth RC Controller na Androida. Aplikacja po uruchomieniu łączy z się z modułem BT HC-05 (telefon i nasz moduł BT muszą zostać wcześniej sparowane) i po przyciśnięciu na ekranie przyciski Forward wysyła na interfejs szeregowy Arduino kod litery F. Program Arduino w nieskończonej pętli odczytuje znaki z softwarowego portu szeregowego (stąd wykorzystana biblioteka software_serial) i jeśli odbierze literę „F” wykonuje procedurę „FORWARD(int Speed)” która wysyła do mostka H sygnał wywołujący ruch autka do przodu.
Analogicznie jest w przypadku innych przycisków:
Back – B
Left – L (ruch w lewo gdzie prawe koła kręcą się w przód a lewe do tyłu)
Right – R (ruch w prawo gdzie prawe koła kręcą się do tyłu a lewe w przód).
itd…….(szczegóły opisane w pliku)
Na uwagę zasługuje parametr „Speed”, z którym wywoływana jest funkcja. Określa on z jaką prędkością będzie jechało nasze autko – o prędkości decyduje aktualna nastawa suwaka prędkości aplikacji Bt RC C, która wysyła poprzez BT komunikaty o treści od „1”(minimalna prędkość) poprzez 2,3,4,5,6,7,8,9 aż do „q”(maksymalna prędkość).
Dodatkowo do wyjść D12 i D13 można podłączyć LEDy (w szeregu z rezystorami minimum 250 Ohm), które mogą posłużyć jako światła przednie i tylne.
Praca zawieszenia
Pokonywanie przeszkód
W przypadku budowy “autonomicznego” auta 2WD (omijającego przeszkody) miejsce wahaczy tylnej osi należy zainstalować kółko obrotowe – za pomocą wydrukowanego adaptera.
Podsumowanie
Celem samym w sobie było zaprojektowanie i zrobienie pojazdu z “amortyzowanym zawieszeniem” praktycznie od podstaw, z wykorzystaniem posiadanych części (silniki z kołami, arduino , mostek H – leżały w szufladzie od dawna :) i drukarki 3D. Niewielkim kosztem udało mi się zbudować kompletny gadżet, który może nie jest demonem prędkości, ale jeździ i daje frajdę jazdy po małych wertepach. Dodatkowo może też posłużyć jako baza do budowy kolejnej wersji : autonomicznej z napędem na jedną oś i tylnym kółkiem skrętnym.
Szacun zarówno za projekt, jak i wykonanie! Daję piąteczkę i przerzucam na Główną :)
Jaki jest czas druku 3D łazika? Czy jakość wydrukowanego elementu była wystarczająca, jeśli nie to jak duże były rozbieżności od projektu?
super projekt. troche bardziej miekkie spreżyny w zawieszeniu by sieprzydaly, wtedy zawieszenie fajnie by pracowalo przy pokonywaniu przeszkod. ogolenie ekstra
Pewnie Masz rację ale myślę, że ważny jest tu także kąt pracy amortyzatora, a ten jest wymuszony ograniczonym rozstawem kół i rozstawem osi (przy większym rozstawie osi auto nie chciało skręcać) i eksperymentalnie taki układ wydał mi się optymalny. Poza tym “twardość” zawieszenia można dostroić regulując ustawienia wspornika zawieszenia. Może kiedyś w chwili wolnej wydrukuję dłuższy zestaw wahaczy i zobaczę jak to wtedy jeździ ;)
Projekt na szóstkę z plusem. Własny łazik – oryginalnypomysł nawet na podarek. Z pewnością wykonanie łazika nie było aż tak proste więc wielkie brawa i gratulacje za pomysł, wykonanie i myśl.
Dziękuję za pozytywny odbiór mojego projektu.
Wszystkie wymiary i otwory są zaprojektowane z “zapasem” minimum 0.2mm, więc nie miałem większych problemów ze złożeniem łazika. Czas wydruku w naszej drukarce był duży np. rama drukowała się z 8h…..mimo że RepetierHost (ze slicerem Slic3r na pokładzie) pokazywał czas o połowę krótszy :(. W naszej drukarce (składak prusa P3Steel /RAMPS1.4) mamy ten problem, że czasy druku są duże i to 2x większe niż wskazania RepetierHost-a i nie mam pojęcia dlaczego :(
Czy moduł bluetooth może być bezpośrednio podłączony pod piny arduino ? (tam jest napięcie 5V ). Mogę link do modułu bluetooth ?
Ten moduł może być zasilany napięciem do ~6V – nie podam Ci linka….to typowy HC05 HC-05 6pin JY-MCU…. i kupiłem gdzieś w Chinach
Ok. Dzięki. Kiedyś kupiłem na allegro i okazało się że nie działał sprawnie. Telefon niby wykrywał ale żadna aplikacja nie mogła się sparować tylko zwykła konsola działała
Super projekt!
Mógł byś te wszystkie pliki spakować w archiwum
Mówisz i Masz :)
Dzięki.