Zielsensor im Labyrinth

Zeitmessung & Sensorik

Präzise Zeiten ohne Stoppuhr

Zwei intelligente Lichtschranken messen Start und Ziel automatisiert, erfassen Zeitstempel direkt am Microcontroller und werten die Rundenzeit in Echtzeit am Laptop aus.

Überblick

Um die Leistung der Micromouse objektiv zu bewerten, reicht eine einfache Stoppuhr nicht aus. Das Zeitmesssystem arbeitet präzise, automatisiert und ohne menschliche Reaktionsverzögerung.

2

Lichtschranken

Start und Ziel werden über getrennte IR-Sensorstationen erfasst.

UDP

Port 5005

Die Messstationen kommunizieren drahtlos über ein autarkes WLAN-Netzwerk.

µs

Zeitstempel

Die präzise Messzeit entsteht direkt auf den ESP8266-Microcontrollern.

Systemarchitektur der MicroMouse Zeitmessung
Systemarchitektur mit Start-Einheit, Finish-Einheit, WLAN-Netzwerk und Python-GUI.

Hardware

Jede Messstation kombiniert IR-Lichtschranke, Signalaufbereitung, Microcontroller und mobile Stromversorgung.

Sensor

An Start und Ziel befindet sich jeweils eine IR-Emitter-Diode und eine IR-Receiver-Diode. Der Sender erzeugt einen unsichtbaren Lichtstrahl. Durchbricht die Maus diesen Strahl, ändert sich das Analogsignal am Empfänger abrupt.

Signalaufbereitung via Komparator

Das analoge Signal der Diode ist oft verrauscht und anfällig für Umgebungslicht. Deshalb wird es durch einen Komparator-Schaltkreis geleitet. Über ein Potentiometer wird eine Referenzspannung eingestellt. Der Komparator vergleicht das aktuelle Sensorsignal mit diesem Schwellwert und liefert ein sauberes digitales Signal an den Microcontroller.

Microcontroller & Power

Das Herzstück jeder Messstation ist ein ESP8266 Microcontroller. Dieser liest den Komparator aus, steuert den IR-Emitter und übernimmt die WLAN-Kommunikation. Versorgt werden die Einheiten mobil über einen Akku, dessen Spannung durch einen Regler stabil auf 5 V gehalten wird.

Startsensor der MicroMouse Zeitmessung
Startsensor am Labyrinth mit IR-Lichtschranke.
Zielsensor der MicroMouse Zeitmessung
Zielsensor als zweite Messstation am Ende der Strecke.

Software-Logik & Datenfluss

Das System nutzt ein Server-Client-Prinzip über ein autarkes WLAN-Netzwerk. Die Start-Einheit agiert als Access Point, Finish-Einheit und Laptop verbinden sich als Clients.

Python GUI der Zeitmessung
Python-GUI mit Netzwerkhinweis, Live-Timer, SYNC_ARM und DISABLE BEAMS.
  1. Netzwerk-Topologie: Die Start-Einheit agiert als WLAN Access Point. Die Finish-Einheit sowie der Laptop verbinden sich als Clients. Dadurch läuft das System unabhängig von lokaler IT-Infrastruktur oder dem FH-Netzwerk.
  2. Synchronisation: Per Knopfdruck an der Laptop-GUI wird ein Broadcast-Befehl an alle Geräte gesendet. Beide ESPs schalten daraufhin ihre IR-Emitter ein und speichern intern ihre aktuelle Systemzeit in Mikrosekunden als Nullpunkt.
  3. Messung: Durchbricht die Maus die Start-Lichtschranke, berechnet der Start-ESP die Differenzzeit seit dem SYNC-Zeitpunkt und sendet das Paket START:Zeitstempel per UDP. Um Paketverlust vorzubeugen, wird diese Nachricht mehrfach gesendet. Das gleiche Prinzip gilt für die Finish-Lichtschranke.
  4. Zentrale Auswertung: Eine Python-Applikation übernimmt die Auswertung. Ein Hintergrund-Thread lauscht permanent auf UDP-Pakete, damit die grafische Oberfläche flüssig bleibt. Sobald das START-Signal eintrifft, läuft ein visueller Live-Timer mit.

Berechnung der Rundenzeit

Die finale, hochpräzise Rundenzeit wird unabhängig von der WLAN-Latenz auf dem Laptop aus den beiden Microcontroller-Zeitstempeln berechnet.

Rundenzeit = Zeitstempel_FINISH - Zeitstempel_START

Herausforderungen & Learnings

Die wichtigsten Erkenntnisse lagen weniger in der Anzeige selbst, sondern in der robusten Erfassung und Interpretation der Messsignale.

Netzwerk-Latenz vs. Präzision

WLAN-Pakete haben keine garantierte Zustellzeit. Durch Zeitstempel direkt auf den Microcontrollern über micros() wird die Netzwerk-Latenz vollständig aus der Messung eliminiert.

Signal-Entprellung

Wenn das Chassis die Lichtschranke durchbricht, kann das Signal kurz flattern. Eine kurze Verzögerung mit anschließender Zweitprüfung verhindert Fehltriggerungen.

Lichtempfindlichkeit

Starkes Außenlicht kann zu Ungenauigkeiten führen. Diese lassen sich durch Einstellen des Potentiometers am Schwellwert der Messstation beheben.