7 segments led display

Hardware geleverd door Arduino
Berichten: 18
Geregistreerd: 05 Feb 2014, 12:26

7 segments led display

Berichtdoor jmnijsse » 16 Apr 2014, 09:50

Hallo,

Ik heb een 7 segments led display (url]http://nl.farnell.com/kingbright/sc40-19srwa/led-display-4-0-red-cc/dp/1168648?Ntt=1168648[/url]) wat ik zo eenvoudig mogelijk aan wil sturen met Arduino.
De segmenten hebben echter minimaal 7,4V (4xled in serie) nodig om te kunnen werken.
Arduino levert 5V dus dat gaat niet werken.

Wat is de eenvoudigste manier?
Een transistor schakeling? Dan kun je een grotere spanning schakelen. En je hebt ze in handige IC-behuizing, zodat je er 8 tegelijk bij de hand hebt.
Via een shift-register. Maar daar heb ik te weinig ervaring mee en valt volgens mij niet onder de noemer 'zo eenvoudig mogelijk'. Kun je daar een grotere spanning dan de stuurspanning mee schakelen?

Of zie ik een nog veel simpeler oplossing over het hoofd?

Groet,
Johan

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: 7 segments led display

Berichtdoor pjh » 16 Apr 2014, 13:19

Ik heb eens een klok gemaakt met deze 4 inch displays. Wel de Chinese variant.
http://youtu.be/vJpN-v8duRE
Daarvoor gebruikte in twee WS2813 IC's, opdat ik de display ook kon dimmen.
Belangrijkste is dat het CONSTANT CURRENT drivers zijn.
Dit houdt in dat je tegen de IC 'verteld' (middels één weerstand) hoeveel ampere je wilt.
Dan maakt het vervolgens niet uit hoeveel LEDjes je in serie hebt., zolang de totale voltage drop over de LED's minder is dan het voltage dat je erop zet.
Dus: neem oude 12V ACDC adapter (liefst 1000 mA of meer)
Hierop sluit je zowel de Arduino, als de WS2813 drivers aan.
Het enige dat dan op 5Volt afspeelt, zijn de signalen van de Arduino naar de twee LED-drivers.

Meer info over mijn 'clock-build' hier:
deel 1: http://huinink.info/grote-klok/
deel 2: http://huinink.info/grote-klok-2/
Groet, Paul

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 7 segments led display

Berichtdoor nicoverduin » 16 Apr 2014, 14:01

pjh schreef:Meer info over mijn 'clock-build' hier:
deel 1: http://huinink.info/grote-klok/
deel 2: http://huinink.info/grote-klok-2/
Groet, Paul
Beetje klein :mrgreen: :mrgreen: :mrgreen:
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 18
Geregistreerd: 05 Feb 2014, 12:26

Re: 7 segments led display

Berichtdoor jmnijsse » 16 Apr 2014, 14:25

Bedankt pjh,
Is de TLC9540 eenzelfde soort IC? Het lijkt er wel op.
En daar kan ik wel redelijk wat 'wiring' en 'coding' informatie van vinden.
Na de meivakantie zou het projectje moeten draaien, en ik, noch de leerlingen hebben ervaring met dit soort IC's/aansturingen.
Dus dat wordt werken geblazen...

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: 7 segments led display

Berichtdoor pjh » 16 Apr 2014, 14:53

Ja, de TLC9540 komt ongeveer op hetzelfde neer, hij gaat alleen tot een hogere stroom per kanaal (120 vs 30 mA).
En ik bedoelde de WS2803 en niet de WS2813 (bestaat niet). En jij TLC5940 ipv 9540.... :o

Het is overigens niet zo moeilijk te interfacen met deze dingen. Je moet twee eerst een weerstand op de IREF van de TLC9540 zetten om het maximale amperage per kanaal te krijgen. Gaat volgens deze formule:

I-max = ( V-IREF / R-IREF ) * 31,5 (datasheet pag 14: V-IREF = 1.24V)
Om 20mA over de LEDjes te laten gaan, heb je dus een weerstand van (31,5 * 1,24V) / 0,020A = 1953 Ohm.
==> 2K Ohm weerstand op pin 20 geeft 20mA per kanaal.

En vervolgens pomp je gelijk een shiftregister met een kloken data lijn de enen en nullen naar binnen om daarna de info op de LEDjes te latchen.
Bij een schiftregister heb je 1 bit per kanaal. Bij de TLC5940 12bits. Dat zijn je grijs-tinten cq PWM.

Succes!

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: 7 segments led display

Berichtdoor pjh » 16 Apr 2014, 23:21

Nog eens gekeken met je opmerking over 'simpel' en 'leerlingen' en 'een' display in mijn achterhoofd. Ik neem dus aan dat het om één digit gaat. Een andere strategie zou daarom 'educatiever' en meer rechttoe-rechtaan kunnen zijn dan mijn 'ingewikkelde' klok.
Eerst drie plaatjes uit de datasheet van je display:
NB: zal ze de volgende keer kleiner maken. Sorry... :D
Afbeelding
Afbeelding
Afbeelding

Je display is common cathode. Dat houdt in dat je de segmenten moet SOURCEN (+) om ze opgelicht te krijgen. Daarmee zijn de eerder genoemde IC's niet geschikt. Die SINKEN (-) namelijk.

