Inhaltsverzeichnis:

Günstige Arduino Kampfrobotersteuerung - Gunook
Günstige Arduino Kampfrobotersteuerung - Gunook

Video: Günstige Arduino Kampfrobotersteuerung - Gunook

Video: Günstige Arduino Kampfrobotersteuerung - Gunook
Video: Roboterarm v0.1 aus Servos, einem Arduino Uno und einem Raspberry Pi 2024, November
Anonim
Günstige Arduino Kampfrobotersteuerung
Günstige Arduino Kampfrobotersteuerung
Günstige Arduino Kampfrobotersteuerung
Günstige Arduino Kampfrobotersteuerung
Günstige Arduino Kampfrobotersteuerung
Günstige Arduino Kampfrobotersteuerung

Das Wiederaufleben der Battlebots in den Staaten und der Roboterkriege in Großbritannien hat meine Liebe zur Kampfrobotik neu entfacht. Also fand ich eine lokale Gruppe von Bot-Buildern und tauchte direkt ein.

Wir kämpfen auf der britischen Ameisenwaage (150 Gramm Gewichtsgrenze) und mir wurde schnell klar, dass die traditionelle Art, einen Bot zu bauen, RC-Ausrüstung beinhaltet: einen teuren RC-Sender, einen sperrigen oder teuren Empfänger und ESCs (elektronische Geschwindigkeitsregler), die magische Boxen sind die viel mehr Strom verarbeiten kann, als für einen Bot dieser Größe erforderlich ist.

Nachdem ich in der Vergangenheit Arduino verwendet hatte, wollte ich versuchen, die Dinge anders zu machen und mir ein Arduino-System zum Ziel zu setzen, das ein legales Kampfsignal empfangen und zwei Antriebsmotoren für etwa 5 US-Dollar (die Hälfte der Kosten eines billigen ESC) steuern kann.

Um dieses Ziel zu erreichen, habe ich dieses RC-Auto neu gemischt, das Gewicht / die Kosten des Empfängers reduziert und 4 PWM-Signale erzeugt, um einen billigen H-Brückenchip zu betreiben

Dieses anweisbare wird sich auf das Arduino-Steuerungssystem konzentrieren, aber ich werde zusätzliche Informationen hinzufügen, um neuen Leuten zu helfen, ihren ersten Bot zu bauen

Haftungsausschluss:

Selbst im kleinen Maßstab kann das Bauen/Kämpfen von Kampfrobotern gefährlich sein, unternehmen Sie es auf eigene Gefahr

Schritt 1: Was Sie brauchen

Materialien:

Für das Kontrollsystem:

  • 1x Arduino Pro Mini 5v (1,70 USD)
  • 1x nRF24L01-Modul (1,14 $)
  • 1x 3,3-V-Reglermodul (0,32 $)
  • 1x duales H-Brückenmodul* (0,90 $)

Für den Rest eines einfachen Wedge-Bots:

  • 2x Mikrogetriebemotoren** (günstige Version, zuverlässige Version)
  • 1x 2s Lithium-Polymer-Akku
  • 1x Balance-Ladegerät
  • 1x Lipo-Ladebeutel
  • 1x Schalter
  • 1x Batterieanschluss
  • misc wire (ich habe einige Arduino-Überbrückungsdrähte verwendet, die ich herumliegen hatte)
  • kleine Schrauben
  • (optional) Epoxid
  • (optional) Aluminium (aus einer Softdrinkdose)
  • (optional) zusätzliche LEDs

Für einen einfachen Controller:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01-Modul
  • 1x 3.3v Reglermodul
  • 1x Arduino-Joystick

Werkzeuge:

  • Schraubenzieher
  • Lötkolben
  • Zange
  • 3D-Drucker (optional, aber er macht das Leben einfacher)

*Wenn Sie sich H-Brückenmodule ansehen, suchen Sie nach einem Modul mit allen 4 Signaleingängen nebeneinander, dies erleichtert die spätere Anbringung an den Arduino

**Sehen Sie sich den letzten Schritt an, um einige Tipps zur Auswahl der Motordrehzahlen zu erhalten

Schritt 2: Drucken Sie ein Gehäuse

