Spisu treści:

Upcycled RC Car: 23 kroki (ze zdjęciami)
Upcycled RC Car: 23 kroki (ze zdjęciami)

Wideo: Upcycled RC Car: 23 kroki (ze zdjęciami)

Wideo: Upcycled RC Car: 23 kroki (ze zdjęciami)
Wideo: Man Falls OVERBOARD and Boat Keeps Going! | Wavy Boats | Haulover Inlet 2024, Listopad
Anonim
Image
Image
Skarb z recyklingu
Skarb z recyklingu

Samochody RC zawsze były dla mnie źródłem ekscytacji. Są szybkie, zabawne i nie musisz się martwić, jeśli je rozbijesz. Jednak jako starszy, bardziej dojrzały entuzjasta RC, nie widzę, jak bawię się małymi, dziecięcymi samochodami RC. Muszę mieć duże, dorosłe, wielkości człowieka. Tu pojawia się problem: samochody RC dla dorosłych są drogie. Podczas przeglądania internetu najtańszy, jaki udało mi się znaleźć, kosztował 320 USD, średnio około 800 USD. Mój komputer jest tańszy niż te zabawki!

Wiedząc, że nie stać mnie na te zabawki, producent we mnie powiedział, że mogę zrobić samochód za dziesiątą część ceny. W ten sposób rozpocząłem swoją podróż, aby zamienić śmieci w złoto

Kieszonkowe dzieci

Części potrzebne do samochodu RC to:

  • Używany samochód RC
  • Sterownik silnika L293D (formularz DIP)
  • Arduino Nano
  • Moduł radiowy NRF24L01+
  • RC Drone Battery (lub dowolna inna bateria wysokoprądowa)
  • Konwertery Buck LM2596 (2)
  • Przewody
  • Płyta perforowana
  • Małe, różne elementy (piny nagłówkowe, zaciski śrubowe, kondensatory itp.)

Części potrzebne do kontrolera RC są następujące:

  • Używany kontroler (musi mieć 2 analogowe joysticki)
  • Arduino Nano
  • Moduł radiowy NRF24L01+
  • Przewody elektryczne

Krok 1: Skarb z recyklingu

Skarb z recyklingu
Skarb z recyklingu

Ten projekt rozpoczął się około rok temu, kiedy wraz z przyjaciółmi planowaliśmy zrobić samochód sterowany komputerowo do projektu hackathon (konkurs na kodowanie). Moim planem było pójście do sklepu z używanymi rzeczami, kupienie największego samochodu RC, jaki udało mi się znaleźć, wypatroszenie wnętrza i zastąpienie go ESP32.

W czasie kryzysu pobiegłem do Savers, kupiłem samochód RC i przygotowałem się do hackathonu. Niestety, wiele potrzebnych mi części nie dotarło na czas, więc musiałem całkowicie złomować projekt.

Od tamtej pory samochód RC zbiera kurz pod moim łóżkiem, aż do teraz…

Szybki przegląd:

W tym projekcie zmienię przeznaczenie używanego samochodu-zabawki i kontrolera IR, aby stworzyć Upcycled RC Car. Wypatrosz wnętrzności, wszczepię Arduino Nano i użyję modułu radiowego NRF24L01 + do komunikacji między nimi.

Krok 2: Teoria

„Zrozumienie, jak coś działa, jest ważniejsze niż wiedza, jak sprawić, by to działało”

- Kevin Yang 17.05.2020 (właśnie to wymyśliłem)

Powiedziawszy to, zacznijmy rozmawiać o teorii i elektronice stojącej za Upcycled RC Car.

Po stronie samochodu będziemy używać NRF24L01+, Arduino Nano, sterownika silnika L293D, silników w samochodzie RC i dwóch konwerterów buck. Jeden konwerter buck będzie dostarczał napięcie sterujące dla silnika, podczas gdy drugi będzie dostarczał 5 V dla Arduino Nano.

Po stronie kontrolera będziemy używać NRF24L01+, Arduino Nano i analogowych joysticków w zmienionym kontrolerze.

Krok 3: NRF24L01+

NRF24L01+
NRF24L01+

Zanim zaczniemy, powinienem chyba wyjaśnić słonia w pokoju: NRF24L01+. Jeśli nie znasz jeszcze tej nazwy, NRF24 to chip wyprodukowany przez Nordic Semiconductors. Jest dość popularny w społeczności twórców do komunikacji radiowej ze względu na niską cenę, mały rozmiar i dobrze napisaną dokumentację.

Jak więc właściwie działa moduł NRF? Na początek NRF24L01+ działa na częstotliwości 2,4 GHz. Jest to ta sama częstotliwość, na której działają Bluetooth i Wifi (z niewielkimi różnicami!). Układ komunikuje się między Arduino za pomocą SPI, czteropinowego protokołu komunikacyjnego. Do zasilania NRF24 używa 3,3 V, ale piny są również odporne na 5 V. Pozwala nam to na użycie Arduino Nano, który wykorzystuje logikę 5V, z NRF24, który wykorzystuje logikę 3.3V. Kilka innych funkcji jest następujących.

Wybitne cechy:

  • Działa w paśmie 2,4 GHz
  • Zakres napięcia zasilania: 1,6 - 3,6 V
  • Tolerancja 5V
  • Wykorzystuje komunikację SPI (MISO, MOSI, SCK)
  • Zajmuje 5 pinów (MISO, MOSI, SCK, CE, CS)
  • Can Trigger Interrupts - IRQ (bardzo ważne w tym projekcie!)
  • Tryb uśpienia
  • Zużywa 900nA - 12mA
  • Zasięg transmisji: ~100 metrów (różni się w zależności od położenia geograficznego)
  • Koszt: 1,20 USD za moduł (Amazonka)

Jeśli chcesz dowiedzieć się więcej o NRF24L01+, zapoznaj się z sekcją Dodatkowe Odczyty na końcu

Krok 4: L293D - sterownik silnika z podwójnym mostkiem H

L293D - sterownik silnika z podwójnym mostkiem H
L293D - sterownik silnika z podwójnym mostkiem H
L293D - sterownik silnika z podwójnym mostkiem H
L293D - sterownik silnika z podwójnym mostkiem H
L293D - sterownik silnika z podwójnym mostkiem H
L293D - sterownik silnika z podwójnym mostkiem H

Chociaż Arduino Nano może dostarczyć wystarczającą ilość prądu do zasilania diody LED, nie ma możliwości samodzielnego zasilania silnika przez Nano. Dlatego musimy użyć specjalnego sterownika do sterowania silnikiem. Oprócz możliwości dostarczania prądu, układ sterownika będzie również chronić Arduino przed wszelkimi skokami napięcia wynikającymi z włączania i wyłączania silnika.

Włóż L293D, poczwórny, pół-mostkowy sterownik silnika, lub w kategoriach laika, chip, który może napędzać dwa silniki do przodu i do tyłu.

L293D opiera się na mostkach H do sterowania zarówno prędkością silnika, jak i kierunkiem. Kolejną cechą jest izolacja zasilania, która pozwala Arduino na zasilanie ze źródła oddzielnego od silników.

Krok 5: Patroszenie samochodu

Patroszenie samochodu
Patroszenie samochodu
Patroszenie samochodu
Patroszenie samochodu

Dość teorii i zacznijmy naprawdę budować!

Ponieważ samochód RC nie jest wyposażony w kontroler (pamiętaj, że pochodzi ze sklepu z używanymi rzeczami), wewnętrzna elektronika jest w zasadzie bezużyteczna. W ten sposób otworzyłem samochód RC i wrzuciłem płytę kontrolera do mojego kosza na śmieci.

Teraz ważne jest, aby zrobić kilka notatek, zanim zaczniemy. Należy zwrócić uwagę na napięcie zasilania samochodu RC. Samochód, który kupiłem, jest bardzo stary, na długo zanim baterie litowe stały się powszechne. Oznacza to, że ten samochód RC był zasilany z akumulatora Ni-Mh o napięciu nominalnym 9,6 wolta. Jest to ważne, ponieważ z takim napięciem będziemy napędzać silniki.

