Mikrocomputerpraktikum WS0607, Mechatronik ME5

Ein paar Vorschlaege fuer Versuche

H. Hoegl, 24. Oktober 2006

TableOfContents([2])

Gerne duerfen Sie auch selber Vorschlaege fuer Versuche machen, z.B. gefallen mir mechanische Aufbauten mit zugehoeriger uC-Steuerung sehr gut. Sehen Sie sich am Ende dieser Seite auch die weiteren Ideen an. Ich habe einen Teil meiner Geraete im RT-Labor hier zusammengestellt: http://www.fh-augsburg.de/~hhoegl/rtlab/labor.html. Sie koennen diese Teile jederzeit fuer Ihre Versuche verwenden. Falls Ihnen kein interessantes Thema einfaellt waehlen Sie bitte eines der folgenden aus. Ich stelle die Versuche genauer am Freitag, den 27. Oktober ab 14 Uhr im G216 vor.

Ihre Betreuung:

- Hubert Hoegl <Hubert . Hoegl at fh-augsburg . de>, J113 (Informatik)

- Benedikt Sauter <Benedikt . Sauter at fh-augsburg . de>, G206

- Fritz Schoeppler <F . Schoeppler at fh-augsburg . de>, G208

- Ludwig Dieminger <ld at informatik . fh-augsburg . de>, G208

Hinweise fuer AVR Neulinge

- Die Diplomarbeit von Bianca Liehr ist sehr gut fuer Anfaenger geeignet http://www.fh-augsburg.de/~hhoegl/da/da-21/index.html

- Ein weiteres Tutorial fuer Anfaenger: http://www.mikrocontroller.net/articles/AVR-Tutorial

- Ein Tutorial zur Programmierung des AVR in C (fuer Fortgeschrittene) http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

V1: Der c't Roboter

Ich bekomme in den naechsten Tagen ein Exemplar dieses Roboters. Sie duerfen ihn bei diesem Versuch in Betrieb nehmen und sich eine Aufgabe fuer ihn ausdenken. Der Bausatz kostet etwa 200 Euro.

* http://www.heise.de/ct/06/02/130/

* http://mctp.kugelmann.info

V2: Der DLR "Asuro" Roboter

Der Asuro Roboter ist eine Nummer kleiner als der c't Roboter. Er kostet nur etwa 50 Euro, man kann aber durchaus einfache Experimente mit ihm machen.

* http://de.wikipedia.org/wiki/ASURO

* http://mctp.kugelmann.info

V3: Ein RFID Lesegeraet

Ich habe ein Lesegeraet fuer Transponder-Karten, mit dem sich die Karten fuer die FH Zutrittskontrolle lesen lassen. Das verwendete Prinzip ist "Philips Mifare". Das Lesegeraet wird ueber die serielle Schnittstelle vom PC aus angesteuert. Ihre Aufgabe ist es, Software fuer den PC zu schreiben mit dem sich der Inhalt der Karten auslesen und aendern laesst. Das ist eine ideale Aufgabe um die Kenntnisse in Python (OOSW) einzusetzen und zu erweitern.

* http://www.fh-augsburg.de/~jann/dokuwiki/doku.php?id=rfid

V4: Drahtlose Datenuebertragung

Ich habe verschiedene Funkmodule um Daten drahtlos zu uebertragen. Darunter sind einfache unidirektionale Module mit ON/OFF Modulierung im 400 MHz Bereich als auch aufwendige Transceiver mit Spread-Spectrum Technologie fuer den ZigBee Funkstandard. Gerne duerfen Sie damit einen einfachen Versuch machen zum Testen der Uebertragungseigenschaften. Fast alle diese Module koennen ueber eine UART Schnittstelle angesteuert werden, damit kann man einfach einen Mikrocontroller, z.B. einen Atmel AVR an die Module anschliessen.

V5: LCD Display