Drucken Sie ein Gehäuse
Drucken Sie ein Gehäuse

Bevor Sie mit dem Steuerungssystem beginnen, sollten Sie sich das Design des zu erstellenden Bots ansehen. Es ist immer am besten, einen Bot aus der Waffe heraus zu entwerfen. Für einen Anfänger empfehle ich, mit einem einfachen Wedge zu beginnen. Sie sind so konzipiert, dass sie robust sind und Gegner aus dem Weg schieben, was bedeutet, dass Sie weniger wahrscheinlich in Ihrem ersten Kampf zerstört werden, und es ist einfacher, ein Gefühl für das Fahren zu bekommen, wenn Sie es nicht tun Sie müssen sich keine Sorgen um eine aktive Waffe machen.

Ich habe einen Wedge-Bot entworfen: "Slightly Crude", der sowohl gepanzert als auch ungepanzert kampferprobt wurde. Es ist ein guter erster Bot, einfach zu drucken und kann mit 8 Schrauben zusammengebaut werden. Schauen Sie auf Thingiverse nach einem anderen Top-Design

Wenn Sie keinen 3D-Drucker besitzen, versuchen Sie es in einer lokalen Bibliothek, einem Hackerspace oder Makerspace

Das Anbringen zusätzlicher Panzerung ist einfach frisch vom Drucker möglich, sowohl den Keil als auch die Softdrinkdose Aluminium mit grobem Schleifpapier schleifen, Schleifstaub abbürsten, Epoxid auf Kunststoff und Aluminium auftragen, mit Klammern oder Gummibändern zusammenhalten für 12-24 Stunden

Ich habe derzeit kein öffentliches Raddesign, da ich Gummireifen aus einem pädagogischen Robotik-Kit über 3D-gedruckten Naben verwendet habe. In den kommenden Wochen werde ich eine Nabe entwerfen, die O-Ringe für den Grip verwendet. Sobald die Räder fertig sind, werde ich diese Seite und die Thingiverse-Seite aktualisieren

Schritt 3: Bereiten Sie die H-Brücke vor

Bereiten Sie die H-Brücke vor
Bereiten Sie die H-Brücke vor

Verschiedene H-Brücken-Motortreiber werden in unterschiedlichen Konfigurationen geliefert, aber das in der Anfangsliste verknüpfte Modul verfügt über 2 Klemmenblöcke als Ausgang. Diese Klemmenblöcke sind schwer und sperrig, daher ist es am besten, sie zu entfernen.

Am einfachsten geht das, indem Sie beide Pads gleichzeitig mit einem Lötkolben erhitzen und die Blöcke vorsichtig mit einer Zange herauswackeln

Bevor Sie fortfahren, entscheiden Sie, ob Sie die Motoren in Ihrem Setup austauschen möchten. Wenn ja, können Arduino-Überbrückungskabel in den Ausgang des Moduls gelötet werden, dann kann das gegenüberliegende Kabel an den Motor gelötet werden, wodurch sie bei Bedarf abnehmbar sind.

Schritt 4: Verkabelung der Module

Verkabelung der Module
Verkabelung der Module
Verkabelung der Module
Verkabelung der Module
Verkabelung der Module
Verkabelung der Module

Die Verdrahtung der Module kann auf 3 verschiedene Arten erfolgen, weshalb der Entwurfsschritt entscheidend ist. Die Wahl der Waffe beeinflusst die Form des Bots und die Wahl der Verkabelung.

die 3 möglichkeiten sind:

  1. Lose Drähte (leicht, aber zerbrechlicher) (Bild 1)
  2. Perfboard (schwerer als 1, aber robuster mit einer größeren Grundfläche) (Bild 2)
  3. Kundenspezifische Platine (schwerer als 1, aber robust mit geringem Platzbedarf) Platinendesign angebracht (Bild 3)

Unabhängig von der getroffenen Wahl sind die tatsächlichen Verbindungen die gleichen.

Führen Sie die folgenden Anschlüsse zweimal durch (einmal für den Controller und einmal für den Empfänger)