Krok 6: Jak działa samochód?

Jak działa samochód?
Jak działa samochód?
Jak działa samochód?
Jak działa samochód?
Jak działa samochód?
Jak działa samochód?

Mogę powiedzieć z 99% pewnością, że mój samochód nie jest taki sam jak twój, co oznacza, że ta sekcja jest w zasadzie bezużyteczna. Jednak ważne jest, aby wskazać kilka cech, które posiada mój samochód, ponieważ na nich będę opierał swój projekt.

Sterowniczy

W przeciwieństwie do nowoczesnych samochodów RC, samochód, który moduję, nie używa serwa do skręcania. Zamiast tego w moim samochodzie zastosowano podstawowy silnik szczotkowany i sprężyny. Ma to wiele wad, zwłaszcza, że nie jestem w stanie wykonywać precyzyjnych skrętów. Jednak jedną natychmiastową korzyścią jest to, że nie potrzebuję żadnego skomplikowanego interfejsu sterującego, aby się włączyć. Wystarczy zasilić silnik z określoną polaryzacją (w zależności od tego, w którą stronę chcę się skręcić).

Oś mechanizmu różnicowego

O dziwo, mój samochód RC zawiera również oś różnicową i dwa różne tryby przełożenia. Jest to dość zabawne, ponieważ dyferencjały zwykle znajdują się w prawdziwych samochodach, a nie w małych RC. Pomyślałbym, że zanim ten samochód trafił na półki sklepu z używanymi rzeczami, był to wysokiej klasy model RC.

Krok 7: Kwestia władzy

Kwestia władzy
Kwestia władzy
Kwestia władzy
Kwestia władzy
Kwestia władzy
Kwestia władzy
Kwestia władzy
Kwestia władzy

Po usunięciu funkcji, musimy teraz porozmawiać o najważniejszej części tego builda: Jak będziemy zasilać samochód RC? A dokładniej: Ile prądu jest potrzebne do napędzania silników?

Aby na to odpowiedzieć, podłączyłem akumulator drona do konwertera buck, gdzie spadłem 11V akumulatora na 9,6V silników. Stamtąd ustawiłem multimetr na tryb prądowy 10A i zakończyłem obwód. Mój miernik odczytał, że silniki potrzebują 300 mA prądu, aby obracać się na wolnym powietrzu.

Chociaż może to nie brzmieć dużo, pomiar, na którym naprawdę nam zależy, to prąd utyku silników. Aby to zmierzyć, kładę ręce na kołach, aby się nie obracały. Kiedy spojrzałem na mój miernik, pokazywał stałe 1A.

Wiedząc, że silniki napędowe będą pobierać z grubsza prąd, przystąpiłem do testowania silników sterujących, które pobierały 500 mA po zatrzymaniu. Mając tę wiedzę doszedłem do wniosku, że mogę zasilać cały system z baterii drona RC i dwóch konwerterów buck LM2596*.

*Dlaczego kontrolery za dwa dolary? Cóż, każdy LM2596 ma maksymalny prąd 3A. Jeśli wyłączę wszystko z jednego konwertera, będę pobierał dużo prądu, a zatem będę miał dość duże skoki napięcia. Z założenia siła Arduino Nano odpoczywa za każdym razem, gdy występuje duży skok napięcia. Dlatego użyłem dwóch konwerterów, aby zmniejszyć obciążenie i odizolować Nano od silników.

Ostatnim ważnym elementem, którego potrzebujemy, jest tester napięcia ogniw Li-Po. Ma to na celu ochronę baterii przed nadmiernym rozładowaniem, aby zapobiec zrujnowaniu żywotności baterii (zawsze utrzymuj napięcie ogniwa litowego powyżej 3,5 V!)

Krok 8: Obwód samochodu RC

Obwód samochodu RC
Obwód samochodu RC

Po rozwiązaniu problemu zasilania możemy teraz skonstruować obwód. Powyżej schemat, który wykonałem dla samochodu RC.

