Mikrocontroller-Lab 2.0

Einleitung

Das vor einem Jahr hier vorgestellte AVRNet6440 war mein erster Einstieg in die Mikrocontrollerwelt. Vorher waren diese Kleinprozessoren für mich eine fremde Welt, aber durch dieses Experimentierboard erschlossen sich mir viele Dinge, die inzwischen selbstverständlich sind wie die Ansteuerung von Ports, Datenübertragung über das SP-Interface oder Interrupts.

Seitenansicht 2

Im Laufe der Zeit stellte sich aber heraus, dass das AVRNet zwar schick aussieht, aber kaum praktikabel nutzbar ist, weil man immer zwei der Experimentierboxen zusammenschrauben muss. Zudem waren viele Eingänge bereits durch interne Funktionen belegt – dazu gehört die aufwendige Tastatursteuerung ebenso wie die Anbindung an das LCD-Modul.

Daher waren in der Zwischenzeit zwei weitere Module entstanden:

  • Eine AVR-Platine samt zweizeiligem LCD-Display. Hier sind zwei Interrupts als Eingänge nutzbar, des weiteren sind acht Ausgänge entweder per LED oder als gepufferter Output zugreifbar. Das genügte, um beispielsweise ein kleineres RDS-Radio oder einen DCF-77-Empfänger zu bauen.
  • Ein noch kompakteres Board führte alle möglichen Pins nach außen und enthielt eine einzige, abschaltbare LED. Damit konnten aufwendigere Mikrocontrollerschaltungen gestaltet werden – auf Kosten der Anzeigefunktionen. Bei der damit umgesetzten Scope Clock diente daher beispielsweise eine Bildröhre als Ausgabegerät.

Beide Module sind kleiner und flexibler einsetzbar als das AVRNet6440. Aber sie belegen immer noch wertvollen Bastelplatz auf der schwarzen Grundplatte – und der ist gerade bei den Schuco-Labs nicht gerade üppig vorhanden.

Grundidee des neuen Mikrocontroller-Labs

Inzwischen war das Grafikmodul entstanden, das über eine einfache serielle Verbindung Grafikbefehle entgegen nehmen kann und diese in farbige Linien, Texte und Balken umsetzen kann. Dieses Modul benutzt dafür einen eigenen Mikrocontroller und einen ausreichend großen Speicher, so dass Bilder auch nicht ständig neu aufgebaut werden müssen. Es ermöglicht mit seiner Grafikbibliothek zudem auch die Darstellung ganz unterschiedlicher Elemente.

Es lag daher nahe, dieses Modul als Ausgabeeinheit zu verwenden und die Ausgabeelemente des AVRNet einfach als Software zu realisieren:

  • Die acht LEDs können auch durch farbige Elemente auf dem Bildschirm dargestellt werden. Deren Ansteuerung erfolgt dann nicht durch Ein- und Ausschalten von Mikroprozessor-Eingängen, sondern über Softwareschalter.
  • Die drei LEDs zur Betriebsanzeige in rot, grün und gelb können ebenfalls per Software gesteuert werden. Das gilt einerseits für deren Hinweise im Rahmen des Startvorgangs – diese Hinweise können zukünftig als Text ausgegeben werden wie bei einem bootenden Linux-System. Die LEDs können ansonsten auch durch farbige Elemente auf dem Bildschirm emuliert werden.
  • Die LCD-Anzeige wird komplett durch die Textfunktion des Grafikmoduls ersetzt. Dazu bietet die Grafikbibliothek sogar den Aufbau von Menüs – beispielsweise um ein zu startendes Programm auszuwählen oder bestimmte Funktionen auszulösen.
  • Den meisten Platz im Orginal-Mikrocomputerlab nimmt die Tastatur ein. Heutzutage kombiniert man eher Tastatur und Bildschirm durch Nutzung eines Touchscreens – und genauso arbeitet auch das neue Mikrocontroller-Lab. Von der ganzen Tastatur bleiben nur drei Tasten übrig, die im Notfall die Steuerung von Elementen auch ohne Touchscreen ermöglichen.

Weiterhin sollte das neue Mikrocontroller-Lab auch klassische Elemente des 6102-Schaltpults beinhalten:

  • Das Standard-Potentiometer mit 10 kOhm sollte per schwarzem Schuco-Regler steuerbar sein.
  • Der Taster sollte als Hardware verfügbar sein.
  • Der Lautsprecher sollte sogar doppelt vorhanden sein und Stereowiedergabe bieten. Außerdem sollten die Lautsprecher bereits an einen Stereo-Verstärker angeschlossen sein.