nRF24L01 (Pin-Nummerierung Bild 4**):

  • Pin 1 -> GND
  • Pin 2 -> Out-Pin des 3,3-V-Moduls
  • Pin 3 -> Arduino-Pin 9
  • Pin 4 -> Arduino-Pin 10
  • Pin 5 -> Arduino-Pin 13
  • Pin 6 -> Arduino-Pin 11
  • Pin 7 -> Arduino-Pin 12

3.3v-Modul:

  • Vin-Pin -> Vcc*
  • Out-Pin -> Pin 2 nRF (wie oben)
  • GND-Pin -> GND

Arduino:

  • Pins 9-13 -> wie oben an nRF anschließen
  • Roh -> Vcc*
  • GND -> GND

Führen Sie die folgenden Verbindungen einmal durch, um zwischen Controller und Empfänger zu unterscheiden

Für den Verantwortlichen:

Joystick:

  • +5v -> Arduino 5v
  • vrx -> Arduino-Pin A2
  • vry -> Arduino-Pin A3
  • GND -> GND

Für den Empfänger:

h-Brückenmodul:

  • Vcc -> Vcc*
  • B-IB -> Arduino-Pin 2
  • B-IA -> Arduino-Pin 3
  • A-IB -> Arduino-Pin 4
  • A-IA -> Arduino-Pin 5
  • GND -> GND

Dies geht am einfachsten, indem Sie die Pins für Vcc und GND durch Draht ersetzen, dann die Platine auf den Kopf stellen und die Pins direkt in den Arduino löten, dies vereinfacht das Löten und schafft eine sichere Halterung für den Motortreiber

* Damit ein Kampfroboter legal ist, muss ein Isolationspunkt (Schalter oder abnehmbare Verbindung) zwischen der Batterie und dem Stromkreis hinzugefügt werden. Dies bedeutet, dass das Plus der Batterie an einen Schalter angeschlossen werden muss, dann der Schalter an Vcc

** Bild von https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, das eine großartige Ressource für das nRF24L01-Modul ist

Schritt 5: Einrichten des Controllers

Einrichten des Controllers
Einrichten des Controllers

Sobald alles verbunden ist, ist es Zeit für etwas Code.

Angefangen bei der Steuerung werden einige Potentiometerwerte benötigt, um sicherzustellen, dass der exakt angeschlossene Joystick mit dem Sendecode funktioniert.

Laden Sie den Code "joystickTestVals2" ein. Dieser Code wird verwendet, um die Potentiometerwerte zu lesen und sie seriell anzuzeigen

Wenn der Code läuft und ein serielles Fenster geöffnet ist, beginnen Sie mit dem Blick auf den "UP" -Wert und drücken Sie den Joystick in die ganz nach vorne gerichtete Position. Der "UP" -Wert wird wahrscheinlich zwischen einigen großen Zahlen springen. Wählen Sie den kleinsten der angezeigten Werte aus, ziehen Sie 10 davon ab (dadurch wird sichergestellt, dass das vollständige Drücken des Sticks die volle Leistung liefert) und schreiben Sie es als "Up Max" auf. Lassen Sie den Joystick in die Mitte zurückspringen. Wählen Sie nun den größten Wert aus, den Sie sehen, addieren Sie 20 dazu und schreiben Sie ihn als "UpRestMax" auf. Wiederholen Sie den Vorgang, indem Sie den Stick nach unten drücken und das Addieren/Subtrahieren umkehren, indem Sie die Werte als "UpMin" und "UpRestMin" aufzeichnen.

Wiederholen Sie den gesamten Vorgang für links und rechts, indem Sie den Stick nach rechts drücken, "SideMax" und dann "SideRestMax" aufnehmen, während er zurückspringt, und nach links drücken, um "SideMin" und "SideRestMin" aufzunehmen.

Diese Werte sind sehr wichtig, insbesondere alle Werte, die das Wort "Rest" enthalten. Diese Werte erzeugen die "tote Zone" in der Mitte des Sticks, so dass sich der Bot nicht bewegt, wenn der Stick in der Mitte ruht. Stellen Sie sicher, dass die Werte bei zentriertem Stick zwischen "restMin" und "restMax" liegen für beide Achsen

Schritt 6: Code

Code
Code
Code
Code

Der angegebene Code macht alles für einen einfachen Wedge-Bot mit einer Struktur, die es ermöglicht, auch einen Waffen-pwm-Wert zu senden.

