Mikrocomputer Praktikum 2008/2009

TableOfContents

Hier stehen einige Vorschlaege fuer das Mikrocomputerpraktikum im Wintersemester 2008/2009 fuer Mechatroniker (ME5). Gerne duerfen Sie mir auch Ihre Vorschlaege nennen.

Bei Fragen, Kommentaren und weiteren Vorschlaegen bitte eine Email an mich senden. Meine Adresse ist Hubert.Hoegl@hs-augsburg.de.

Einteilung der Gruppen

Vorschlaege fuer Projekte

  1. Versuch mit dem CAN Feldbus. Vor ein paar Jahren habe ich den Prototyp des "TinyCAN" Adapters als Hardware fuer eine Diplomarbeit entwickelt. Die Sache wurde seither staendig weiterentwickelt. Aktuell fertigt eine befreundete Firma das Geraet in groesseren Stueckzahlen, so dass wir nun diese USB-zu-CAN Adapter auch jederzeit im Praktikum einsetzen koennen. Uebrigens ist fuer TinyCAN die komplette Software "Open-Source", d.h. Sie koennen durch Studieren der Quellen der CAN Zugriffsbibliothek und sogar eines grafischen CAN Monitorprogrammes viel lernen! Alle Programme laufen sowohl unter Windows als auch unter Linux und sind in der Sprache C geschrieben. Bei grafischen Programmen wurde das portable Gtk+ Framework verwendet. Hier koennen Sie sich vorab informieren:

    http://www.mhs-elektronik.de/cgi-bin/mhs.pl?id1=2&id2=0. BR Was lernen Sie dabei?

    • Wie funktioniert CAN ueberhaupt?
    • Wie kommuniziert man unter Windows oder Linux mit einem CAN API?
    • Wie kommuniziert man zwischen zwei PCs mit CAN?
    • Wie baut man einen kleinen CAN-faehigen Mikrocontroller-Knoten?
  2. Versuch mit Octopus. Der Octopus hat auch seine Wurzeln an der FH. Vor ein paar Jahren haben wir einen low-level USB Controller an einen Atmel AVR gekoppelt, daraus entstanden dann nach viel Arbeit die inzwischen ziemlich bekannten Produkte USBprog und Octopus. Benedikt Sauter, der diese Sachen mit viel Energie vorangetrieben hat, verkauft diese nun auch in seinem Web-Shop, neben anderen Produkten, die nicht von ihm sind.

    BR Man schliesst den Octopus ueber die USB Schnittstelle an den PC an und kann dann von einer Programmierschnittstelle aus mit allen I/O Kanaelen auf dem Octopus sprechen: GPIO, SPI, I2C, UART, AD und auch CAN. Somit eignet sich der Octopus gut wenn man irgendeine (selbstgebaute) elektronische Schaltung an den PC koppeln moechte. BR Web-Shop: http://www.embedded-projects.net

  3. Versuch mit HF Datenuebertragung. Ich habe zwei Funkmodule mit nRF903 von [http://www.nordicsemi.com Nordic Semiconductor]. Diese wurden beschrieben in der Zeitschrift c't 24 und 25 2003 (Jens Altenburg, Elektronische Zwerge, Einfuehrung in die Mikrocontroller Praxis). Man koennte ein Modul an den PC ueber das [http://www.embedded-projects.net Octopus Interface] anschliessen und das andere an einen Atmel AVR. BR Ich habe auch noch Funkmodule von anderen Herstellern in meinem Lager, so dass man sich erst mal alle anschauen sollte. BR To Do: Noch zwei HF Steckverbinder fuer die nRF903 Antennen besorgen.

  4. Versuch, bei dem der Stromverbrauch eines Programmes auf einem AVR Mikrocontroller im Vordergrund steht. Mir schwebt schon lange ein Experiment vor, bei dem die zur Verfuegung stehende Energie in Form z.B. einer Kondensatorladung begrenzt ist. Des weiteren hat man eine Aufgabe auf dem Controller zu erledigen, die moeglichst stromsparend zu realisieren ist, so dass man eine moeglichst lange Laufzeit erzielt. Das "beste" Programm waere das, das am laengsten laeuft. Daraus koennte man sogar einen Wettbewerb machen. Hier lernt man natuerlich die oft vernachlaessigten Stromspar-Betriebsarten von modernen Prozessoren kennen. Den Programmierstil muss man auch darauf einstellen, d.h. die gewoehnliche sequentielle Programmierung scheidet aus. Vielmehr muss man sein Programm oefter schlafen legen, um Strom zu sparen und durch Interrupt wieder aufwachen. Die Rechenaufgabe muesste man sich aber erst noch ueberlegen.

    BR Man koennte auch daran denken, den Stromverbrauch eines Mikrocontrollers ueber der Zeit zu messen. In die Stromversorgung koennte man dazu einen empfindlichen Strom/Spannungs-Wandler einbauen (habe ich bereits im Lager). Damit koennte man in Echtzeit die Leistungsaufnahme und den Energieverbrauch bestimmen. BR

  5. Alle kennen diese modernen Lampen, die ihre Farbe und Helligkeit in einem grossen Bereich veraendern koennen. Drin sind meist mehrere Hochleistungs-LEDs in den Grundfarben, so dass man durch Mischung den grossen Farbbereich erzielt. Bauanleitungen, auch mit mehreren Hochleistungs-LEDs je Farbe, findet man z.B. in der Fachzeitschrift Elektor, die in der FH Bibliothek aufliegt. Mir wuerde eine Lampe gefallen, die einen bestimmten Zahlenwert in eine bestimmte konfigurierbare Farbe und/oder Helligkeit umsetzt. Stellen Sie sich vor, man koennte die Aussentemperatur damit visualisieren, je kaelter es draussen wird, um so kraeftiger wird z.B. das Blau der Lampe. Angeschlossen an einen PC koennte man auch die Anzahl der gerade ungelesenen E-mails visualisieren - ein kraeftiges Rot bedeutet ueber 20. Der Kreativitaet sind hier keine Grenzen gesetzt.
  6. Nachbau einer klassischen Lichtorgel mit drei LEDs rot, gruen und blau, die an einem Atmel AVR Controller haengen. Das Board/der Controller muesste auch ueber einen analogen Eingang verfuegen (zumindest ein AD-Wandler Eingang) ueber den man die analogen Signale digitalisiert. Die Schwerpunkte des Versuches laegen dann in den Bereichen
    • Digitalisierung der analogen Eingangssignale
    • Digitale Filterung in drei Frequenzbereiche tief, mittel und hoch (welche Frequenz schafft man noch?)
    • Pulsbreitenmodulation der LEDs
    Um ein digitales Filter realisieren zu koennen, muss man sich einige Messwerte des analogen Signales merken koennen. Dazu braucht man ausreichen RAM (wie viel?), deshalb koennte das bei kleineren AVR Bausteinen knapp werden.
  7. Low-speed USB Peripherie mit AVRUSB (http://www.obdev.at/avrusb) machen. Der Atmel AVR, z.B. ein billiger Mega8 erledigt wegen der relativ niedrigen Geschwindigkeit von 1 MBit/s das ganze low-speed USB Protokoll in Software. Damit lassen sich mit minimalem Aufwand (man braucht keinen USB Controller!) wunderbare Geraete bauen, die am USB Bus haengen. Die Kommunikation zwischen PC und AVR wird mit den "HID Feature Requests" gemacht. Sie lernen hier wie USB funktioniert und auch der programmtechnische Zugriff auf ein "Human Interface Device" sollte halbwegs klar werden. Auf der oben angegebenen Projektseite sind viele bereits realisierte spannende Projekte - bitte mal ansehen!

  8. Fernsteuern mit dem Mobiltelefon oder einem GSM-Modem. Hier geht es darum zwei Mobiltelefone mit je einem Kabel mit dem PC zu verbinden und die Funkverbindung zum Messen und Steuern zu verwenden. Mit den Kabeln ist es moeglich, programmgesteuert ueber die serielle Schnittstelle mit den Handys zu kommunizieren. Es werden dabei die "AT" Befehle verwendet, die man schon von den vergangenen analogen Modems kennt. Die Nachrichten zwischen den Telefonen kann man z.B. als SMS formatieren (endlich mal eine sinnvolle Verwendung!). In der Praxis ist der entfernte Mess- oder Steuerknoten nicht mit einem Mobiltelefon, sondern mit einem "GSM-Modem" ausgestattet. Das ist nichts anderes als ein normales Mobiltelefon, allerdings nicht mit Tasten und Display, sondern gekapselt in einem Metallgehaeuse (nur der Antennenstecker und der UART Anschluss schauen raus). Ich habe sogar ein GSM-Modem von der Firma Wavecom im Lager.

    BR An die Studenten die in meine OOSW-Vorlesung gehen: Es gibt eine Python Bibliothek die bereits mit den AT Befehlen umgehen kann.

  9. Internet Radio "EIR"

    http://www.ethernut.de/en/hardware/eir/index.html BR Dieser Versuch ist bereits vergeben an Detlef Fischer, Hanspeter Meier und Christian Wengert (evtl. noch Thomas Schweizer).

  10. Elektronische Regelung einer Wippe mit Kugel (Elektor Heft 9/2008). Wer Freude an mechanischen Regelexperimenten hat, der findet in den Elektor Heften von diesem Jahr bereits zwei Bauvorschlaege. Das andere Heft war, glaube ich, das Heft 7/8 2008.

Bei allen Projekten duerfen (sollen!) Sie natuerlich das Gelernte aus meiner anderen Veranstaltung "Objektorientierte Softwareentwicklung in Python" anwenden. In der Vergangenheit (siehe die Wiki Eintraege der letzten Jahre) wurde das schon oft gemacht.

MikroPraktikum0809 (zuletzt geändert am 2009-01-06 10:37:59 durch p5B078EFC)