Inhaltsverzeichnis:

ESP8266 WIFI AP gesteuerter Vierbeiner - Gunook
ESP8266 WIFI AP gesteuerter Vierbeiner - Gunook

Video: ESP8266 WIFI AP gesteuerter Vierbeiner - Gunook

Video: ESP8266 WIFI AP gesteuerter Vierbeiner - Gunook
Video: ESP8266 Repeater | Тесты скорости WIFI репитера из NodeMCU 2024, Juli
Anonim
Image
Image

Dies ist ein Tutorial, um einen 12 DOF- oder vierbeinigen (vierbeinigen) Roboter mit SG90-Servo mit Servotreiber zu bauen und er kann über den WIFI-Webserver über den Smartphone-Browser gesteuert werden

Die Gesamtkosten für dieses Projekt betragen etwa 55 US-Dollar (für elektronische Teile und Roboterrahmen aus Kunststoff)

Schritt 1: Bereiten Sie den Rahmen vor

Elektronische Teile (Wemos D1 Mini)
Elektronische Teile (Wemos D1 Mini)

Alle 3D-Objekte können kostenlos heruntergeladen werden @ www.myminifactory.com oder www.thingiverse.com

Drucken Sie es mit Materialunterstützung für einige Teile wie Fuß, Hüften und Oberschenkel

Liste der gedruckten Teile:

1x Grundkörper

1x Abdeckung

1x Batteriehalter

4x Hüften (Typ A & B)

4x Strumpf (Typ A & B)

4x Fuß (Typ A & B)

4x Schild

12x Buchse + 12x 2mm Schraube

Schritt 2: Montage des Roboterrahmens

Folgen Sie dem obigen Schritt-für-Schritt-Video, um den Rahmen zu montieren. Die Schraube ist für ein 2 mm großes Loch

Schritt 3: Elektronische Teile (Wemos D1 Mini)

Image
Image

Es gibt viele NodeMCU-Varianten auf dem Markt und haben im Grunde die gleiche Funktionalität, für dieses Projekt wähle ich Wemos D1 Mini.

Dieser Teil wird als Webserver für unseren Vierbeiner als Access Point dienen.

Was Sie brauchen, ist einfach eine Verbindung zum Quadruped AP und die Kontrolle der gesamten Bewegung Ihres Roboters, und vielleicht zeigt er für das zukünftige Projekt alle Sensoren-Dashboards an, die Sie benötigen…

Dieses D1 mini ist ein Mini-WIFI-Board basierend auf ESP-8266EX. und es hat 11 digitale Eingangs- / Ausgangspins, alle Pins haben Interrupt / PWM / I2C / One-Wire-Unterstützung (außer D0) 1 analoger Eingang (3,3 V max. Eingang) einen Micro-USB-Anschluss

So starten Sie in:

  1. Installieren Sie für Arduino 1.6.7 von der Arduino-Website.
  2. Starten Sie für Arduino und öffnen Sie das Einstellungsfenster.
  3. in das Feld Zusätzliche Boards-Manager-URLs. Sie können mehrere URLs hinzufügen, indem Sie sie durch Kommas trennen.
  4. Öffnen Sie Tools→Board:xxx→Boards Manager und installieren Sie esp8266 von der ESP8266 Community (und vergessen Sie nicht, Ihr ESP8266-Board nach der Installation im Menü Extras > Board auszuwählen).

Für weitere Details können Sie das Video oben überprüfen

Klicken Sie hier, um in Aliexpress zu suchen

Für dieses Projekt brauchen Sie nur diesen Pin zu verbinden:

  1. NodeMCU RX-Pin mit dem Arduino Nano TX-Pin verbinden
  2. NodeMCU TX-Pin mit dem Arduino Nano RX-Pin verbinden
  3. NodeMCU G-Pin zum Anschluss an den DC-DC Mini 5V Stepdown (-) Ausgangspin out
  4. NodeMCU5V-Pin zum Anschluss an den DC-DC-Mini-5V-Abwärtsschritt (+)-Ausgangspin out

PS: Zum Programmieren dieses Boards müssen Sie alle Pins trennen, die mit dem Arduino und DC-DC verbunden sind, sonst erhalten Sie einen Fehler …

Schritt 4: Elektronische Teile (Arduino Nano)

