Featured image of post Papp-Bott bauen ganz ohne Loeten

Papp-Bott bauen ganz ohne Loeten

Basteln eines Roboters aus Pappe, aber natürlich motorisiert und vom Smartphone steuerbar

Rückblick

Das gesetzte Ziel meines Sohnes und mir war einen Roboter aus Kartons zu bauen, welcher per Fernbedienung steuerbar ist. Dass der Roboter am Ende sogar per Smartphone / Browser steuerbar sein wird, war zu Beginn noch nicht absehbar 😁

Körper

Kartons hatten wir genug rumfliegen und so war der Körper des Roboters nach etwas Schnibbelei und Malerei schnell fertig.

Papp-Bot
Papp-Bot

Motorisierung

Zur Motorisierung waren Servos geplant. Da wir bisher noch nie mit Servos gearbeitet haben, entschieden wir uns nach kurzer Internetrecherche für MG90S: Das Modell schien günstig und wird häufig angeboten. Beim Auspacken der Lieferung waren wir dann doch etwas überrascht, wie klein dieser Servo ist. Auf einer Modellbauaustellung mit Flohmarkt haben wir dann unseren Vorrat durch etwas größere und kräftigere Modelle erweitert. Außerdem gab es dort noch günstig Servo-Kabel als Verlängerung.

Zwei unterschiedliche Servos
Zwei unterschiedliche Servos

Fernbedienung

Der ursprüngliche Plan war, eine günstige Fernbedienung mit mehreren Kanälen inklusive Receiver zu besorgen, welcher die Servos ansteuert. Bei der Shopping-Recherche stellte sich jedoch schnell heraus, dass “günstig” und “mehrere Kanäle” leider im Widerspruch stehen. Zumindest, wenn “mehrere Känale” größer zwei bedeutet und der Anspruch ist, dass die zusätzlichen Kanäle (>2) auch kontinuierlich steuerbar sind und nicht nur On/Off.

Plan B: Fernbedienung selber bauen

Da ich mit dem Entwicklungsboard D1 Mini bereits meine Erfahrungen gemacht habe, und eines noch in der Bastelkiste verstaubte, war schnell die Entscheidung getroffen, diesen als Basis für die Fernbedienung zu nutzen. Der verbaute Microcontroller hat WLAN was ganz neue Möglichkeiten in der Fernbedienbarkeit eröffnet…

Die Servos per PWM direkt vom D1 Mini anzusteuern schien nicht die beste Lösung zu sein. Aber auch hier hatte das Internet schnell eine Antwort parat: PCA9685

Obwohl der Chip PCA9685 ursprünglich als PWM LED-Treiber entwickelt wurde, gibt es Entwicklungsboards mit diesem Chip, die explizit zur Servoansteuerung beworben werden. Angesteuert wird der Chip per I2C und mit 16 Kanälen kann unser Roboter noch einige Gelenke bekommen 🤖

Technik

Teileliste

  • Servos (da kann man nicht so viel falsch machen)
  • D1 Mini (oder ein anderes ESPHome kompatibles Entwicklungsboard)
  • PCA9685 (16 Kanal PWM Treiber)
  • USB-Steckernetzteil
  • Kabel

Hardware verkabeln

Die beiden Module werden über einen USB-Steckernetzteil versorgt. Das PCA9685-Board wird dabei indirekt über dn D1 Mini versorgt. Wenn mehrere Servos zum Einsatz kommen, sollte abgesichert werden, dass das Netzteil ausreichend Strom bereitstellen kann.

Verkabeln
Verkabeln

D1 Mini PCA9685
5V V+
3V3 VCC
G GND
D1 SCL
D2 SDA

Im folgenden ein Bild wie die Verkabelung in einem professionellem Gehäuse aussehen kann:

D1 Mini und PCA9685 im Gehäuse
D1 Mini und PCA9685 im Gehäuse

Software erstellen

Die Software für den D1 Mini habe ich mit Hilfe von ESPHome erstellt. Von programmieren kann man hier nicht mehr sprechen. 😃 ESPHome bringt mit der PCA9685 Komponente, der Servo Komponente und der Webserver Komponente alles mit und muss nur noch richtig konfiguriert werden: roboter.yaml

Durch die Konfiguration des Webservers lässt sich der Roboter nun komfortabel im Browser steuern:

ESPHome Webserver
ESPHome Webserver

Fazit

Im Nachgang bin ich überrascht, wie einfach die Ansteuerung von Servos geht. Das macht Lust auf mehr …

Comments

You can use your Mastodon account to reply to this post.

Reply

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy