High-Power Golftrolley-Umbau

OP #8108297
Lesenswert?
• ▲
▼

High-Power Golftrolley-Umbau (2x 200W) mit dualem ESP32-S3/C3, RTOS-Core-Aufteilung & WLAN-Diagnose Beitragstext: Hallo zusammen, ich wollte hier mein aktuelles Projekt vorstellen, das pünktlich zur kalten Jahreszeit aus der Breadboard-Testphase in die Werkstatt wandert: Der komplette High-Power-Umbau eines herkömmlichen Golftrolleys. Die originale Steuerung (nur einfaches Vorwärts und ein ungenauer 10s-Timer) war mir einfach zu wenig. Das Projekt läuft aktuell voll funktionsfähig im Dauertest auf dem Breadboard, da noch die letzten Tage der Golfsaison laufen. Sobald das Wetter umschlägt, erfolgt der mechanische Einbau im Winter. Da alles vollständig in Code, Plänen und 3D-Druck-Gehäusen dokumentiert ist, habe ich es heute als Open-Source-Projekt veröffentlicht.

??? Das Hardware-Setup

• Unteres Motorteil: ESP32-S3 (Waveshare S3 Zero) steuert zwei Cytron MD13S Einkanaltreiber (13A Dauerstrom bei 24V aus einem 7S5P Akku) im Sign-Magnitude-Verfahren an. Die Motoren leisten je 200W im Direktantrieb. Die Logikspannung wird per MP4560 Step-Down geregelt. • Oberes Bedienteil: Ein weiterer ESP32-S3 Zero am Griff verwaltet ein 2,42" SSD1309 OLED-Display (I2C @ 400 kHz), 4 Cockpit-Taster sowie einen analogen Hominas 20X E-Bike-Drehgasgriff (direkt an 3,3V eingemessen). • Handfernbedienung: Wahlweise ein Seeed Studio XIAO ESP32-C3 oder ein C3 SuperMini, der rein über Hardware-Tasten gegen GND schaltet.

?? Die Software-Highlights (FreeRTOS Multi-Core)

Um absolute Latenzfreiheit und Sicherheit zu garantieren, habe ich die Aufgaben strikt auf die Prozessorkerne aufgeteilt: • Motorteil unten: Core 0 kümmert sich in einem strikten 20-ms-Task exklusiv um die Motoransteuerung (lautlose 20 kHz PWM inkl. Beschleunigungs- und Bremsrampen) und den UART-Datenstrom. Core 1 übernimmt die Filterung des A3144 Hall-Sensor-Odometers (Streckenmessung) und die Batterieüberwachung. • Bedienteil oben: Die kabellose Funkkommunikation läuft asynchron über ESP-NOW auf Core 0. Die gesamte Ablauflogik, das Entprellen und die UART-Pakete nach unten laufen in einem 40-ms-Task auf Core 1. Das zeitaufwendige Display-Rendering ist komplett entkoppelt in die loop() ausgelagert, damit der Sendetakt niemals zittert.

?? On-Board-Diagnose via Smartphone-Browser (Königsweg)

Besonders stolz bin ich auf das Diagnosesystem: Das Motorteil überwacht permanent Fehler (Kabelbruch/UART-Timeout, System-Abstürze, unerwartete Motor-Neustarts mit echtem Reset-Grund). Kritische Fehler werden in einen nicht-flüchtigen Flash-Ringpuffer (NVS) geschrieben. Wenn das System aus ist, hält man die silberne Taste am Cockpit für 3 Sekunden gedrückt. Der ESP32 öffnet dann ein eigenes, passwortgeschütztes Wi-Fi-Netz (Trolley-Log). Man verbindet das Smartphone, tippt die IP 192.168.4.1 ein und kann das komplette Logfile plattformunabhängig als HTML-Tabelle im Browser auslesen und löschen. Keine extra App notwendig!

??? Sicherheitsfeatures

• UART-Watchdog: Reißt die serielle Kabelverbindung zwischen Cockpit und Achse für mehr als 500 ms ab (z. B. durch harte Erschütterungen auf dem Rasen), stoppen die Motoren unten sofort ohne Rampe. • Echtzeit-Priorität: Jede Bewegung des analogen Gasgriffs übersteuert augenblicklich den Tempomat (Cruise Control) oder den Funkbetrieb, falls man manuell eingreifen muss. • Funk-Schutz: Automatische Peer-Bindung an die MAC-Adresse des ersten erkannten Senders nach Systemstart (Schutz gegen fremde Trolleys auf dem Platz). Automatischer Funk-Timeout nach 200 ms Signalausfall sowie Deep-Sleep der Fernbedienung nach 5 Minuten Inaktivität. Alle Quellcodes (getrennt für alle 3 Module), die Schaltpläne, die STL-Dateien für die 3D-Druck-Gehäuse aus PETG sowie vollständige Bedienungs- und Wartungsanleitungen findet ihr ab sofort in meinem Repository. Bei der Software-Implementierung der Cores stand mir Claude als digitaler Assistent zur Seite. Ich freue mich über euer Feedback, Fragen zum Breadboard-Setup oder Anregungen für den anstehenden mechanischen Einbau im Winter! ?? Hier geht's zum Projekt: [https://github.com/zaberwolfi/ESP32-S3-Smart-Golf-Trolley] Viele Grüße,

Wolfgang Schöpe

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.