Należy pamiętać, że nie uwzględniłem podłączenia woltomierza akumulatora. Aby skorzystać z woltomierza, wystarczy podłączyć złącze balansu do odpowiednich styków woltomierza. Jeśli nigdy wcześniej tego nie robiłeś, kliknij link wideo w sekcji Dodatkowe lektury, aby dowiedzieć się więcej.

Uwagi dotyczące obwodu

Piny włączania (1, 9) w L293D wymagają sygnału PWM, aby mieć zmienną prędkość. Oznacza to, że można do nich podłączyć tylko kilka pinów Arduino Nano. W przypadku pozostałych pinów w L293D wszystko idzie.

Ponieważ NRF24L01+ komunikuje się przez SPI, musimy podłączyć jego piny SPI do pinów SPI na Arduino Nano (więc podłącz MOSI -> MOSI, MISO -> MISO i SCK -> SCK). Ważne jest również, aby zauważyć, że podłączyłem pin IRQ NRF24 do pinu 2 w Arduino Nano. Dzieje się tak, ponieważ pin IRQ przechodzi w stan niski za każdym razem, gdy NR24 odbiera wiadomość. Wiedząc o tym, mogę wywołać przerwanie, aby powiedzieć Nano, aby odczytał radio. Dzięki temu Nano może robić inne rzeczy podczas oczekiwania na nowe dane.

Krok 9: PCB

PCB
PCB

Ponieważ chcę, aby była to konstrukcja modułowa, stworzyłem płytkę drukowaną za pomocą płytki perf i wielu pinów nagłówka.

Krok 10: Ostateczne połączenia

Połączenia końcowe
Połączenia końcowe
Połączenia końcowe
Połączenia końcowe

Po wykonaniu PCB i wypatroszeniu samochodu RC użyłem przewodów ze skóry aligatora, aby sprawdzić, czy wszystko działa.

Po sprawdzeniu, czy wszystkie połączenia są prawidłowe, zastąpiłem przewody krokodylkowe prawdziwymi kablami i przymocowałem wszystkie elementy do obudowy.

W tym momencie mogłeś zdać sobie sprawę, że ten artykuł nie jest przewodnikiem krok po kroku. Dzieje się tak, ponieważ po prostu niemożliwe jest napisanie każdego kroku, więc zamiast tego kilka następnych kroków Instruktażowych będzie polegać na podzieleniu się kilkoma wskazówkami, których nauczyłem się podczas tworzenia samochodu.

Krok 11: Wskazówka 1: Umieszczenie modułu radiowego

Wskazówka 1: Umieszczenie modułu radiowego
Wskazówka 1: Umieszczenie modułu radiowego

Aby zwiększyć zasięg samochodu RC, umieściłem moduł radiowy NRF jak najdalej z boku. Dzieje się tak, ponieważ fale radiowe odbijają się od metali, takich jak płytki drukowane i przewody, zmniejszając w ten sposób zasięg. Aby rozwiązać ten problem, umieściłem moduł na samej stronie płytki PCB i wyciąłem szczelinę w obudowie samochodu, aby mógł wystawać.

Krok 12: Wskazówka 2: Zachowaj modułowość

Wskazówka 2: Zachowaj modułowość!
Wskazówka 2: Zachowaj modułowość!

Kolejną rzeczą, którą zrobiłem, która uratowała mnie kilka razy, jest podłączenie wszystkiego przez styki i listwy zaciskowe. Pozwala to na łatwą wymianę części, jeśli jeden z elementów się usmaży (z jakiegokolwiek powodu…).

Krok 13: Wskazówka 3: Użyj radiatorów

Wskazówka 3: Używaj radiatorów!
Wskazówka 3: Używaj radiatorów!

Silniki w moim samochodzie RC popychają L293D do granic możliwości. Chociaż sterownik silnika może nieprzerwanie obsługiwać do 600 mA, oznacza to również, że robi się bardzo gorący i szybko! Dlatego dobrym pomysłem jest dodanie pasty termicznej i radiatorów, aby zapobiec samoczynnemu gotowaniu L293D. Jednak nawet z radiatorami chip może być zbyt gorący, aby go dotknąć. Dlatego po 2-3 minutach gry warto pozostawić samochód do ostygnięcia.

