8051 News aus Hollabrunn Messversuche an den 4 Elementen – Erde-Wasser-Licht-Wind
Vier Projektgruppen haben heuer Messtechnik mit 8051 Mikrocontrollern betrieben und sich damit auseinandergesetzt Ihre Ergebnisse über das Internet darzustellen.
Ein Erfahrungsbericht von Manfred Resel über Diplomarbeiten aus der Abteilung für Elektronik Ausbildungsschwerpunkt Technische Informatik.
.
Magnetfeldmessung:
Wir erlebten 2006/2007 den wärmsten Winter seit Beginn der Temperaturaufzeichnungen.
Experten behaupten, dass sich das Erdmagnetfeld im Laufe der Jahrhunderte stark verändert hat und dass ein Zusammenhang mit Polsprung und Klimawechsel nicht auszuschließen ist. Dies inspirierte die Gruppe Martin Höfermeier und Bernhard Mayer, eine Geomessstation zu entwickeln. Sie beschlossen in 5 Minutenabständen automatisierte Magnetfeldmessungen durchzuführen, Grafiken zu erstellen und im Internet anzubieten, um es jedermann zu ermöglichen, eine Korrelation mit unserem Schulseismographen, der Temperatur und der Sonneneinstrahlung erkennen zu können. Da der Magnetfeldsensor sehr störungsempfindlich ist, kann er nur auf die „grüne Wiese“ ohne Stromanschluss gestellt werden. Das Erdmagnetfeld wird von 2 Sensoren erfasst. Einer wird nach Norden gerichtet und der andere zeigt nach Süden.
Durch diese Methode ist der Betrag beider Messergebnisse annähernd identisch und durch Subtraktion wird der Temperaturgang eliminiert. Neben dem Erdmagnetfeld wird noch die Sonneneinstrahlung, die Temperatur und die Spannung der Batterie mittels 24 Bit ADC und 8051-Mikrocontroller gemessen und über Funk an den Webserver in der HTL gesendet.
Es wird ein 24 Bit ADC LTC2400 der Firma Linear Technology verwendet. Die hochgenaue Referenzspannung LT1236 des ADCs versorgt auch die beiden Magnetfeldsensoren. So gelingt eine Auflösung im µTesla Bereich. Als Mikrocontroller wird der „In System“ flashbare Mikrocontroller LPC925 von Philips im 20 poligen DIL Sockel verwendet. Die USB-Programmierbox dazu wurde in der HTL-Hollabrunn entwickelt und ist im PC-NEWS-95 beschrieben.
Den LPC kann man in einen Sleepmodus versetzen, in dem er so gut wie keinen Strom benötigt. Das Funkmodul und die Referenzspannungsquelle mit den ADCs werden durch vom LPC gesteuerte Transistoren ein und ausgeschaltet. Eine Real Time Clock liefert alle 5 Minuten einen Interrupt und der LPC wird wieder “aufgeweckt“. Somit halten wir den Gesamtstromverbrauch sehr niedrig.
Um die Daten in die HTL schicken zu können, untersuchten wir zwei verschiede Funkmodule. Es handelte sich dabei um Zigbee Funkmodule und um Funkmodule der Firma Adcon. Entschieden haben wir uns für die Funkmodule der Firma Adcon da diese einen niedrigeren Stromverbrauch aufweisen. Außerdem benötigen die Zigbee Funkmodule einen eigenen Stack-Code, welcher eine Größe von 10KB in Anspruch genommen hätte. Unser Mikrokontroller LPC925 hat aber nur einen Flashspeicher von 8KB.
Als wesentlich komplexer erwies sich die Auswahl eines geeigneten Embedded Web-Servers. Die Seismographenlösung vom Vorjahr (siehe PC-NEWS-100) verwendet einen ausrangierten PC. Diese Lösung verbraucht übers Jahr betrachtet viel Energie. Daher wurden stromsparende Varianten untersucht. Die naheliegendste Lösung, eine hausinterne Entwicklung (siehe PC-NEWS-95) der embedded WebServer im Zündholzschachtelformat mit einem TI1210 8051 und internem 24 bit ADC wurde aus Speicherplatzgründen verworfen. Eine sehr verlockende Variante stellt der winzige Lantronix XPort dar. Er hat einen 186-Core 512KB Flash und 256 KB SRAM und braucht ca. 200 mA bei 3,3 Volt. Leider gelang uns damit keine zufrieden stellende Einbindung von dynamischen Internet-Grafiken.
Letztendlich verwenden wir nun als Webserver einen Linksys WRT54GL. Dieser Router wird jetzt als Linux Rechner „missbraucht“. Er besitzt einen Broadcom Prozessor MIPS32 mit 200MHz, einen 4 MB großen Flash-Speicher, für OS und sonstige Daten, und 2 serielle Schnittstellen, die von uns (nach einer Pegelanpassung) für die Kommunikation mit einer Terminalkonsole und dem LPC-8051-Mikrocontroller, der die Daten anliefert, verwendet werden. Auf diesem Router läuft das Betriebssystem Linux für Embedded Devices. Das Erstellen der Grafik erfolgt mittels RRDTool, welches durch ein Unix Script jede Stunde aufgerufen wird. Die über die serielle Schnittstelle eingelesenen Daten werden dann in einem png-Bild abgespeichert. Zusätzlich werden die Daten in einem Textfile mitgeloggt. Wir haben die vorhandenen GPIO Ports verwendet um mit einer 1 GB SD-Card den Speicher für die Logfiles zu erweitern. Nach dem Erzeugen der Grafik wird diese an unseren www3 FTP Server gesendet und in die Homepage miteinbezogen, welche weltweit rund um die Uhr für jeden Internetuser verfügbar ist.
http://www3.htl-hl.ac.at/homepage/IP_SEISMO/index_ger.php?page=inspiron
Biophotonenmessung: Das Team Lukas Strobl und Daniel Steyrer
Hinter dem ganzen Projekt steckt die Idee des Physikers Fritz Albert Popp, der die Biophotonen wiederentdeckt hat und sie als das „Leuchten alles Lebens“ bezeichnet. Dieses Licht wird von jedem lebendem Objekt in sehr geringen Mengen abgestrahlt, je nach dem wie sehr es die Aufnahme bzw. Speicherung des Lichts „gelernt“ hat. Diese Aufnahmefähigkeit des Lichtes ist proportional zur Qualität eines Lebensmittels. Ein bekanntes Beispiel aus der Praxis sind dabei Hühnereier. Laut Popp strahlen Eier aus Freilandhaltung, welche bekanntlich von besserer Qualität sein sollen, mehr Biophotonen ab, als Eier aus Käfighaltung.
Das „Biophoton Measurement Device“ soll Biophotonen zählen. Aufgrund dieser Messungen kann man dann Rückschlüsse auf die Qualität eines Nahrungsmittels ziehen. Es handelt sich dabei um eine „zerstörungsfreie“ Prüfung.
Herzstück des Messgerätes ist eine Avalanche Diode (APD). Sie ist in der Lage, aufgrund eines Biophotons eine Lawine auszulösen. Diese Lawine ist der Avalanche Impuls (siehe Grafik) , welchen wir mitzählen. Der Vorteil dieser Messmethode besteht darin, dass sie, verglichen mit anderen Messmethoden, sehr klein und erheblich billiger ist. Aufgrund ihrer Größe war es daher möglich, ein tragbares Messgerät zu entwerfen.
Abbildung: Avalanche Impuls (blau) und Spannungsverlauf nach dem Schmitttrigger
Die zulässigen Betriebsparameter einer Avalanche Diode sind schwer einzuhalten. Man benötigt eine möglichst stabile Hochspannung, weiters ist die Diode sehr stark temperaturabhängig. Von Vorteil ist es, die Diode so kalt wie möglich zu betreiben, da bei einer Temperatur um ca. -20°C das Auftreten von „Dark Counts“ (Impulse die durch Teilchenschwingungen der Elektronen in der Diode selbst ausgelöst werden und somit zur Verfälschung unseres Messergebnisses führen) schwindet. Auch ist es wichtig, die Messergebnisse miteinander vergleichen zu können. Daher muss die Diode immer im gleichen Arbeitspunkt operieren. Dies wird mit einer Regelung erreicht. Eine weitere Herausforderung war der Koffereinbau und das Gehäuse. Letzteres muss ja lichtdicht sein. Ebenfalls muss es luftdicht sein um die Luftfeuchtigkeit mittels Luftfeuchtigkeitsreduktionsmittel gering zu halten, um Kondenswasser zu vermeiden.
Die Hochspannung wird durch eine Schwingschaltung erzeugt. Da diese Hochspannung aber sehr unstabil ist, wird sie noch mit einem Supertex LR8 Längsregler stabilisiert. Die Spannungseinstellung erfolgt über ein digitales Potentiometer mit SPI-Schnittstelle. Der 8051-µC regelt die Spannung in Abhängigkeit der Temperatur so, dass immer im optimalen Arbeitspunkt gearbeitet wird. Um ein möglichst gutes Ergebnis zu erzielen, wurde der Ausgang des Reglers noch mit einem Filter versehen. Durch diesen erhält man jetzt eine nahezu lineare Hochspannung.
Die Realisierung der Kühlung erfolgt mittels einer 3-stufigen Peltierkaskade. Diese wirkt wie eine Wärmepumpe, die die Wärme von einem Punkt zum anderen befördert. Die Kälte wird durch einen Kühlfinger, der in das Gehäuse hineinreicht, auf die APD gebracht. Auf dieser wird noch Temperatur und Luftfeuchte gemessen.
Der Gesamtaufbau setzt sich aus 2 Gehäusen zusammen, welche mit einem Messingrohr verbunden sind. Auf der Seite, wo die APD sitzt, befindet sich eine Linse, die die Lichtstrahlen bündelt, um ein besseres Ergebnis zu erzielen. Diese 2 Gehäuse sitzen dann in einem Alukoffer, indem sich des weiteren auch noch die Hauptplatine, welche alle Schaltungen in sich vereint, und der SBC3 (unser 8051 Mikrocontroller) befindet, der die Zählimpulse ermittelt und diese dann über eine serielle Schnittstelle an einen PC schickt. Auf diesem läuft ein LabWindows-CVI Programm, das die Auswertung durchführt und das Ergebnis visuell am Bildschirm als Graph ausgibt. Im Bild erkennt man auch noch eine alternative Auswertung, die mit einem Infineon 8051-XC800 Eval-Board und einem USB-JTAG Debugger, den uns Herr Brezovits dankenswerterweise zur Verfügung gestellt hat, durchgeführt wurde.
Dunkelrauschen ohne Messobjekt
Messobjekt Weizen
Messobjekt grüner Salat (Alterung im Verlauf von 10 Stunden)
Wasserqualitätsmessung:
Ziel dieses Projekts war es, ein Wasserqualitätsmessgerät zu entwickeln. Dieses Messgerät wird direkt an einem Biotop aufgebaut und soll eine einfache und schnelle Messung von pH-Wert, Temperatur und Oberflächenspannung ermöglichen. Die Messergebnisse sollen danach über einen embedded Web Server als eine dynamische Grafik per Internet abrufbar sein. Ebenso werden diese Werte auf einem LC-Display direkt am Messgerät angezeigt.
Unser Labor-Versuchsaufbau besteht aus einem Behälter, in dem sich das Wasser befindet. Auf diesen Behälter wird eine Messeinheit gestellt, auf der sich das Oberflächenspannungsmessgerät, der Temperaturfühler und der pH-Sensor befinden. Die Werte können dann über eine 8051 Platine ausgelesen und mit dem Grafik-LC-Modul dargestellt werden. Zusätzlich auf dem Messgestell ist ein Wasserverwirbler montiert, der die Bewegungen des Biotops simuliert. Als Auswertung dient ein LabWindows CVI Programm, das die einzelnen Werte aus dem MSC1211-8051 ausliest und diese Werte als PC-Grafiken darstellt. Zusätzlich ist es möglich, mittels einer Log Datei, in der die Werte gespeichert werden, den Messvorgang genau zu analysieren.
Kern des Projekts ist ein MSC1211 Mikrocontroller von Texas Instruments. Dieser besitzt einen 8051 Highspeed-Kern, einen 8-Kanal 24Bit ADC, 8-Kanal DAC, I²C und SPI Interface, eine serielle Schnittstelle mit automatischer Baudraten-Erkennung, sowie 32kByte Flash-Speicher, welcher das Programm dauerhaft, auch nach einem Stromausfall, behält und eine Neuprogrammierung erspart. Mithilfe des I²C Interface ist ein modularer Aufbau der Mess-, Verarbeitungs- und Anzeigeeinheiten möglich.
Für die Bereitstellung der dynamischen Grafiken im Internet wird von uns der Linksys WRT54GL mit der freien Linux-Firmware OpenWRT als embedded Webserver verwendet. Dieser besitzt 2 serielle Schnittstellen, was eine schnelle Fehlerlokalisierung und einfache Kommunikation mit dem MSC ermöglicht. Da der Router nur 4MByte internen Flash-Speicher besitzt, wurde er von uns noch zusätzlich mit einer SD-Karten Erweiterung ausgestattet, was uns mehr Speicher für Messdaten und Programme in Gigabyte-Dimensionen zur Verfügung stellt.
Zur Messung der Oberflächenspannung haben wir ein Gerät entwickelt welches auf der De-Nouy Ringmethode aufbaut. Die eigentliche Messeinheit ist ein spezieller Messring aus Kupfer, der an einem Eisenkern befestigt ist. Mithilfe des AD598 von Analog Devices, eines „Linear Variable Differential Transformer“ LVDT und einer empfindlichen Feder ist es möglich, wie bei einer Federwaage über Längenänderungen im µm Bereich die Kraft und damit die Oberflächenspannung zu messen.
Der LVDT, der die Hauptaufgabe in dieser Messanordnung übernimmt, besteht aus 3 Spulen auf einem magnetischen Kern. Damit lässt sich über eine Differenzmethode die Spannung ermitteln, die gleich der Kraft ist, die der Ring für das Hinausziehen benötigt. Dieses Signal liegt in einem Bereich von -480mV bis +1,62V. Diese Spannung lässt sich anschließend mit dem 24 bit ADC des MSC1211 digitalisieren .
Da die Oberflächenspannung auch von der Wassertemperatur abhängt, ist es notwendig die Temperatur des Wassers zu messen. Der dazu verwendete Messfühler ist ein NickelChrom-Nickel Thermoelement. Ein weiteres wichtiges Qualitätsmerkmal ist der pH-Wert des Wassers. Dieser kann mit einer Glaselektrode und einer speziellen Elektronik gemessen werden.
In Retz in NÖ steht eine der ältesten Windmühlen Österreichs, die im Jahre 1772 erbaut und 1855 erneuert wurde. Sie ist die einzige Windmühle Österreichs, deren Einrichtung und Ausstattung vollständig und unverändert erhalten ist.
In Zusammenarbeit mit dem Retzer Windmühlenkuratorium wurde von Daniel Kluka und Manuel Lechner eine informative museumsdidaktische Besucherattraktion entworfen. Da in der Windmühle ständig Führungen veranstaltet werden, ist es uns ein Anliegen, den Besuchern einen Überblick über die gewaltige Leistungsfähigkeit der Windmühle zu geben und die Führungen noch lebendiger zu gestalten.
Das Konzept sieht wie folgt aus. Wir stellen in der Windmühle eine Handmühle auf, auf der jeder willige Besucher Roggen mahlen darf. Die erzeugte Mahlmenge wird auf dem PC mit einer Computeranimation veranschaulicht und mit der Mahlmenge, die die Windmühle mit dem derzeit herrschenden Wind erzeugen könnte, verglichen.
Es soll noch Getreidehandmühlen ohne USB-Schnittstelle geben …
Der derzeit herrschende Wind wird mit einem Windsensor gemessen, der auf der Spitze der Windmühle befestigt ist. Dieser und viele andere Sensoren (Temperatur, Sonneneinstrahlung ...) sind seit Jahrzehnten mit einer Wetterstation verbunden. Diese ist in einem 19 Zoll Industrieschrank der ZAMG (Zentralanstalt für Meteorologie und Geodynamik) eingebaut und befindet sich im Untergeschoss der Windmühle.
Diese Station sendet jede Minute einen Datenstring über ein Modem in die Wiener Zentralanstalt für Meteorologie und Geodynamik. Die ZAMG war so freundlich uns ein Datenblatt des Datenstrings zur Verfügung zu stellen.
Da es uns aus Zeitgründen nicht immer möglich war nach Retz zur Windmühle zu fahren, mussten wir einen ZAMG-Simulator programmieren. Dieses Programm liest aus einem Textfile Datenstrings ein, welche exakt denen der ZAMG-Messstation entsprechen. In weiterer Folge gibt es die Datenstrings über eine beliebige COM-Schnittstelle aus. Das oben erwähnte Textfile zeichneten wir bei einem Besuch der Windmühle auf. Dazu schlossen wir ein Notebook an eine RS 232-Schnittstelle an, die bis jetzt nicht verwendet wurde, und zeichneten die Daten mittels HyperTerminal auf. An dieselbe Schnittstelle schließen wir später den PC an, auf dem die Daten veranschaulicht werden.
Die Visualisierung geschieht durch ein LabWindowsCVI Programm. In diesem LabWindowsCVI Programm werden die Windparameter (Windrichtung, Windgeschwindigkeit, Böigkeit) zur Berechnung der Leistung verwendet und in einem Diagramm ausgegeben.
Da wir den Menschen mit der Windmühle vergleichen wollen, geben wir auch die Leistung, die der Besucher mit der Handmühle erzeugt hat, auf diesem CVI-Bildschirm aus. Weiters sieht er diverse Handmühlenparameter (Drehzahl, Arbeit, Zeit, Rundenanzahl, Leistung). Zusätzlich gibt es noch einen Administrierbildschirm, der geübten Nutzern des Programms LabWindowsCVI das Verändern von relevanten Parametern (Schnittstelle, Position des Windwertes im Datenstring …) ermöglicht.
Um die Handmühlenparameter messen zu können, mussten wir verschiedene Messsysteme vergleichen. Wir entschieden uns für den AS5040 Drehwinkelgeber IC der Firma Austria Microsystems. Dazu mussten wir auf der vertikalen Achse der Handmühle einen Magneten anbringen. Direkt unter diesem Magneten befestigten wir eine Leiterplatte mit dem Drehwinkelgeber IC. Der AS5040 ist mit einem 8051-Microcontrollersystem (LPC925 von Philips) verbunden. Die vom AS5040 kommenden Daten werden vom LPC925 verarbeitet und die oben erwähnten Parameter errechnet.
Das LPC925-Programm wurde mit Hilfe der Ride IDE in C51 geschrieben. Da dieses Mikrocontrollersystem nächstes Jahr für Schüler zur Verfügung stehen soll, waren auch der genaue Preis des Programmermoduls und des dazugehörigen I2C-LCD-Moduls zu kalkulieren. Unsere Aufgabe bestand darin, die Preise und die Lieferanten zu ermitteln. Da wir das Mikrocontrollersystem, das LC-Display und einen Piezo-Summer in der Handmühle unterbringen wollten, wurde ein höherer Holzsockel entworfen, der die einzelnen Komponenten vor Beschädigungen schützt.
Auf diesem Liquid Crystal Display werden dem Besucher die von ihm erzeugte Leistung und Arbeit, die Drehzahl und die dafür aufgewandte Zeit veranschaulicht.
Weiters werden diese Parameter und die Leistung über eine USB Schnittstelle an den PC zur Visualisierung übergeben.
Das PC-Programm und die USB-Handmühle sind seit 31.Mai 2007 in der Windmühle in Verwendung.