Od dłuższego czasu planowałem zbudować własny, w miarę szybki pojazd gąsienicowy. Budowę zacząłem w lutym, wykonałem projekt, zebrałem potrzebne części, zacząłem drukować elementy konstrukcji. W między czasie zaszły liczne zmiany, wiele zmian. Właściwie obecna “wersja” ma numer 3, przy czym każdej poprzedniej wersji można nadać tytuł “poruszającej się samodzielnie”. Wersja 2 przez chwilkę była na majsterkowo, lecz miała kilka wad po usunięciu których powstał obecny pojazd.
___
Użyte elementy:
- Arduino UNO
- L293D – dwukanałowy sterownik silników
- moduł Bluetooth HC-06
- przełącznik
- 2 silniki z przekładnią
- koszyczek na 8 baterii AA
- przetwornica step-up/step-down – S7V7F5 5V 1A
- 8 baterii AA
- przetwornica step-down LM2596
- wtyczka i gniazdko DC
- koszulka termokurczliwa
- gniazdo szpilkowe (do podłączenia goldpinów)
- goldpiny
- niezarobione miękkie przewody
- przewody typu “męski – damski” i “damski – damski”
- taśma izolacyjna
- filament do druku
- kilkanaście śrubek i nakrętek różnego rozmiaru
- płytka uniwersalna 3 x 7 cm
- 4 łożyska typu “608”
- żyłka do kosiarki o średnicy 2 mm
___
Projekt pojazdu wykonałem w programie Autodesk Inventor.
Pierwotnie planowałem umieścić łożyska w specjalnych wypustach w kadłubie pojazdu. Nie uwzględniłem przy tym luzów wewnątrz łożysk, przez co o ile tylne koła usztywnione po przez osie silników trzymały się dość sztywno swojej osi obrotu, o tyle na przednich kołach pojawił się dość znaczący luz. Zmusiło minie to do przeniesienia łożysk do kół.
Drukowanie tylnego koła. (Wszystkie piliki udostępniam w załączniku.)
Filament którego użyłem to Plastspaw-Wolfix PLA transparentny i w kilku innych kolorach. Wszystkie elementy drukowałem przy temperaturze głowicy wynoszącej 206C i temperaturze stołu wynoszącej 60C.
Model ogniwa gąsienicy zaczerpnąłem ze strony: http://www.thingiverse.com/thing:35668 . Wpadły mi kiedyś “w oko” i postanowiłem użyć ich w swoim projekcie. Drukowałem je w pakietach po 8 sztuk. Ogółem potrzeba 70 ogniw, po 35 sztuk na każdą stronę.
Do połączenia ogniw w gotowe gąsienice użyłem żyłki do podkaszarki o średnicy 2 mm. Do zatapiania końcówek poszczególnych kawałków żyłki użyłem lutownicy kolbowej z założonym przepalonym, starym grotem,
Wydrukowanie wszystkiego zabrało trochę czasu i materiału.
Główne elementy konstrukcji połączyłem ze sobą klejem. Warto zadbać aby części mocno do siebie przylegały. Dla pewności zostawiłem całość w “spokoju” na noc, aby klej miał czas wyschnąć.
Tym samym klejem wkleiłem mocowania na przednie koła do kadłuba.
Łożyska w przednik kołach mocowane są na wcisk bez konieczności użycia kleju. Przygotowane przednie koła nałożyłem na niebieskie walce i przykręciłem śrubą M4.
Następnie zmontowałem tylne koła, tak by wystarczyło tylko przykręcić silniki.
Jako iż pojazd jest zasilany 8 akumulatorkami AA dającymi łącznie ok 11 V a silniki zasilam napięciem wynoszącym 7 V musiałem zastosować odpowiednią przetwornice – LM2596. Dodatkowo na zdjęciu widać sposób montażu przełącznika i gniazda pod koszyczek z akumulatorkami.
Silniki do kadłuba przykręciłem śrubami M3. Najlepiej pasują tutaj śruby o długości 35 mm, łącznie potrzeba 4 sztuki.
Poniżej zdjęcie z pojazdem przygotowanym do montażu elektroniki. Przednie koła wydrukowałem z czerwonego filamentu, aby pojazd nabrał charakteru.
Płytkę Arduino UNO (na zdjęciu w celach testowych klon) postanowiłem umieścić na przedniej górnej obudowie.
Co do elektroniki i sposobu sterowania… Od początku miałem kilka koncepcji, planowałem zbudować specjalny pilot i sterować pojazd drogą radiową przy pomocy modułów nRF24L01. Miałem z nimi trochę problemów, dlatego postanowiłem zastosować sprawdzone sterowanie po przez Bluetooth. Użyłem popularny moduł HC-06 i specjalnej aplikacji Arduino Bluetooth RC Car (link).
Całość podłączyłem wg. następującego schematu:
Oraz program do Arduino:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
int Motor1 = 4; int Motor2 = 5; int Motor3 = 6; int Motor4 = 7; int PrzednieLED = 11; //Pin that activates the Front lights int TylneLED = 12; //Pin that activates the Back lights. int command; //char command = 'S'; int velocity = 0; void setup() { Serial.begin(9600); //Set the baud rate to that of your Bluetooth module. pinMode(PrzednieLED, OUTPUT); pinMode(TylneLED, OUTPUT); pinMode(Motor1, OUTPUT); pinMode(Motor2, OUTPUT); pinMode(Motor3, OUTPUT); pinMode(Motor4, OUTPUT); } void loop(){ if(Serial.available() > 0){ command = Serial.read(); //Change pin mode only if new command is different from previous. //Serial.println(command); switch(command){ case 'F': digitalWrite(Motor1, HIGH); digitalWrite(Motor4, HIGH); break; case 'B': digitalWrite(Motor2, HIGH); digitalWrite(Motor3, HIGH); break; case 'L': digitalWrite(Motor2, HIGH); digitalWrite(Motor4, HIGH); break; case 'R': digitalWrite(Motor1, HIGH); digitalWrite(Motor3, HIGH); break; case 'S': digitalWrite(Motor1, LOW); digitalWrite(Motor2, LOW); digitalWrite(Motor3, LOW); digitalWrite(Motor4, LOW); break; case 'I': //PR digitalWrite(Motor4, HIGH); break; case 'J': //TR digitalWrite(Motor3, HIGH); break; case 'G': //PL digitalWrite(Motor1, HIGH); break; case 'H': //TL digitalWrite(Motor2, HIGH); break; case 'W': digitalWrite(PrzednieLED, HIGH); break; case 'w': digitalWrite(PrzednieLED, LOW); break; case 'U': digitalWrite(TylneLED, HIGH); break; case 'u': digitalWrite(TylneLED, LOW); break; case 'D': digitalWrite(PrzednieLED, LOW); digitalWrite(TylneLED, LOW); break; } } } |
Moduł Bluetooth nie wymaga żadnych dodatkowych bibliotek. Dodatkowo w programie zawarte są polecenia : int PrzednieLED = 11; int TylneLED = 12; – w miarę potrzeby można podłączyć coś do pinów 11 i 12 Arduino i sterować tym z poziomu aplikacji ze smartphona.
Kilka zdjęć z prezentacją:
I jeszcze porównanie z wcześniejszymi “wersjami”:
świetny projekt!. pokaz jeszcze jakies filmy jak to działa :P
Jeśli dobrze widzę na schemacie, nie powinno się zasilać arduino przez port 5V a przez VIN. Czym ten projekt różni się od wersji 2 bo ja wizualnie nie widzę różnicy choć pamięć może mnie mylić.
Do vin mogłem podłączyć zasilanie bezpośrednio z baterii, bo teoretycznie działa to z napięciem 7 – 12 V a bateria daje 11 V. Ja podłączyłem się do złącza 5 V gdyż jestem pewny że z przetwornicy S7V7F5 płynie właśnie 5 V. A poza tym miałem wyprowadzone 3 złącza 5 V (do zasilania np przekaźnika / jakiegoś czujnika) na płytce i wystarczył się do jednego z nich podłączyć.
A co do wersji, głównie chodzi o kwestie sterowania. Miałem trochę problemów z modułami radiowymi nRF24L01. Chciałem mieć pewność że projekt który publikuje działa i inne osoby będą w stanie go samemu złożyć i uruchomić.
Ps. wrzuciłem dodatkowe zdjęcie na koniec artykułu.
z NRF nigdy nie miałem problemów jak masz czas i ochotę sprawdzić i przerobić mój program pod wersje v2 i przetestować. Osobiście nie lubię sterowania za pomocą telefonu bo raz bateria w telefonie szybko jest zjadana, dwa są lekkie opóźnienia. I dalej z uporem maniaka proponuję zrobić ogumienie do gąsienic :)
Fajny projekt w przyszłości można by dodać czujnik HC-SR04 i zrobić tryb automatyczny.
Ciekawy pojazd widzę że nie twój pierwszy, ja planuję zbudować podobny ale ciągle czasu brak mam już wszystkie części i tak jak kolega myślę że lepiej będzie sterować przez radio, a co do akumulatorów proponuję zastąpić je litowymi dużo wydajniejsze dłużej trzymają po naładowaniu a można wbrew pozorom kupić tanio ja ostatnio nabyłem używane z rozbiórki z gwarancją 1 miesięczną po 4 zł za 1 szt pojemności ok. 2000 mAh
czekamy na film z kamery na pojeździe :)
Postaram się coś w tej kwestii zrobić ;)