Max7219 7 segment display met hogere stroomafname

Vraag tav nieuw project.

Zoals iedereen wel weet zijn er van die leuke modulen met de max7219 incl 8 7 segment displays te koop.

De vraag is kan ik hier ook grote displays aan hangen.
En dan bedoel ik bv led displays van ca 30 cm.
Die vragen natuurlijk veel meer stroom dan die kleine displays.
Tav software icm arduino lijkt me niet het probleem.

Maar moet/kan ik dit met transistoren oplossen of anders?
Een schets zou welkom zijn.

Arco

Special Member

Dat ic is daar niet geschikt voor, beter matrix maken met een UDN2xxx en een ULN2xxx...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Kan best met dat IC.
Maar dan moet je waarschijnlijk wel zowel de digits-select als de segmenten versterken.

En dan moet je common-anode displays gebruiken ipv common-cathode als de transistors inverteren.

Arco

Special Member

Kan best met dat IC.

Ja,

Je kunt van een volkswagen kever ook een Rolls Royce maken met genoeg tijd en geld... :+
Het ic is hier totaal overbodig, direct de row/col aansturen uit de arduino is veel simpeler.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op maandag 23 december 2024 13:49:32 schreef Arco:
[...]
Ja,

Je kunt van een volkswagen kever ook een Rolls Royce maken met genoeg tijd en geld... :+
Het ic is hier totaal overbodig, direct de row/col aansturen uit de arduino is veel simpeler.

Dus bv 7 segmenten(a t\m g) aansturen en 5 displays, als je gaat multiplexen.
Dat zouden dan 12 uitgangen worden van een arduino.
Maar hoe vergroot ik de stroom zowel aan de segment zijde als aan de digit zijde?

Of 35 uitgangen als je niet gaat multiplexen.
Dat is wel erg veel. Alleen een Mega zal dan voldoen.

Arco

Special Member

Multiplexen doe je normaliter altijd. (dat doet de max7219 ook)
Als je UDN/ULN drivers gebruikt kun je 500mA per pin gebruiken.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Maar met die chip kost het maar 2 pinnen en hoef je geen continue updates te doen. :)

Arco

Special Member

Processor raakt echt niet oververmoeid van zo'n simpel klusje, hoor... ;)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

1 nadeel met het "zelf" multiplexen van de displays: De timing.

Vrijwel alle SW van een arduino wordt door hobbybob's gemaakt die niet in de smiezen hebben hoe je fatsoenlijk programmeert (getuige veel sw wat met delayloopjes aan elkaar hangt). Hangt je programma, dan is er een grote kans dat je display doorfikt omdat je behoorlijk wat stroom door de leds moet sturen.
(Bij alle 8 displays dus 8x zoveel stroom vanwege de dutycycle)

Bij een oplossing met zo'n compleet IC heb je daar geen last van die regelt alles zelf. En een ander voordeel: je hebt zoals al gezegd veel minder pinnen nodig om de boel aan te sturen.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Op maandag 23 december 2024 19:07:57 schreef henri62:
En een ander voordeel: je hebt zoals al gezegd veel minder pinnen nodig om de boel aan te sturen.

Je kan het ook omgekeerd bekijken - je hebt minder pinnen nodig om de boel aan te sturen, dus anderzijds houd je ook meer pinnen over om andere dingen aan te sturen.

Met een Arduino kan je perfect zelf zo'n 7-segment display aansturen, maar dan gebruik je een hoop pinnen. Wellicht zal het display dienen om iets te tonen (temperatuur, vochtigheidsgraad, aantal RPM, etc...), dus wens je ook nog wat pinnen over te houden voor sensoren etc...

Stel dat je kastje enkel een status toont van de sensor (OK/NOK), maar de bijkomende data van de sensor logt naar een server of het internet, dan komt er nog een Ethernet boardje bij.

Door het IC te gebruiken, heb je meer mogelijkheden om extra dingen aan te sluiten dan wanneer je het IC niet gebruikt.

't Is maar hoe je het bekijkt.

Marlon

Arco

Special Member

Met een Arduino kan je perfect zelf zo'n 7-segment display aansturen, maar dan gebruik je een hoop pinnen.

Meeste nieuwere processoren hebben 44 of meer pinnen (een met 100 pinnen kost niet veel meer), dan houd je eerder pinnen over als dat je tekort komt... :)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
buckfast_beekeeper

Golden Member

Op blz 12 van de datasheet staat een voorbeeld hoe 2.3" displays worden aangestuurd.

Mocht er geen markt (meer) zijn voor het IC, dan zou het er al lang niet meer zijn.

