Spisu treści:
- Krok 1: Potrzebne części
- Krok 2: System jazdy
- Krok 3: System broni
- Krok 4: Skonfiguruj Pi
- Krok 5: Połączenie elektroniczne
- Krok 6: Interfejs
- Krok 7: Plan na przyszłość
- Krok 8: Dzięki za przeczytanie
Wideo: Raspberry Pi Cam Tank V1.0: 8 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Od małego kocham czołgi. Budowanie własnego czołgu to zawsze jedno z moich marzeń. Ale z powodu braku wiedzy i umiejętności. Sen to tylko sen.
Po latach studiów inżynierskich i wzornictwa przemysłowego. Zdobyłem umiejętności i wiedzę. A dzięki tańszym hobbystycznym drukarkom 3D. W końcu mogę zrobić krok.
Jakie cechy powinien mieć ten czołg?
- Zdalnie sterowany
- Zawieszone koła jałowe (jak prawdziwy czołg!)
- Posiada obrotową wieżę i uchylny BB Gun może strzelać pociskami 6mm
- Może przesyłać strumieniowo wideo do kontrolera, dzięki czemu można nim sterować z daleka
Na początku planowałem użyć arduino jako kontrolera, ale po kilku badaniach stwierdziłem, że nie ma praktycznego sposobu na samodzielną transmisję wideo. Jednak Raspberry Pi wydaje się być dobrym kandydatem do przesyłania strumieniowego wideo. I możesz to kontrolować przez żonę z twojego telefonu!
Zacznijmy.
Krok 1: Potrzebne części
Do kontroli
Raspberry Pi w wersji B
Zasilany koncentrator USB (Belkin F4u040)
Kamera internetowa USB (Logitech C270)
Klucz Wi-Fi (Edimax)
Kabel połączeniowy żeński na męski
Do jazdy
Dwa wysokie momenty obrotowe kontynuują serwo lub silnik (dla dwóch kół napędowych)
Jedna stalowa linka 1/8 do wałów kół (kupiona w magazynie i niedrogo)
Dziesięć łożysk ślizgowych (zamówionych w Mcmaster)
Niektóre sprężyny do zawieszenia (kupiony asortyment sprężyn w Harbour Freight, niedrogi)
Do wieży
Zabawka z automatycznym pistoletem BB
Jeden mini silnik prądu stałego o wysokim momencie obrotowym
Mikro serwo do przechylania w górę i w dół
Część stalowa 1/4 jako oś pistoletu
Inne rzeczy
Wydrukowałem w 3D większość części tego czołgu, jeśli masz łatwy dostęp do wycinarki laserowej, to też by zadziałało.
Do drukowania użyłem filamentu PLA, ponieważ łatwiej się z nim uporać (brak problemów z owijaniem na ABS). Ale naprawdę trudno później szlifować, ciąć, wiercić.
Możesz pomyśleć, że drukowanie 3D jest dobre dla niestandardowych części i możesz wydrukować bardzo skomplikowaną część jako jedną sztukę. To prawda. Uważam jednak, że dla hobbysty taki sposób nie jest praktyczny i ekonomiczny. Powody to:
Twoja hobbystyczna drukarka nie będzie tak dokładna.
Popełnisz błędy w pomiarach i obliczeniach (tolerancja, wyrównanie itp.).
W każdym razie jest dość duża szansa, że Twoje odbitki nie będą działać lub nie zmieszczą się na pierwszym zdjęciu. W przypadku małej części wystarczy zmienić model, a następnie wydrukować go ponownie. Ale w przypadku większej i bardziej skomplikowanej części frustrująca jest wiedza, że coś jest nie tak po wielu godzinach drukowania. To strata czasu i materiału. Oto moje podejście:
Bo wszystko jest symetryczne, wydrukuj tylko połowę, wypróbuj, jeśli wszystko działa dobrze, wydrukuj całość.
Modelowanie części z myślą o druku 3D. Czy może istnieć płaska powierzchnia do zamocowania łóżka drukarki? Czy można go podzielić na mniejsze części, aby uniknąć zbyt dużej konstrukcji nośnej?
Ponieważ części mają wiele funkcji (współdziałają z wieloma innymi częściami), podziel model na moduły. Więc jeśli jedna funkcja zawiodła, nie musisz ponownie drukować całej części. Po prostu dostosuj moduł i wydrukuj go ponownie. Do ich łączenia używam śrub i nakrętek.
Bądź dobrym przyjacielem z narzędziami ręcznymi, piłą ręczną, X-acto, wiertarką, pistoletem do klejenia na gorąco. Jeśli możesz naprawić błąd drukowania, napraw go.
To wyjaśnia, dlaczego mój czołg ma tak wiele części. Ciągle dopracowuję te części i gdy znajdę dobrą kombinację, mogę je wydrukować razem jako jeden kawałek. Wtedy byłby to mój Cam Tank v2.0.
Krok 2: System jazdy
Zawieszenie
Na początku zrobiłem prototyp bez zawieszenia, tylko osie w dolnej części kadłuba z łożyskami i kołami. Ale myśląc o wygodzie operatora (pojadę nim oglądając streaming video!), postanowiłem dodać zawieszenie, żeby było chłodniej.
Wszystko co mam to sprężyny śrubowe, bez hydrauliki, bez resorów piórowych. Na początku eksperymentowałem z mechanizmem drążka skrętnego z PLA. (Zawieszenie drążka skrętnego jest powszechne w niektórych zbiornikach). Okazuje się, że po kilku skręceniach wydrukowany pasek PLA zmięknie i ostatecznie pęknie. ABS może być lepszy do tego celu, ale nigdy nie próbowałem. Więc po dalszych badaniach znalazłem projekt zawieszenia Christie, oto krótki film pokazujący, jak to działa.
Jednak zawieszenie christie ma tak wiele małych części i wtedy nie mam zaufania do mojej drukarki. Więc zrobiłem takie zawieszenie.
(obraz)
Ta konfiguracja zajmuje zbyt dużo przestrzeni wewnętrznej. Więc obracam wewnętrzne ramię o 90 stopni. Zauważ, że pierwsze i ostatnie koło stało się krótsze
Tylny napinacz
Myślałem, że gdy czołg przejedzie jakieś przeszkody, nieobciążone koła mogą ruszyć w górę i tor straci napięcie. Dodałem więc jakiś mechanizm napinacza na tylnym kole. W zasadzie są to dwie sprężyny, które cały czas dociskają oś, wywierając na nią pewną siłę, aby napiąć gąsienice.
Koła napędowe i gąsienice
Zaprojektowałem te gąsienice i koła napędowe w solidworks. Nie wiem zbyt wiele o inżynierii mechanicznej, dlatego nie mogę wykonać obliczeń przekładni. Więc symulowałem części w solidworks, aby sprawdzić, czy działa, zanim nacisnę przycisk Drukuj. Każda ścieżka jest połączona z zapasowym 3mm filamentem. Działa całkiem dobrze z odrobiną szlifowania. Ale konstrukcja toru ma wadę, powierzchnia stykająca się z podłożem jest zbyt gładka, aby trudno było ją uchwycić. Jeśli wydrukuję go do góry nogami, mógłbym dodać trochę bieżnika, ale będzie to kosztować dużo materiału podtrzymującego ze względu na ząb. Przyszłe rozwiązania: 1: wydrukuj ząb oddzielnie, a następnie sklej je razem. 2. Nałóż trochę farby w sprayu z gumową powłoką.
Następnie wydrukowałem obudowę serw i upewniłem się, że koło napędowe można przykręcić śrubami do ramienia serw.
Krok 3: System broni
Ta część jest dla mnie najbardziej ekscytująca. Możesz kupić zabawkową czołg z aparatem. Ale nie znalazłem jednej zabawki łączącej aparat i jakąś broń.
Kupiłem tę automatyczną broń ASG za 9,99 $ na wyprzedaży. (Teraz jest to około 20 dolców i może później spróbuję czegoś tańszego) I rozerwij to, aby zrozumieć mechanizm. Mogę całkowicie wyciąć ciało i przykleić je do mojego zbiornika. Ale nie lubię brzydko wyglądającej połowy ciała. Zrobiłem więc trochę pomiarów i przemodelowałem część mechaniczną. Z tych kawałków nauczyłem się lekcji drukowania 3D: zawsze popełnisz błąd. Aby dopasować każdą część, potrzeba 5 wydruków, a także dużo cięcia, szlifowania i klejenia na gorąco, aby działała idealnie.
Po tym, jak każda część z zabawkowego pistoletu poruszała się poprawnie w moim replikowanym ciele, wydrukowałem cztery inne części, aby zacisnąć korpus. Dodano mechanizm przechylania, lejek pocisku BB i obsługę kamery. Wszystkie te części są przykręcone do korpusu pistoletu. Docelowo można je połączyć w co najmniej dwie części. Ale myślę, że nie jestem jeszcze gotowy.
Na podstawie wieży dodałem mikro serwo do przechylania i mikrosilnik prądu stałego do obracania.
Potem zacząłem testować broń, podłączyć 4 baterie AA i dobrze strzela. Bardzo się ucieszyłem, że działa dobrze. Ale następnego dnia znalazłem problem.
Oto film z moich testów broni. wieżyczka została podłączona do adaptera 3v.
Krok 4: Skonfiguruj Pi
To najważniejsza część, serce naszego zbiornika – Raspberry Pi!
Jeśli nie grałeś jeszcze w Raspberry Pi. Polecam zacząć od tej książki: Pierwsze kroki z raspberry pi autorstwa MAKE. Możesz uzyskać podstawy i wszechstronne zrozumienie Pi.
Pobierz najnowszy system operacyjny raspbian.
Kolejnym narzędziem, które bardzo polecam, jest Pulpit zdalny. Oto samouczek autorstwa Adama Rileya. Po skonfigurowaniu możesz wyświetlić pulpit Pi na swoim komputerze PC (nie testowano na komputerze Mac). Tak więc uruchomienie Pi "nago" oznacza brak konieczności używania wyświetlacza, myszy i klawiatury. Niektórzy z moich znajomych używają wiersza poleceń ssh. Ale wolę pulpit.
Na podstawie wcześniejszych badań wiedziałem, że Raspberry Pi jest w stanie przesyłać strumieniowo wideo. Zacząłem więc bawić się różnymi aplikacjami na Pi. Wiele aplikacji ma duże opóźnienie (sekundy) lub ma niską liczbę klatek na sekundę. Po kilku tygodniach wędrówek po filmach i samouczkach online na szczęście znalazłem rozwiązanie. Film na youtube o webiopi dał mi wiele nadziei. Więcej badań skłoniło mnie do przekonania, że to właściwa droga.
Webiopi to framework, który sprawił, że połączenie między Pi a innym urządzeniem internetowym jest naprawdę łatwe. Kontroluje wszystkie Pi GPIOS, a następnie uruchamia serwer zawierający dostosowany html. Możesz uzyskać dostęp do tego html z innych urządzeń (komputer, smartfon itp.) i kliknąć przycisk w przeglądarce w odległości Wi-Fi, uruchamia się GPIO.
Film, który wzbudził we mnie nadzieję, oparty jest na samouczku webiopi – projekt cambot. Jest on opisywany w magazynach MagPi #9[html][pdf] i #10[html][pdf]. Dzięki Ericowi PTAK!
Postępując zgodnie z samouczkiem krok po kroku, możesz zrobić kambot na dwa koła! Oto jak to działa: połącz dwa silniki za pomocą mostka H, a następnie kontroluj mostek H za pomocą 6 pinów GPIO, aby sterować kierunkiem i prędkością. Webiopi służy do sterowania GPIO. Streamer-j.webp
Jeśli jesteś nowy w Pi lub Linuksie, tak jak ja kilka miesięcy temu, możesz mieć mały problem po wykonaniu wszystkich kroków. Możesz uruchomić kod Pythona dla webiopi i strumieniowego wideo osobno, ale nie wiesz, jak uruchomić je razem? Zajęło mi trochę czasu, zanim dowiedziałem się, że możesz dodać & po poleceniu (& jest naprawdę trudne do wyszukania w google, BTW), co oznacza, że chcesz, aby to polecenie było uruchamiane w tle. Więc zrobię to za każdym razem:
sudo python cambot.py&
sudo./stream.sh
Wierzę, że tworzysz plik bash zawierający powyższe polecenie w jednym pliku i uruchamiasz raz. Jeszcze nie próbowałem.
Wypróbowałem więc tę podstawową konfigurację z dwoma silnikami prądu stałego, działa, ale silnik, który mam, nie jest wystarczająco mocny. Prowadzi mnie do innej opcji: serwa ciągłe.
Pojawia się wtedy nowe pytanie: czy webiopi obsługuje serwomechanizmy sterowane PWM?
Odpowiedź brzmi tak, ale nie sama: RPIO jest potrzebne do wygenerowania oprogramowania PWM
Instalacja RPIO (nie mam szczęścia do pierwszej metody instalacji apt-get. Metoda github działa dla mnie świetnie)
Przykładowy kod i inne dyskusje
Teraz twój bot jest ulepszony o dwa serwa! Pomyśl, co możesz zrobić z dodatkowymi ramionami!
Zmodyfikowałem powyższy przykładowy kod, aby pasował do mojego zbiornika. Aby to zrobić, nie potrzebujesz dyplomu z informatyki. Jesteś dobry tak długo, jak potrafisz zrozumieć przykładowy kod i wiesz, co skopiować i gdzie zmienić.
Krok 5: Połączenie elektroniczne
Power bank, który kupiłem, Anker Astro Pro, ma dwa porty USB i jeden port 9V (główny powód, dla którego kupiłem ten). Próbowałem zasilać Pi, klucz Wi-Fi i kamerę internetową za pomocą jednego portu USB. Nie uruchamia się. Użyłem więc drugiego portu USB do zasilanego koncentratora USB.
Wtedy pomyślałem, że może mógłbym zasilać serwa portem USB hub. Działa, ale połączenie Wi-Fi jest bardzo niestabilne.
Aby rozwiązać ten problem, przywiozłem 4 baterie AA do zasilania potrzeb serwomechanizmu 6V. Rozłożyłem kabel USB, aby odsłonić przewód uziemiający (czarny) i połączyć z uziemieniem pakietu baterii AA.
3 serwa, czerwony do 6V, czarny do masy i pin sygnałowy podłączony do pinów GPIO.
Zgodnie z planem silnik obrotowy wieży i silnik działka powinny być również zasilane napięciem 6V ze sterowaniem mostkiem H. Ale kiedy wszystko podłączyłem, broń nie strzela! Wygląda na to, że silnik próbuje się obracać, ale nie może napędzać kół zębatych. Napięcie wyjściowe jest prawidłowe, ale wydaje się, że nie ma wystarczającego prądu do napędzania. Próbowałem też MOSFET-u bez powodzenia.
Muszę zrezygnować z tej części z powodów czasowych. I dlatego w teście pistoletu muszę ręcznie podłączyć silnik pistoletu do adaptera. Jeszcze wiele do nauczenia się w elektronice. W najgorszym przypadku zawsze mogłem sterować pistoletem za pomocą serwa pociągnij i zwolnij spust.
Krok 6: Interfejs
Zmieniłem również interfejsy z przykładowych kodów cambot i rasprover. Ponieważ planowałem użyć smartfona jako kontrolera, zoptymalizowałem układ dla mojego telefonu (galaxy note3).
Większość układów i stylów można edytować w pliku index.html. Jednak domyślny styl przycisku (ciemnoszary z czarnym obramowaniem) jest zdefiniowany w pliku webiopi.css znajdującym się w /usr/share/webiopi/htdocs. Użyłem terminala do uruchomienia sudo nano w celu jego modyfikacji.
Strumień wideo znajduje się na środku ekranu, sterowanie jazdą po lewej stronie, a sterowanie bronią po prawej. Zaprojektowałem sterowanie jazdą jako dwa zestawy: góra (do przodu), stop, dół (do tyłu), które wymagają lepszej kontroli, ale na filmie widać, że czasami jest to niezręczne.
Krok 7: Plan na przyszłość
Jak widać, ten projekt nie jest jeszcze skończony. Dzięki konkursowi raspberry pi w zeszłym tygodniu bardzo się rozkręciłem, po prostu starając się ukończyć go przed terminem. Obraca się całkiem nieźle, dopóki nie odkryłem, że broń nie strzela…
Jest dużo do ulepszenia, ale mam nadzieję, że możesz się czegoś nauczyć z mojego doświadczenia.
Plan krótkoterminowy:
Spraw, aby pistolet działał!!!
Większy pojemnik na więcej BB
Czołg musi odkrywać świat - wyjdź poza domowe wifi!
Skonfiguruj węzeł ad-hoc na Pi, aby telefon mógł łączyć się z nim w dowolnym miejscu
Uruchom polecenie zbiornika podczas uruchamiania
Dodaj przycisk zamykania, aby bezpiecznie wyłączyć Pi.
Plan długoterminowy:
Lepszy system napędowy zapewniający stabilność i przyczepność
Zaprojektuj teraz własną płytkę drukowaną zamiast płytki prototypowej
Nagrywanie wideo z perspektywy pierwszej osoby
Kolejny pistolet? Zróbmy z niego statek bojowy!
Dodać czujniki do samodzielnego patrolowania?
Wizja komputerowa do automatycznego kierowania!
Kontroluj czołg daleko daleko: zobaczę wszystko w domu!
Krok 8: Dzięki za przeczytanie
Dziękuję za przeczytanie mojego słabego angielskiego (to nie jest mój pierwszy język). Mam nadzieję, że dobrze się tu bawiłeś lub czegoś się nauczyłeś. To będzie ciągły projekt, więc jeśli masz doświadczenie w jakiejkolwiek dziedzinie, doceniam twoją radę.
Jeśli masz jakieś pytania, zostaw komentarz, postaram się odpowiedzieć.
Pozwólcie, że zrobię aktualizację - Cam Tank2.0 - w najbliższej przyszłości.
Nareszcie film przedstawiający scenariusz bitwy. To całkiem zabawne.
Ciesz się i do zobaczenia następnym razem!
Zalecana:
Jak zbudować robota SMARS - Arduino Smart Robot Tank Bluetooth: 16 kroków (ze zdjęciami)
Jak zbudować robota SMARS - Arduino Smart Robot Tank Bluetooth: Ten artykuł jest dumnie sponsorowany przez PCBWAY.PCBWAY tworzy wysokiej jakości prototypowe płytki PCB dla ludzi na całym świecie. Wypróbuj to dla siebie i zdobądź 10 płytek PCB za jedyne 5 USD w PCBWAY o bardzo dobrej jakości, dzięki PCBWAY. Osłona silnika dla Arduino Uno
Bezprzewodowe sterowanie Arduino Tank (nRF24L01): 6 kroków (ze zdjęciami)
Wireless Arduino Controlled Tank (nRF24L01): Cześć! Dzisiaj pokażę ci, jak zbudować kontrolowany przez Arduino czołg i pilot. Wydrukowane w 3D części zbiornika (z wyjątkiem kontrolera, prowadnicy gąsienic i pokrywy zbiornika) zostały zaprojektowane przez firmę timmiclark i można je znaleźć tutaj
Raspberry Pi 3 FPV Lego Tank: 5 kroków (ze zdjęciami)
Raspberry Pi 3 FPV Lego Tank: Lego świetnie nadaje się do uczenia dzieci, jak działają rzeczy, jednocześnie pozwalając im się dobrze bawić. Wiem, że zawsze lubiłem „grać”; z lego, kiedy byłem dzieckiem. Ta instrukcja opisuje, jak zbudowałem czołg FPV (widok z pierwszej osoby) z
DIY Wave Tank / Flume za pomocą Arduino i V-slot: 11 kroków (ze zdjęciami)
DIY Wave Tank / Flume Korzystanie z Arduino i V-slot: Zbiornik fal to konfiguracja laboratoryjna do obserwacji zachowania fal powierzchniowych. Typowy zbiornik falowy to pudełko wypełnione cieczą, zwykle wodą, pozostawiającą otwartą lub wypełnioną powietrzem przestrzeń na górze. Na jednym końcu zbiornika siłownik generuje fale; drugi e
Raspberry Tank z interfejsem sieciowym i strumieniowaniem wideo: 8 kroków (ze zdjęciami)
Raspberry Tank z interfejsem sieciowym i strumieniowaniem wideo: Zobaczymy, jak zbudowałem mały czołg z WiFi, zdolny do zdalnej kontroli sieciowej i przesyłania strumieniowego wideo. Ten samouczek ma być samouczkiem, który wymaga podstawowej wiedzy z zakresu programowania elektronicznego i oprogramowania. Z tego powodu wybrałem