Dockstar LCD: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
(+Source) |
||
Zeile 123: | Zeile 123: | ||
= Software = | = Software = | ||
Firmware und LCD4Linux-Treiber sind unter http://github.com/timoahummel/dockstar_lcd zu finden. | |||
Was schon funktioniert: Textausgabe mittels LCD4Linux und einem kleinen Patch für LCD2USB. | Was schon funktioniert: Textausgabe mittels LCD4Linux und einem kleinen Patch für LCD2USB. |
Version vom 5. Oktober 2010, 20:04 Uhr
Dockstar LCD Release status: beta [box doku] | |
---|---|
Beschreibung | USB-LCD für die Seagate Dockstar |
Autor(en) | Felicitus |
Letzte Version | 0.1 |
Plattform | Atmega8 |
Die Seagage Dockstar ist ein ARM9E-basierter Embedded-Computer mit 1.2GHz, 128MB RAM, 256MB Flash, 4x USB (3x USB-A, 1x Mini-USB) und Gigabit Ethernet. Durch den derzeit sehr günstigen Preis von 25 € wird die Dockstar gerne als Heimserver verwendet. Da die Dockstar ursprünglich für die Aufnahme einer Festplatte gedacht war, ragt an der Gehäuseoberseite eine Lasche heraus, die unschön aussieht, wenn keine Festplatte eingesteckt ist. Was liegt also näher, dort etwas sinnvolles hineinzubauen und somit den Platz zu nutzen?
Planung / Ziele
LCD-Display für den Dockstar HDD-Slot, Aufbau auf Lochraster-Platine (Punktraster). Die Höhe soll dabei so gering wie möglich sein, außerdem soll die Platine relativ einfach zu löten sein (keine Kreuz- und Querverbindungen durch Fädeldraht o.ä.). Leider müssen dann ein paar Kompromisse eingegangen werden, was in relativ vielen Brücken resultiert, die auf und unter der Platine angebracht werden müssen.
Eine Optimierung ist sicherlich noch möglich, ebenso die Entwicklung einer fertigen Platine.
Abmessungen
Länge | Breite | Höhe | |
---|---|---|---|
Dockstar HDD-Slot | ?? | ca. 81mm | ca. 20mm |
Platine | 55mm | 80mm | max. 20mm |
Die Breite des Dockstar-Slots beträgt ca. 81mm. Die Maximalgröße für die Platine habe ich daher mit 80mm angesetzt. Die maximale Tiefe der Platine beträgt 2cm, ansonsten passt sie nicht mehr in den Port. Um Platz zu sparen, wird das LCD-Display erhöht aufgesetzt, direkt darunter befindet sich der Atmega8. Die Länge der Platine beträgt ungefähr 5,5cm.
Ansteuerung
Die Dockstar bietet zwar ein serielles Interface mit TTL-Leveln, allerdings braucht man selbiges, wenn man eine neue Firmware aufspielen möchte, wenn etwas beim Flashen im laufenden Betrieb schiefgegangen ist. Da das Display in den Festplattenslot gesteckt werden soll, lag also nahe, den dortigen USB-Anschluss zu nutzen. Ob man sich jetzt die Mühe machen möchte und eine Mini-USB-Buchse auflöten möchte (die es, soweit ich weiß, nur in SMD-Ausführung gibt) oder ganz einfach den Stecker gegen etwas "brauchbares" austauscht, liegt im Ermessen des Bauers. Ich habe mich für letzteres entschieden.
USB wird komplett in Software mittels dem VUSB Stack gemacht, es gibt keine externen USB-Chips. Die Transferrate ist dabei auf 1,5Mbit beschränkt, was zur Ansteuerung des LCD-Displays vollkommen ausreicht.
LCD-Display
Zum Einsatz kommt ein 3-zeiliges Display von Electronic Assembly, ein EA DOGM163-A. Diese Displays benötigen nur 4 Datenleitungen dank SPI-Interface und sind daher gut geeignet für "enge" Platinen. Außerdem kann das Display direkt mit 5V betrieben werden, was zusätzliche Bauteile einspart. Lediglich die Hintergrundbeleuchtung benötigt 2 Widerstände.
Dimmbare Hintergrundbeleuchtung
Da ich das LCD-Display auch zum Systemmonitoring nutzen möchte, soll die Hintergrundbeleuchtung blinken, wenn wichtige Ereignisse anstehen. Hierzu kommt ein IRLD024 zum Einsatz, mit dem das Display über PWM sogar dimmbar ist. Andere Anwendungen sind natürlich möglich, z.b. abschalten des Displays nach einer gewissen Zeit.
LEDs
Auf meiner Platine habe ich zusätzlich 2 LEDs angebracht: 1x Power und 1x ansteuerbar durch Software. Taster und andere Ein-/Ausgabefunktionen können hinzugefügt werden, allerdings muß dann das Lochraster-Layout geändert werden. Da ich keine Eingabemöglichkeiten benötige, habe ich diese auch nicht eingeplant.
Mikrocontroller
Hier kommt ein Atmega8 zum Einsatz. Die LCD-Library doglcd habe ich von der Arduino-Plattform auf GNU-C zurückportiert, außerdem kommt der VUSB-Stack zum Einsatz. Die eigentliche Firmware soll LCD4Linux-kompatibel werden. Auf dem Board habe ich bereits einen ISP-Stecker vorgesehen, damit die Firmware geändert werden kann, da der Atmel ja fest eingelötet wird.
Umsetzung
Um Platz zu sparen, wird der Mikrocontroller direkt unter das LCD-Display ohne IC-Sockel gelötet. Das LCD-Display selbst wird mit einer Buchsenleiste erhöht, damit der Mikrocontroller und die Brücken unterhalb des Displays platz finden. Wichtig dabei ist, daß man eine Buchsenleiste mit geringer Bauhöhe nutzt (quasi ein einreihiger IC-Sockel), sonst wird die Konstruktion zu hoch! Passende Buchsenleiste gibt's hier.
Bauteilliste
Anzahl | Bauteil | Bestellnummer Reichelt | Einzelpreis | Gesamtpreis |
---|---|---|---|---|
1 | Lochrasterplatine 75x100mm | H25PR075 | 0,98€ | 0,98€ |
2 | Buchsenleiste | SPL 20 | 0,34€ | 0,68 € |
1 | Hintergrundbeleuchtung EA-DOG weiß | EA LED55X31-W | 10,35€ | 10,35 € |
1 | LCD-Display EA DOGM, 3-zeilig | EA DOGM163S-A | 12,60 € | 12,60€ |
1 | Power-Mosfet IRLD024 | IRLD024 | 0,55€ | 0,55€ |
1 | Atmega8-16PU | ATMEGA 8-16 DIP | 2-3 Eur | 2-3 Eur |
1 | 16MHz Quarz | 16,0000-HC49U-S | 0,18 € | 0,18€ |
1 | Wannenstecker 10pol gerade | WSL 10G | 0,07 € | 0,07€ |
2 | Keramik-Kondensator 27pF | KERKO 27P | 0,06€ | 0,12€ |
1 | Vielschicht-Keramik-Kondensator 100nF | X7R-2,5 100N | 0,04€ | 0,04€ |
1 | Elko axial 4,7uF | AX 4,7/63 | 0,13€ | 0,13€ |
2 | Z-Diode 3,6V | ZF 3,6 | 0,04 € | 0,08€ |
1 | Widerstand 1mOhm | 1/4W 1,0M | 0,10€ | 0,10€ |
2 | Widerstand 68 Ohm | 1/4W 68 | 0,10€ | 0,20€ |
2 | Widerstand 33 Ohm | 1/4W 33 | 0,10€ | 0,20€ |
2 | Widerstand 1,5kOhm | 1/4W 1,5K | 0,10€ | 0,20€ |
1 | Widerstand 1kOhm | 1/4W 1,0K | 0,10€ | 0,10€ |
Gesamt | 26,56€ zzgl. Atmega8 (nicht lieferbar bei Reichelt) |
Die Kosten lassen sich reduzieren, in dem man eine andere DOG-LCD Variante und Hintergrundbeleuchtung wählt.
Reichelt-Warenkorb: https://secure.reichelt.de/?;ACTION=20;LA=5010;AWKID=289095;PROVID=2084
Schaltplan und Lochraster-Layout
Vor den Lötarbeiten können die Bestückungspläne in schwarz/weiß ausgedruckt werden. So kann man mit einem Filzschreiber markieren, welche Bauteile man schon eingelötet hat. Gerade bei der Vielzahl an Brücken ist das sehr hilfreich!
Um die Platine zu bestücken, fängt man am besten mit den niedrigsten Bauteilen (Brücken) an. Diese werden gebogen und von oben auf die Platine besteckt. Sind alle Brücken fertig, werden diese mit Klebeband fixiert und angelötet. Danach kommen die nächsthöheren Bauteile (Widerstände, Dioden etc). Erst wenn die Vorderseite fertig ist, sollte man die Rückseite beginnen. Hier hat es sich bewährt, die Verbindungen nicht über Lötaugen zu ziehen, sondern einfach entsprechende Drähte zurechtzubiegen und diese zur Kontaktierung zu verwenden.
Modifikation: Im Layout ist der Pin PC3 mit dem Widerstand R7 verbunden, mit dessen Hilfe die Hintergrundbeleuchtung ein- und ausgeschaltet werden kann. Soll PWM verwendet werden (dimmbare Hintergrundbeleuchtung), so darf die Brücke von PC3 zu R7 nicht gesetzt werden, sondern es muß eine "fliegende" Verbindung (z.b. mit Verowire/Veropen) von R7 zu PB1 gemacht werden. Leider habe ich das zu spät gemerkt, als die Schaltung und das Lochraster-Layout schon fertig waren.
Der Schaltplan ist Work-in-Progress, wenn du ihn dringend haben möchtest, so kontaktiere mich bitte.
Software
Firmware und LCD4Linux-Treiber sind unter http://github.com/timoahummel/dockstar_lcd zu finden.
Was schon funktioniert: Textausgabe mittels LCD4Linux und einem kleinen Patch für LCD2USB.
Was noch nicht funktioniert: Eigene Icons (Display zeigt nur Garbage an).