Benötigte Bibliotheken:

  • nRF24L01 Bibliothek von hier: GitHub
  • Software PWM von hier: Google Code

Richten Sie Ihren Controller ein:

Öffnen Sie den txMix-Code und ändern Sie die Stickgrenzwerte auf die Werte, die Sie im letzten Schritt notiert haben. Dadurch wird sichergestellt, dass der Code korrekt auf Ihren Joystick reagiert (Bild 1)

Rohr anpassen:

Um sicherzustellen, dass Sie bei Ihrer Veranstaltung niemanden stören, müssen Sie das Funkrohr wechseln. Dies ist in der Tat eine Kennung, und der Empfänger reagiert nur auf Signale von der richtigen Pipe, also stellen Sie sicher, dass die Pipe in beiden Codes auf dasselbe geändert wird.

In Bild 2 wurden Hex-Ziffern der Pipe hervorgehoben. Dies sind die beiden Ziffern, die geändert werden müssen, um das Rohr anzupassen. Ändern Sie "E1" in einen anderen 2-stelligen Hex-Wert und schreiben Sie ihn auf, damit Sie ihn bei einem Event leicht mit den Pipes des Gegners vergleichen können

Hochladen:

  • txMix an die Steuerung
  • zum Empfängermodul empfangen

Ablauf des Codes:

txMix:

Der Code liest sich in der Joystick-Position als "UP"-Wert und als "side"-Wert. Diese Werte werden basierend auf dem angegebenen Maximalwert eingeschränkt, um sicherzustellen, dass die volle Leistung bei der maximalen Knüppelposition gegeben wird.

Diese Werte werden dann überprüft, um sicherzustellen, dass sich der Knüppel aus der Neutralstellung bewegt hat, wenn keine Nullen gesendet wurden.

Die Werte werden dann individuell in zwei Variablen gemischt, eine für die linke Motordrehzahl und eine für die rechte Motordrehzahl. In diesen Variablen wird ein negativer Wert verwendet, um anzuzeigen, dass der Motor rückwärts fährt, da dies das Mischen vereinfacht.

Die linken und rechten Geschwindigkeitswerte werden dann in vier pwm-Werte aufgeteilt, jeweils einen: Motor rechts vorwärts, Motor links vorwärts, Motor rechts rückwärts, Motor links rückwärts.

Die vier PWM-Werte werden dann an den Empfänger gesendet.

erhalten:

Empfängt einfach Signale von der Steuerung, prüft, ob das Signal keine PWM-Werte für vorwärts und rückwärts an einem einzelnen Motor enthält und wendet dann den PWM an.

Der Empfänger sichert auch die Motorabschaltung, wenn kein Signal von der Steuerung empfangen wird

Schritt 7: Alles zusammenschrauben

Alles zusammenschrauben
Alles zusammenschrauben
Alles zusammenschrauben
Alles zusammenschrauben
Alles zusammenschrauben
Alles zusammenschrauben

Stecker an die Motoren anlöten oder die Motoren direkt an die H-Brücke anlöten. (Ich bevorzuge Stecker, damit ich die Stecker einfach wechseln kann, wenn ich die Motoren falsch angeschlossen habe)

Löten Sie das Pluskabel vom Batteriestecker an den mittleren Pin des Schalters und einen der äußeren Pins am Schalter an die Vcc der angeschlossenen Module.

Löten Sie das Minuskabel vom Batteriestecker an den GND der angeschlossenen Module.

(Optional) fügen Sie zusätzliche LEDs zwischen Vcc und GND hinzu. Alle Kampfroboter benötigen ein Licht, das an ist, während das System mit Strom versorgt wird bot diese Regel ist erfüllt. Zusätzliche LEDs können verwendet werden, um sicherzustellen, dass diese Regel eingehalten wird und um das Erscheinungsbild anzupassen

Slightly Crude lässt sich einfach zusammenschrauben, schrauben Sie zuerst die Motorhalterungen fest, fügen Sie die Elektronik hinzu und schrauben Sie dann den Deckel fest, ein kleiner Klettverschluss hilft, den Schalter am Deckel zu halten

