Infrarot-Ring / Hauptplatine

Die Platine mit den Infrarotsensoren (IR) wird "Infrarot-Ring" gennant, aufgrund der runden Anordnung der IR-Sensoren. Eine weitere Bezeichnung, nämlich die der Hauptplatine, kommt daher, dass sich auf dieser Platine der Master der beiden Datenbusse befindet. Dies ist in unserem Fall der Teensy 3.1, ein programmierbarer Micorcontroller der Firma PJRC. Dies ist der einzige verbaute Microcontrollertyp in unseren Robotern. Auf Ihm befindet sich ein ARM Cortex-M4 Prozessor, welcher im Normalfall mit 72MHz getaktet. Dieses Board eignete sich aufgrund seiner Vielzahl an unterstützten Ansteuerungsmöglichkeiten, wie zum Beispiel die der Servotreiber der Firma Turnigy, welche für den Dribbler benutzt wurden, und der einfachen Programmierung über Arduino, eine auf C und C++ basierende Programmiersprache.

Der Master ist als agierender für die Ansteurung der einzelnen Komponenten zuständig, dazu zählen unter anderem die Motorcontroller. Das sind die Escon Module 50/5 der Firma Maxon. Diese regulieren programmierbar die Motoren nach deren Drehzahl.

Angesteuert werden sie über zwei Digitalsignale, eins für die Freigabe des Motors, eins für die Drehrichtung und ein Pulsweiten-Signal (PWM) für die Drehzahl des Motors. Von dort aus werden von je einem Controller jeweils ein Motor angesteuert, diese bekommen dann eine Spannung pro Motorwicklung. Von dem Motor kommt dann der Ist-Wert, welcher über Hall-Sensoren bestimmt wird zurück sodass gegebenenfalls durch den Controller nachgeregelt werden kann. Die Motorcontroller werden über USB mit der zugehörigen Software einmal vorher programmiert, sodass man bespielsweise die Anlaufkurve einstellen kann.


Der Kicker befindet sich auf einer anderen Platine und wird von einem MOSFET-Transistor geschaltet, welcher durch den Teensy über ein Digitalsignal ausgelöst wird. Von der Platine kommt auch die Gesamtspannung von 14,8 V, welche durch einen Spannungsregler auf 5 V für die Betriebsspannung der Teensy's runtertransfortmiert werden.

Über den SPI-Bus kommuniziert der Master mit der Kamera.

Der I²C-Bus wird zum einen zur Ansteuerung der beiden I²C-Portexpander (PCF8574TS), welche auf der Tasterplatine für Taster und LED's zuständig sind. Außerdem auf der Tasterplatine befindet sich der Sensor welcher zur Bestimmung der Ausrichtung genutzt wurde. Das ist der CMPS11, welcher über ein 9-Achsen-System verfügt, bestehend aus einem Magnetometer, einem Gyrometer und einem Accelerometer mit jeweils 3-Achsen. Diese Informationen werden mit Hilfe des Kalman-Filters zur Fehlerfilterung ausgewertet. Dadurch kann er unter anderem die Ausrichtung auf 0,1° genau an den Master zurückliefern.

Darüber hinaus kommuniziert der Master mit den beiden anderen Teensy's auf der Bodenplatine und dem für die IR-Sensoren.

Der erste Slave des I²C-System ist der Teensy für die IR-Sensoren, das heißt zur Erkennung des Balls. Er liest alle Infrarot-Sensoren aus, die TSSP6038 der Firma Vishay. Da es insgesamt 28 Sensoren sind, größtenteils im 15°-Winkel angeordnet, und der Teensy nicht über ausreichend Ports verfügt, haben wir auf 8-Port-Multiplexer zurückgegriffen, der 74HCT4051. Der verfügt über 8 Inputs/Outputs und drei digitale Steuerleitungen. Darüber kann der auszulesende Kanal eingestellt werden. Immer wenn die Infrarot-Sensoren ein gepulstes Signal des Balles erkennen schalten die Infrarotsensoren durch. Das kann dann als digitales Signal ausgelesen werden.

Nach der Auswertung schickt der IR-Teensy dem Master die Richtung und den Abstand des Balls - relativ zum Roboter - über den I²C-Bus.