Forum: Projekte & Code Projekt Platine 8-Fach DLG7137


von Jörg R. (solar77)



Lesenswert?

Hallo,

ich eröffne hier einen Thread für das „Projekt“ Platine mit 8 Stück 5*7 
DOT-Matrix-Display DLG7137.

Ausschlaggebend ist die Resonanz auf meinen Verkauf dieser Platinen und 
die darauffolgenden Mails einiger User.

Beitrag "[V] #VERKAUFT# Platine mit 8 Stück DLG7137, 5*7 Punktmatrix"

Das Interesse scheint groß zu sein die Platine zum laufen zu bringen, 
also anzusteuern.

Die Platinen habe ich vor Jahren mal gekauft. Ursprünglich ging es mir 
nur um die intelligenten Displays die ich eigentlich auslöten wollte. 
Der Plan ist dann aber erstmal im Sande verlaufen. Aufgrund einiger 
Mails ist es aber doch interessant geworden die Platinen so zu benutzen.

Ein User hat bereits mit dem „reverse engineering“ begonnen und im 
ursprünglichen Verkaufsthread gepostet. Schon mal vielen Dank an Peter 
dafür.

Um die Diskussion aber nicht im Unterforum Markt fortführen kam die Idee 
für diesen Thread hier.

Vielleicht schreibt sogar jemand eine Code (Arduini & Co) um z.B. eine 
Uhr aus der Platine zu machen. Natürlich eine Uhr..was sonst😀

Anbei Fotos von der Platine und Datenblätter der ICs und Displays. Auf 2 
Fotos sind Beschriftungen angegeben, damit eine Grundlage für den 
Austausch besteht.

Mal sehen was draus wird..ich freue mich auf eine sachliche Diskussion 
und Informationsaustausch.

Mir ist bewusst dass ich hier nur einen kleinen Teil der User anspreche.

Den Post von Peter füge ich in einem folgenden Kommentar dem Thread bei.

von Jörg R. (solar77)


Lesenswert?

Gerade habe ich den Thread abgeschickt und sehe diesen Post..

Vielen Dank an John👍

Beitrag "Re: [V] #VERKAUFT# Platine mit 8 Stück DLG7137, 5*7 Punktmatrix"

..und auch an Peter:

Beitrag "Re: [V] #VERKAUFT# Platine mit 8 Stück DLG7137, 5*7 Punktmatrix"

: Bearbeitet durch User
von John H. (karabka)


Lesenswert?

Hallo Jörg - ich habe deine Antwort im Nachbarthread zu spät gelesen, 
deswegen liegt der Teilschaltplan auch dort ab.

von Jörg R. (solar77)


Angehängte Dateien:

Lesenswert?

John H. schrieb:
> Hallo Jörg - ich habe deine Antwort im Nachbarthread zu spät
> gelesen, deswegen liegt der Teilschaltplan auch dort ab.

Hallo John,

das hat sich gerade alles überschnitten. Ich sitze gerade im 
Gartencenter und wurde von meiner Frau im Cafebereich geparkt:-) Da kam 
mir die Idee den Thread hier zu eröffnen.

Ich hänge den Link zu Deinem Kommentar hier an, ebenso den Plan und das 
Foto.

Beitrag "Re: [V] #VERKAUFT# Platine mit 8 Stück DLG7137, 5*7 Punktmatrix"

Ich möchte Euch dann bitten in diesem Thread hier weiter zu posten.

: Bearbeitet durch User
von Peter N. (alv)


Angehängte Dateien:

Lesenswert?

Hier der Schaltplan der Platine.

Vielleicht kann den Jemand ins reine zeichnen :)

Bevor jetzt an Format, Größe usw. rumgemeckert wird, ich bin mit der 
Scan-to-Email-Funktion des Kopierers hier nicht vertraut. Ich bin froh, 
daß ich da überhaupt etwas rausbekommen habe...

: Bearbeitet durch User
von John H. (karabka)


Lesenswert?

Hallo,

ein Update zum Code. Die Zeile
1
const uint8_t displayIndex[] = {23, 22, 21, 20, 15, 14, 13, 12};

soll in
1
const uint8_t displayIndex[] = {151, 150, 149, 148, 143, 142, 141, 140};

geändert werden. Ansonsten wird bei jedem setzen eines chip enable das 
Register für die Helligkeitswerte zurückgesetzt, was zu einer 
flackernden Anzeige führt. Bei statischem Betrieb ist das egal, da ich 
die Helligkeit erst im Anschluss gesetzt habe. Beim programmieren einer 
Uhr hat es sich dann aber bemerkbar gemacht.

