8051-Mikrocontroller- News aus Hollabrunn

 

Ein Erfahrungsbericht von Manfred Resel über eine Diplomarbeit und ein Unterrichtsprojekt aus der Abteilung für Elektronik, Ausbildungsschwerpunkt Technische Informatik.

 

Roboter mit Liniensensor

 

Ziel dieser Diplomarbeit war der Bau eines spezialisierten Roboters, um damit an der  RobotChallenge für die Bewerbe Parallelslalom und Slalom Enhanced  http://www.robotchallenge.at/  teilzunehmen. Die InnoC- RobotChallenge ist Österreichs größter Wettbewerb für selbstgebaute, autonome und mobile Roboter und findet seit 2004 jedes Jahr im März in Wien statt. Rund 50 Roboter aus 8 verschiedenen Ländern nahmen am diesjährigen Bewerb am 05. und 06. April im Siemens Forum teil. Die beiden Schüler qualifizierten sich am ersten Tag für die Endrunde und erreichten schließlich das Viertelfinale jedes Bewerbs. Sowohl die gesamte Elektronik (Motorsteuerung, Sensorik) als auch die Mikrocontroller-Software wurde von den beiden Schülern selbst entwickelt.

Michael Neumayer und David Rasic knapp vor dem Viertelfinale

 

Die Teilnahme an diesem Wettbewerb erfordert, dass es dem Roboter autonom möglich ist, einer schwarzen Linie zu folgen, Hindernissen auszuweichen sowie mit unterschiedlichen Lichtverhältnissen und Linienunterbrechungen umzugehen.

Auszüge aus den Allgemeinen Regeln …  

 Der Roboter muss auf Basis eigener Entwicklungen entstanden sein. Die Verwendung fertiger Module ist zulässig, verboten sind jedoch Roboter-Komplettsysteme, die fertig aufgebaut und für den Bewerb vorprogrammiert vertrieben werden. Zumindest in der Software-Entwicklung muss die Eigenleistung klar erkennbar sein.

Der Roboter muss autonom agieren, darf also nicht ferngesteuert werden. Systeme, wie Sensorik, Stromversorgung, Datenverarbeitung und Steuerung müssen sich vollständig direkt am Roboter befinden.

Die Roboter müssen bodengebunden sein, sie dürfen also nicht springen oder fliegen.

Der Roboter darf die Wettkampffläche nicht beschädigen. Kettenantriebe sollten dementsprechend aus Kunststoff oder Gummi sein.

Die Maximalabmessungen für den jeweiligen Bewerb dürfen nicht überschritten werden.

Jegliche Art von Waffen (z.B. Sägen, Laser, Elektroschocker, Hämmer, ...) sind verboten.

 

 

 

 

Eine Hauptaufgabe des Projektes bestand in der Evaluierung von für Roboteranwendungen geeigneten Mikrocontrollern und Mechaniksystemen. Insgesamt wurden 2 verschiedene µC-Familien und 2 unterschiedliche Mechaniksysteme auf ihre Tauglichkeit untersucht.

Die Analog Devices Blackfin Architektur ist eine Kombination aus einem 32bit RISC-Mikrocontroller und einem 16bit Festkomma-DSP mit zwei MAC-Einheiten und SIMD Unterstützung. Das macht sie zu einer idealen Architektur für Embedded Systems in den Bereichen Audio- und Videoverarbeitung sowie Kommunikation. Derzeit gibt es die Blackfin Prozessoren sowohl als Single Core CPU als auch für rechenintensive Anwendungen  als Dual Core CPU.  Je nach Typ können die Prozessoren mit Taktfrequenzen von bis zu 756MHz betrieben werden.

 

 

 

 

Tinyphoon http://www.tinyphoon.com ist eine Roboterplattform der Firma Bluetechnix http://www.bluetechnix.com , die in Zusammenarbeit mit dem Institut für Computertechnik der Technischen Universität Wien ursprünglich als Fußballroboter entwickelt wurde, mittlerweile aber auch andere Anwendungen findet. Kollege DI Josef Reisinger betreute eine weitere Gruppe, die sich mit dieser Plattform beschäftigte und durch seine guten Kontakte zur Firma Bluetechnix war es Ihm möglich, dort die mechanischen Teile fertigen zu lassen und für uns zu kaufen. 

 

 

Als Entwicklungssystem für den Blackfin Prozessor ist von Analog Devices das Softwarepaket

VisualDSP++ und ein proprietärer Echtzeitkernel mit der Bezeichnung VDK verfügbar. Zusätzlich gibt

es eine Portierung von uClinux, einer speziellen Linuxvariante mit sehr geringen Hardwareanforderungen. Für die Entwicklung von Programmen für uClinux gibt es eine eigene Toolchain bestehend aus gcc-Crosscompiler speziell für die Blackfin Prozessoren und den dafür benötigten Libraries (uClibc). Nach einigen Tests entschieden wir uns aus Zeitgründen für die AVR Linie, verwendeten aber die perfekte Mechanik (ohne Kamera) der Firma Bluetechnix.

 