100 pinnen is altijd SMD en niet iedereen staat er om te springen dat met de hand te solderen. Heb er 17 klaar liggen. Ook al heb ik de nodige ervaring, toch geen klus waar ik met veel plezier aan begin.

Van Lambiek wordt goede geuze gemaakt.

Ik hoor hier enige voor en tegens.

Ik wil de optie max7219 toch verder onderzoeken.
In het getoonde schema heb ik een voorstelling getekend hoe ik het zie.
Dit voor 1 segment. en 2 displays.
Volgens mij zou je op deze wijze naar een hogere spanning kunnen en meer stroom voor het aan te sluiten display.
Oh ja en ik ga niet voor een standaard display. Dus deze zal ik ook zelf maken omdat deze groot moet worden.

Corrigeer me maar als ik het fout heb.

[Bericht gewijzigd door wodanus op dinsdag 24 december 2024 15:39:17 (14%)

Arco

Special Member

Q1 moet een PNP (of UDN2xxx) zijn, een NPN (of ULN2xxx) gaat niet werken...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op dinsdag 24 december 2024 15:57:37 schreef Arco:
Q1 moet een PNP (of UDN2xxx) zijn, een NPN (of ULN2xxx) gaat niet werken...

Geldt dit alleen voor de segmenten of ook voor de digits? Ik heb namelijk wat kopieer werk gedaan.
Dan zal ik het schema aanpassen.

Ik ken de ULN.. types wel ,maar de UDN2981 is de pnp variant dus.

Arco

Special Member

Aan de plus (segment) PNP, aan de min (digit) NPN.
Met een losse transistor aan de segmenten gaat bij 24v sowieso niet werken, een UDN2xxx wel.
(losse transistor werkt alleen als de led voedingsspanning zelfde is als de MAX7219 voedingsspanning)

[Bericht gewijzigd door Arco op dinsdag 24 december 2024 16:13:55 (66%)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

UDN2981 gaat zo wel werken, als je die nog ergens kunt vinden.

De ULN2803 gaat zo niet goed. Die inverteert, en dat wil je niet want dan zijn net de verkeerde digits aan. Dus daar moet dan nog een inverter voor, zoals een 74HC240.

buckfast_beekeeper

Golden Member

UDN2981 = MIC2981 van micrel is gewoon verkrijgbaar bij onder andere Mouser

Van Lambiek wordt goede geuze gemaakt.

Op dinsdag 24 december 2024 16:27:24 schreef wodanus:
Schema aangepast:

Je hoeft maar 8 weerstanden te gebruiken, alle respectievelijke anodes mogen aan elkaar verbonden worden.
Het DP heeft normaal gezien een andere weerstand vandoen omdat er minder leds in serie staan bij die grote display's

LDmicro user.

Zo gaat het nog steeds niet werken, DIG0-7 is een open collector (of drain) output, dus de ULN2803 doet niks, minimaal moeten er pullups aan en, zoals deKees zegt, het ding gaat dan inverteren, afhankelijk van de toepassing moet je nu een buffer er tussen zetten of de software aanpassen.
Leading zero suppression gaat niet werken als je niet inverteert.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Op dinsdag 24 december 2024 04:28:58 schreef Arco:
[...]
Meeste nieuwere processoren hebben 44 of meer pinnen (een met 100 pinnen kost niet veel meer), dan houd je eerder pinnen over als dat je tekort komt... :)

'k Begrijp wat je bedoelt, maar anderzijds... Een Arduino Mega heeft 54 pinnen ('k denk dat er ook een versie van 77 pinnen bestaat?), maar is meteen wel een pak duurder dan de gewone Arduino Nano. Je gaat meteen van een 5-tal€ naar een veelvoud (kleine 20€?), en met een groter board.

Verder kan je die MAX7219 ook daisychainen, zo kan je 8 van die 7-Segment displays aan elkaar hangen met nog steeds maar enkele pinnen.

Aan de ene kant lijkt jouw oplossing me beter: je hebt alles zelf in de hand, en bepaalt exact hoe en wat je stuurt. Aan de andere kant lijkt de MAX7219-optie me makkelijker als je iets wenst te bouwen en zo'n display wil gebruiken.

Hoe dan ook lijken beide opties me geschikt, elk met hun eigen voordelen en nadelen.

Marlon

Na het lezen van de reactie neig ik ernaar om met een arduino mega (54 IO) veder te testen. Deze heb ik nog liggen.
Als ik daar een transistor array per display achter hang heb ik denk ik met minimaal materiaal toch een oplossing.