Elektronische Teile (Arduino Nano)
Elektronische Teile (Arduino Nano)

Das gleiche gilt für NodeMCU, für das Arduino-Board können Sie jedes Board verwenden, das für Sie wie Arduino Pro Mini, Arduino Nano oder anderes geeignet ist.

Aber für dieses Projekt wähle ich Arduino Nano, weil ich nicht viel Pin brauche, es ist klein und brauche kein FTDI, um es zu programmieren.

Klicken Sie hier, um in Aliexpress zu suchen

Für dieses Projekt verwende ich nur:

  1. Arduino nano RX-Pin mit dem NodeMCU TX-Pin verbinden
  2. Arduino nano TX-Pin mit dem NodeMCU RX-Pin verbinden
  3. Ardiono nano A4-Pin mit dem PCA9685 SDA-Pin verbinden
  4. Arduino nano A5-Pin mit dem PCA9685 SCL-Pin verbinden
  5. Arduino nano GND-Pin an den DC-DC-Mini-5-V-Stepdown-(-) -Ausgangspin anschließen
  6. Arduino nano 5V-Pin an den DC-DC-Mini-5V-Abwärtsschritt (+)-Ausgangspin anschließen

Weitere Informationen finden Sie im obigen Schema.

PS: Um diese Platine zu programmieren, müssen Sie alle an der NodeMCU angeschlossenen Pins trennen und DC-DC absteigen, sonst erhalten Sie einen Fehler …

Schritt 5: Elektronische Teile (Tower Pro 9g Micro Servo)

Elektronische Teile (Tower Pro 9g Micro Servo)
Elektronische Teile (Tower Pro 9g Micro Servo)

Dies ist das beliebteste Mini-Servo. Wiegt nur 9 Gramm und gibt Ihnen ein Drehmoment von 1,5 kg/cm. Ziemlich stark in Bezug auf die Größe. Geeignet für Balkenroboter.

PS: Dieses Servo kann nur einen 180-Grad-Winkel drehen

Hauptmerkmale:

• Durchscheinender Körper

• Leicht

• Weniger Lärm Spezifikationen:

• Abmessungen: 22,6 x 21,8 x 11,4 mm

• Anschlusskabellänge: 150 mm

• Betriebsgeschwindigkeit (4,8 V ohne Last): 0,12 Sek. / 60 Grad

• Stillstandsdrehmoment (4,8 V): 1,98 kg/cm

• Temperaturbereich: 30 bis 60°C (-22 bis 140℉)

• Totbandbreite: 4 us

• Betriebsspannung: 3,5 - 8,4 Volt

Klicken Sie hier, um das SG90-Servo in Aliexpress zu suchen

Schritt 6: Elektronische Teile (16-Kanal 12-Bit-PWM/Servo-Treiber - I2C-Schnittstelle - PCA9685 für Arduino)

Elektronische Teile (16-Kanal-12-Bit-PWM/Servo-Treiber - I2C-Schnittstelle - PCA9685 für Arduino)
Elektronische Teile (16-Kanal-12-Bit-PWM/Servo-Treiber - I2C-Schnittstelle - PCA9685 für Arduino)

Willst du Roboter-Walker machen? Aber wenn Sie nur einen Mikrocontroller verwenden, hat dies eine begrenzte Anzahl von PWM-Ausgängen, und Sie werden feststellen, dass Sie ausgehen! Nicht mit dem Adafruit 16-Kanal 12-Bit PWM/Servo-Treiber - I2C-Schnittstelle. Mit diesem PWM- und Servotreiber-Breakout können Sie 16 freilaufende PWM-Ausgänge mit nur zwei Pins steuern! Müssen mehr als 16 PWM-Ausgänge betrieben werden? Kein Problem. Verketten Sie bis zu 62 dieser Schönheiten für bis zu herausragende 992 PWM-Ausgänge.

Dieses Board/Chip verwendet eine I2C 7-Bit-Adresse zwischen 0x60-0x80, wählbar mit Jumpern Klemmenblock für Stromeingang (oder Sie können die 0,1"-Breakouts an der Seite verwenden) Verpolungsschutz am Klemmenblockeingang Grüne Power-Good-LED 3 Stiftanschlüsse in 4er-Gruppen, damit Sie 16 Servos gleichzeitig anschließen können (Servostecker sind etwas breiter als 0,1", sodass Sie nur 4 nebeneinander auf 0,1"-Stiftleisten stapeln können "Kettenfähiges" Design Ein Platz zum Platzieren eines großen Kondensator auf der V+-Leitung (falls erforderlich) 220-Ohm-Reihenwiderstände auf allen Ausgangsleitungen, um sie zu schützen und die Ansteuerung von LEDs trivial zu machen Lötbrücken für die 6 Adressauswahlpins i2c-gesteuerter PWM-Treiber mit eingebauter Uhr. Im Gegensatz zur TLC5940-Familie müssen Sie nicht ständig ein Signal senden, das Ihren Mikrocontroller bindet, es läuft völlig frei!Es ist 5V-kompatibel, was bedeutet, dass Sie es von einem 3,3-V-Mikrocontroller aus steuern und dennoch bis zu 6-V-Ausgänge sicher ansteuern können (dies ist gut, wenn Sie weißes oder blaues L. steuern möchten EDs mit 3,4+ Durchlassspannungen) 6 Adressauswahl-Pins, sodass Sie bis zu 62 davon auf einem einzigen i2c-Bus verdrahten können, insgesamt 992 Ausgänge - das sind viele Servos oder LEDs Einstellbare Frequenz PWM bis ca. 1,6 KHz 12-Bit Auflösung für jeden Ausgang - für Servos bedeutet das ca. 4us Auflösung bei 60Hz Aktualisierungsrate Konfigurierbarer Gegentakt- oder Open-Drain-Ausgang Ausgangs-Enable-Pin zum schnellen Deaktivieren aller Ausgänge.

Klicken Sie hier, um in Aliexpress zu suchen

In diesem Projekt benötigen wir nur 12 CH für alle Beine (3CH pro Bein), verbinden Sie diesen PCA9685-Pin mit Arduino Nano:

  1. PCA9685 VCC zum DC-DC Mini 5V Stepdown (+) Ausgangspin out
  2. PCA9685 GND zum DC-DC Mini 5V Stepdown (-) Ausgangspin out
  3. PCA9685 Servo (PWM) Power V+ an UBEC (+) Ausgangspin out
  4. PCA9685 Servo (PWM) Strom GND an UBEC (-) Ausgangspin out
  5. PCA9685 SDA-Pin zum Arduino-Nano-A4-Pin
  6. PCA9685 SCL-Pin zum Arduino-Nano-A5-Pin
  7. PCA9685 CH0 zum vorderen rechten Tight, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  8. PCA9685 CH1 zum vorderen rechten Fuß, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  9. PCA9685 CH2 an die vordere rechte Hüfte, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  10. PCA9685 CH4 zum hinteren rechten Schenkel, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  11. PCA9685 CH5 zum hinteren rechten Fuß, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  12. PCA9685 CH6 an der hinteren rechten Hüfte, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  13. PCA9685 CH8 zum vorderen linken Tight, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  14. PCA9685 CH9 zum vorderen linken Fuß, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  15. PCA9685 CH10 an die vordere linke Hüfte, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  16. PCA9685 CH12 zum hinteren linken Oberschenkel, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  17. PCA9685 CH13 zum hinteren linken Fuß, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)
  18. PCA9685 CH14 an der hinteren linken Hüfte, bitte passen Sie die Kabelfarbe an die PCA9685-Buchsenfarbe an (Gelb, Rot, Braun/Schwarz)

PS: Einige PCA9685 haben keine Farbcode-Buchse, also stellen Sie sicher, dass das gelbe Kabel vom SG90-Servo zum PWM-Datenpin geht, das rote Kabel zum V+-Pin und Schwarz/Braun zum GND-Pin

Schritt 7: PWM-zu-Servo-Pin-Verbindung

PWM-zu-Servo-Pin-Verbindung
PWM-zu-Servo-Pin-Verbindung
PWM-zu-Servo-Pin-Verbindung
PWM-zu-Servo-Pin-Verbindung

Klicken und vergrößern Sie das Bild oben, um die Pinbelegung zwischen PCA9685 und den Servos zu sehen

PS: Sie verwenden nur 12CH von 16 CH für dieses Projekt, also haben Sie noch 4CH für Erweiterungen, wie das Anbringen von Radarservos oder das Anbringen einer Nerf-Blaster-Waffe … Fügen Sie einfach einen zusätzlichen Code in das Arduino und die NodeMCU ein

Schritt 8: Elektronische Teile (UBEC)

Elektronische Teile (UBEC)
Elektronische Teile (UBEC)

Der 3A-UBEC ist ein schaltbarer DC-DC-Regler, der mit einem 2-6-Zellen-Lithium-Akkupack (oder 5-18-Zellen-NiMh- /NiCd-Akku) geliefert wird und eine konstante sichere Spannung für Ihren Empfänger, Kreisel und Servos ausgibt. Es ist sehr geeignet für RC-Hubschrauber. Im Vergleich zum Linearmodus-UBEC ist der Gesamtwirkungsgrad des Schaltmodus-UBEC höher.

In diesem Projekt verwenden wir es, um alle Servos mit Strom zu versorgen.

Klicken Sie hier, um in Aliexpress zu suchen

Pin-Verbindung:

  1. UBEC (+) ROT Ausgangspin zum PCA9685 Servo (PWM) Power V+
  2. UBEC (-) SCHWARZ Ausgangspin zum PCA9685 Servo (PWM) Power GND
  3. UBEC (+) ROT Eingang zum Batterie (+) Pin
  4. UBEC (-) SCHWARZER Eingang zum Schaltstift

Schritt 9: Elektronische Teile (DC-DC Mini Stepdown)

Elektronische Teile (DC-DC Mini Stepdown)
Elektronische Teile (DC-DC Mini Stepdown)
Elektronische Teile (DC-DC Mini Stepdown)
Elektronische Teile (DC-DC Mini Stepdown)

Es hat fast die gleiche Funktion mit UBEC, aber dieses ist nur ein einfaches DC-DC-Abwärtsmodul. Es hat ein Potensiometer, mit dem wir den V (+)-Ausgang von 1 V bis 17 V einstellen können, und hat keine Filterung.

Klicken Sie hier, um es auf Aliexpress zu suchen

PS: Denken Sie also daran, bevor Sie es verwenden, stellen Sie den V (+)-Ausgang mit einem DC-Voltmeter auf 5 V ein

Pin-Verbindung:

  1. Mini-Abwärtsschritt (+) IN zum (+) Akku
  2. Mini Stepdown (-) IN zum Schaltstift
  3. Mini Stepdown (+) OUT parallel zum NodeMCU (5V), Arduino nano (5V) und PCA9685 (VCC) Pin
  4. Mini Stepdown (-) OUT parallel zum NodeMCU (G), Arduino nano (GND) und PCA9685 (GND) Pin

Schritt 10: Anderes elektronisches Teil

Anderer elektronischer Teil
Anderer elektronischer Teil
Anderer elektronischer Teil
Anderer elektronischer Teil
Anderer elektronischer Teil
Anderer elektronischer Teil

Was Sie brauchen, ist ungefähr (20 Kabel oder weniger) weiblicher zu weiblicher Überbrückungsdraht (Aliexpress-Überbrückungsdrahtsuche)

Selbstverriegelungs-Druckschalter oder Sie können einen anderen Schaltertyp verwenden (Aliexpress Selbstverriegelungsschaltersuche)

und ein Paar JST-Stecker von Batterie zu Schalter und UBEC/DC-DC-Abwärtsschritt (Aliexpress JST-Steckersuche)

Schritt 11: Stromquelle

Energiequelle
Energiequelle
Energiequelle
Energiequelle

Es gibt viele Stromquellen, die Sie verwenden können, für mich bevorzuge ich die Verwendung eines wiederaufladbaren Lipo-3S-Akkus. Es hat 11, 1 Volt Strom und 500 mAh oder mehr Kapazität (nicht zu viel, damit es leichter sein kann).

Aber die Verwendung von 3S-Lipo braucht ein Ladegerät und es ist nicht billig, also … Sie können eine andere Stromquelle wie eine AAA-Batterie verwenden, Sie können eine serielle 6 AAA-Batterie verwenden, damit sie eine Stromquelle von etwa 9 V erzeugen kann, und ich denke, das ist genug Strom für diesen Roboter.

Klicken Sie hier, um Lipo 3S Akku in Aliexpress zu suchen

Klicken Sie hier, um nach Lipo-Ladegerät zu suchen

Klicken Sie hier, um 6xAAA Batteriehalter in Aliexpress zu suchen

Schritt 12: Drahtdiagramm

Drahtdiagramm
Drahtdiagramm

Klicken und vergrößern Sie das Bild oben, um alle Schaltpläne für dieses Projekt zu sehen

PS: Sie müssen an einigen Stellen etwas löten und einen Gummikopfschrumpf anbringen, um ihn für die Verbindung zwischen Netzschalter, UBEC und DC-DC-Abwärtsschritt abzudichten.

Schritt 13: Codierung und anfängliche Pose

Codierung und anfängliche Pose
Codierung und anfängliche Pose

Verbinden Sie das Arduino Nano mit einem Mini-USB-zu-USB-Anschlusskabel (aber vergessen Sie nicht, alle Pins zum Wemos D1 Mini und DC-DC-Stepdown zu trennen) und öffnen Sie "spider_driver_open_v3_ESP8266_Rev280918.ino" und flashen Sie es auf den Arduino Nano, aber nicht Vergessen Sie nicht, das Arduino-Board für den Arduino Nano auszuwählen und den richtigen Port auszuwählen.

Als nächstes verbinden Sie das Wemos D1 mini über Micro-USB zu USB mit dem Computer (vergessen Sie auch nicht, alle Pins zu DC-DC-Stepdown und Arduino Nano zu trennen). Dann " QuadrupetV2_310319_fix_connection_issue.ino " öffnen und auf das Board flashen, aber vorher lieber das richtige Board auswählen und den richtigen Port auswählen (mehr Details bitte zurück zu Schritt 3)

Nachdem alle fertig sind, können Sie alle Pins zwischen Arduino Nano, Wemos D1 Mini und DC-DC Stepdown wieder anbringen und den Roboter einschalten, um die richtige Ausgangspose einzustellen.

INITIAL POSE (Siehe Bild oben) stellen Sie alle Beine so nah wie möglich an das Bild oben.

Nach dem Einschalten des Roboters, wenn die Beinposition nicht mit dem obigen Bild übereinstimmt, ist Folgendes erforderlich:

  1. Schrauben Sie das Servohorn ab und nehmen Sie das Servohorn vom Servo ab.
  2. drehe das Bein, bis es der Ausgangspose nahe genug ist
  3. das Servohorn wieder anbringen und wieder bespannen
  4. Mach es für alle Miss Match Leg

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino wurde bereits einige Probleme wie schwierige Verbindung (WLAN) und das Rendern der Webseite behoben
  2. es müssen einige zusätzliche Bibliotheken installiert werden (kopieren Sie sie in den Bibliotheksordner)

    • github.com/wimleers/flexitimer2
    • github.com/adafruit/Adafruit-PWM-Servo-Dri…
    • github.com/kroimon/Arduino-SerialCommand

Schritt 14: Steuerung des Roboters

Steuerung des Roboters
Steuerung des Roboters

Da dieser Roboter zu einem WIFI-Zugangspunkt wird, brauchen Sie nur:

  1. Einschalten des Roboters
  2. Öffnen Sie die WLAN-Einstellung auf Ihrem Smartphone
  3. Verbinden Sie sich mit dem SpiderRobo Access Point mit dem Passwort "12345678"
  4. Öffnen Sie den Webbrowser auf Ihrem Smartphone und geben Sie https://192.168.4.1. ein

Jetzt ist Ihr Roboter bereit, Ihr Kommando zu übernehmen…

Schritt 15: Für wen ein Problem beim Öffnen der Webseite oder beim Verbinden mit dem AP

ICH HABE DIESES PROBLEM BEHOBEN, BITTE LADEN SIE ES WIEDER VON SCHRITT 13 OBEN HERUNTER (fix @ 31-4-2019)

Einige der Wemos D1-Mini-Klone haben ein schlechtes oder defektes ESP, und dies verursacht: - Es ist schwierig, eine Verbindung zum AP herzustellen

- Fehler beim Öffnen der Seite

- Laden nicht fertig

Weitere Details finden Sie in meinem Video oben…

Empfohlen: