Dieses Projekt ist ausdrücklich nichtkommerziell und für
Hobbyelektroniker gedacht.
Trotzdem möchte ich das Ganze unter die GPL Lizenz Version 2
stellen.
Das bedeuted ungefähr:
Da man mit Mikrokontrollern viele tolle Sachen
anstellen kann, aber nicht jedesmal eine neue Platine entwerfen will,
habe ich versucht, eine flexible Hardware zu entwickeln, welche
möglichst viele
Anwendungen abdeckt. Herausgekommen dabei ist eine Hauptplatine mit
einem Mikrokontroller (AVR 8515),
einer Spannungsversorgung und einigen Steckern drauf.
Über die Stecker lassen sich Ein- und Ausgabegeräte (Module)
anschließen.
Die Pinbelegung der dazu verwendeten Flachbandleitungen ist
sinnvollerweise standardisiert.
Für ein konkretes Projekt muss man also die benötigten Module
auswählen, über die Flachbandleitungen
mit der Hauptplatine verbinden und durch passende Software ansteuern.
Für eine Eieruhr würde man z.B. eine Tastatur, eine LC- oder
LED Anzeige,
ein Schallgebermodul und die Hauptplatine benötigen (oder das
ganze bei ALDI kaufen).
Die Modultechnik lässt sich sogar soweit treiben, dass man die
Hauptplatine gegen eine andere
austauscht, um z.B. den Prozessortyp zu wechseln, oder die Steuerung
einem PC zu überlassen.
Bis jetzt befindet sich nur ein Tastaturmodul und die Hauptplatine auf einem zumutbaren Entwicklungsstand. Von einem DC-Motor und einem Sensormodul gibt es ebenfalls Prototypen, aber ich glaube das lässt sich noch verbessern. Die Ansteuerung von Schrittmotoren ist durch integrierte Bausteine so einfach, dass sich nicht immer ein Modul lohnt.
Leider habe ich nicht mehr viel Zeit für das Ganze, aber die fertigen Platinen reichen sicher für erste Experimente.
Um die Software genauso flexibel zu halten wie die Hardware,habe ich
versucht,
in der Software (C für den gcc Compiler) so eine Art
Treiberschicht
zu realisieren, in welcher für jedes Hardware - Modul eine
Sammlung
standardisierter Funktionsaufrufe zur Steuerung und Abfrage
zur Verfügung gestellt wird. Die Software ist noch nicht
verfügbar. Ein Betriebssystem wäre natürlich eine tolle
Lösung.
Schaltungsentwurf und Layout habe ich mit der freien Version von Eagle 4 gemacht. Die Padgröße wurde mit xpad angepasst. Die Schaltpläne und Layouts haben keinen professionellen Anspruch, aber fürs Ausdrucken auf Folie reichts. Manche Bauteile überschneiden sich auf der Bestückungsseite; das ist kein Fehler, sondern nennt sich alternative Bestückung. Bestimmte Komponenten sind selbst erstellt (meist SMD-ICs), weil es davon kein passendes Gehäuse in den Bauteil - Bibliotheken gab. In der neuesten EAGLE-Version gibt es diese Bauteile aber in SMD.
Die folgenden Kästchen enhalten die Links der Eagle- und
Bilddateien für jeweils ein Modul:
Hauptplatine
(node13) |
||
Schaltplan |
ja |
Schaltplan als EAGLE 4 Datei |
Layout |
ja |
Layout als EAGLE 4 Datei |
Prototyp |
ja |
Layout als Bilddatei |
Bestückung als Bilddatei | ||
Foto |
||
Software |
nein |
Die Spannungsversorgung wird standardmäßig an die
Schraubklemme angeschlossen.
Der Spannungsregler, der relativ große Kondensator und die
Entkopplungsdiode erlauben
den Einsatz einer anspruchslosen Spannungsversorgung.
Alternativ kann die Platine auch über die PBxx Stecker mit
Spannung versorgt werden.
Wichtig ist in diesem Fall die Einhaltung eines zentralen Massepunkts
(Brücke R24).
Die Masseleitungen von Vcc und +12V
sind stets getrennt geführt und dürfen nur in Brücke R24
verbunden sein. Module, die beide Spannungen
benutzen, dürfen ebenfalls keine Masseverbindung zwischen +5V und
+12V herstellen.
Es gibt (noch) keinen Reset Knopf und nur den on-chip Power-On Reset des 8515.
Über den 10poligen Programmierstecker lässt sich der AVR programmieren. Die Belegung entspricht dem PonyProg - Adapter (wenn ich mich recht erinnere). Parallel dazu gibt es einen 10poligen SPI Stecker für Erweiterungen (z.B. Port-Expander).
Port AH hat einen Stecker der etwas mehr Strom als die FB-Kabel Stecker vertragen sollte. An diesen Portleitungen sind auch D1 bis D4 angeschlossen, die als LEDs für erste Tests verwendet werden können. Die PBxx Stecker können ebenfalls zur Ansteuerung von Geräten mit hohem Stromverbrauch benutzt werden. Über beide Stecker kann auch die Hauptplatine mit Spannung versorgt werden (siehe oben). PD3567 besitzt einen der beiden Interrupt Leitungen. PDL_COM führt die Anschlüsse der UART nach aussen und besitzt die zweite Interrupt Leitung.
An Port C lässt sich direkt ein LCD-Modul anschliessen. IC3 wird dabei für die ausreichend steile ENABLE - Signalflanke des Moduls benötigt. Die Beleuchtung des LCD-Moduls lässt sich über T2 steuern, per Taktung auch in der Helligkeit. Diese Methode der Helligkeitsregelung kann Probleme in der Spannungsversorgung durch pulsförmige Strombelastung verursachen. In der nächsten Version der Hauptplatine wird die ganze Leistung des LED Vorwiderstands daher in einem MOSFET verbraten. Der Kontrast des LCD-Moduls lässt sich über R25 oder eine Portleitung (PWM) einstellen. Achtung beim Anschluss des LCD-Moduls: Pin 1+2 des Steckers sind nicht identisch mit Pin1+2 des Moduls! Die verwendete Belegung macht nur Sinn bei einem Modul mit Beleuchtung, dann ist Pin1+2 des Steckers der Anschluss für die Beleuchtung, sonst Pin1+2 des Steckers frei lassen und Pin3+4 des Steckers mit Pin1+2 des LCD-Moduls verbinden.
Bekannte Probleme und Fehler:
Manche Abstände zwischen Leiterbahnen und Lötpunkten sind ziemlich gering
Abhilfe: genau arbeiten bei der Platinenherstellung und beim Bestücken
Dem Stecker PBL_1 fehlt der GND - Anschluss
Abhilfe: Drahtbrücke einlöten, falls der Stecker benötigt wird
Es gibt kein Reset Knopf und kein Power-On Reset
Abhilfe: an passender Stelle Taster und Elko einlöten - oder Version14 abwarten ;)
Die Platine erhält einen power-on Reset und einen Reset-Knopf.
Die Helligkeitssteuerung des LCD-Moduls wird durch Verwendung eines
MOS-FETs verbessert.
Der LC-Modul Anschluss wird irgendwann zugunsten von zwei 4bit
Steckplätzen wegfallen,
da 8k ROM zuwenig für einen sinnvollen LC-Modul Betrieb sind.
Für die UART wird es einen MAX232 onboard geben und, wenns reicht,
einen alternative Steckplatz für ein Modul.
Am ICP Eingang bietet sich der Anschluss eines IR - Empfängers an.
Tastatur |
||
Schaltplan |
ja |
Schaltplan als EAGLE 4 Datei |
Layout |
ja |
Layout als EAGLE 4 Datei |
Prototyp |
ja |
Layout als Bilddatei |
Bestückung als Bilddatei | ||
Foto |
||
Software |
nein |
Die Tasten können in 3x2 Reihen (6 Tasten) oder 'schräg'
(7 Tasten) bestückt werden.
Bei der 3x2 Variante fallen die unteren beiden Tasten (S6,S7) weg, und
stattdessen kann man S6-2 bestücken.
Diese Version kann auch sinnvoll sein, wenn einem das 'schräge'
Tastenlayout nicht gefällt oder
die Platine in der Höhe verringert werden muss.
Das 7-Tasten Layout kann bei Einhandbedienung unter Umständen
ergonomischer sein.
Mein Vorschlag für die Tastenbelegung: Pfeil links, Pfeil rechts,
Auf, Ab, Enter, ESC, Shift.
Die Tasten werden von einem 8-3 dezimal-zu-binär Dekoder
umgewandelt (Ausgänge sind in Ruhestellung high).
Über die vierte Portleitung kann die LED angesteuert werden, z.B.
als 'Shift Lock' - Anzeige.
Bei der Dimensionierung des Widerstand - Arrays sollte man beachten,
daß es auch den Vorwiderstand der
LED enthält.
D1 und D2 sind alternative Bestückungen, je nachdem, das ob 3x2
Tastaturlayout oder das 'schräge' Layout benutzt wird.
Das 3x2 Layout wurde nicht getestet.
Bekannte Probleme und Fehler:
Beim Aufbau des Prototyps wurden Fehler entdeckt, die im vorliegenden Layout behoben sind
Eigentlich kein Problem, ...
7-Segment
LED Anzeige |
||
Schaltplan |
ja |
Schaltplan als EAGLE 4 Datei |
Layout |
ja |
Layout als EAGLE 4 Datei |
Prototyp |
ja |
Layout als Bilddatei |
Bestückung als Bilddatei | ||
Foto |
||
Software |
nein |
Ziel der Entwicklung war ein Anzeigemodul mit
kleinstmöglichen Abmessungen.
Das vorliegende Modul trägt daher auch keinen Stecker, sondern die
Flachbandleitung
muss angelötet werden. Jede Sieben-Segment-Anzeige hat ihren
eigenen Anzeigepuffer,
der über ein Schieberegister geladen wird. Es findet kein
Multiplexing statt.
Zur Ansteuerung wird eine synchrone, serielle Schnittstelle verwendet,
ähnlich der SPI der AVR Controller.
Demzufolge gibt es vier Leitungen: ein Taktsignal, ein Latchsignal und
jeweils eine Daten Hin- und Rückleitung.
Durch dieses Prinzip lässt sich die Anzeige auch leicht erweitern
und ausserdem ist der Anschluss
von digitalen Eingängen möglich.
Das Layout ist speziell auf diese Anreihbarkeit zugeschnitten.
Von diesem Modul gibt es einen Prototyp.
Bekannte Probleme und Fehler:
Manche Abstände zwischen Leiterbahnen und Lötpunkten sind ziemlich gering
Abhilfe: genau arbeiten bei der Platinenherstellung und beim Bestücken
Die Versorgungsspannung für die LEDs wird den +5V entnommen, dadurch steigt die Verlustleistung im Spannungsregler der Hauptplatine unnötig an.
???