Echtzeitfähig – das ist ein Begriff, der in der Elektronik beinahe schon inflationär genutzt wird. Doch was bedeutet das eigentlich? Gibt es das überhaupt? Sind da nicht physikalische Grenzen gesetzt? Ja, aber es gibt dennoch Wege, wie man zu einem relativ einfachen Sensor mit kurzer Totzeit kommt.
Echtzeit ist ein eindeutiger Begriff, der letztendlich bedeutet, dass eine Aktivität ohne Zeitverzögerung durchgeführt wird. Dies sollte natürlich auch für Echtzeitsensoren gelten. In der Praxis bedeutet Echtzeit meist, dass die Zeitverzögerung maximal so groß ist, wie es das System erlaubt. Deshalb wird in der Regelungstechnik ein spezielles Augenmerk auf die Totzeit gelegt und auf Basis der Totzeit die Stabilität des Regelkreises betrachtet.
Wo liegen die physikalischen Grenzen?
Ein Echtzeitsensor müsste also eine Zeitverzögerung von genau 0 Sekunden haben. Das kann man zwar fordern, jedoch nicht erfüllen. Denn zumindest die Lichtgeschwindigkeit sollte man nicht überholen wollen. In vielen Anwendungen wird als Grenze für die Echtzeitfähigkeit ein Wert von 1 ms angegeben. In dieser Zeit kommt das Licht 300 km weit. Wenn wir alle weiteren Einflüsse zu null definieren, dann kann ein Empfänger, der eine Antwort zurückschickt, maximal 150 km entfernt sein. Dies ist im Anlagenbau sicher zu vernachlässigen, jedoch kann es für Anwendungen wie autonomes Fahren relevant werden – vor allem weil die weiteren Einflüsse real ungleich null sind.
Einen verwandten Einfluss kann man bei hochgetakteten Halbleitern sehen. Bei einer Taktfrequenz von einigen GHz kommt das Signal in dieser Zeit nur noch einige Zentimeter weit.
Wo liegen die realen technischen Grenzen?
Für viele Applikationen ist die Lichtgeschwindigkeit nicht die begrenzende Größe. Ein unterer Grenzwert von 1 ms scheint vernünftig zu sein. Wo liegt nun ein oberer Grenzwert? Das ist natürlich vom System abhängig. Als oberen Wert kann man die menschliche Wahrnehmung ansetzen. Beispielsweise die Auslöseverzögerung einer Kamera. Verzögerungen von 100 ms werden als sehr störend, Werte zwischen 10 und 40 ms werden typischerweise nicht oder nur schwach wahrgenommen. Mit einem oberen Wert von 50 ms lassen sich viele Applikationen abdecken.
Viel hilft viel – zu viel ist aber für die Laufzeit schlecht
Am einfachsten wäre – ein einfacher Sensor. Weil er mindestens ein analoges Front-End besitzt, hilft also ein schneller analoger Sensor. So weit, so gut, jedoch erfüllt ein rein analoger Sensor meist nicht die Anforderungen an das System, und ein digitaler Sensor besteht typischerweise aus folgenden Einheiten, die jeweils die Laufzeit negativ beeinflussen:
Das analoge Front-End erzeugt das Signal aus dem Messsignal auf Basis eines physikalischen Gesetzes. Die analoge Beschaltung besteht aus einfachen Beschaltungen zur Signalverbesserung, z. B. Differenzbildung und ggf. noch analoge Filterung. Dann erfolgt eine Digitalisierung und nach der Digitalisierung noch eine Nachverarbeitung auf Software- oder Hardwarebasis, z. B. Mittelungen, Kompensationen, Digitalfilter, Demodulation, weitere Signalverknüpfungen und Berechnungen. Das digitale Signal wird dann im Ausgangstreiber auf das digitale Format für die Signalübertragung gewandelt, z. B. PWM-Signal oder Datenprotokoll mit der jeweiligen Laufzeit.
Wie komme ich nun zur Lösung?
Ein direkter Weg ist die Verwendung eines schnellen analogen Sensors, der das Signal direkt an das System weitergibt. Dies ist z. B. mit einem magnetisch-induktiven Drehzahlsensor oder einem Resolver möglich. Ein weiterer Weg ist die Verwendung eines schnellen analogen Sensors, dessen Analogsignal auf eine einfache Art und Weise digitalisiert werden kann, z. B. eine Quantisierung auf ein Bit, um beim Erreichen eines Schwellwertes ein digitales Schalten zu erzeugen.
Oft genügen diese Sensoren aber dem System nicht, weil beispielsweise folgende Anforderungen vorliegen:
Wenn auf dieser Basis ein Sensor ausgewählt werden kann, der die Anforderungen technisch und kaufmännisch erfüllt und verfügbar ist, ist die Aufgabe gelöst. Oft wird dies aber nicht direkt erreicht.
Welcher Ansatz hilft?
Wenn die Anforderungen an die Echtzeitfähigkeit höher sind, als es die Sensoreigenschaften zulassen, kann man sich mit einem Blick in die Zukunft retten. Durch die gezielte Verwendung von A-priori-Wissen aus dem System lässt sich das Problem lösen oder zumindest reduzieren. Wenn man also im Voraus schon weiß, was passieren wird, kann man die Laufzeit virtuell reduzieren. Das hört sich nach einer Art Prophezeiung an, ist aber real umsetzbar, wenn zwei Voraussetzungen erfüllt sind: Das Systemverhalten ist für einen kurzen Zeitraum vorhersehbar und die Signallaufzeit vom Sensor zum System ist bekannt.
In den beispielhaften Diagrammen für eine Winkelmessung mit einer Laufzeit von 500 µs (Bild 2) ist zu erkennen, dass stark fehlerhafte Laufzeitwerte bei richtiger Systemgröße (Kurve »Latenz abweichend«) wie auch stark fehlerhafte Systemgrößen bei richtiger Laufzeit (Kurve »Systemgröße abweichend«) zu großen Fehlern gegenüber dem Betriebspunkt (rot) zum Zeitpunkt null führen können. Sind Abweichungen sowohl bei der Laufzeit als auch bei der Systemgröße vorhanden, aber gering, entsteht ein geeigneter Schätzer (Kurve grün). Somit kann virtuell die Laufzeit reduziert werden. Der Nutzen des Verfahrens muss natürlich die Unsicherheiten überwiegen. Diese Auslegung ist technisch und mathematisch anspruchsvoll, erzielt aber regelmäßig einen nennenswerten Nutzen bei überschaubarem Aufwand.
Fazit
Die bedingungslose Echtzeitfähigkeit gibt es nicht. Jedoch erlauben die meisten Systeme eine Signallaufzeit, die technisch erfüllt werden kann. Der einfachste Ansatz für einen laufzeitarmen Sensor ist, einen schnellen rein analogen Sensor oder einen schnellen analogen Sensor mit einer sehr schnellen und wenig komplexen Digitalisierung umzusetzen. Sind die Anforderungen an den Sensor vielfältiger, kann eine laufzeitarme Messwertübertragung oft nicht gewährleistet werden. Bei einem kurzfristig vorhersehbaren Systemverhalten und mit einer bekannten Signallaufzeit jedoch lässt sich die wirksame Signallaufzeit virtuell deutlich verringern. Oft werden aber bei der Systemauslegung die nötigen Eigenschaften der Laufzeit nicht betrachtet und stehen für diese Art der Optimierung nicht oder nur ungenügend zur Verfügung. Bei der Systemauslegung von Echtzeitanwendungen muss die Laufzeit spezifiziert und angemessen ausgelegt werden.