fritzler-avr.de
4x16 LED Anzeige

Eines Tages gab es gute alte DDR 16 Segment Anzeigen für 1cent/Stück (VQB201) zu kaufen, da musste natürlich gleich zugegriffen werden. Nun wärs ja sinnfrei die einfach zu bunkern, also muss etwas brauchbares gebastelt werden. Somit entstand diese 4x16 Zeichen LED Anzeige aus 64 VQB201:

Glücklicherweise passen auf einer Europlatine genau 8 nebeneinander und 4 übereinander und dann ist noch Platz für Wannenstecker. Somit ergibt sich auf 2 Europlatinen die Zeichenanzahl von 4x16. Fehlt also nurnoch die Ansteuerung, natürlich wird hier Multiplexing angewendet. Eine Paralelansteuerung von 64*17 Leitungen wäre dann doch "etwas" aufwendig.
Laut Datenblatt dürfen durch die LEDs maximal 120mA fließen bei einem Verhältnis von 1:8. Das trifft sich wunderbar mit den 8 Spalten pro Platine, somit leuchten pro Platine immer 4 Zeichen auf.

Mal den Strompfad und die auftretenden Ströme betrachten:
Pro Spalte leuchten 2x4 Zeichen auf, also 8x17 LEDs zu 120mA = 16,32A. Da hat der Spaltenmosfet ordentlich zu tun, allerdings gibts keine günstigen P-FETs mit Logiclevelgate und geringem RDSon. Daher bekommt jede Platine ihre eigenen Highside P-FETs, das macht dann 8,16A pro FET. Der IRF7220 hat einen RDSon von 12mR, das sind bei 8,13A so 0,1V Spannungsabfall und somit 813mW Verlust.

Nun gibts aber noch Schaltverluste durch die PWM (muss ja nicht immer die volle Dröhnung sein) und die Leitungsverluste treten auch nur zu 1:8 der Zeit auf.
Dieser Verlust berechnet sich aus Ein- und Ausschaltzeit sowie maximalen auftretenden Strom*Spannung
Verlust = ((0,5*62,5kHz*1460ns*8,13A*5V)+(8,13A*8,13A*12mR))/8 = 330mW
Für den FET im SO8 reicht also eine kleine Kupferfläche als Kühlung locker aus.

Mal den Lowsidetreiber betrachten, der ULN2803 hat bei 120mA einen Spannungsabfall von 1V. Jeder ULN hat 8 Kanäle, das ist also eine Verlusteistung von 960mW, dies verkraftet das SMD Gehäuse grade so. Daher diesen noch mit Wärmeleitpaste beschmieren vorm verlöten.

Bleibt nurnoch die Widerstandsberechnung übrig, hier müssen 1,3V abfallen (5-0,1-1-2,6).
(5V Versorgungsspannung - 0,1V P-FET Spannungsabfall - 1V ULN Spannungsabfall - 2,6V LED Spannung).
Das sind ungefähr 12R und mit den Leitungswiderständen ist man hier auf der sicheren Seite. Pro Widerstand fallen so 160mW an Verlust an, das ist für die 0603 Bauform eine Überlast von 60%, geht allerdings nicht anders, da andere Widerstände zu groß sind und somit haben die Widerlinge eine dicke Leiterbahn bekommen als Kühlung. Weiterhin leuchten ja auch nicht immer alle 16 Segmente auf wodurch die Widerstände Zeit zum abkühlen haben. Trotzdem werden die Widerstände auf 100% Displayhelligkeit recht warm.

Somit stehen die Bauteile für den Strompfad, nur fehlt noch die Ansteuerung.
Als Mosfettreiber für die P-FETS muss ein 74HC245 (Bustreiber) herhalten. Ist einfach günstiger als 8 Spezialtreiber und tut seinen Zweck. Um Portpins zu sparen wird ein BCD zu Dezimal Decoder eingesetzt (74HC42). Dieser invertiert bereits die Ausgänge, so dass jeder aktive Spalten P-FET sein Low auf dem Gate bekommt. Weiterhin kann an Eingang D eine invertierte PWM angelegt werden zur Helligkeitssteuerung, der Pullup schaltet alle Spalten ab solange der AVR noch kein Mucks von sich gibt um die LEDs zu schützen.

Weiter gehts auf der negativen Seite:
Pro Platine sind immer 4 Anzeigen aktiv, also insgesamt 8 Anzeigen zu 16 Segmenten. Daher werden 16 Schieberegister+ ULN2803 benötigt. Da 16 Takteingänge für einen CMOS Ausgang doch etwas grenzwertig sind, muss ein Bustreiber als Signalverstärker herhalten.

Schlussendlich noch an den AVR anschließen und fertig ist die Steuerung. Dabei ist eine Ansteuerung als HD44780 kompatibler Controller vorgesehen, wie auch per I2C. Momentan ist aber nur das CFA634 Protokoll von Crystalfontz per UART programmiert.

Nun zum Aufbau, die Anzeigen möchten verbaut werden:

Das Bohren der Displayplatien war eine echte Akkordarbeit, genau wie die Bestückung:

Die Steuerplatine besteht hauptsächlich aus den Schieberegistern und den Treibern. Dabei nicht vergssen, dass da mal eben 16A durchfließen. Die ULN2803 wurden noch mit Wärmeleitpampe bestrichen um die Wärme besser an die Platine abzugeben.

Durch das CFA634 Protokoll lässt sich das Display an den PC hängen und dient dort zB als Anzeige für gespielte Musik oder Systemressourcen. Klickmich

Weitere Bilder in der Galerie: Klickmich

Nach einem Jahr pause ist nun auch das Gehäuse fertig:

Fazit aus der Sache: Geiles Display, aber der Aufwand!
64 Anzeigen zu 18 Pins -> 1152 Löcher und Lötstellen
8x 34Pin Wannenstecker -> 272 Löcher und Lötstellen
Dann noch der SMD Kram (ULN und HC595) -> 578 Lötstellen
Nicht zu vergessen die 134 0603 Bauform Widerstände

Holla die Waldfee! Das Ding is ja sogar auf Hackaday gelandet: Klickmich

Das Display bekam noch eine kleine Erweiterung. Das DSL Amperemeter wurde noch eingebaut mit einem kleinen Auswahlschalter versehen. Weiterhin kann das Display jetzt auch Daten per DMX Empfangen (einfach ein ASCI Zeichen pro DMX Kanal).

Noch eine Erweiterung: Jetzt auch mit Funk DMX Empfang, bekannt aus dem Funky WiLLi 2000 Projekt.

Schonwieder eine Erweiterung: Jetzt mit Wetteranzeige mit dem BME280 und Netzfrequenz. Die Amperemeter zeigen die Netzfrequenz von 49,9HZ bis 50,1Hz an (links) sowie max. 100mHz Abweichung von 50Hz (rechts).

Datenblatt VQB201
Datenblatt 74HC595
Datenblatt 74HC245
Datenblatt 74HC42
Datenblatt ULN2803
Datenblatt IRF7220
Download Firmware
Download Schaltplan/Layout
Eagle lib VQB201

Home

Kontakt - Haftungsausschluss - Impressum