Der Controller steht Ihnen zum Gestalten und Drucken zur Verfügung. Zum Testen habe ich den beigefügten Controller verwendet, der von James Brutons BB8 V3-Controller modifiziert wurde

Schritt 8: Ein Wort zu Roboterkampfregeln

Ein Wort zu Roboterkampfregeln
Ein Wort zu Roboterkampfregeln

Verschiedene Länder, Staaten und Gruppen führen Roboterkampfveranstaltungen mit unterschiedlichen Regeln durch.

Ich habe dieses System erstellt und geschrieben, um so allgemein wie möglich zu sein, während ich die wichtigsten Regeln für RC-Systeme einhalte (vor allem sollte das System 2,4 GHz digital sein und einen Batterietrennpunkt haben). Um dieses System zu betreiben und/oder Ihren eigenen ersten Bot zu entwerfen, ist es am besten, sich mit Ihrer lokalen Gruppe in Verbindung zu setzen und eine Kopie der Regeln zu erhalten.

Die Regeln, die Ihre lokale Gruppe ausführt, sind absolut, nehmen Sie mein Wort nicht in diesem anweisbaren über die Regeln Ihrer Gruppe.

Da dieses Arduino-System neu in der Community ist, werden Sie höchstwahrscheinlich gebeten, es testen zu lassen, bevor Sie es bei einer Veranstaltung verwenden. Ich habe dieses System wiederholt gegen Standard-RC-Ausrüstung und gegen sich selbst ohne Interferenzprobleme getestet, daher sollte es jeden Test bestehen, jedoch haben die Organisatoren Ihrer lokalen Veranstaltung das letzte Wort, respektieren Sie ihre Entscheidung. Wenn sie die Verwendung ablehnen, fragen Sie, ob es einen Kredit-Bot gibt, mit dem Sie kämpfen können, oder bitten Sie um eine Erklärung, warum er abgelehnt wurde, und versuchen Sie, das Problem für das nächste Ereignis zu beheben.

Schritt 9: Zusätzliche Informationen zu Motoren

Zusätzliche Informationen zu Motoren
Zusätzliche Informationen zu Motoren

Die in der Ameisenklasse verwendeten Mikrogetriebemotoren gibt es in einer großen Bandbreite an Drehzahlen und sind entweder mit RPM oder Gear Ratio gekennzeichnet. Unten ist eine grobe Konvertierung.

Die meisten Bots verwenden Motoren zwischen 75:1 und 30:1 (mit einigen Ausnahmen mit 10:1). Bots mit großen sich drehenden Waffen können von langsameren 75:1-Motoren profitieren, da die langsamere Geschwindigkeit mehr Kontrolle ermöglicht. Flinke Wedges, Lifter und Flipper sind am besten bei 30:1 in den Händen eines erfahrenen Fahrers. Ich empfehle 50:1 Motoren in einem Wedge für die ersten Kämpfe, nur um sich an das System und das Fahren zu gewöhnen

  • 12V 2000 U/min (oder 6V 1000 U/min) -> 30:1
  • 6V 300RPM -> 50:1

Schritt 10: Updates und Verbesserungen

Es ist ein paar Jahre her, seit ich dieses ible gepostet habe, und ich habe viel über dieses System gelernt, also ist es an der Zeit, sie hier zu aktualisieren. Am wichtigsten ist die Auswahl der Komponenten, die Originalkomponenten funktionierten relativ gut, versagten jedoch manchmal im Kampf. Die 2 großen Täter sind die H-Brücke und das nrf24l01-Modul, da ich die absolut billigsten Teile ausgewählt habe, die ich finden konnte. Diese können behoben werden durch:

  • Upgrade der 0,5A H-Brücke auf eine 1,5A H-Brücke, wie diese hier: 1,5A H-Brücke
  • Upgrade des nrf24l01-Moduls auf ein vollwertiges SMD-Design: Open smart NRF24l01

Zusammen mit den neuen Komponenten-Upgrades habe ich einige neue PCBs entworfen, die helfen, den RX zu kompaktieren und dem TX mehr Funktionen hinzuzufügen

Ich habe auch einige Code-Änderungen, also bleiben Sie dran

Empfohlen: