Spisu treści:
- Krok 1: Czego potrzebujesz
- Krok 2: Wydrukuj obudowę
- Krok 3: Przygotuj mostek H
- Krok 4: Okablowanie modułów
- Krok 5: Konfiguracja kontrolera
- Krok 6: Kod
- Krok 7: Połącz to wszystko razem
- Krok 8: Słowo o zasadach walki robotów
- Krok 9: Dodatkowe informacje o silnikach
- Krok 10: Aktualizacje i ulepszenia
Wideo: Tanie sterowanie robotem bojowym Arduino: 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Odrodzenie Battlebotów w Stanach i Robot Wars w Wielkiej Brytanii ponownie rozpaliło moją miłość do robotyki bojowej. Więc znalazłem lokalną grupę konstruktorów botów i od razu się do niej zanurkowałem.
Walczymy na brytyjskiej skali wagi mrówek (limit wagi 150 gramów) i szybko zdałem sobie sprawę, że tradycyjny sposób budowania bota wymagał sprzętu RC: drogi nadajnik RC, nieporęczny lub drogi odbiornik i ESC (elektroniczne regulatory prędkości), które są magicznymi pudełkami który może obsłużyć znacznie więcej prądu niż jest to konieczne dla bota tej wielkości.
Używając Arduino w przeszłości, chciałem spróbować zrobić wszystko inaczej i postawić sobie za cel system Arduino, który może odbierać legalny sygnał bojowy i kontrolować dwa silniki napędowe za około 5 USD (połowa kosztu taniego ESC)
Aby pomóc osiągnąć ten cel, zremiksowałem ten samochód RC, zmniejszając wagę/koszt odbiornika i generując 4 sygnały PWM, aby uruchomić tani układ H-bridge
Ta instrukcja skupi się na systemie sterowania Arduino, ale dodam dodatkowe informacje, aby pomóc nowym ludziom zbudować ich pierwszego bota
Zastrzeżenie:
Nawet na małą skalę budowanie/walki robotów bojowych mogą być niebezpieczne, podejmuj je na własne ryzyko
Krok 1: Czego potrzebujesz
Materiały:
Dla systemu sterowania:
- 1x Arduino pro mini 5v (1,70 USD)
- 1x moduł nRF24L01 (1,14 USD)
- Moduł regulatora 1x3.3 v (0,32 USD)
- 1x podwójny moduł H-bridge* (0,90 USD)
Dla reszty podstawowego bota klina:
- 2x mikromotoreduktory** (wersja tania, wersja niezawodna)
- 1x2 s bateria litowo-polimerowa;
- 1x ładowarka do balansu
- 1x worek do ładowania lipo
- 1x przełącznik
- 1x złącze baterii
- przewód misc (użyłem kilku zworek Arduino, które leżały wokół)
- małe śruby
- (opcjonalnie) epoksyd
- (opcjonalnie) Aluminium (z puszki po napojach)
- (opcjonalnie) dodatkowe diody LED
Dla podstawowego kontrolera:
- 1x Arduino pro mini 5v
- 1x moduł nRF24L01
- Moduł regulatora 1x3.3 v
- 1x Joystick Arduino
Narzędzia:
- Śrubokręt
- Lutownica
- Szczypce
- drukarka 3d (opcjonalna, ale ułatwia życie)
*patrząc na moduły h-bridge, szukaj modułu ze wszystkimi 4 wejściami sygnałowymi obok siebie, ułatwi to późniejsze podłączenie do Arduino
**sprawdź ostatni krok, aby uzyskać wskazówki dotyczące wyboru prędkości silnika
Krok 2: Wydrukuj obudowę
Zanim zaczniesz pracę nad systemem sterowania, spójrz na projekt bota, który ma zostać zbudowany. Zawsze najlepiej jest zaprojektować bota z broni. Początkującym sugeruję zacząć od podstawowego klina, są one zaprojektowane tak, aby były solidne i odpychały przeciwników z drogi, co oznacza, że jest mniej prawdopodobne, że zostaniesz zniszczony w pierwszej walce, a ponadto łatwiej jest wyczuć jazdę, gdy nie nie musisz się martwić o aktywną broń.
Zaprojektowałem bota klina: „Slightly Crude”, który został przetestowany w boju zarówno w zbroi, jak i bez zbroi. To dobry pierwszy bot, łatwy do wydrukowania i można go połączyć za pomocą 8 śrub. Sprawdź to na Thingiverse, aby uzyskać inny topowy projekt
Jeśli nie masz drukarki 3D, wypróbuj lokalną bibliotekę, przestrzeń hakerską lub miejsce do tworzenia
Dodanie dodatkowego pancerza jest łatwe do zrobienia prosto z drukarki, przeszlifuj zarówno klin, jak i aluminium puszki po napojach grubym papierem ściernym, usuń pył szlifierski, nałóż żywicę epoksydową zarówno na plastik, jak i aluminium, trzymaj razem za pomocą zacisków lub gumek przez 12-24 godziny
Obecnie nie mam projektu koła publicznego, ponieważ używam gumowych opon z zestawu edukacyjnego do robotyki nad piastami wydrukowanymi w 3D. W nadchodzących tygodniach będę zaprojektować piastę, która będzie wykorzystywać o-ringi do przyczepności. Gdy koła będą gotowe, zaktualizuję tę stronę i stronę Thingiverse
Krok 3: Przygotuj mostek H
Różne sterowniki silników z mostkiem h występują w różnych konfiguracjach, ale moduł połączony na początkowej liście jest wyposażony w 2 bloki zacisków jako wyjście. Te listwy zaciskowe są ciężkie i nieporęczne, dlatego najlepiej je usunąć.
Najprostszym sposobem na to jest podgrzanie obu padów jednocześnie lutownicą i ostrożne wygięcie bloków szczypcami
Zanim przejdziesz dalej, zdecyduj, czy chcesz mieć możliwość wymiany silników w swojej konfiguracji. Jeśli tak, to kable połączeniowe Arduino można wlutować do wyjścia modułu, a następnie przeciwny kabel można przylutować do silnika, dzięki czemu można je wyjąć w razie potrzeby.
Krok 4: Okablowanie modułów
Okablowanie modułów można wykonać na 3 różne sposoby, dlatego etap projektowania ma kluczowe znaczenie. Wybór broni wpłynie na kształt bota i dobór okablowania.
3 opcje to:
- Luźne przewody (lekkie, ale bardziej kruche) (zdjęcie 1)
- Płyta perforowana (cięższa niż 1, ale bardziej wytrzymała i zajmuje większą powierzchnię) (zdjęcie 2)
- Niestandardowa płytka drukowana (cięższa niż 1, ale wytrzymała i zajmująca niewiele miejsca) dołączona konstrukcja płytki (zdjęcie 3)
niezależnie od dokonanego wyboru rzeczywiste połączenia są takie same.
Wykonaj następujące połączenia dwa razy (raz dla kontrolera i raz dla odbiornika)
nRF24L01 (numeracja pinów obraz 4**):
- Pin 1 -> GND
- Pin 2 -> wyjście pin modułu 3.3 v
- Pin 3 -> pin Arduino 9
- Pin 4 -> pin Arduino 10
- Pin 5 -> pin 13 Arduino
- Pin 6 -> pin Arduino 11
- Pin 7 -> pin 12 Arduino
Moduł 3.3v:
- Pin Vin -> Vcc*
- Out pin -> pin 2 nRF (jak wyżej)
- GND pin -> GND
Arduino:
- Piny 9-13 -> podłącz do nRF jak wyżej
- Surowe -> Vcc*
- GND -> GND
Wykonaj następujące połączenia raz, aby odróżnić kontroler od odbiornika
Dla kontrolera:
Drążek sterowy:
- +5V -> Arduino 5V
- vrx -> Arduino pin A2
- vry -> Arduino pin A3
- GND -> GND
Dla odbiorcy:
moduł mostka h:
- Vcc -> Vcc*
- B-IB -> pin Arduino 2
- B-IA -> Arduino pin 3
- A-IB -> Arduino pin 4
- A-IA -> pin Arduino 5
- GND -> GND
Najłatwiej to zrobić, zastępując piny Vcc i GND przewodem, a następnie odwracając płytkę do góry nogami i lutując piny bezpośrednio do Arduino, co upraszcza lutowanie i tworzy pewne mocowanie dla sterownika silnika
*aby robot bojowy był legalny, należy dodać punkt izolacji (przełącznik lub wymienne łącze) między akumulatorem a obwodem. Oznacza to, że dodatni akumulator musi być podłączony do przełącznika, a następnie przełącznik podłączony do Vcc
** obraz z https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, który jest świetnym źródłem informacji dla modułu nRF24L01
Krok 5: Konfiguracja kontrolera
Gdy wszystko jest już połączone, czas na jakiś kod.
Począwszy od kontrolera, potrzebne są pewne wartości potencjometru, aby zapewnić, że dokładnie podłączony joystick będzie działał z kodem nadawczym.
Załaduj kod „joystickTestVals2”. Ten kod służy do odczytywania wartości potencjometru i wyświetlania ich przez serial
Przy uruchomionym kodzie i otwartym oknie szeregowym zacznij od spojrzenia na wartość „UP”, przesuń joystick do pozycji maksymalnie do przodu, wartość „UP” prawdopodobnie przeskoczy między kilkoma dużymi liczbami, wybierz najmniejszą z widocznych wartości, odejmij od tego 10 (zapewni to, że wciśnięcie drążka do końca da pełną moc) i zapisz to jako „Up Max”, co pozwoli joystickowi wrócić do środka. Teraz wybierz największą wartość, którą widzisz, dodaj do niej 20 i zapisz ją jako „UpRestMax”. Powtórz proces, naciskając drążek w dół i odwracając dodawanie/odejmowanie wartości rejestrowanych jako „UpMin” i „UpRestMin”
Powtórz cały proces ponownie dla lewej i prawej strony, zaczynając od przesunięcia drążka w prawo, rejestrując „SideMax”, a następnie „SideRestMax”, gdy odskakuje, i pchając w lewo, aby nagrać „SideMin” i „SideRestMin”
Te wartości są bardzo ważne, szczególnie wszystkie wartości zawierające słowo „Odpoczynek”. te wartości tworzą "martwą strefę" na środku drążka tak, że bot nie będzie się poruszał, gdy drążek spoczywa na środku, upewnij się, że gdy drążek jest wyśrodkowany, wartości mieszczą się między "restMin" i "restMax" dla obu osi
Krok 6: Kod
Podany kod robi wszystko dla prostego bota-klina ze strukturą umożliwiającą wysłanie również wartości pwm broni.
Potrzebne Biblioteki:
- Biblioteka nRF24L01 stąd: GitHub
- Oprogramowanie PWM stąd: Kod Google
Skonfiguruj kontroler:
otwórz kod txMix i zmień wartości limitów drążka na wartości, które zapisałeś w ostatnim kroku. Zapewni to, że kod będzie poprawnie reagował na joystick (zdjęcie 1)
Dostosuj rurę:
Aby upewnić się, że nie przeszkadzasz nikomu podczas imprezy, musisz zmienić piszczałkę radiową. Jest to w rzeczywistości identyfikator, a odbiornik będzie działał tylko na sygnałach z właściwego potoku, więc pamiętaj, aby zmienić potok w obu kodach na to samo.
Na rysunku 2 cyfry szesnastkowe rury zostały podświetlone. Są to dwie cyfry, które należy zmienić, aby dostosować rurę. Zmień „E1” na dowolną inną dwucyfrową wartość szesnastkową i zapisz ją, aby móc łatwo sprawdzić ją z fajkami przeciwnika podczas wydarzenia
Wgrywać:
- txMix do kontrolera
- odbierz do modułu odbiornika
Uruchom kod:
txMix:
Kod odczytuje się w pozycji joysticka jako wartość „UP” i wartość „side”. wartości te są ograniczone w oparciu o podaną maksymalną wartość, aby zapewnić pełną moc w maksymalnej pozycji drążka.
Wartości te są następnie sprawdzane, aby upewnić się, że drążek wysunął się z pozycji neutralnej, jeśli nie ma zer, są wysyłane.
Wartości są następnie indywidualnie mieszane w dwie zmienne, jedną dla prędkości lewego silnika i jedną dla prędkości prawego silnika. W tych zmiennych wartość ujemna jest używana do wskazania, że silnik jedzie do tyłu, co upraszcza mieszanie.
Wartości prędkości lewego i prawego są następnie dzielone na cztery wartości pwm, po jednej dla każdej: silnik prawy do przodu, silnik lewy do przodu, silnik prawy do tyłu, silnik lewy do tyłu.
Cztery wartości pwm są następnie wysyłane do odbiornika.
odbierać:
Po prostu odbiera sygnały ze sterownika, sprawdza, czy sygnał nie zawiera wartości pwm dla ruchu do przodu i do tyłu na pojedynczym silniku, a następnie stosuje pwm.
Odbiornik również wyłącza sejfy do silników, gdy sygnał nie jest odbierany z kontrolera
Krok 7: Połącz to wszystko razem
Przylutuj złącza do silników lub przylutuj silniki bezpośrednio do mostka h. (preferuję złącza, żebym mógł po prostu zmienić wtyczki, jeśli źle podłączyłem silniki)
Przylutuj przewód dodatni ze złącza akumulatora do środkowego styku przełącznika i jeden z zewnętrznych styków przełącznika do Vcc podłączonych modułów.
Przylutuj ujemny przewód ze złącza akumulatora do GND podłączonych modułów.
(Opcjonalnie) dodaj dodatkowe diody LED między Vcc a GND. Wszystkie roboty bojowe wymagają światła, które jest włączone, gdy system jest zasilany, w zależności od komponentów ten system ma diody LED na Arduino, module 3.3v i mostku h, o ile przynajmniej jeden z nich jest widoczny z zewnątrz bot ta zasada jest spełniona. Można użyć dodatkowych diod LED, aby upewnić się, że ta zasada jest spełniona i aby dostosować wygląd
Lekko surowy jest łatwy do przykręcenia, najpierw przykręć mocowania silnika na miejscu, dodaj elektronikę, a następnie przykręć pokrywę na miejscu, niewielka ilość rzepu pomoże utrzymać przełącznik na pokrywie
Kontroler możesz zaprojektować i wydrukować. Do testów używałem dołączonego kontrolera, który został zmodyfikowany z kontrolera BB8 V3 Jamesa Brutona
Krok 8: Słowo o zasadach walki robotów
Różne kraje, stany i grupy organizują walki robotów na różnych zasadach.
Stworzyłem ten system i napisałem, że „może być tak ogólny, jak to możliwe, jednocześnie uderzając w główne zasady dotyczące systemów RC (przede wszystkim system powinien być cyfrowy 2,4 GHz i mieć punkt izolacji baterii). Aby uruchomić ten system i/lub zaprojektować własnego pierwszego bota, najlepiej skontaktować się z lokalną grupą i uzyskać kopię ich zasad.
Zasady obowiązujące w twojej lokalnej grupie są bezwzględne, nie wierz mi na słowo w tej instrukcji dotyczącej zasad twojej grupy.
Ponieważ ten system Arduino jest nowy dla społeczności, najprawdopodobniej zostaniesz poproszony o przetestowanie go przed użyciem go na imprezie. Wielokrotnie testowałem ten system przeciwko standardowemu sprzętowi RC i przeciwko sobie bez żadnych problemów z zakłóceniami, więc powinien przejść każdy test, jednak organizatorzy na twojej lokalnej imprezie mają ostatnie słowo, szanuj ich decyzję. Jeśli odrzucą jego użycie, zapytaj, czy istnieje bot pożyczkowy, z którym możesz walczyć, lub poproś o wyjaśnienie, dlaczego został odrzucony i spróbuj naprawić problem na następne wydarzenie
Krok 9: Dodatkowe informacje o silnikach
Mikrosilniki z przekładnią używane w klasie mrówek są dostępne w szerokim zakresie prędkości i są oznaczone za pomocą prędkości obrotowej lub przełożenia przekładni. Poniżej znajduje się przybliżona konwersja.
Większość botów używa silników od 75:1 do 30:1 (z pewnymi wyjątkami używającymi 10:1). Boty z dużą wirującą bronią mogą korzystać z wolniejszych silników 75:1, ponieważ mniejsza prędkość pozwala na większą kontrolę. Zwinne kliny, podnośniki i płetwy są najlepsze w 30:1 w rękach doświadczonego kierowcy. Na kilka pierwszych walk polecam silniki 50:1 w klinie, żeby przyzwyczaić się do systemu i jazdy
- 12 V 2000 obr./min (lub 6 V 1000 obr./min) -> 30:1
- 6V 300RPM -> 50:1
Krok 10: Aktualizacje i ulepszenia
Minęło kilka lat, odkąd opublikowałem ten 'ible' i wiele się nauczyłem o tym systemie, więc nadszedł czas, aby je tutaj zaktualizować. Najważniejszy jest wybór komponentów, oryginalne komponenty działały stosunkowo dobrze, ale czasami zawodziły podczas walki. Dwóch największych sprawców to mostek H i moduł nrf24l01, ponieważ wybrałem absolutnie najtańsze części, jakie udało mi się znaleźć. Można to naprawić poprzez:
- Uaktualnienie mostka H 0,5 A do mostka H 1,5 A, takiego jak ten: mostek H 1,5 A
- Aktualizacja modułu nrf24l01 do projektu w pełni SMD: Open smart NRF24l01
Wraz z nowymi ulepszeniami komponentów zaprojektowałem kilka nowych płytek drukowanych, które pomagają skompaktować RX i dodać więcej funkcji do TX
Nadchodzą też pewne zmiany w kodzie, więc bądź na bieżąco z nimi
Zalecana:
Sterowanie robotem Micro:bit z akcelerometrem: 4 kroki
Sterowanie robotem Micro:bit za pomocą akcelerometru: W tym artykule użyjemy zestawu BitCar firmy TinkerGen, aby zbudować robota Micro:bit i sterować nim za pomocą akcelerometru na innej tablicy Micro:bit. się robot przeznaczony do edukacji STEM. Jest łatwy w montażu, e
Sterowanie jasnością Sterowanie diodami LED w oparciu o PWM za pomocą przycisków, Raspberry Pi i Scratch: 8 kroków (ze zdjęciami)
Kontrola jasności Sterowanie diodami LED w oparciu o PWM za pomocą przycisków, Raspberry Pi i Scratch: Próbowałem znaleźć sposób, aby wyjaśnić moim uczniom, jak działa PWM, więc wyznaczyłem sobie zadanie kontrolowania jasności diody LED za pomocą 2 przycisków - jeden przycisk zwiększający jasność diody LED a drugi ją przyciemniający. Aby zaprogramować
Podążaj za robotem liniowym: 8 kroków (ze zdjęciami)
Follow the Line Robot: Być może widziałeś tę małą linię podążającą za robotem w serwisie eBay, są bardzo tanie i idealne dla dzieci. Ta instrukcja jest przeznaczona dla małych dzieci lub dużych dzieci, które chcą zrobić prostego robota. Kiedy już odniesiesz sukces z robotem i odniesiesz
Zdalne sterowanie robotem Arduino: 7 kroków
Zdalne sterowanie robotem Arduino: W tej instrukcji zamierzam użyć osłony silnika Adafruit dla Arduino V2 wraz z anteną nRF24L01, aby stworzyć zdalnie sterowanego robota dalekiego zasięgu. Używam starego Adafruit Arduino 101 CurrieBot z Arduino Uno zamiast
Interfejs wielodotykowy na tanie (naprawdę tanie): 3 kroki
Interfejs wielodotykowy na tanie (naprawdę tanie): To jest mój pierwszy Instruktaż, więc proszę, bądź miły. Oto jak zrobić z biurka interfejs wielodotykowy za bardzo małe pieniądze. W końcu przesłano film, przepraszam za złą liczbę klatek na sekundę, w moim laptopie nie jest aż tak dobrze