Forum: Projekte & Code 4-Digit LED 7-Segment Anzeigetreiber mit Padauk PFS154-S16


von Ralph S. (jjflash)



Lesenswert?

Nachdem hier in einem Thread über Sinn (oder Unsinn) und der Zukunft von 
8 Bit Mikrocontroller diskutiert wurde (und der Thread leider wie zu 
erwarten sehr stark abgedriftet ist), hatte ich "Lust" darauf etwas mit 
8 Bit zu machen und dann schon gleich mit dem billigsten was geht, mit 
dem

PFS154

von Padauk.

Natürlich gibt es schon Anzeigetreiber, natürlich kosten die auch nicht 
viel (allerdings ist der PFS dann doch schon billiger) und natürlich 
können damit auch Tasten gescannt werden (was mein Anzeigetreiber dann 
nicht kann).

Ein Vorteil jedoch hat mein Anzeigetreiber gegen bspw. den bekannten 
TM16xx Bausteinen: Es wird nur eine einzige Datenleitung vom Host, in 
meinem Beispielprogramm ein ATmega328, zum Anzeigetreiber benötigt.

Außerdem ist das von meiner Seite dann auch eher "sportlich" zu sehen: 
Wie billig kann etwas gemacht werden und funktioniert dennoch.

Allerdings: nachdem der Anzeigentreiber funktioniert, ist auch schon das 
erste "Projekt" dafür vorgesehen, das diese Anzeige verwenden wird.

Wer den Anzeigetreiber gebrauchen kann: Viel Spaß damit.

JJ

von Michael B. (laberkopp)


Lesenswert?

Der Witz an einem Anzeige TREIBER ist, dass er viel Strom in die Anzeige 
stecken kann, so ein TM1650 schickt beispielsweise 150mA durch die 
Digits und bekommt damit im Mittel jedes Segment so hell wie mit 5mA.

Dein PFS ist kein Treiber, und du hast ungeschickterweise auch noch den 
schwachen 8mA Ausgang PB7 als Digitleitunge verwendet statt einem der 
20mA kräftigeren PA0,PA3,PA4,PB2,PB5,PB6, bringst also nur eine mittlere 
Displayhelligkeit wie mit 0.25mA Dauerstrom, das reicht auch bei 
modernen high efficiency LED Displays nur für Schummerlicht.

Dabei gibt es billige uC mit ausreichend Treiberstrom, wie SH79F0819M 
(140mA) direkt zur Ansteuerung von LED (und dieser auch 4BP LCD) oder 
der nicht ganz so billige aber leichter beschaffbare PIC16F1764.

Der PFS ist also ein wirklich umwälzend billiger uC der viele 
spezialisierte Chips billiger ersetzt, aber in deiner Verwendung die 
falsche Wahl. Es täte auch ein HEF4894B.

von Christoph M. (mchris)


Lesenswert?

>Nachdem hier in einem Thread über Sinn (oder Unsinn) und der Zukunft von
>8 Bit Mikrocontroller diskutiert wurde (und der Thread leider wie zu
>erwarten sehr stark abgedriftet ist), hatte ich "Lust" darauf etwas mit
>8 Bit zu machen und dann schon gleich mit dem billigsten was geht, mit
>dem

Finde ich grundsätzlich gut.

Vielleicht kann man sich an dem Modul orientieren:

https://robotfreak.de/elab-wiki/index.php?title=LED-Key_Board

Beitrag #7441997 wurde vom Autor gelöscht.
von Ralph S. (jjflash)


Lesenswert?

Michael B. schrieb:
> Der Witz an einem Anzeige TREIBER ist, dass er viel Strom in die Anzeige
> stecken kann, so ein TM1650 schickt beispielsweise 150mA durch die
> Digits und bekommt damit im Mittel jedes Segment so hell wie mit 5mA.

Da sind sie wieder: -Die-immer-Nörgeln-müsser- !

Michael B. schrieb:
> Dein PFS ist kein Treiber

Ich hätte das Teil 4-Digit LED-7-Segment Decoder nennen sollen ! Dass
der PFS an seinen Pins nicht so viel Strom kann wie ein dedizierter
Treiberchip sollte klar sein.

Michael B. schrieb:
> und du hast ungeschickterweise auch noch den
> schwachen 8mA Ausgang PB7 als Digitleitunge verwendet statt einem der
> 20mA kräftigeren PA0,PA3,PA4,PB2,PB5,PB6

Hättest du nicht nur den Schaltplan angesehen, sondern in den Header
gesehen, dann wäre dir aufgefallen, dass jede einzelne Segmentleitung
sowie die Digitleitungen frei wählbar sind. Die Zuordnung wie ich sie
gewählt habe war der einfacheren Verdrahtung geschuldet. Natürlich kann
man für die Digitleitungen die kräftigeren GPIOs wählen wenn es benötigt
wird.

Michael B. schrieb:
> das reicht auch bei
> modernen high efficiency LED Displays nur für Schummerlicht.

Mitnichten, das reicht für eine absolut gut leuchtende und gut ablesbare
Anzeige, sogar bei Sonnenlicht (zumindest mit den 3641AH Anzeigen)..

Mehr als eine gut ablesbare Anzeige wollte ich nicht erreichen!

Michael B. schrieb:
> Dabei gibt es billige uC mit ausreichend Treiberstrom, wie SH79F0819M
> (140mA) direkt zur Ansteuerung von LED (und dieser auch 4BP LCD) oder
> der nicht ganz so billige aber leichter beschaffbare PIC16F1764.

Darum geht es doch überhaupt gar nicht...

Michael B. schrieb:
> Der PFS ist also ein wirklich umwälzend billiger uC der viele
> spezialisierte Chips billiger ersetzt, aber in deiner Verwendung die
> falsche Wahl. Es täte auch ein HEF4894B.

... und auch darum geht es nicht!
Von dedizierten Anzeigetreibern habe ich auch einige hier.

----------------------------

Es geht darum, was man mit dem ultrabilligen PFS alles anstellen kann,
gerade weil dieser MCU so fast gar nichts an Peripherie an Bord hat.
Und, nochmal, die Anzeige ist ausreichend hell und alle Segmente
leuchten auch alle annähernd gleich hell, egal ob ein "8" oder eine "1"
angezeigt wird.

Von daher ist er, aus meiner Sicht, nun wirklich eine kleine Alternative
wenn ich 4 stellige Anzeige brauche (zudem ich einige 3641AH und 3641BS
hier habe).

------------------------------

Hauptsache genörgelt halt.

------------------------------

By the way, werter Michael Laberkopp: Wo sind denn deine Projekte die es
zu bestaunen gilt? Ich habe dich hier wirklich nur am nörgeln gesehen
(manchmal berechtigt, meistens aber eher nicht)!

---------------------------------

Jeder der sich mit Mikrocontroller beschäftigt und hierbei den PFS154 
anfasst sollte sich im Klaren sein, dass das absolut für Spielzeug ist. 
Für diesen Chip also Programme zu schreiben sollte man das als "Sport" 
ansehen (so sehe ich das zumindest) und darüber "staunen" was alles mit 
wenig bewerkstelligt werden kann.

Für ernsthafte große Projekte, die eine selbstleuchtende Anzeige 
benötigen werden heute mittlerweile fast immer Displays eingesetzt und 
die Anzahl der Geräte mit LED 7-Segmentanzeigen werden hierbei immer 
weniger.

Bei einer professionellen Entwicklung wird man bei Verwendung von 
7-Segmentanzeigen wohl kaum einen PFS154 einsetzen wollen (da gebe ich 
dir dann recht).

von Ralph S. (jjflash)


Lesenswert?

Christoph M. schrieb:
> Vielleicht kann man sich an dem Modul orientieren:
>
> https://robotfreak.de/elab-wiki/index.php?title=LED-Key_Board

Dieses "Board" ist altbekannt, habe ich hier auch eines liegen und auch 
eines mit 16 Tastern anstelle nur 8.

Werden Taster benötigt, kann der von mir hier vorgestellte 
Anzeigedekoder nicht mithalten. Außerdem kann mein Decoder auch nur 4 
Digits bedienen.

Der "Haken" an dem Board ist: es verwendet einen TM1638 (den ich sehr 
mag), der jedoch vom Host 3 GPIO Pins zur Ansteuerung benötigt.

von Michael B. (laberkopp)


Lesenswert?

Ralph S. schrieb:
> Es geht darum, was man mit dem ultrabilligen PFS alles anstellen kann,

Du meinst, wenn man nur einen Hammer hat, wird halt alles genagelt. Der 
ultrabillige PFS revolutioniert die Bauelementesortimente weil er viel 
ersetzen kann, aber Anzeigetreiber nun leider gerade nicht, dafur 
hättest du besser geeignete Chips kaufen sollen.

Ralph S. schrieb:
> reicht für eine absolut gut leuchtende und gut ablesbare
> Anzeige, sogar bei Sonnenlicht (zumindest mit den 3641AH Anzeigen)..

Ich sag mal nein,
http://www.edcon-components.com/Webside/LIE/500296/PDFE/Q3641A.pdf

Gerade die AH sind mit 500ucd bei 10mA auch noch gnadenlos dunkel, und 
deine 0.25mA machen daraus 12.5ucd, da waren ja selbst DDR VQE noch 
heller. Und dann begrenzt die Helligkeit ab dem 3-fachen Strom, also 
30mA, obwohl 4 in Multiplex verdrahtet wurden, es sind also auch noch 
unpassend LED im Display.

http://www.xlitx.com/Products/7-segment-led-dot-matrix/3641ah.html

Die Theorie, moderne 7-Segment Anzeigen wären hell, hab ich auch mal 
gehabt, und ein grünes Display am DM13A betrieben, mit 16 
Helligkeitsstufen in Software: der steht immer auf 16 und ist trotzdem 
dunkel.

von Ralph S. (jjflash)


Lesenswert?

Michael B. schrieb:
> Du meinst, wenn man nur einen Hammer hat, wird halt alles genagelt. Der
> ultrabillige PFS revolutioniert die Bauelementesortimente weil er viel
> ersetzen kann, aber Anzeigetreiber nun leider gerade nicht, dafur
> hättest du besser geeignete Chips kaufen sollen.

Ich hab auch noch Schlagschrauber, Bohrhammer, Kreissäge und Zangen, 
sowie STM32F0 / F1 /F4 und LPC. MAX7219, TM16xx natürlich auch.

Nur PIC und MCS51 habe ich nicht mehr, dafür aber wohl einige 100 
Transistoren in NPN, PNP, n-Channel und p-Channel FET natürlich auch. 
Wenn ich also wirklich irgendwie Strom brauche, habe ich bestimmt etwas 
und wenn es eine Kombination von Hammer und etwas anderem noch ist!

Ich glaube wir sollten uns nicht "streiten" und ich ein Foto vom 
Versuchsaufbau zeigen (allerdings wird mir dann wohl unterstellt werden 
dass das dann evtl. ein anderer Chip ist oder das Foto dann 
nachbearbeitet).

Von daher: Du hast Recht und ich nicht, der PFS ist ein Hammer ( smile 
im Sinne von Werkzeug natürlich und nicht DER Hammer) und die Anzeige 
ist viel zu dunkel und die hier vorgestellte Software ist ein Fake.

Meine Güte !

Wie hat Galileo gesagt: "und sie bewegt sich doch"

-------------------------------------------------------

Nur by the way: Ein 12-Bit Schieberegister verwenden um eine Anzeige 
darzustellen? Da braucht es für 4 Digits entweder derer 3 Chips um die 
Anzeige statisch zu betreiben oder 2 wenn man die CPU dann für ein 
Multiplexing bemüht. Das hat mir schon mit den chinesischen 4 Digit 
Modulen die mit 2 Stück 74xx595 nicht gefallen (die im übrigen auch 
nicht mehr als 24 mA max. per Pin können).

"und sie leuchten dennoch" ... ach ne, halt, es heißt ja: "und sie 
bewegt sich doch"

--------------------------------------------------------

Okay, ich lasse es gut sein und sage all denen, die das evtl. doch 
nachbauen möchten: Verwendet noch zusätlich Transistoren für Segment und 
Digitleitungen, damit diejenigen, die sagen das sei zu dunkel dann 
beruhigt sind. Oder besser noch: nehmt entweder einen dedizierten 
Anzeigetreiber oder einen Controller mit mehr I/O Pins

von Ralph S. (jjflash)


Lesenswert?

.... sorry, ich war zu eifrig: bei einem 12 Bit Schieberegister in 
Verbindung mit 4 Digits und Multiplexing vom Controller braucht es 
tatsächlich nur dieses eine Schieberegister (was den Strom per Pin 
dennoch nicht erhöht).

von Michael B. (laberkopp)


Lesenswert?

Ralph S. schrieb:
> sorry, ich war zu eifrig

Daher hatte ich ja extra ein 12 bit SR genannt damit 1 IC reicht und der 
Strom ist nur ebenso zu gering wie bei deiner Lösung.

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.