Krok 14: Czas kontrolera RC

Czas kontrolera RC!
Czas kontrolera RC!

Po zrobieniu samochodu RC możemy rozpocząć tworzenie kontrolera.

Podobnie jak samochód RC, kupiłem kontroler jakiś czas temu, myśląc, że mogę coś z nim zrobić. Jak na ironię, kontroler jest w rzeczywistości kontrolerem na podczerwień, więc wykorzystuje diody podczerwieni do komunikacji między urządzeniami.

Podstawową ideą tej kompilacji jest zachowanie oryginalnej płytki wewnątrz kontrolera i zbudowanie wokół niej Arduino i NRF24L01+.

Krok 15: Podstawy analogowego joysticka

Podstawy analogowego joysticka
Podstawy analogowego joysticka
Podstawy analogowego joysticka
Podstawy analogowego joysticka

Podłączenie do joysticka analogowego może być trudne, zwłaszcza że nie ma płytki zaciskowej dla pinów. Nie martw się! Wszystkie joysticki analogowe działają na tej samej zasadzie naprowadzania i zwykle mają te same pinouty.

Zasadniczo joysticki analogowe to tylko dwa potencjometry, które zmieniają opór, gdy poruszają się w różnych kierunkach. Na przykład, gdy przesuniesz joystick w prawo, potencjometr osi x zmieni wartość. Teraz po przesunięciu joysticka do przodu potencjometr osi y zmienia wartość.

Mając to na uwadze, jeśli spojrzymy na spód analogowego joysticka, zobaczymy 6 pinów, 3 dla potencjometru osi x i 3 dla potencjometru osi y. Wszystko, co musisz zrobić, to podłączyć 5V i masę do zewnętrznych pinów i podłączyć środkowy pin do wejścia analogowego w Arduino.

Pamiętaj, że wartości dla potencjometru będą mapowane na 1024, a nie 512! Oznacza to, że musimy użyć wbudowanej funkcji map() w Arduino do sterowania dowolnymi wyjściami cyfrowymi (jak sygnał PWM, którego używamy do sterowania L293D). Jest to już zrobione w kodzie, ale jeśli planujesz napisać własny program, musisz o tym pamiętać.

Krok 16: Połączenia sterownika

Połączenia sterownika
Połączenia sterownika

Połączenia między NRF24 a Nano są nadal takie same dla kontrolera, ale minus połączenie IRQ.

Obwód sterownika pokazano powyżej.

Modowanie kontrolera to zdecydowanie sztuka. Mówiłem już o tym niezliczoną ilość razy, ale po prostu nie można napisać krok po kroku, jak to zrobić. Tak więc, podobnie jak wcześniej, podam kilka wskazówek, czego nauczyłem się podczas tworzenia kontrolera.

Krok 17: Wskazówka 1: Używaj części do swojej dyspozycji

Wskazówka 1: Korzystaj z części do Twojej dyspozycji!
Wskazówka 1: Korzystaj z części do Twojej dyspozycji!

Przestrzeń w sterowniku jest naprawdę ciasna, dlatego jeśli chcesz umieścić jakieś inne wejścia do samochodu, użyj przełączników i pokręteł, które już tam są. Do mojego kontrolera podłączyłem również potencjometr i przełącznik trójdrożny do Nano.

Kolejna rzecz, o której należy pamiętać, to jest twój kontroler. Jeśli pinouty nie odpowiadają Twoim wyobrażeniom, zawsze możesz je zmienić!

Krok 18: Wskazówka 2: Usuń niepotrzebne ślady

Wskazówka 2: Usuń niepotrzebne ślady
Wskazówka 2: Usuń niepotrzebne ślady

Ponieważ używamy oryginalnej płytki, powinieneś zeskrobać wszystkie ślady, które prowadzą do analogowych joysticków i innych używanych czujników. W ten sposób zapobiegasz nieoczekiwanemu zachowaniu czujnika.