AVR ist eine 8-Bit Microcontroller-Familie mit RISC-Architektur. Im Gegensatz zu vielen anderen Mikrocontroller-Architekturen hat die AVR-Architektur keine Vorgänger. Sie ist ein komplettes Neudesign, das Anfang der 90-Jahre an der Universität für Technologie in Trondheim/Norwegen entwickelt und vom Hersteller Atmel aufgekauft wurde. Es gibt eine ganze Serie von AVR-Controllern. Sie alle werden ähnlich programmiert, haben vergleichbaren Befehlssatz und physikalische Eigenschaften, bieten jedoch unterschiedliche Features und Peripherie.  Der AVR – Kern ist außergewöhnlich klein und enthält nur rund  4000 Gatter. Es gibt zahlreiche und kostenlose Entwicklungssysteme für Assembler- oder C-Programmierer, sowie eine Unzahl von In Circuit Flash Programmern mit USB- oder RS232 Schnittstelle.

 Das  AVR Studio unterstützt von Haus aus nur die Assemblerprogrammierung. Daher mussten wir noch zusätzlich den C-Compiler WinAVR downloaden. http://winavr.sourceforge.net/

 

Die Steuerung des Roboters wurde in 2 Teile aufgeteilt. Hierzu übernimmt ein Prozessor die Steuerung der Motorplatine, während ein zweiter Prozessor die Daten der Sensoren auswertet. Abhängig von den Sensoren   werden die Steuersignale auf der Hauptplatine, auf der ein ATmega164P Controller im Dil40-Sockel sitzt, generiert und über den UART an die Motorplatine ausgesandt. Die Linienverfolgung erfolgt mithilfe von 7 CNY70 Reflexlichtschranken, die mit einer Infrarotleuchtdiode und einem Fototransistor ausgestattet sind, um die Störlichtunempfindlichkeit zu gewährleisten. Die Hinderniserkennung wird mithilfe eines Sharp GP2D02 Abstandsensor realisiert der Hindernisse in einer Distanz von 10 – 80 cm  erkennt.

Die Ansteuerung der beiden Gleichstrommotoren übernimmt ein ATmega168, in einem DIL28 Gehäuse, der über den UART die Richtungs- und Geschwindigkeitssollwerte erhält. Aus diesen Sollwerten erzeugt der Controller die PWM-Signale und die zusätzlichen Steuersignale zur Ansteuerung des Motorbrücken-ICs L6205 .

 

Die 9.6V Spannungsversorgung wird mithilfe von 8 NiMh Akkus realisiert. Weiters haben wir eine intelligente Ladeschaltung entwickelt, die es uns ermöglicht, die Akkus besonders schnell und auch im Betrieb zu laden.

 

Die gesamte Hardware ist modular nach einer Art „Stockhausprinzip“ aufgebaut. Das bedeutet, dass unser Roboter durch theoretisch beliebig viele Module (z. B.: Funkmodul etc.) erweitert werden kann, die nur auf die bereits vorhanden Module aufgesteckt werden müssen. Durch das modulare Konzept ist es möglich, zur Steuerung des Roboters Platinen mit jedem beliebigen Controller, der über eine UART-Schnittstelle verfügt zu entwickeln und zu verwenden.

 

Die Schüler David Rasic und Michael Neumayr  wurden am 3.4.2008 vom ORF eingeladen, ihre Diplomarbeit im Rahmen der Sendung „Frühlingszeit“ vorzustellen.  

 


 

Mikrocontrollergesteuerte Temperaturprofilerzeugung

 

Dieses Unterrichtsprojekt wurde für die private HTL für Lebensmitteltechnologie in Hollabrunn unter dem Motto  „Leben mit Qualität – Lebensmittelqualität“ ausgeführt.

 

Im Laborbetrieb wird zurzeit der Eiweißgehalt folgender Lebensmitteln bestimmt:

Fleisch und Fleischwaren, Suppenprodukte, Käse, Milch und Brot.

Der Eiweißgehalt wird über den im Produkt enthaltenen Stickstoff bestimmt, da dieser nur in den

Eiweißen in nennenswerter Menge enthalten ist. Weiters kommt Stickstoff in Eiweißen mit einem weitgehend

konstanten und bekannten Anteil vor. Daher kann man mit Hilfe einer Multiplikation des Stickstoffgehaltes

mit einem für die meisten Lebensmittel konstanten Faktor den Eiweißgehalt berechnen.

%Eiweiß = %Stickstoff x 6,25

 

 

Stufe 1: Kjeldahl-Aufschluss

Aufschließen der Probe mit konzentrierter Schwefelsäure, es entsteht eine Lösung von Ammoniumsulfat (NH4)2SO4.

Stufe 2: Destillation nach Parnas-Wagner

Ammoniak NH3 (und damit der Stickstoff) wird aus der Probe ausgetrieben und in einer Vorlage aufgefangen

Stufe 3: Titration

Der Ammoniakgehalt in der Vorlage wird durch Reaktion mit Salzsäure analysiert.

 

 

Für unser Projekt ist jedoch nur die erste Stufe, der Kjeldhal- Aufschluss interessant. Hierzu wird

eine auf zehntel Milligramm genau gewogene Menge der Probe (etwa 2 Gramm) in einer Aufschlussröhre

mit 96%iger Schwefelsäure versetzt. Weiters gibt man einen Katalysator (Reaktionsbeschleuniger) und einen Entschäumer dazu. Die Reaktion findet letztlich bei einer Temperatur von 450°C statt.

Die konzentrierte Säure wirkt stark oxidierend, alle organischen Substanzen werden oxidiert (wie bei einer

Verbrennung), der Kohlenstoff wird zuerst schwarz und dann zu gasförmigem CO2, der Wasserstoff

wird nach der Reaktion als Wasserdampf ausgeschieden. Zurück bleibt nur der Stickstoff als anorganische Verbindung.

 

 

 

Diese Heizplatte mit Pt100 Temperaturfühler wurde uns von der HTL für Lebensmitteltechnologie zur Verfügung gestellt. Die Aufgabe unserer Steuerung ist es nun, den Aufschluss so vorsichtig zu steuern, dass es zu keinem Überschäumen aufgrund der heftigen Reaktion der Schwefelsäure kommt.

 

Das Herzstück unseres LEL-Variostat ist ein LPC 936 Mikrocontroller, ein 16-KByte 8051-Flash Controller  Derivat von Philips, der über I2C-Bus das LCD, das Matrixkeyboard, die Mensch Maschine Kommunikation mit Schallgeber und über ein Interface die Heizung steuert. Die Echtzeit Temperaturmessung   ( von 0°C bis 500°C )  geschieht über ein externes ADC Modul. An diesem ADC (Analog- Digital- Konverter) ist ein Pt100 Temperaturfühler angeschlossen. Dieser Fühler, hat bei einer Temperatur von 0°C einen Widerstandswert von 100 Ohm und man kann sehr leicht mit Hilfe seiner Kennlinie  über den Widerstandswert die aktuelle Temperatur berechnen. Zur Verarbeitung der vom ADC gelieferten Daten wird ein LPC 925 Mikrocontroller, ein 8-KByte 8051-Flash Controller  Derivat von Philips verwendet. Dieser kommuniziert über eine UART Schnittstelle mit dem LPC936 und sendet ihm auf Anfrage über RS232 den aktuellen Temperaturwert. Die verschiedenen Temperaturprofile  werden so wie der Programmcode („In Applikation Programmierbar“) im internen Flashspeicher abgelegt. Die Zustandsmaschine legt ihre Information im 5 Minutentakt ebenfalls im Flash ab. Der aktivierte interne Watchdog verhindert Probleme die sich durch Netzausfall ergeben könnten.

Die gesamte Hardware ist auf zwei getrennten Leiterplatten aufgebaut. Auf der Netzplatine befinden sich

ein Transformator, der die Versorgungsspannung für die Hauptplatine erzeugt und zwei Relais, die die

Heizplatte schalten. Die Hauptplatine (Spannungen zwischen 3,3V und 5V) und die Netzplatine (teilweise

220V) wurden aus Sicherheitsgründen getrennt aufgebaut, sind jedoch über ein Flachbandkabel

verbunden. Über dieses Flachbandkabel werden einerseits die Hauptplatine mit Spannung versorgt und

andererseits über ein Steuersignal die Relais für die Heizplatte angesteuert.

In der Ausgabe PCNEWS-95 kann man unter http://pcnews.at//ins/pcn/0xx/09x/095/_pdf/n950024.pdf

 Details über den mittlerweile in Serie gefertigten LPC925-HTL-HL-USB-Flash-Programmer nachlesen.

 

 

 

Die Software des LEL Variostat ist einfach zu bedienen und bietet folgende Möglichkeiten:

Ausführen von vier vordefinierten Programmen (1 Stunde 220°C, dann 2 Stunden mit 330°C…)

Manuelles Heizen auf eine bestimmte Temperatur

Editieren von eigenen Programmen

Zurücksetzen auf ursprüngliche Einstellungen

 

Hier als Beispiel unser Testprogramm 04 „Ketchup/LM fett+eiweißarm“  .  

Es ist mit einer Dauer von 2 Stunden und 30 Minuten das Kürzeste.

 

 

 

Das Gerät wurde zweimal angefertigt und ist seit April 2008 im Labor der privaten HTL für Lebensmitteltechnologie im Einsatz.

 

 

 

 

 

 

 

 

 

Von links nach rechts Leo Lechner, FOL Dipl.-Päd. Leopold  Holzweber (unter seiner Anleitung wurde nach unseren AutoCAD Zeichnungen das Gehäuse angefertigt) Rudolf Groß und Roland Hauer