Themenvorschläge der Miniprojekte
Transcription
Themenvorschläge der Miniprojekte
MCT Projekte WS08/09 Donnerstag (Dr. Bayer): 1. Eingabegeräte an NF300 Zwei verschiedene Eingabevarianten sollen am NF300 Board realisiert werden. • Ein Inkrementalgeber liefert Impulse, die abhängig von der Drehgeschwindigkeit einen Zähler in Einzelschritten oder in 10er-Schritten ansteuern. Die Ausgabe erfolgt mit einer 7-Segment-Anzeige • Das Analogsignal eines Joysicks wird an einen A/D Wandler angeschlossen. Der A/D Wandler liefert über die QSPI-Schnittstelle Daten an den NF300. Abhängig vom Analogsignal wird die Geschwindigkeit eines Schrittmotors gesteuert. 2. Cobra-Roboter Die 6 Schrittmotoren des Cobraroboters müssen per TPU angesteuert werden. Mit Hilfe des Roboters wird eine Webcamera positioniert. Die Kamerabewegungen werden per ser. Schnittstelle an die Steuerung gegeben. Die Bedienung sollte nach Möglichkeit über das Internet erfolgen. (Kamera muss vom Team ausgewählt und besorgt werden. 3. Bewegte Webcamera Die Aufgabenstellung entspricht der Aufgabe „Cobra-Roboter“. Die Kameraposition wird jedoch mit einem Schrittmotor und einem Servomodul realisiert. 4. Rotierender Zeiger Aus dem DCF77 Signal (Funkuhr) soll die aktuelle Uhrzeit und die Wetterinformation ermittelt werden. Die Uhrzeit wird mit Hilfe des rotierenden Zeigers dargestellt, die Wetterinformation wird über das Hyperterminal angezeigt 5. CNC-Fräse In einer vorigen Arbeit wurde die Ansteuerung der Schrittmotoren eines X-Y-Tisches mit einem Atmel-Prozessor realisiert. Nun sollen von der Steuerung HPGL-Kommandos in die entsprechende Bewegung umgesetzt werden, so dass komplette Fräsprogramme abgearbeitet werden können. 6. Reinigungsroboter Die Motoren und Sensoren eines Staubsaugerroboters sollen von einem Atmel-Prozessor angesteuert werden, so dass die Basis für weitere Aufgaben gelegt werden. 7. Mischfarben mit farbigen LED erzeugen (Atmel oder MSP) Mit Hilfe einer rotierenden Scheibe, auf der Reihen von roten, grünen und blauen LED`s angebracht sind, sollen durch zeitrichtiges Ansteuern der LED-Reihen beliebige Mischfarben erzeugt werden. Um die Intensität der einzelnen Farben zu variieren werden die LED’s mit Pulsweitenmodulation gedimmt. Die Platinen mit Treiberschaltung und Prozessor muss in diesem Projekt gefertigt werden. Mittwoch (Dr.Högl) 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 [email protected]. 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. Was lernen Sie dabei? o o o o 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. 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. Web-Shop: http://www.embedded-projects.net 3. Versuch mit HF Datenuebertragung. Ich habe zwei Funkmodule mit nRF903 von 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 Octopus Interface anschliessen und das andere an einen Atmel AVR. Ich habe auch noch Funkmodule von anderen Herstellern in meinem Lager, so dass man sich erst mal alle anschauen sollte. To Do: Noch zwei HF Steckverbinder fuer die nRF903 Antennen besorgen. 4. Stromverbrauch eines Programmes 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. 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. 5. modernen Lampen, die ihre Farbe und Helligkeit ändern 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 o Digitalisierung der analogen Eingangssignale o Digitale Filterung in drei Frequenzbereiche tief, mittel und hoch (welche Frequenz schafft man noch?) o 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. 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 Dieser Versuch ist bereits vergeben. 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.