Steuern Sie ein grosses LCD Punktmatrix-Display an und programmieren Sie eine Laufschrift. Das LCD mit Datenblatt (http://www.datasheet4u.com/download.php?id=512039) ist bereits vorhanden.

Momentan wird geprüft, ob das Display mit einem MSP430 (http://focus.ti.com/docs/prod/folders/print/msp430f449.html) ohne Displaycontroller angesteuert werden kann. Für die 640x200 Pixel des Displays werden 16kB Bildspeicher benötigt, der Controller hat allerdings nur 2kB integriertes RAM. Deshalb wird ohne Controller voraussichtlich nur ein Textmodus zu realisieren sein. Die Ansteuerung des Displays benötigt eine Datenrate von ca. 2MBit, was die 16MHz CPU vollständig auslasten dürfte. Weitere Aufgaben wie Datenübertragung oder Äderungen am Bildinhalt dürften zum Flackern der Anzeige führen.

V6: AVR Butterfly

Nehmen Sie den AVR Butterfly in Betrieb und schreiben Sie eine kleine Applikation in C dafuer. Sie verwenden dafuer WinAVR und das Atmel AVR Studio. Zum Debuggen habe ich dafuer das JTAG ICE mkII.

* http://www.mikrocontroller.net/articles/AVR_Butterfly

* http://www.mikrocontroller.net/articles/WinAVR

Ich habe mehrere dieser kleinen Boards, so dass sich auch zwei oder drei Gruppen dafuer entscheiden koennen, natuerlich schreiben Sie dann unterschiedliche Anwendungen. Herr Schoeppler (G208, Tel. 335) kuemmert sich um das Anloeten der UART- und Programmierschnittstellen. Auch die Versorgungsspannung sollte extern angelegt werden, so dass man die Batterie entfernen kann. Auf der Atmel Homepage findet man alle Informationen unter http://www.atmel.com/dyn/products/tools_card.asp?family_id=607&family_name=AVR+8%2DBit+RISC+&tool_id=3146

V7: Web Server mit Atmel AVR

Sie nehmen das "Easy-to-Web" Board der FHTW Leipzig in Betrieb und realisieren einen Web-Server darauf. Die Software existiert bereits, so dass Sie groesstenteils nur alle vorgegebenen Schritte nachvollziehen muessen. Freiheiten fuer eigenen Experimente bleiben bei der Erstellung einer eigenen Web-Seite z.B. zum Anzeigen einer Schalterstellung oder eines Analogwertes.

* http://www.fh-augsburg.de/~hhoegl/rtlab/node35.html

* http://www.easytoweb.net/

V8: ARM Prozessor

Sie nehmen einen Mikroprozessor mit ARM Kern in Betrieb, z.B. einen Atmel AT91 oder einen Philips LPC2 und programmieren eine Applikation in C dafuer. Ich habe viele Boards von der Firma Olimex, so dass auch mehrere Gruppen damit arbeiten koennen. Zur Programmierung wird der ARM-GCC verwendet werden. Sie lernen auch mit dem JTAG-Debugger "OpenOCD" umzugehen.

* http://www.olimex.com

* http://www.gnuarm.com

* http://openocd.berlios.de

V9: Audio-Mixer

Mit diesem Audio-Mixer ist es möglich, bis zu 6 Audio-Signalquellen anzuschließen und diese dann per Menüauswahl an einen Audio-Ausgang durchzuschalten. Die komplette Steuerung des Mixers übernimmt ein AT Mega 32. Zur Anzeige des aktuellen Zustandes kommt ein großes 2x20 Zeichen Display zum Einsatz. Das gesamte Gerät wird über 2 Drehimpulsgeber gesteuert, mit welchen im Menü navigiert und die Lautstärke reguliert werden kann. Ebenfalls ist geplant, die Steuerung über eine Infrarot-Fernbedienung zu ermöglichen. Zur Steuerung der Lautstärke kommt ein digitaler Lautstärkeregler der Firma Texas Instruments (PGA 2310) zum Einsatz, welcher über die SPI-Schnittstelle angesteuert wird.

03.11.06: Da wir die Platinen schon vor zwei Wochen geätzt haben, konnten wir während der Zeit bis zum Beginn des Praktikums die Hardware schon komplett aufbauen. Wir haben nun die Funktionen und die Ansteuerung der einzelnen Komponenten getestet und können mit dem eigentlichen Programmieren beginnen.

10.11.06: Wir haben die Schaltung mit dem "Evertool" zum ersten mal "debugged". Es funktioniert ganz gut, allerdings wären ein paar Extrafunktionen ganz gut. Die Hardwareansteuerungen funktionieren nun alle und die Links-/Rechtsdrehung der Drehtaster wird korrekt erkannt.

17.11.06: Das Menü bekommt nun allmählich Strukturen: Die Hauptmenüstruktur ist bereits programmiert. Die Darstellung muss allerdings noch angepasst werden.

24.11.06: Das Menü funktioniert jetzt vollständig und die Helligkeit des Displays kann eingestellt werden. Die Ansteuerung des Lautstärkereglers bereitet noch einige Probleme.

V10: Die Wetterstation

Bauteile:

* Herzstück der Wetterstation ist der ATMEL Controller - ATmega16

*2 digitale Temperatursensoren - DS 1820;

*ein digitaler Funkuhrempfänger - DCF77

*ein 4-zeiliges Display mit Matrixansteuerung - LCD-Modul 164A BCBC

Funktion:

Durch die zwei Temperatur-Sensoren, wird in bestimmten Zeitabständen (z.B. jede Minute) die gemessene Temperatur abgefragt. Diese Daten werden auf dem internen EEPROM des Controllers abgespeichert. Damit am Ende des Tages eine Auswertung der Daten möglich ist. Die Temperaturen Innen und Außen, und die Zeit werden auf dem Display angezeigt.

Fortschritt: 08.11.06 Hardware vollständig eingetroffen -> Zusammenbau. Fortschritt: 18.11.06 Die beiden Temperatursensoren und die Display-Initialisierung wurden programmiert. Fortschritt: 28.11.06 Das Display wurde aufgebaut und die Display-Initialisierung läuft, es können Zeichen ausgegeben werden. Die Programmierung der Sensoren wird getestet.

Weitere Ideen

* Mir wuerde immer eine Teezubereitungs-Maschine gut gefallen, die man ueber das Internet z.B. als Web-Applikation ansteuern kann. Ich gehe in meinen Web-Browser auf die Seite der Tee-Maschine, druecke auf "Start" und gehe nach ein paar Minuten um den Tee abzuholen. Den Tee muesste man ueber der Tasse in einem Vorratsbehaelter haben. Ein steuerbarer Arm muesste ein uebliches Teesieb aus Draht in die Tasse halten und ein wenig Tee muesste in das Sieb rieseln. Das heisse Wasser koennte man mit einem ueblichen Wasserkocher zubereiten, dessen Schalter man fernsteuert. Ueber eine Pumpe muesste man das Wasser aus dem Kessel in die Tasse befoerden, bis das Sieb unter Wasser ist. Nach einer einstellbaren "Zieh-Zeit" wird das Sieb wieder durch den Arm entfernt. Gerne duerften auch mehrere Studenten daran mitarbeiten. Die Mechanik und die elementare Steuerung waere wesentlich, die Web-Ansteuerung waere eine Zugabe. Vielleicht liesse sich die Web-Ansteuerung aber gleich mit dem "Easytoweb" (siehe oben) realisieren.

* Ich beschaeftige mich intensiv mit der USB Schnittstelle und habe auch viele Hardware-Module, mit denen man Applikationen an den USB Bus bringen kann. Wenn Sie sich dafuer und auch fuer die Ansteuerung durch Software interessieren, dann koennen Sie sich gerne melden. Immerhin sollten sich Mechatroniker mit dieser Technik gut auskennen, da die USB-Faehigkeit bei fast allen modernen Geraeten Pflicht ist.

* Ich habe verschiedene Mikroprozessoren im Schrank, die man direkt mit der Sprache Java programmieren kann, d.h. die Mikroprozessoren koennen direkt .class Dateien ausfuehren. Gerne duerfen Sie damit was machen.

* Es liegt in meinem Labor noch der komplette Aufbau eines "Touch-Panel Controllers" mit Atmel AVR. Ein Touch-Panel ist eine durchsichtige Scheibe bei der man den Beruehrungspunkt ueber Widerstandsmessung lokalisieren kann. Sie kennen diese Teile sicher von den kleinen elektronischen "Organizern", die man mit Stift bedienen kann. Sie koennen gerne da weitermachen wo die vorherige Gruppe aufgehoert hat.

* Auch das Erzeugen einer Analogspannung ueber PWM waere ein schoener Versuch. Interessant waere die Abdeckung des Audio Bereiches bis etwa 8 kHz. Dazu muessten Sie ein geeignetes Tiefpassfilter mit Operationsverstaerkern aufbauen und die Software schreiben, z.B. fuer Atmel AVR, aber natuerlich eignet sich auch der ARM dazu.

Hardware kaufen

- Bei Embedit gibt es eine kleine Auswahl an allgemeinen Bauteilen fuer die Elektronik und einige AVR Module: http://www.embedit.de

- Der Elektronikladen hat eine sehr umfangreiche Auswahl an Mikrocontroller-Modulen, siehe http://www.elektronikladen.de. Hier kann man auch die umfangreiche Produktpalette von Olimex beziehen (http://www.olimex.com).

- Reichelt hat eine relativ grosse Auswahl an Bauteilen und auch viele AVR Bausteine im Sortiment: http://www.reichelt.de/

MikroPraktikum0607 (zuletzt geändert am 2006-12-08 10:33:00 durch 141)