Aby wykonać te cięcia, po prostu użyłem noża do pudełek i kilka razy naciąłem płytkę PCB, aby naprawdę oddzielić ślady.

Krok 19: Wskazówka 3: Utrzymuj przewody możliwie jak najkrótsze

Wskazówka 3: Staraj się, aby przewody były jak najkrótsze
Wskazówka 3: Staraj się, aby przewody były jak najkrótsze

Ta wskazówka dotyczy konkretnie linii SPI między Arduino a modułem NRF24, ale dotyczy to również innych połączeń. NRF24L01+ jest niezwykle wrażliwy na zakłócenia, więc jeśli jakikolwiek szum zostanie wyłapany przez przewody, spowoduje to uszkodzenie danych. To jedna z głównych wad komunikacji SPI. Podobnie, utrzymując przewody tak krótkie, jak to tylko możliwe, sprawisz, że cały kontroler będzie czystszy i bardziej zorganizowany.

Krok 20: Wskazówka 4: Umieszczenie! Umieszczenie! Umieszczenie

Wskazówka 4: Umieszczenie! Umieszczenie! Umieszczenie!
Wskazówka 4: Umieszczenie! Umieszczenie! Umieszczenie!

Oprócz tego, że przewody powinny być jak najkrótsze, oznacza to również utrzymywanie jak najkrótszej odległości między częściami.

Szukając miejsc do zamontowania NRF24 i Arduino, pamiętaj, aby trzymać je jak najbliżej siebie i joysticków.

Kolejną rzeczą, o której należy pamiętać, jest miejsce umieszczenia modułu NRF24. Jak wspomniano wcześniej, fale radiowe nie przechodzą przez metal, dlatego należy zamontować moduł blisko boku kontrolera. Aby to zrobić, wyciąłem małą szczelinę Dremelem, aby NRF24 wystawał z boku.

Krok 21: Kod

Prawdopodobnie najważniejszą częścią tej kompilacji jest sam kod. Zamieściłem komentarze i wszystko, więc nie będę wyjaśniał każdego programu linijka po linijce.

Mając to na uwadze, kilka ważnych rzeczy, na które chcę zwrócić uwagę, to to, że będziesz musiał pobrać bibliotekę NRF24, aby uruchomić programy. Jeśli nie masz jeszcze zainstalowanych bibliotek, sugeruję zapoznanie się z samouczkami połączonymi w sekcji Dodatkowe lektury, aby dowiedzieć się, jak to zrobić. Ponadto, wysyłając sygnały do L293D, nigdy nie włączaj obu pinów kierunkowych. Spowoduje to zwarcie sterownika silnika i jego spalenie.

Github-

Krok 22: Produkt końcowy

W końcu, po roku zbierania kurzu i 3 tygodniach ręcznej pracy, w końcu ukończyłem produkcję Upcycled RC Car. Choć muszę przyznać, nigdzie nie jest tak potężny, jak samochody widziane we wstępie, wyszedł znacznie lepiej niż myślałem. Samochód może jechać przez 40 minut, zanim wyczerpie się moc i może odjechać do 150 m od kontrolera.

Kilka rzeczy, które na pewno zrobiłbym, aby ulepszyć samochód, to zamienić L293D na L298, większy, mocniejszy sterownik silnika. Inną rzeczą, którą bym zrobił, jest zamiana domyślnego modułu radiowego NRF na wersję ze wzmocnioną anteną. Te modyfikacje zwiększyłyby odpowiednio moment obrotowy i zasięg samochodu.

Krok 23: Dodatkowe odczyty:

NRF24L01+

  • Skandynawski arkusz danych półprzewodnikowych
  • Komunikacja SPI (artykuł)
  • Konfiguracja podstawowa (wideo)
  • Szczegółowy samouczek (artykuł)
  • Zaawansowane porady i wskazówki (seria filmów)

L293D

  • Dane techniczne Texas Instruments
  • Szczegółowy samouczek (artykuł)

Zalecana: