Ethernet-gesteuerter Roboterarm: Fernsteuerung leicht gemacht
Komponenten und Materialien
| Arduino 101 (Intel Curie, 4 PWM-Pins, BLE, separater USB/Serial1) | 1 Stück |
| WIZnet WIZ750SR (Serial-to-Ethernet Modul, Cortex-M0, TCP-Server) | 1 Stück |
| Android-Gerät (für Steuer-App) | 1 Stück |
| Roboterarm 4 DoF (DIY-Kit, z. B. Banggood 25 $, 4 Servos) | 1 Stück |
| Metallgetriebe-Mikroservos (schneller, robuster als Kit-Servos) | 4 Stück |
Apps und Online-Dienste
- Arduino IDE
- WIZnet S2E Configuration Tool
- Android Studio
Projektbeschreibung
Ein 4-DoF-Roboterarm (3 Gelenke + Greifer) wird per Ethernet fernsteuerbar. Der Arduino 101 steuert die 4 Servos (PWM-Pins 3, 5, 6, 9). Die Kommunikation läuft über das WIZ750SR-Modul: Es wandelt Serial1 (Pins 0/1) transparent in TCP um. Ein Android-App verbindet sich per TCP-Client mit dem WIZ750SR-Server und sendet Bewegungsbefehle.
Roboterarm (Mechanik)
- Bausatz aus 4 Kunststoffplatten – Teile ausschneiden, vorsichtig verschrauben (Kunststoff bricht leicht).
- Originale Servos durch Metallgetriebe-Servos ersetzt (längere Kabel für Greifer nötig).
- Montagevideo (YouTube, ab 7:43) sehr hilfreich.
„Gehirn“: Arduino 101
- Intel Curie, 4 PWM-GPIOs (3, 5, 6, 9) → genau 4 Servos.
- USB-Serial (Serial) und Hardware-UART (Serial1 auf Pin 0/1) sind getrennt → Debugging & Neuprogrammieren ohne Kabelabziehen.
- Integrierter Gyro/Accel + BLE für zukünftige Erweiterungen.
Kommunikation: WIZ750SR
- Kleines Ethernet-Modul mit Cortex-M0, fungiert als Serial↔TCP-Brücke.
- Onboard TCP-Server: Fernzugriff von überall, auf Arduino-Seite komplett transparent (nur Serial1.read/write).
- Konfiguration via WIZnet S2E Tool (IP, Port, Modus). Probleme bei Suche oft durch VM-Netzwerkadapter lösbar (Neuflashen half).
- Test mit NetCat:
nc [tcp_server_ip] [tcp_server_port].
Bewegungssteuerung (Pfadplanung)
Statt direkter Winkelbefehle wird ein interpolierter Pfad berechnet: Befehl enthält Zielwinkel für 3 Gelenke + Geschwindigkeit (mDelay in ms). Der Arduino berechnet Schrittweiten, sodass alle Servos simultan und linear zum Ziel fahren. Greifer hat nur Zustände: Offen (0) oder Zu mit 3 Kraftstufen (1–3).
Befehlsformat:
G 1→ Greifer leicht schließen (0 = offen)A 10 130 120 110→ Bewegen mit 10 ms Schrittzeit, Winkel: Oberarm 130°, Unterarm 120°, Basis 110°
Android-App (Remote Control)
- TCP-Client verbindet sich mit WIZ750SR.
- Konfigurationsbildschirm mit 3 Seiten: Run, Init, Loop (wie Arduino setup/loop).
- 4 Seekbars (3 Gelenke + Geschwindigkeit) + Greifer-Button. Änderungen sofort wirksam (Live-Feedback).
- „Save“ fügt Position zum Plot hinzu (Init einmalig, Loop endlos).
- App sendet periodisch neue Zielpositionen basierend auf Positionsrückmeldung.
- Plot wird gespeichert, beim nächsten Start wieder geladen.
Ergebnisse & Fazit
Der Arm führt flüssige, genaue Bewegungen aus (Video: Gummienten aufstellen per Init, dann per Loop ewig herumschieben). Trotz billiger Mechanik beeindruckend smooth.
- Arduino 101 ideal (getrennte Serials, Rechenleistung), nur 4 PWM-Pins limitieren künftige DoF-Erweiterung.
- WIZ750SR: Überraschend problemlos nach Konfiguration, beste Ethernet-Erfahrung des Autors.
- Android-App funktionsfähig (Alpha), Ausbaubedarf: Robustheit, Usability, Funktionen (Bedingungen, Schleifen mit Parametern).
Quellcode (Arduino + Android) auf GitHub: abysmalsb/Robot-Arm-Controller.
Herstellungsprozess
- Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
- Gesten-gesteuerter Roboter mit Raspberry Pi
- Sprachgesteuerter Roboter mit Windows 10 IoT Core auf Raspberry Pi 2 bauen
- WLAN-gesteuerter Raspberry Pi Roboter mit Python bauen – Schritt-für-Schritt
- ROObockey: Präzisionsunterstützter ferngesteuerter Street-Hockey-Roboter
- Dualarm-SCARA-Roboter: Fortschrittliche Montage- & Produktionslösungen
- MeArm Roboterarm V1.0 – Arduino & Raspberry Pi gesteuerter Roboterarm bauen
- LEDs mit Alexa über Raspberry Pi steuern – Einfache Schritt-für-Schritt-Anleitung
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Sprachgesteuerter Roboter mit Arduino Nano bauen