Zum Inhalt springen

Verkabelung

Mit dieser Seite verkabelst du den Lader zu Hause und schaltest ihn zum ersten Mal ein, ohne etwas zu zerstören. Die häufigsten Fehler (ein falsch eingestellter Wandler, ein Drehgeber an 5 V, ein Servo, das die Akkuspannung nicht verträgt) beschädigen Bauteile schon in der ersten Sekunde. Nimm dir also die Zeit, die Checkliste der Reihe nach abzuarbeiten.

Das Board ist ein ESP32-C3 SuperMini. Die Tabelle folgt firmware/src/config.h: Sollten die beiden einmal voneinander abweichen, gilt config.h.

GPIO Funktion Gut zu wissen
0 Akkuspannung (Analogeingang) Über einen Spannungsteiler 100 kΩ / 20 kΩ, mit einem 100-nF-Kondensator gegen Masse.
1 IR-Fototransistor Pull-up-Widerstand 10 kΩ nach 3,3 V. Das Signal geht auf High, wenn eine BB den Strahl unterbricht.
3 Servosignal (PWM) Nur die Steuerleitung: Das Servo wird direkt aus dem Akku versorgt.
4 GO-Taster Ein einfacher Kontakt zwischen GPIO 4 und GND, sonst nichts. Vollständig vom alten 12-V-Stromkreis getrennt.
5 Drehgeber KY-040, CLK Das + des Moduls kommt an 3,3 V, nie an 5 V.
6 Drehgeber KY-040, DT
7 Drehgeber KY-040, SW (Klick) Geht beim Drücken auf Low.
10 OLED, SDA (I2C) Display SSD1306 128×64, Adresse 0x3C (manchmal 0x3D).
20 OLED, SCL (I2C) Nutzbar, weil die serielle Schnittstelle über das native USB des Chips läuft.

Diese Pins bleiben frei:

  • GPIO 2, 8 und 9 sind Strapping-Pins: Ihr Pegel beim Einschalten legt fest, wie der Chip bootet. An Pin 8 hängt außerdem die LED des Boards.
  • GPIO 4 bis 7 dienen auch dem JTAG-Debugging. Das stört nicht, solange du über USB gehst (das eingebaute USB-Debugging nutzt sie nicht), aber ein externer JTAG-Adapter käme dem Taster und dem Drehgeber in die Quere.

Das ist ein Prinzipschaltbild: Wo ein Pin in der Zeichnung sitzt, hat nichts damit zu tun, wo er auf dem Board liegt. Die roten Leitungen führen die Akkuspannung (7,4 V, voll geladen bis 8,4 V), die orange Leitung die 5 V des Wandlers, die grünen Fähnchen die 3,3 V vom 3V3-Pin des ESP32. Alle Massesymbole sind miteinander verbunden.

Schaltplan des BULLOADER+ Der LiPo-Akku geht über den Schalter und versorgt dann direkt das Servo (mit einem 470-µF-Kondensator daneben), den 5-V-Wandler, der den 5V-Pin des ESP32 speist, und den Spannungsteiler 100 kΩ / 20 kΩ an GPIO 0 mit 100 nF gegen Masse. Das Servo bekommt sein Signal an GPIO 3. An 3,3 V: die IR-LED mit 220 Ω, der Fototransistor mit einem 10-kΩ-Pull-up an GPIO 1, der Drehgeber KY-040 (CLK 5, DT 6, SW 7) und das OLED (SDA 10, SCL 20). Der GO-Taster verbindet GPIO 4 mit Masse. Gemeinsame Masse. LiPo 2S 7,4 V 8,4 V voll + − Schalter VBAT Servo 360° 35 kg, direkt am Akku PWM-Signal + 470 µF nah am Servo Buck Ausgang 5,0 V 5 V 100 kΩ 20 kΩ 100 nF ≈ 1,4 V max. ESP32-C3 SuperMini GPIO 3 5V GND GPIO 0 3V3 GPIO 1 GPIO 4 GPIO 5 GPIO 6 GPIO 7 GPIO 10 GPIO 20 3,3 V 3,3 V 220 Ω IR-LED Lichtstrahl, von den BBs unterbrochen 3,3 V 10 kΩ Fototransistor IR-Signal GO-Taster vom alten 12 V getrennt CLK DT SW + GND KY-040 Drehgeber 3,3 V nie 5 V SDA SCL VCC GND OLED SSD1306 I2C 3,3 V
Bauteil Anschluss
2S-LiPo-Akku + an den Hauptschalter, − an die gemeinsame Masse.
Servo + an den Akku hinter dem Schalter (nicht an die 5 V), − an Masse, Signal an GPIO 3. Ein Kondensator 470 µF 16 V zwischen + und Masse, so nah wie möglich am Servo, mit dem +-Bein auf der Akkuseite.
5-V-Wandler (MP1584) Eingang am Akku hinter dem Schalter, Ausgang 5,0 V (mit dem Multimeter geprüft), an den 5V-Pin des ESP32, gemeinsame Masse.
Akku-Spannungsteiler Akku → 100 kΩ → GPIO 0 → 20 kΩ → Masse. Ein 100-nF-Kondensator zwischen GPIO 0 und Masse. Bei 8,4 V sieht der Pin 8,4 × 20 / 120 = 1,40 V. Keinen 47 kΩ stattdessen nehmen: Der Pin sähe dann etwa 2,7 V, zu viel, als dass der ADC des C3 noch gut misst.
IR-LED 940 nm 3,3 V → 220 Ω → Anode der LED, Kathode an Masse. Sie leuchtet ständig (etwa 10 mA).
Fototransistor 940 nm Kollektor an GPIO 1, mit einem 10-kΩ-Widerstand von GPIO 1 nach 3,3 V. Emitter an Masse. Gegenüber der LED, auf der anderen Seite des Rohrs.
Drehgeber KY-040 CLK → GPIO 5, DT → GPIO 6, SW → GPIO 7, + → 3,3 V, GND → Masse.
OLED-Display SSD1306 SDA → GPIO 10, SCL → GPIO 20, VCC → 3,3 V, GND → Masse.
GO-Taster Ein Draht an GPIO 4, der andere an Masse. Kein weiterer Draht: vom alten 12-V-Stromkreis getrennt.

In dieser Reihenfolge, bevor du irgendetwas anderes anschließt. Trag jeden gemessenen Wert unten in die Tabelle der Messwerte ein.

  1. Den Ausgang des Wandlers mit dem Multimeter auf 5,0 V prüfen (und, wenn er einstellbar ist, einstellen), ESP32 abgeklemmt. Eine Version mit festen 5 V muss nicht eingestellt werden, wird aber trotzdem gemessen. Eine einstellbare kommt ab Werk oft mit irgendeiner Spannung, manchmal nahe an der des Akkus, und die würde den ESP32 zerstören.
  2. Die Maximalspannung des Servos mit den 8,4 V des vollen Akkus vergleichen. Es hängt direkt am Akku, und viele „35-kg“-Servos sind nur bis 6,8 V ausgelegt und gehen darüber kaputt. Ist es für weniger als 8,4 V spezifiziert, braucht es einen eigenen Regler (ein BEC oder einen zweiten Wandler), der seinen Blockierstrom liefern kann, also den Strom, den es zieht, wenn es blockiert wird und dagegen ankämpft.
  3. Prüfen, ob zwischen USB-5-V und dem 5V-Pin des SuperMini eine Diode sitzt. Ohne Diode arbeiten der Wandler und der USB-Port deines Computers gegeneinander, wenn du USB ansteckst, während der Akku das Board versorgt. Solange das nicht geprüft ist: nie USB bei eingeschaltetem Akku (zum Flashen Schalter aus oder Akku abgesteckt).
  4. Das + des KY-040 an 3,3 V anschließen, nie an 5 V. Das Modul hat eigene Pull-up-Widerstände zu seinem +: An 5 V würde es 5 V auf Pins des ESP32 geben, die nur 3,3 V vertragen.
  5. Den GO-Taster vollständig vom alten 12-V-Stromkreis trennen. Er darf nur noch GPIO 4 und Masse berühren: Der kleinste Rest von 12 V auf dieser Leitung zerstört den Pin.
  6. Den 470-µF-Kondensator so nah wie möglich am Servo setzen. Beim Anlaufen zieht das Servo schlagartig viel Strom: Der Kondensator verhindert, dass die Spannung so weit einbricht, dass der ESP32 neu startet.
  7. Den 100-nF-Kondensator zwischen GPIO 0 und Masse setzen. Er glättet die Akkumessung, die durch die 100-kΩ-Widerstände empfindlich für Störungen vom Servo ist.
  8. Alle Massen miteinander verbinden. Ohne gemeinsame Masse haben die Signale von Servo, Taster und Sensoren keinen Bezug, und das Board liest Unsinn.
  9. Zuerst die sim-Firmware flashen und das serielle Log lesen, Servo abgesteckt. Diese Firmware simuliert die BBs: Du prüfst, dass das Board startet und dass Display, Drehgeber, Taster und Akkumessung reagieren, bevor du die Mechanik riskierst.

Wie man flasht und das serielle Log liest, steht im README der Firmware (pio run -e sim -t upload, dann pio device monitor).

Messung Wert Entscheidung oder Anmerkung
Ausgang des Wandlers, ohne Last zu messen
Servo: Modell zu notieren
Servo: Maximalspannung (Datenblatt) zu notieren Direkt am Akku, oder BEC / zweiter Wandler?
Diode zwischen USB-5-V und dem 5V-Pin des SuperMini ja / nein Die USB-Warnung im README entsprechend anpassen.
Akku: Spannung am Multimeter zu messen
Akku: vom Board gelesene Spannung (? seriell) zu messen BATT_CALIBRATION = Multimeter ÷ Wert des Boards.