Bastelprojekte: Elektronik

World Domination Control Box A

Bastelprojekte: - Hortlicht -Flintstone - Moodlight - Mood Cluster - Dragonology - Doomsday Machine -
Der Traum

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.

Realisation

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.

 
Die WoDoInCo ('World Domination Intelligent Control') in ihrer ersten Ausbaustufe fertig aufgebaut. Neben dem Atmel befindet sich der Treiber f�r den seriellen Port auf der Platine, daneben die ben�tigten Kondensatoren f�r den Spannungsdoppler. Nat�rlich sind die ICs gesockelt - so gut trau ich meinen L�tkenntnissen noch nicht. Rechts in der Ecke der Spannungsregler, darunter die Stiftleiste f�r die WoDoCoBo A.
WoDoInCo voll funktionsf�hig und im Einsatz. Momentan steht sie geh�uselos auf einem leeren Regalbrett neben meinem Schreibtisch. Die Verbindung erfolgt mittels Stiftleisten auf der Platine und, hinter kurzen Flachbandkabeln, aus SUB-D Steckern zum PC. Die WoDoCoBos werden �ber Westernstecker angeschlossen.
Ein Versuch mit echter Netzspannung am Solidstaterelais. Das erste mal da� ich das ungef�hrliche Gebiet von unter 20 Volt verlasse, daher verwand ich etwas mehr M�he auf den Aufbau. Die vorigen Tests waren fliegende Aufbauten, bei denen die einzelnen Komponenten mit Krokodilklemmen zusammengehalten wurden - oder auch mal mit dem Daumen.
An das (hier aufgerollte) Anschlu�kabel kann eine LED-taugliche Niederspannung (5V mit 470 Ohm Vorwiderstand bei mir) angeschlossen werden und der angeschlossene Verbraucher wird eingeschaltet.
Ein Blick auf meinen Schreibtisch w�hrend der Bastelphase. Die Lichterkette war ein Teil meiner Weihnachtsdekoration und diente hier als deutlich sichtbarer Testverbraucher. Damit auch ein herunterrutschendes Kabel nicht pl�tzlich meinen Arm mit Phase kontaktiert klebte ich die Kabel sogar am Tisch fest :)
Unten sieht man das noch unbearbeitete Steckernetzteil, der zugeklappte Laptop weist darauf hin, da� ich im Verlauf der paar Tage nichtmals meine Emails abgerufen hatte.
 
Die WoDoCoBo A ('World Domination Control Box A') fertig aufgebaut und einsatzbereit. Neben dem eingebautem Solidstaterelais zum Schalten der Netzspannung - von dem ich hoffe da� es nicht wirklich warm wird, da es keinen K�hler besitzt - spendierte ich ihr noch drei Taster sowie eine Leuchtdiode. Die WoDoCoBo A enth�lt keinerlei eigene Logik, es sind vielmehr alle Komponenten (Relais, LED, drei Taster) �ber eine seperate Leitung und die gemeinsame Masseleitung ansprechbar. Einzig das Relais und die LED besitzen einen integrierten 470 Ohm Vorwiderstand zum direkten Anschlu� an 5 Volt.
Sicht von der Seite. Die Westernbuchse war urspr�nglich Grau, der Optik wegen malte ich sie jedoch schwarz an.
Erstaunlicherweise lie�en sich die Schrauben nur schwerlich hereindrehen. Vermutlich selbstdrehende Exemplare die in ein unvorbereitetes Loch gesteckt werden. Die letzte kriegte ich trotz Kraftanstrenung nicht g�nzlich rein. Umso erstaunlicher da� eine Seite locker ist...
WoDoCoBo A im Einsatz neben meinem Bett. Schick.
Der SUB-D-Stecker geh�rt zu einem unbenutztem Kabel an das ich urspr�nglich ein VT420 Terminal anschlie�en wollte. Das rote Kabel ist die moderne Variante: Ethernet f�r Spyro, wenn ich ihn zu mir ins Bett nehme.
 
Der Kauf dieses Lichtschlauchs war der eigentliche Anla� dieses Projekt in Angriff zu nehmen. Umso gr��er war die Freude das Projekt erfolgreich beendet zu sehen und das Licht erstmals mit Hilfe der WoDoCoBo A schalten zu k�nnen. Nat�rlich - ganz im Sinne der urspr�nglichen Idee - ist sie jetzt auch vom Computer aus schaltbar... und damit prinzipiell von �berall aus dem Internet heraus :)
Das schnell implementierte Minimalprogramm kennt neben An (1) und Aus (2) auch Toggle (3) sowie Leuchtstatus auslesen (4), welches �ber den Computer mit den in Klammern angegebenen Zahlen ausgew�hlt werden kann.
Eine weitere Sicht auf den Lichterschlauch, diesmal Richtung Fu�ende meines Drachenhorts.
ISP

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'.

Fusebits

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.

Girder

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
PonyprogEine Programmiersoftware mit ISP-Beschaltung
Mikrocontroller.comEin 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.netEine 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.deRoland 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.netWahrscheinlich die AVR-Communityseite schlechthin.
Can@HomeMein Traumobjekt: eine komplette Haumautomation auf Basis von Mikrocontrollern und somit verteilter Intelligenz, jedoch zentral steuerbar. Ein Fernziel... :)
www.datasheetcatalog.comDatenbl�tter, viele Datenbl�tter...
www.elektronik-projekt.deCommunity f�r die Themen Roboter, Microcontroller und Elektronik, mit Forum auch f�r AVR
roboternetz.deCommunity rund um Robotik
www.batronix.comBatronix, Anleitungen f�r Elektronikbastelprojekte
RS485 BusRS485 Bus (und Abgrenzung zu CAN)
www.elektronik-kompendium.deEin Elektronik-Kompendium, wie der Name sagt. Auch mit Transistordatenbl�ttern.
RS232 f�r �CRS232 in Software auf �C
�bersicht Pinbelegung�bersicht Softwaretools und Pinbelegungen
Reichelt.deReichelt, der Elektronik-Shop bei dem ich meine Bauteile bestellte
Girdersehr n�tzliches Programm zum Verbinden unterschiedlicher Ereignisquellen mit Aktionsm�glichkeiten, prim�r gedacht zur Computersteuerung mittels Fernbedienung
LIRCLIRC (Linux Infrared Remote Control) dient zum Empfangen der IR-Signale
Wake on IRKleiner Bausatz zum Anschalten des PC via Fernbedienung, LIRC-kooperativ
Atmel I2CDigitales Thermometer mit Atmel und I2C
Henne's SitesBauanleitung f�r DMX-f�hige Dimmer/Schaltpacks und mehr
LED-TreiberInformationen zu LEDs: Ansteuerung, Dimmen,etc
ePanorama.netEine sehr umfangreiche Sammlung zu den verschiedensten Themen, mit Infos, Links und Schaltpl�nen
AVR-GCC-TutorialDas AVR-GCC-Tutorial von Mikrocontroller.net - ausf�hrliche Beschreibung des AVRs mit allen Aspekten
iPod Ladeger�tSelbstbau iPod Ladeger�t
Watterott ElectronicWatterott, 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)
Stand: Februar 2005. Fragen, Kommentare, Hinweise an Zefiro.