Als Hobbyelektroniker (im Gegensatz zu den Profis) kommt man öfter mal in die Lage, dass einem ein oder mehrere Bauteile fehlen. Und deshalb muss man als Hobbyelektroniker auch öfter mal die Arbeit an einem Projekt so lange liegen lassen, bis man die Bauteil vom Versandhändler zugeschickt bekommt. Wie einfach wäre die Sache als Hobbyelektroniker, wenn man ein paar Bauteile zur Verfügung hätte, die man so programmieren könnte, dass sie ein oder mehrere Bauteile ersetzen können. Vielleicht wird dadurch die ganze Schaltung sogar einfacher. Oft wäre es sogar egal, wenn die Bauteile etwas mehr kosten würden. Hauptsache das Projekt kann über's Wochenende fertig gemacht werden.
Mit den AVR-Mikrocontrollern von Atmel (ATtiny und ATmega) gibt es günstige Bauteile, die sich einfach programmieren lassen. Oft hat jemand in einem Fachforum ein Problem, welches mit Hilfe von Mikrocontrollern sehr einfach gelöst werden könnte. Gerne würde ich in solchen Fällen mit ein paar Zeilen BASIC-Code aushelfen. Dieser Code müsste dann nur noch zu einem der AVR-Mikrocontroller übertragen werden.
Woran scheitert es? Man braucht ein Gerät, mit dem man den Code vom Computer zum Mikrocontroller (kurz µC) übertragen kann. Und die Kosten für dieses Gerät verteuern die Entwicklungskosten des Projektes. Außerdem muss man diese Geräte kaufen oder selber zusammenbauen, was auch ein wenig Zeit verschluckt.
Jetzt ist es so, dass es viele verschiedene dieser Geräte gibt -- billige und teure. Man nennt sie allgemein "Programmer". Es gibt welche, die man an einen Serialport (COM) des Computers anhängen kann. Dann gibt es welche, die man an den Parallelport anhängt. Und in letzter Zeit sieht man immer häufiger Programmer für den USB.
Es gibt aus vielen Gründen so viele verschiedene Programmer. Einerseits hat sich die Computer-Hardware in den letzten Jahren verändert. Die Schnittstellen haben sich geändert. Viele Computer haben gar keinen Parallelport oder Serialport mehr eingebaut. Dann gibt es Programmer für die verschiedenen Ansprüche eines Elektronikers. Jemand der nur zwei/drei mal im Monat einen µC flashen möchte, der braucht keinen besonders schnellen Programmer. Aber jemand der damit sein Geld verdient, möchte dass der Programmer das Programm besonders schnell vom Computer zum µC überträgt. Dann gibt es auch noch Unterschiede beim Debuggen von Programmen. Manche Programmer erlauben es, dass man dem fertig übertragenen Programm während dem Laufen auf dem µC über die Schulter sehen kann um rauszufinden, ob das Programm auch wirklich das tut was es soll. Solche Programmer sind dann etwas für die Profis und kosten natürlich auch um einiges mehr Geld.
Theoretisch könnte man sich ein Kabel mit ein paar Widerständen zusammenlöten und die AVRs direkt an den Parallelport eines Computers anschließen. Aber das was vor ein paar Jahren noch auf vielen Computern funktionierte, funktioniert heute nur mehr recht selten. Vor ein paar Jahren gab es noch recht viele Computer, deren Parallelport-Datenleitungen mit 5 Volt angesteuert wurden. Und das ist auch die Spannung, mit der man einen AVR-Mikrocontroller idealerweise flashed. Aber diese Spannung (5 Volt) wurde in keinem Standard festgelegt. So gingen viele Motherboardhersteller dazu über, nur so viel Spannung an die Datenleitungen des Parallelports anzulegen, wieviel unbedingt benötigt wird um die Daten vom und zum Drucker zu übertragen. Das ist jetzt natürlich ein wenig Mutmaßung, da ich keine genauen Informationen darüber finden konnte. Aber Fakt ist, dass die Datenleitungen der meisten Parallelports nicht mehr mit 5 Volt, sondern mit 2,5 bis 3,5 Volt angesteuert werden. Fakt ist, dass man damit keine zuverlässige Verbindung zu einem AVR-Mikrocontroller herstellen kann.
Und hiermit möchte ich eines klar stellen. Heutzutage rate ich jedem ab, sich einen Parallelport-Programmer selbst zu bauen oder zu kaufen, der nur aus ein paar Widerständen und vielleicht noch ein paar Dioden und Kondensatoren besteht. Sich mit so einem einfachen Programmer zu befassen ist schon fast Selbstpeinigung.
Für das Problem mit der geringen Steuerspannung gibt es eine recht einfache Lösung. Entweder man kauft sich einen Parallelport-Programmer, der die Signale verstärkt oder man baut sich so ein Ding selber zusammen.
Es gibt einige Angebote für Parallelport-Programmer. Ich habe keinen davon je selbst getestet. Aber wenn du keine Lust hast, dir selbst einen Parallelport-Programmer zu basteln und noch einen Parallelport in deinem Computer hast, dann spricht nichts dagegen, sich so einen Parallelport-Programmer zu kaufen. Man muss nur darauf achten, dass man keinen billigen Parallelport-Programmer kauft, der die Signale nicht verstärkt.
Ich programmiere Progressive Web Applications, Mobile Apps, Desktop-Programme und noch vieles mehr. Falls es dich interessiert, findest du mehr Informationen darüber auf meiner Business-Website.