Een eenvoudige manier om je 5V Arduino op deze display aan te sluiten is via een UDN2981 SOURCE DRIVER IC. Let wel: 10K ohm weerstand tussen 8 arduino-pinnen en pin 1 t/m 8 van de UDN2981. Vervolgens stop je (bv.) 12 volt op pin 9 van de UDN2981. Aarde is aarde.
Afbeelding.
Resultaat is 12 Volt (eigenlijk ietsjes minder) op commando van pin 1-8 op pin 11-18, waar je dan je anodes op aansluit.

Moraal van dit verhaal: wil je fancy PWMen met LED-displays: koop COMMON ANODE. Want dan heb je meer IC's om uit te kiezen.

De 7,4 voltage drop over de segmenten zijn gemeten bij 30mA (zie grafiek). Maximaal is 60 mA continue. 'Veilig' maximaal zou 50 mA zijn. Dan is de voltagedrop 7,5V

Segmenten: 12-7,5V = 4,5 Volt. ==> weerstand nodig tussen pin 11-17 v.d. UDN2981 naar de anodes v.d. display: 4,5 / 0,05A = 90 ohm. Wattage weerstand = 4,5 * 0,05 = 0,225 Watt.
Ik zou in dit geval (12 Volt) voor 1/2 watt weerstanden gaan van 100 Ohm.

Wat de datasheet nog meer laat zien, is een piek stroom van 310 mA. Dit soort info mist bij mijn Chinese variant. Let wel: maximaal. Stel dat je met 200 mA veilig zit. Wanneer je dan 4 van je displays multiplext tot bijvoorbeeld een klok, dan moet elk segment in 1/4de van de tijd zijn stroom binnen krijgen. Dan neem je een weerstand van 4,5 V / 0,2 = 9 ohm, afgerond 10. Wattage blijft gelijk natuurlijk. En 200 mA / 4 = 50 mA. Dus je helderheid blijft red. max.

Voor de punt moet het anders...

Om je een aansluit schema te geven, heb ik een plaatje van internet wat veranderd. Hier is er ook een ULN2803 gebruikt om te SINKEN.
Afbeelding
Origineel: http://atmega32-avr.com/8x8-dotmatrix-scrolling-led-display-using-atmega8515-microcontroller/

Berichten: 18
Geregistreerd: 05 Feb 2014, 12:26

Re: 7 segments led display

Berichtdoor jmnijsse » 17 Apr 2014, 09:48

Wow!
Bedankt voor deze uitgebreide info.
Ik ga voor de laatste optie. Dat is dus eigenlijk gewoon een relay-IC.
Mocht ik problemen tegenkomen, hoor je me weer.

Nogmaals dank!

Gr.
Johan

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: 7 segments led display

Berichtdoor pjh » 17 Apr 2014, 12:38

Funtioneel zou je het kunnen vergelijken met een relay-IC, maar zowel de UDN2981 als de ULN2803 zijn Darlington transistor arrays. Bij de SOURCE driver schakel je (in de IC) met een NPN transistor een PNP transistor. Bij een SINK-IC als de ULN2803 schakel je met een NPN een NPN transistor.
Afbeelding
Hiertussen zitten je LEDjes.
Afbeelding
Door de transistor-transistor combi krijg je een hele hoge gain. Zie ook wiki: http://nl.wikipedia.org/wiki/Darlingtontransistor

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: 7 segments led display

Berichtdoor shooter » 20 Apr 2014, 19:20

ik denk dat pjh een prima oplossing heeft, mooi 5 volt sturing.
de software heeft wel wat aandacht nodig, vorm een paar groepjes
groep 1 maakt de setup, waar zit wat
groep 2 maakt de loop en de klok, zij roepen onderstaande routines aan met: digit(0..9), segment (0..4)
groep 3 maakt de aansturing van de digits aansturing van groep 1 krijgen ze de info welke output op welk segment zit, en dus een array maken met 10 rijen en 8 kolommen.
groep 4 maakt de segment aansturing van groep 1 de info welk digit welke uitgang heeft.
groep 5 zoekt datasheets
groep 6 maakt schema
groep 7 maakt breadboard
als het geheel werkt, en je hebt een stel bordjes dan kan elke groep het geheel kopieren naar hun eigen.
paul deelen
shooter@home.nl

Berichten: 18
Geregistreerd: 05 Feb 2014, 12:26

Re: 7 segments led display

Berichtdoor jmnijsse » 22 Apr 2014, 15:57

@shooter
Bedankt ook voor deze tips.
Het zijn echter maar twee groepjes van ca. 3 leerlingen (die op zich heel wat aankunnen). Dus zo uitgebreid gaat het niet werken.
De opdracht is een gadget te maken die op zonneenergie werkt en deze te presenteren tijdens een spektakel wat onderdeel was van de zeeuwse zonneboot race.

De ene groep gaat met behulp van een stel fiets trappers de mensen laten zien hoeveel keer het zonnepanneel sterker (of zwakker) is dan dat zij aan energie opwekken met het trappen.

En de andere groep gaat een reactiesnelheidstestje maken, waarbij de displays de 'reactieleeftijd' van de proefpersoon weergeven.

Dus ze moeten zelf maar eens gaan nadenken over de opzet van hun code.

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 41 gasten