Damit ergab sich ein erstes Layout des Schaltpults, das in dem folgendem Bild festgehalten wurde. Zentrales Element ist natürlich der 4,3-Zoll-Bildschirm, der eine native Auflösung von 480 x 272 Punkten bietet.

IMG_5313

Und gleich danach das Bild der letztlich umgesetzten Variante. Sie enthält weniger Knöpfe, dafür aber zwei Regler. Das ganze ist nun auch symmetrisch aufgebaut. Wer genau hinschaut, wird feststellen, dass der Entwurf noch einen 5″-Bildschirm vorsah – der war aber zu groß, um alle geplanten Elemente unterzubringen.

Totale von vorn

Als Mikrocontroller dient wiederum der ATMega644, der mit seinen 32 Ein- und Ausgängen genug Reserven für alle möglichen Experimente bietet. Insbesondere sind alle Spezialaus- und Eingänge wie Interrupts, A/D-Wandler, Pulsweitenmodulation und Timer verfügbar. Außerdem ist der Programmierstecker nach außen geführt – einerseits, um den Mikrocontroller selbst zu programmieren, andererseits aber auch, um die bereits entstandenen SPI-Module anzusteuern.

Weitere Features

Das neue Schaltpult bietet noch ein paar weitere Spezialitäten:

  • Ein Einschub für SD-Karten erlaubt das Laden von Programmn von einer MMC- oder SD-Karte. Das ermöglicht eine leichtere Programmierung. Zum anderen können aber auch Programme selbst davon profitieren, indem sie Daten von der Karte lesen können. Ein zukünftiges Projekt ist hier ein MP3-Player.
  • Die Spannungsversorgung erfolgt über einen 12V-Anschluss. Statt der üblichen Linearregler vom 78xx-Typ kommen aber Lastregler (Step-Down-Konverter) zum Einsatz kommen, die die Spannungen +9V, +5V und +3,3V sehr exakt einhalten können. Diese Konverter sind im Zehnerpack auf ebay mit 1,30 € zu Preisen erhältlich, die einen Nachbau nicht wirtschaftlich erscheinen lassen. Sie werden daher als Fertigmodule eingesetzt.
  • Ebenso als Fertigmodul kommt das Display daher. Es bietet einen VGA- und zwei FBAS-Eingänge. Einer davon wird vom Farbgrafikmodul benötigt, der andere und der VGA-Ausgang werden nach außen gelegt. Warum wird nicht der VGA-Eingang benutzt? Weil er eine doppelt so hohe Geschwindigkeit bei der Ansteuerung benötigt. FBAS erlaubt etwa doppelt so viele Zeichen in der Horizontalen – das Grafikmodul erreicht dadurch eine Auflösung von 256×252 Pixeln in 256 gleichzeitig darstellbaren Farben.
  • Die eigentliche Mikrocontrollerschaltung fällt extrem einfach aus. Neben dem Quarz und den üblichen Abblockkondensatoren ist so gut wie kein zusätzliches Bauteil vorhanden, so dass alle verfügbaren Ein- und Ausgänge genauso genutzt werden können, wie das vorgesehen ist. Das vereinfacht auch den Entwurf der Platine enorm.
  • Die Standardspannung beträgt +5V. Ein +9V-Pegel ist vorhanden und wird beispielsweise für den Stereoverstärker genutzt. Er ist ansonsten aber eher eine Option, denn die Eingänge des Mikrocontrollers dürfen nicht überlastet werden. Daher sind im Falle von +9V-Schaltungen Maßnahmen vorzusehen (Spannungsteiler, Transistoren, Pegelumsetzer, …)
  • Nicht zuletzt wurde Wert darauf gelegt, dass der Nachbau so einfach wie möglich wird – eine einseitige Platine mit allen Elementen und ein paar Stecker machen den Einbau so einfach wie möglich.

Damit hat man aber erst die halbe Miete. Um Tastatur (bzw. Touchscreen), Grafik und Controller in sinnvoller Weise zusammenzubringen, bedarf es einer kleinen Softwarebibliothek, die auf dem Hauptcontroller genutzt werden kann. Damit kann man dann beispielsweise eine Dialogbox anzeigen und Abfragen durchführen oder eine Eingabe eines Zahlenwerts ermöglichen oder eine Menüauswahl anzeigen. Die Bibliothek und die Codes für die einzelnen Mikrocontroller werden frei zum Download zur Verfügung gestellt.

Frontansicht

Hauptplatine gedimmt

Die folgenden Unterseiten demonstrieren den Aufbau des Mikrocontroller-Labs im einzelnen:

Schaltungen und Erweiterungen für das Mikrocontroller Lab

 

Zurück zur Übersichtsseite

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*