Easy to use RC-Car Lösung
Ziele dieses Projekts ist die Umsetzung eines vollständig ferngesteuerten Autos mit möglichst geringem Aufwand insbesondere in Bezug auf die Energieversorgung und Fernsteuerung.
Das Projekt gliedert sich in folgende Teilprojekte:
- 3D-Design (Entwurf und 3D-Druck des Autos)
- PCB-Design (Entwurf einer Platine)
- Mikrocontroller-Software (Programmierung der Ansteuerung der Motoren und Empfang der Fahrbefehle über Bluetooth Low Energy)
- WebApp (Webseite zur Fernsteuerung des Autos)
Das Chassis kann mit jedem 3D-CAD Programm entworfen werden. Ursprünglich ist es in Autodesk Fusion360 entwickelt worden. Die Bodengruppe kann unabhängig vom gestalteten Chassis verwendet werden.
Die Hardware wird auf Basis des Mikrocontroller Boards Seed XIAO ESP32C3 umgesetzt. Dazu exisitiert eine einfache Steuerplatine. Sie dient dazu folgende Aktoren anzusteuern:
- 4 Motoren über zwei H-Brücken vom Typ MX1508
- einen Servo
- 2 transistorgesteuerte Lasten (z.B. für LEDs)
Als Energiequelle wird eine Standard 5V-Powerbank benutzt.
Die Platine wurde mit einem DC/DC-Wandler (MT3608) ergänzt, um die Spannung der Motoren anzuheben und damit die Fahrgeschwindigkeit des Modells zu erhöhen.
Zur Verwendung der Mikrocontroller Software kann am einfachsten die Arduino IDE genutzt werden. In der IDE müssen unter Tools/Boards/Boardmanager die esp32-Boards ergänzt werden.
Dann kann das Programm für das Zielboard XIAO_ESP32C3 übersetzt werden
Der folgende Ausschnitt zeigt den wesentlichen Deklaration/setup-Bereich des Programms. Erkennbar leicht lassen sich die Aktoren ansprechen. Das Verhalten lässt sich nach eigenen Wünschen anpassen.
Zur Fernsteuerung wird auf Bluetooth Low Energy (BLE) gesetzt. Damit ist der Mikrocontroller direkt mit Hilfe einer Web-App ansteuerbar. Voraussetzung dafür ist, dass die Webseite mit einem BLE-fähigen Browser (z.B. Google Chrome) genutzt wird. Die WebApp kann auf einem Server oder direkt als Datei auf dem Smartphone oder jedem anderen BLE-fähigen Device betrieben werden. Zur Steuerung werden die Neigungssensoren des Devices genutzt.