Ebenso sollte write-Impulse mit dem Code
1
ctrlRegister.digitalWriteByte(196);                   // Write-Impuls auslösen
ausgelöst werden. Vorher war es ...digitalWriteByte(64), was ebenfalls 
zum löschen der Anzeige führt.

Letzter Punkt, ein typo: Um die Helligkeit auf 100% zu setzen, muss der 
Wert 7 in den PCF geschrieben werden. Ich hatte im veröffentlichten Code 
6 geschrieben.

Beitrag #7848875 wurde von einem Moderator gelöscht.
von Thomas K. (muetze1)


Angehängte Dateien:

Lesenswert?

In Zusammenarbeit mit Jörg habe ich den Schaltplan nun finalisiert. Jörg 
hat netterweise die Bilder zur Zuordnung der Bauteile beigesteuert. Ich 
denke nun ist alles soweit komplett. Anbei im Archiv das KiCad 8.0 
Projekt sowie der Schaltplan. Dieser auch noch einmal als PDF extra 
angehängt (auch im Archiv enthalten).

von Peter N. (alv)


Lesenswert?

Was ich mich frage:
Wozu liegt P5 von U3 auf gnd?

von Thomas N. (tonevi)


Angehängte Dateien:

Lesenswert?

Da mir die Schaltung der Original Platinen ziemlich aufwändig erschien, 
und das Arduino Programm bei mir nicht funktioniert hat, habe ich eine 
meiner Platinen "ausgeschlachtet" mit dem Ziel die DLG7137 Displays 
weiter zu verwenden. Hierzu habe ich eine Platine entworfen, die ebenso 
eine 8-stellige Anzeige beherbergt, sowie ein kleines C-Testprogramm für 
einen ATtiny2313 geschrieben.

Alles funktioniert wie gewünscht auf meiner Musterplatine. Die 
Datenübergabe erfolgt parallel über Port B. Die 8 Chip-Select-Signale 
werden über einen der ebenfalls ausgelöteten 74HC138 Decoder erzeugt. 
Auch LED-Test und Helligkeit lassen sich per µC über die 16-polige 
Stiftleiste ansteuern.

Auch wenn das Interface der Original Platine dank I2C mit nur 2 Signalen 
auskommt, ist dies wie ich finde eine einfache und praxistaugliche 
Alternativlösung. Anbei Schaltung, Platinenlayout & Demo-Firmware.

von Jörg R. (solar77)


Angehängte Dateien:

Lesenswert?

Thomas K. schrieb:
> In Zusammenarbeit mit Jörg habe ich den Schaltplan nun finalisiert.
> Jörg hat netterweise die Bilder zur Zuordnung der Bauteile beigesteuert.
> Ich denke nun ist alles soweit komplett. Anbei im Archiv das KiCad 8.0
> Projekt sowie der Schaltplan. Dieser auch noch einmal als PDF extra
> angehängt (auch im Archiv enthalten).

Ich bedanke mich für die bisherigen Antworten und den nicht 
unerheblichen Zeitaufwand. Thomas K. hat in kürzester Zeit einen 
kompletten Schaltplan aus der Platine erstellt..und soweit ich das 
bisher beurteilen kann fehlerfrei.

Den Ansatz von Thomas N., eine neue Platine zu erstellen, gefällt mir 
auch. Schließlich war es mein Plan, als ich die Platinen vor Jahren 
gekauft habe, die Displays auszulöten und für andere Projekte zu 
verwenden. Der Plan ist dann aber lange in der Versenkung verschwunden.

Thomas N. hat mir dann aber den Tipp gegeben die Display mit einer 
Heißluftpistole aus dem Baumarkt auszulöten. Ich hatte so ein Teil 
bereits, sogar eine regelbare, und habe es dann ausprobiert. Das 
funktioniert wunderbar, ein Display lässt sich innerhalb von Sekunden 
auslöten.

https://www.mikrocontroller.net/attachment/665438/DLG7137-A.jpg
https://www.mikrocontroller.net/attachment/665439/DLG7137-B.jpg


Peter N. schrieb:
> Was ich mich frage:
> Wozu liegt P5 von U3 auf gnd?

Gute Frage. Die Verbindung ist tatsächlich so, habe es extra nochmal 
überprüft. Der PCF8574 arbeitet bidirektional. Vielleicht wurde in der 
ursprüngliche Verwendung hier irgendeine Abfrage gemacht. Meines Wissens 
nach stammen die Display aus einem Gerät der Audioindustrie (Tonstudio?) 
und es waren 2 von den Platinen in einem Gerät verbaut.

Also, nochmals vielen Dank für die bisherigen Kommentare:-)

: Bearbeitet durch User
von Peter N. (alv)


Lesenswert?

Jörg R. schrieb:
> Gute Frage. Die Verbindung ist tatsächlich so, habe es extra nochmal
> überprüft. Der PCF8574 arbeitet bidirektional. Vielleicht wurde in der
> ursprüngliche Verwendung hier irgendeine Abfrage gemacht

Ja, aber der Sinn erschließt sich mir nicht.
An der Stelle kann man bei jeder Platine immer nur 0 auslesen.
Festzustellen, ob eine Platine vorhanden ist, kann man auch anders...

Der Int-Ausgang wird wahrscheinlich bei einer bestimmten Anzeige 
gesetzt.
Vermutlich wenn die rote Seitenled aufleuchtet?

von Thomas N. (tonevi)


Angehängte Dateien:

Lesenswert?

Basierend auf den Vorarbeiten für den Schaltplan von Thomas K. und dem 
Arduino Beispiel von John Hermann habe ich damit begonnen die 
Ansteuerung der Platine für kleinere Atmel Controller per Bitbang I2C zu 
adaptieren. Beides funktioniert soweit auf einem ATtiny85 ganz gut. 
Allerdings gelingt die Ansteuerung der Flächen LEDs noch nicht wie 
erwartet. Wenn ich über U3 und U5 BAR_FF_STATE1 setze und dann eine 
positive Taktflanke an BAR_FF_CLK erzeuge gehen beide LED Balken 
gleichzeitig an. Das kann ich mir anhand der Schaltung nicht erklären, 
es sollte nur die grüne LED betreffen. Ebenso unklar ist, dass sich die 
LED Balken mit BAR_FF_STATE1=0 und nachfolgend positiver BAR_FF_CLK 
Taktflanke nicht wieder ausschalten lassen. Noch verwunderlicher ist, 
dass mit BAR_FF_Reset nicht nur die LED-Balken sondern auch alle 8 
Displayziffern abschalten. Vielleicht hat jemand von euch eine Idee 
hierzu?

Noch eine Bemerkung zu dem Arduino Sketch: Hier sind im Header des 
Sketches die Anschlüsse von Pin2 PCF und Pin3 PCF vertauscht. Um die 
Adressen 0x24 und 0x25 einzustellen liegt Pin2 an GND und Pin3 an +5V.

von Thomas N. (tonevi)


Angehängte Dateien:

Lesenswert?

Da mir die Ansteuerung der Flächen-LEDs nach Maßgabe der Schaltung nicht 
gelungen war, habe ich die Verschaltung der beiden D-Flipflps U8 zur 
Steuerung der LEDs überprüft und dabei 2 Fehler in der bisherigen 
"final" Schaltung gefunden:

1.) Der D-Eingang BAR_FF_STATE1 an U8B ist mit Pin 4 von U2 verbunden, 
und nicht wie angegeben mit Pin 11 von U3 (für die grüne LED)

2.) Der D-Eingang BAR_FF_STATE2 an U8A ist mit Pin 5 von U2 verbunden, 
und nicht wie angegeben mit Pin 10 von U2 (für die rote LED)

Hiermit gelingt dann auch die Ansteuerung der beiden Flächen LEDs. 
Vielleicht könntet ihr die Schaltung diesbezüglich aktualisieren, ich 
nutze kein KiCad.
Etwas "tricky" ist die Verknüpfung der Ansteuerung der Flächen-LEDs mit 
der Helligkeitssteuerung, die sowohl die Alpha Displays als auch die 
Flächen LEDs betrifft.

Anbei ein kleines Demo-Programm, das die Ansteuerung der Flächen-LEDs 
demonstriert und vorab auch den LED Test der DLG7137 Anzeigen zeigt. 
Damit sind nun alle Display Funktionen für eigene Anwendungen nutzbar.

von Thomas K. (muetze1)


Angehängte Dateien:

Lesenswert?

Oha, da habe ich euch ja ein Ei gelegt zu Ostern. Sorry. Ich habe den 
Schaltplan und das KiCAD File mal schnell angepasst. Gute Arbeit!

Frohes Osterfest!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.