Projekte->ATMega8-Testboard
Meine ersten Mikrocontroller-Erfahrungen sammelte ich - wie vermutlich 90% aller anderen Bastler auch - mit einem ATMega8. Etwa zur gleichen Zeit fing ich an, eigene Platinen zu fertigen, somit wurde mir der gewohnte Kabelhaufen auf meinem Steckbrett recht schnell zu groß.
Viele würden nun ein Evaluation-Kit kaufen, ich beschloss, dass etwas Übung in der Fertigung und mit Eagle nicht schadet und entwickelte mein eigenes Testboard, ausgerüstet mit allem, was ich in der Regel benötige.

Aus Fertigungsgründen war es mir wichtig, dass ein einseitiges Layout ausreicht und alles auf einer Europlatine Platz findet.
Der Kern des Boards bildet wieder ein ATMega8, getaktet auf 8MHz mit einem Quarz. Dieser Quarz ist vor allem für die Kommunikation mittels der eingebauten seriellen Schnittstelle wichtig, da der Mega-interne Oszillator zu ungenau wäre. Alle verfügbaren Ports sind vollständig zu Klemmleisten an dem Platinenrand geführt. Über DIP-Schalter kann ausgewählt werden, ob RX und TX des µC-internen UARTs nach außen geführt werden, oder zu einem FT232R von FTDI. Dieser nette Chip stellt eine direkte Wandlung zu USB ohne größere externe Beschaltung zur Verfügung, somit kann der Mikrocontroller direkt über USB mit einem PC verbunden werden. Treiber für den FTDI sind unter Linux und unter Windows verfügbar, der USB-Port wird wie eine normale serielle Schnittstelle behandelt und ist über einen virtuellen COM-Port unter /dev/ttyUSB0 oder COM-X ansteuerbar.
Die USB-Schnittstelle hat einen weiteren Vorteil: Außer den zwei Datenleitungen und Masse ist noch eine +5V Leitung vorhanden. Bei kleinen Strömen (max. 100mA bei Low-Power-Anschlüsse oder max. 500mA bei High-Power-Anschlüssen) kann man den USB Port also als Spannungsquelle für 5V benutzen. Dies ist natürlich wie geschaffen für einen Mikrocontroller, ein externes Netzteil entfällt somit.
Die Möglichkeit, das Board auch autark zu betreiben, will ich mir natürlich nicht nehmen, somit ist auch ein externer Spannungsanschluss mit Spannungsregler vorhanden. Mittels eines Jumpers kann die Versorgungsquelle ausgewählt werden.

Als "Ausgabedevice" existiert eine weitere Patine mit einem 18x2 LCD-Display, acht Mosfets und acht LEDs.
Diese Platine hat acht Eingänge, die mittels Jumper individuell auf ein Mosfet oder eine LED geschaltet werden können. Weiter existeren acht Ausgänge, die mit den Drain-Anschlüssen der Mosfets verbunden sind und somit auch größere Lasten schalten zu können. Um die Ausgänge des Mikrocontrollers nicht durch zu hohe Ströme bei hohen Schaltfrequenzen versehentlich zu überlasten, besitzt jedes Gate einen Vorwiderstand, der den Umladestrom begrenzt.
Das Display besitzt einen eigenen Eingang, damit es individuell angesteuert werden kann. Ich beschränke mich hierbei auf den 4-Bit Modus um Pins zu sparen, führe jedoch die Versorgungsspannung und die Spannung für die Hintergrundbeleuchtung getrennt zu. Somit ist auch ein de-/aktivieren der Beleuchtung mit dem Mikrocontroller möglich, z.B. um einen Standbymodus zu ermöglichen.

In Planung ist eine weitere Platine mit diversen Schaltern, Tastern und Potentiometern um auch die Eingänge des Mikrocontrollers angmessen versorgen zu können. Grade die Potis sorgen in Verbindung mit den ADCs (Analog-Digital Converters) des Mikrocontrollers für große Einstellmöglichkeiten.

Wer diese Platine nachbauen möchte, kann dies - mit der üblichen "Open-Source Bedingung", dass die Quelle genannt wird und mir Verbesserungen zur Verfügung gestellt werden, gerne tun. Hochauflösende Ätzvorlagen oder die Eagle-Dateien stelle ich auf Anfrage gerne zur Verfügung.