Alpha-Motor ist eine Platine zur Ansteuerung von zwei Antriebsmotoren. Die neue Version 2 soll vor allem eine präzisere Strombegrenzung und die Nutzung von Encodern mit differenziellen Ausgangssignalen ermöglichen


Zusammenfassung

Eines der wichtigsten Elemente in unserem Roboter nennen wir ganz bescheiden den Alpha-Motor. Der Alpha-Motor ist eine Platine die in erster Linie zwei Funktionen erfüllt: Ansteuerung und Regelung von ein bis zwei Motoren und das Auslesen von Encodern für die Odometrie. Bisher hat uns die Platine gute Dienste geleistet und ist auch in Zukunft vor allem für Antriebsräder interessant, da zwei Motoren zu koordinieren auf einer Platine einfacher ist als auf zwei.

Jede Platine verfügt dazu über ein Setup, das sowohl DC-Motoren als auch dreiphasige Brushless-DC Motoren oder einen Mix der beiden unterstützt. Verbaut sind dementsprechend 2 Motortreiber ICs. Diese steuern liefern nicht nur den Motor, sondern liest auch die Motorencoder aus und kommuniziert über verschiedene Schnittstellen (vor allem CAN) mit dem Rest des Roboters, wobei ein paar GPIOs und Debug-LEDs natürlich auch nicht fehlen dürfen. Zusätzlich wird durch den Mikrocontroller der Strom in den Motoren überwacht, was allerdings in Version 1 nur für sehr große Ströme funktionierte. Um in Zukunft auch kleine Ströme einstellen zu können, wie es zum Beispiel für eine akkurate Kraftregelung notwendig wäre, wurde für diese Version die Strommessung von Hall-Sensoren auf Instrumentenverstärker umgestellt. Das Problem war, dass die Gleichtaktunterdrückung nicht ausreichte, um schnell genug auf Änderungen im Spannungslevel zu regieren.

Aufgabenstellung

Der Schaltplan für den Alpha-Motor V2 ist bereits abgeschlossen, es wurde bisher aber noch keine funktionierende Platine aufgebaut.

  • Aufbau der gefertigten Platine, das heißt die teil bestückten Platinen komplett bestücken und im Reflow-Ofen löten.
  • Anpassen der bestehenden Software (C++) an den neuen Microcontroller, vor allem Änderungen in der Peripherie des verwendeten STM32
  • Und selbstverständlich testen, testen, testen

Vorkenntnisse im PCB-Design oder Löten von Platinen sind natürlich von großem Vorteil, unbedingt erforderlich um diese Aufgaben zu erfüllen sind aber nur Grundkenntnisse in der Programmierung mit C++ und Grundkenntnisse der Schaltungstechnik.

Technische Daten Alpha-Motor V2

  • 3 Phasen (DC und Brushless-DC Motoren)
  • ca. 8A pro Phase in der Spitze
  • 20V Betriebsspannung (Akku) -> 40V Auslegung
  • Mikrocontroller STM32G474 (vorher: STM32F407)
  • 2x CAN-Bus mit 4 Steckern, 1 UART, (vorher: zusätzlich 1 SPI/I2C)
  • Anschlüsse für vier AB-Encoder (vorher: inklusive UART 1-Wire)
  • Anschlüsse für 2 Hall-Sensoren
  • Strommessung und Strombegrenzung
  • LEDs für Software-Status & Encoderstatus
  • Einfach lötbar und aufbaubar
  • Abmessungen: ca 50 x 60 mm²