Fokus auf Technik

Projektbeispiele  

Unsere Projekte umfassen einen breiten Bereich. Von der Signalverarbeitung, Regelungstechnik, über Algorithmenentwicklung, Hard- und Softwaredesign, Antriebstechnik bis zur Systemintegration, Embedded Systemen und industriellen Applikationen. Nachfolgend präsentieren wir Ihnen einige Beispiele aus unserer Praxis.

Modellbasierte Regelung  

Wärmeausbreitung

Ausgangslage

Die Oberflächentemperatur eines Metallkörpers soll so geregelt werden, dass sie präzis und schnell einem gewünschten Profil folgt. Heizung und Temperatursensor sind im Festkörper jedoch örtlich getrennt, was eine Verzögerung der Messung (sogenannte Totzeit) zur Folge hat.

Schwierigkeit

Die Regelung von Prozessen mit einer Totzeit ist schwierig. Konventionelle Reglerstrukturen (z. B. PID-Regler) neigen in diesem Fall zu Überschwingungen oder sogar zu Instabilität. Eine genaue Ausregelung ist nur sehr langsam möglich. Regelgüte und Regelgeschwindigkeit widersprechen sich in diesem Fall.

Regelkreis

Lösung

In den Regelkreis wurde ein numerisches Modell der Wärmeausbreitung im Körper eingefügt. Dieser sog. Schätzer oder Predictor berechnet basierend auf der gemessenen Temperatur und der aktuellen Heizleistung die Oberflächentemperatur nach einer gewissen Zeit. Es wird also in die Zukunft geschaut und somit die Totzeit des Prozesses überbrückt.

Temperaturverlauf

Resultat

Mit Hilfe des Predictors kann der Regler das Verhalten des Prozesses vorhersehen und ohne Verzögerung reagieren. Dadurch wird der Widerspruch von Regelgüte und Regelgeschwindigkeit aufgelöst. Die Oberflächentemperatur kann exakt und schnell dem gewünschten Profil nachgeführt werden.

Die Abbildung zeigt den Schätzwert (rot), den Messwert (blau) und den Reglerausgang (schwarz). Man erkennt, dass der Regler auf Grund der Schätzung die Heizleistung reduziert, sobald die geschätzte Temperatur den Sollwert erreicht. Somit wird die Temperatur ohne störendes Überschwingen auf den Endwert gebracht.

Messsystem  

Ausgangslage

Ein Messsystem soll bis zu 16 parallele Kanäle mit einer Abtastrate von je 500 kHz bei 16 Bit Auflösung erfassen und anschliessend in Echtzeit verarbeiten und auswerten. Der Kunde wünscht ferner eine grafische Anzeige mit Touch Screen für die Visualisierung der Daten, sowie Ethernet und einen Webserver für die entfernte Konfiguration des Systems.

Schwierigkeit

Ein normaler PC kann die Daten nicht in Echtzeit verarbeiten. Für das Sampling derartiger Datenmengen und um die Echtzeitanforderungen zu erfüllen wird normalerweise ein Array von spezialisierten Digitalen Signalprozessoren (DSPs) eingesetzt. Ein typischer DSP verfügen aber über keine Interfaces und keine Unterstützung für Ethernet, Display und Touch Screen. Der Einsatz von DSPs verlangt eigene Tools und Spezialwissen.

Lösung

Statt einem DSP wurde ein handelsübliches Rechnermodul eingesetzt. Diese Module sind kompakt, kostengünstig und verfügen je nach Typ über eine beachtliche Rechenleistung. Ein FPGA liest selbsttätig die AD-Wandler aus, erledigt die zeitkritische digitale Vorverarbeigung durch Parallelisierung und stellt die Daten blockweise dem Rechner zur Verfügung, wo sie weiter verarbeitet werden.

Die harte Echtzeitfähigkeit des Moduls wird erreicht durch den Einsatz von Linux mit einer Echtzeiterweiterung wie RTAI. Ausserdem bietet Linux bereits von Haus aus komplette Ethernetfähigkeit, sowie vielfältige Unterstützung für Display, Touch Screen, Webserver, usw.

Resultat

Durch dem Einsatz des Rechnermoduls konnte die zu entwickelnde Hardware stark vereinfacht werden. Das Modul übernimmt sämtlich Softwareaufgaben, von der Signalverarbeitung bis zur Visualisierung der Resultate und dem Bereitstellen von Webseiten über Ethernet. Die Entwicklung der Software unter Linux verlief sehr effizient, da das Betriebssystem zahlreiche Funktionen und Dienste fertig zur Verfügung stellt, wie zum Beispiel die Abstraktion von Hardware, Treiber, interne Kommunikationsmechanismen, etc.

Insbesondere ermöglichte die Echtzeiterweiterung die saubere Isolierung und Priorisierung jener Systemkomponenten mit harten Echtzeitanforderungen vom Rest der Software. Dies führt zu Transparenz und Stabilität im Code. Insgesamt erwies sich der Einsatz eines handelsüblichen Rechnermoduls mit Linux als sehr flexible, zukunftsgerichtete und preiswerte Lösung.