Home | Diary | Beschreibung | Galerie | Fotoberichte | IRC | Projekte | G�stebuch | Kontakt |
Schon immer hatte ich mir gew�nscht an einem gro�en Kontrollpult zu stehen, an dem ich m�glichst alles und jedes �berwachen und schalten kann. Damit mischten sich kindliche Allmachtsphantasien genauso wie Technikbegeistertheit. 19" Schaltschr�nke zu sehen mit ihren vielen Kabeln und Blinkenlights war f�r mich als Nestling ein tolles Erlebnis. Ideen von zentralisierter Steuerung der Hauselektronik - mit tagtraumhafter �bertreibung - hatte ich ebenfalls seit fr�her Zeit. Ich sprach damals scherzhaft von 'Weltbeherrschung' auch wenn ich nur schalten im kleinen Rahmen und von einzelnen Verbrauchern meinte. Doch die Idee z�hlt :)
Rasch merkte ich jedoch da� meine Denkweise zu bin�r ist und ich mit "Strom flie�t - Strom flie�t nicht - Strom flie�t... uh... Papi, l�test du mir mal bitte einen neuen Transistor ein?" auch beim KOSMOS Elektronikbaukasten nicht allzu weit kam. Gemocht habe ich die Versuche, doch l�ngst nicht alles verstanden. Damals zumindest, das war in der Grundschule. Mit Eintritt ins Gymnasium interessierte ich mich f�r die Computertechnik. Einerseits weil ich dort viel mehr und interessante M�glichkeiten hatte - andererseits weil Fehler meinerseits nach einem Reset wieder beseitigt waren.
Doch je mehr ich dort auch machte, von tiefster Assemblerprogrammierung bis zum h�chsten Java, von 3D-Computergrafik (Povray und selber implementiert, Demoscene etc) bis zur Netzwerktechnologie, eines hatte all dies doch gemeinsam: die ganzen Welten die ich aufbaute und kennenlernte waren fest innerhalb der Grenzen meines Monitors eingeschlossen. Meinen Traum von Steuerung externer Ger�te habe ich nie verwirklichen k�nnen... bis jetzt.
Als ich im November 2004 g�nstig einen 10-Meter Lichtschlauch erstand und er sich wunderbar in meinen Bettbereich - den ich liebevoll 'meinen Hort' nenne - einf�gte, tauchte mein alter Wunsch wieder auf. Und diesmal war ich fest gewillt ihn umzusetzen. Suran hat so h�ufig von Atmels gesprochen und wie einfach sie seien, so da� ich mir einen besorgte. Gespielt hatte ich mit solchen Gedanken schlie�lich lange genug.
All dies w�re jedoch nicht m�glich gewesen wenn ich nicht ein paar Leute gehabt h�tte die ganz konkret mein elektronisches Unwissen ausgeglichen h�tten und mich bei der Planung berieten. Neben Suran und nifelan ist hier ganz speziell Felfur zu nennen. Dieser Kater kannte sich richtig gut aus und hat mir in langen Queries meine sehr anf�ngerhaften Fragen geduldig erkl�rt. Daher hier nochmals ein sehr spezieller Dank an ihn - ohne seine felide Hilfe w�re ich niemals so weit gekommen.
Die Umsetzung des - in Anlehnung an alte Tradition 'World Domination' getauften - Projekts verwendet einen Atmel ATMEGA8535 mit einer externen Taktung von 8 MHz, welcher �ber einen Spannungsregler saubere 5V vom ungeregelten '12' V Netzteil erh�lt. Daneben befindet sich ein MAX232 Treiberbaustein welcher f�r die Kommunikation mit dem PC �ber die serielle Schnittstelle zust�ndig ist. Dieser ist notwendig da Atmelseitig (TTL = 5V) und PC-seitig (RS232 = 12V) unterschiedliche Spannungen im Einsatz sind. Daf�r ben�tigt er 1�F Kondensatoren - der von mir als Vorlage verwendete St�ckplan sieht 100nF vor, was nur mit der Spezialvariante MAX232A funktioniert. Der Aufbau geschah auf einer Standard-Lochstreifenplatine. Die Schaltung der Last �bernimmt ein Solidstaterelais, das sicherheitshalber gleich bis 8 Ampere ausgelegt ist.
Das Konzept des ISP - 'In System Programming' - ist genial und erm�glicht eine sehr leichte Handhabung des Mikrocontroller, da dieser f�r eine Programmierung nicht aus seiner Schaltung herausgenommen werden mu� wie wenn ein externer Programmer zum Einsatz kommen w�rde. Die Pinbelegung auf Seiten des Atmels ist eindeutig gekennzeichnet im Datenblatt und auch die Belegung einer Stiftleiste (2x3 oder 2x5) ist relativ einfach zu finden, z.B. hier oder hier:
MOSI 1 - 2 VCC +5V
LED 3 - 4 GND
Reset 5 - 6 GND
SCK 7 - 8 GND
MISO 9 -10 GND
Jedoch stellte sich die PC-Seite als problematisch heraus. Hier scheint die Zuordnung von ISP-Pins zu Ports der parallelen Schnittstelle die Permutation s�mtlicher Leitungen zu sein. Hierbei eine zu finden die sowohl der verwendete Programmer verwenden konnte als auch man neben einer scheinbar gar nicht so eindeutigen Bezeichnung eine explizite Pinbelegung dabei hatte erwies sich als frustrierender als zuerst angenommen.
F�r meine Verwendung mit Bascomp von MCS Elektronics und TwinAVR erwies sich diese Belegung als funktional:
2 - SCK
3 - Reset
9 - Mosi
11 - Miso
20 - GND (eigentlich 18-25)
Vcc habe ich nicht angeschlossen, da ich die externe Spannungsversorgung aktiviert lasse. F�r l�ngere Kabel wird ein zus�tzlicher Treiber empfohlen/ben�tigt, bei mir haben es vier Widerst�nde zwischen den Datenleitungen getan.
Im TwinAVR dann die Einstellung 'LPT1' und '8000 KHz' w�hlen. Vorher mu� LPT1 mit dem beigelegtem Programm freigeschaltet werden (userport.exe, "378-37a" [add], [update], [start], userport.sys mu� dazu in %winnt%\systems32\drivers liegen). Wenn ein Klick auf 'Config' rechts im schwarzen Feld den AVR korrekt anzeigt, wei� man, da� die Kommunikation funktioniert. Das entspricht �brigens der Pinbelegung von Steve Bolts Programmer, 'sp12'.Die Fusebits f�r den Atmel m�ssen entsprechend gesetzt sein. F�r eine Taktgeschwindigkeit von 8 MHz durch einen externen Quarz m�ssen die Fuses CKSEL 0 bis 3 gesetzt sein. Mit TwinAVR sieht dies dann so aus wie auf untenstehenden Screenshot.
Das Programm Girder (mittlerweile leider Shareware) habe ich schon seit l�ngerem bei mir im Einsatz. Es dient der Steuerung des Computers mittels einer �blichen IR-Fernbedienung. Es kann auf (Win)Lirc aufbauen, hat jedoch auch andere Ereignissensoren. Bei mir l�uft LIRC auf einem seperaten Rechner und wird von Girder �ber das Netzwerk abgefragt. Durch seine Plugins l��t sich Girder in vielerlei Hinsicht erweitern. Speziell das 'Generic Serial Port Plugin' erwies sich hier als Treffer: Mit diesem ist es m�glich eine direkte ereignisgesteuerte Kommunikation mit dem Atmel zu betreiben. Ich kann somit aus Girder heraus Aktionen ausl�sen - wie das Schalten meines Lichts - und auch die Tastendr�cke an meiner WoDoCoBo in den Computer weiterleiten und dort nach Belieben verarbeiten.
Schnell war eine neue Tastenbelegung gefunden und nun kann ich mit einer Taste auf der IR-Fernbedienung mein Bettlicht an/ausschalten, wobei der Schaltzustand auf dem Bildschirm angezeigt wird. Dazu wird die vom Atmel gelieferte Schaltbest�tigung als eingehendes Ereignis betrachtet welche die Anzeige ausl�st. Ferner habe ich die Taster B und C mit den Funktionen 'Winamp: Play' und 'Winamp: Stop' versehen, wobei Taster C zus�tzlich das Licht ausschaltet. (Eine Funktion 'Pause' die nicht-toggelnd, d.h. unabh�ngig vom aktuellen Spielzustand in den Pausemodus schaltet, scheint Winamp nicht zu bieten)
Ein paar der Links die ich als recht n�tzlich empfand |
Eine Programmiersoftware mit ISP-Beschaltung | |
Mikrocontroller.com | Ein Forum f�r Mikrocontroller, vom CCC Ostfriesland. Sie beschreiben einen Schaltplan f�r erste Gehversuche mit Atmel-AVR, inkl. genaue St�ckliste zum Bestellen. Ich habe mich an den grunds�tzlichen Aufbau (Basisplatine + serielle Kommunikation) gehalten. |
Mikrocontroller.net | Eine weitere Seite �ber AVRs, mit Anf�ngertutorial und deutschem Forum (auch wenn die verwendete Forumssoftware grausam ist). Ebenfalls hier zu finden ist ein Mikrocontroller-Wiki |
Rowalt.de | Roland Walter beschreibt anhand eines simples Versuchsaufbaus - der zu dem von Mikrocontroller.com identisch ist - erste Schritte mit der AVR-Programmierung. Diesem Tutorial folgte ich. Er verwendet einen Basicdialekt daf�r, doch das ist f�r den Anfang ausreichend und die serielle Kommunikation gestaltet sich dadurch sehr bequem. |
avrfreaks.net | Wahrscheinlich die AVR-Communityseite schlechthin. |
Can@Home | Mein Traumobjekt: eine komplette Haumautomation auf Basis von Mikrocontrollern und somit verteilter Intelligenz, jedoch zentral steuerbar. Ein Fernziel... :) |
www.datasheetcatalog.com | Datenbl�tter, viele Datenbl�tter... |
www.elektronik-projekt.de | Community f�r die Themen Roboter, Microcontroller und Elektronik, mit Forum auch f�r AVR |
roboternetz.de | Community rund um Robotik |
www.batronix.com | Batronix, Anleitungen f�r Elektronikbastelprojekte |
RS485 Bus | RS485 Bus (und Abgrenzung zu CAN) |
www.elektronik-kompendium.de | Ein Elektronik-Kompendium, wie der Name sagt. Auch mit Transistordatenbl�ttern. |
RS232 f�r �C | RS232 in Software auf �C |
�bersicht Pinbelegung | �bersicht Softwaretools und Pinbelegungen |
Reichelt.de | Reichelt, der Elektronik-Shop bei dem ich meine Bauteile bestellte |
Girder | sehr n�tzliches Programm zum Verbinden unterschiedlicher Ereignisquellen mit Aktionsm�glichkeiten, prim�r gedacht zur Computersteuerung mittels Fernbedienung |
LIRC | LIRC (Linux Infrared Remote Control) dient zum Empfangen der IR-Signale |
Wake on IR | Kleiner Bausatz zum Anschalten des PC via Fernbedienung, LIRC-kooperativ |
Atmel I2C | Digitales Thermometer mit Atmel und I2C |
Henne's Sites | Bauanleitung f�r DMX-f�hige Dimmer/Schaltpacks und mehr |
LED-Treiber | Informationen zu LEDs: Ansteuerung, Dimmen,etc |
ePanorama.net | Eine sehr umfangreiche Sammlung zu den verschiedensten Themen, mit Infos, Links und Schaltpl�nen |
AVR-GCC-Tutorial | Das AVR-GCC-Tutorial von Mikrocontroller.net - ausf�hrliche Beschreibung des AVRs mit allen Aspekten |
iPod Ladeger�t | Selbstbau iPod Ladeger�t |
Watterott Electronic | Watterott, Elektronikversender, vertreibt SparkFun-Teile in Deutschland |
Thomas Pfeifer: Platinen �tzen, AVR-Projekte, Quadkopter | |
Instructables: Turn your EAGLE schematic into a PCB (and other tutorials there) | |