Mikrocontroller-Experimente

[ATmega8] [Experimentierplatte] [Versuchsaufbauten] [Programmierung] [Links]

Kürzlich habe ich - was ich eigentlich schon seit langem mal tun wollte - damit begonnen, mich mit Mikrocontrollern zu befassen. Bisher habe ich Logikschaltungen immer aus diskreten Bausteinen aufgebaut. Bei so einfachen Schaltungen wie z.B. dem "Videoserver-Lifeguard" geht das ja noch, aber für komplexere Sachen wie etwa einen Frequenzzähler oder einen fernsteuerbaren Audioquellen-Umschalter mit Lautstärkeregelung wird diese Methode schon zu aufwendig.

ATmega8

Als Mikrocontroller habe ich den ATmega8 von Atmel ausgewählt, da er recht verbreitet ist und es hierzu eine große Internet-"Community" gibt, wo man Hilfe bei Fragen bekommen kann. Der ATmega8 gehört zur "AVR-Familie", zu der auch noch einige weitere Controller gehören - kleinere und größere, bis hin zu 32-Bit-Controllern. Der ATmega8 ist ein 8-Bit-Controller mit 1 KB RAM, 8 KB Flash-Speicher für Programme und 0,5 KB EEPROM-Speicher, um z.B. Einstellungen oder Meßwerte zu speichern. Das klingt zwar nicht nach viel, genügt aber für erstaunlich viele Anwendungsfälle. Es ist jedoch auch möglich, SD-Karten mit FAT-Dateisystem anzusteuern und dort Dateien zu lesen und zu schreiben.

Experimentierplatte

Aktuell mache ich noch erste "Gehversuche" auf diesem Gebiet. Die Versuchsschaltungen baue ich auf Steckplatinen auf, die ich auf einem übriggebliebenen Gehäusedeckel angebracht habe, in dem sich die Stromversorgung befindet:



Unterseite der Experimentierplatte mit zwei 9V-Batterien, Spannungsregler-Platine (7805 + 7905), Schaltern, LEDs und Buchsen
 

Ich habe gleich eine symmetrische Stromversorgung eingebaut, um auch schnell mal Operationsverstärker-Schaltungen aufbauen zu können. Die Ausgangsspannung ist zwischen +/-9V und +/-5V umschaltbar; außerdem kann statt der Batterien auch eine externe Spannungsquelle angeschlossen werden. Für die Mikrocontroller-Experimente ist jedoch eine mobile Batterieversorgung praktischer, da ich den Experimentieraufbau öfters zwischen Elektronikwerkstatt und PC-Arbeitsplatz hin- und hertragen muß.



Schaltung der Stromversorgung
 

Versuchsaufbauten

Hier ein Versuchsaufbau mit ATmega8, 4-MHz-Quarz (der ATmega8 kann bis 16 MHz) und einem alphanumerischen LC-Display mit 2 Zeilen à 8 Zeichen:



Oberseite der Experimentierplatte mit Testaufbau
 

Das Programm liest einen der 14 Analog-Eingänge aus und gibt den digitalisierten Wert (0...1023) auf dem Display aus. Hier ist an dem Eingang PC0 (ADC0) an Pin 23 des ATmega8 ein Poti angeschlossen, das auf "halb" (2,5 V) eingestellt ist - der angezeigte Wert ist entsprechend 512.

Programmierung

Programmiert wird der Controller mit Hilfe eines USB-Programmers, der an den 6-poligen Wannenstecker angeschlossen wird. Angesteuert wird der Programmer über die Entwicklungsumgebung AVR Studio 5, in der auch die Programme erstellt und getestet werden. Das "AVR Studio 5" ist im Prinzip ein vorkonfiguriertes Paket aus Microsoft Visual Studio 10, Visual Assist X, GNU-C-Compiler, einem Emulator, in dem Programme debuggt werden können, und die Programmbibliotheken für die unterschiedlichen Mikrocontroller. Die Programme können in Assembler und C geschrieben werden - obiges Testprogramm zum Anzeigen des ADC-Wertes auf dem Display ist in C geschrieben. Ich denke, ich werde vorerst doch lieber bei C bleiben, denn Assembler ist doch etwas mühsam, auch wenn ich früher zu C64- und DOS-Zeiten hauptsächlich in Assembler programmiert habe...

Einige Ideen für Schaltungen mit dem ATmega8:

Links


Homepage > Mikrocontroller-Experimente