LEDstart 2

begin | deel 1 | dit deel | deel 3

Een ledstrip en een arduino laten zich niet 1-2-3 combineren.

De LEDSTRIP werkt op 12 Volt.

En de Arduino op 5 Volt.

Aan de stroomkant is het vrij eenvoudig: Stop de 12 volt op de Vin-pin van het Arduino board en de aarde van  in de  aarde van de Arduino. Maakt niet uit welke, als er maar GND bij staat.

De Arduino maakt zelf van deze 12 Volt de 5 Volt nodig voor de microcontroller zelf.

Je kunt het ook andersom doen en de 12 volt op de powerjack zetten en 12 Volt “aftappen” van de Vin-pin van de Arduino.

Ik laat het liefst niet alle stroom door de LEDstrip óók over het Arduino-boardje lopen.

[NB.: De Arduino Pro Mini heeft geen power-jack.

Bij deze moet je de 12 volt op de "RAW"-pin zetten en GND op GND natuurlijk.

Via de V-pin en G-pin kun je respectievelijk 5Volt en GND aftappen. ]

Om het signaal van de arduino te gebruiken om de 12 Volt LEDstrip te schakelen is een ander verhaal.

In mijn LEDstrip-video op pagina 1 gebruik ik drie MOSFET’s.

Maar het kan ook met gewone transistors, zoals de 2N2222A (datasheet).

Hieronder staat een filmpje van hoe je dat doet.

eerst schematisch:

schema1

Hierboven vergeten een 20KOhm weerstand tussen pin 9 en BASE vd transistor te tekenen. In de video hieronder praat ik over 2000 ohm weerstand. Moet dus 20.000 ohm zijn.

Op 5 volt bij 20.000 ohm, geeft de arduino maar V/i = R  ==>  5V/10.000 Ohm = 0,0005 mA = 0,5 uA

Volgens de DATAsheet van de 2N2222A houdt het bij 100nA op. 100 nano-ampere = 0,1 uA

Het vermogen dat de Arduino moet leveren = V * I = 5 Volt * 0,0005 = 2,5 mili-Watt

Het schakelt 18,2 mA op 12,5 volt = 0,0182 A * 12,5 V = 0,23 Watt = 230 mili-Watt = 91 x meer

De 2N2222A transistor kan 600 mA aan.

Dat is meer dan genoeg voor één meter één kleur ( = 10 * 18,2 = 182 mA).

Hier mijn voorbeeld:

FADE?

De sketch uit bovenstaande video kun je vinden inde Arduino-IDE:

fade

In bovenstaande sketch wordt PWM gebruikt om te “faden”. PWM staat voor Pulse Wave Modulation. Het komt erop neer dat een LED niet steeds aanstaat, maar een deel van de tijd aan en de rest uit. Dit gaat heel snel, waardoor het oog niet het knipperen ziet, maar een helderheidsverschil. Bij 8-bit PWM kun je 256 gradaties maken. Wij gaan deze 256 gradaties op één kleur zetten. 3 kleuren RGB is dus 3 x 8 = 24 bits kleur. Hierdoor zijn i.p. 2^24 = 16.777.216 kleuren te maken.

Transistor?

Deze kun je uit haast ieder afgedankt elektrisch apparaat halen.

De datasheet laat zich vaak makkelijk via internet vinden.

Voor de beginneling is een NPN transistor eigenlijk de belangrijkste.

Er zijn veel tutorials op internet over deze dingen.

Mocht je ze toch willen kopen. Duur zijn ze niet: 1,66 dollar voor 100 stuks.

2n2222a

Wanneer we een LEDstrip volledig willen controleren, dan hebben we dus 10 segmenten met ieder drie kleuren = 30 transistors nodig.

Los van de 40 cent kosten, is dat veel soldeer-werk voor een meter.

Kan het ook anders?

Ja, met een

TRANSISTOR ARRAY

Dan heb je bijvoorbeeld 8 transistors op een rijtje.

Een bekende IC is de ULN2003.

Ik ben deze ook in “action-winkel” spul tegen gekomen. Ik meen hun RGB  kleuren nachtlampje. Zal er binnenkort (weer) eens een halen. Eentje is in gebruik genomen door de kinderen. Mag ik niet slopen.

Hier de datasheet van de ULN2003

Op pagina 3 vind je dit plaatje van de “functionele eenheid” van de IC.

Er zijn 8 van deze eenheden per ULN2003.

darlington

Dit ziet er wat ingewikkeld uit.

Maar links komt de arduino en rechts de (-) kathodes van de LEDstrip.

Wat verwarrend kan zijn, is dat de Input van de IC de Output van de Arduino krijgt (links op plaatje).

De Output van de ULN2003 is uiteindelijk de AARDE. Dus als de Output open staat, komt er stroom de chip IN.

Samenvattend: De ULN2003 SINKt stroom en SOURCEt het niet.

darlington2

Elk kanaal kan 500 mA aan, ongeveer hetzelfde als een 2N2222A transistor.

MAAR…..

Met een Darlington Transistor array, hebben we wel mooi 8 eenheden in een makkelijke IC, maar deze moet nog steeds aangestuurd worden door 8 inputlijnen.

De Arduino heeft maar 6 PWM lijnen (pin 3, 5, 6, 9, 10 & 11).

Dat is genoeg om 2 x RGB te maken, maar niet voor 10 segmenten van  onze meter LEDstrip.

HOE?

Geen ULN2003, maar een TLC5940 gebruiken.

Als je de features van deze chip bekijkt, snap je waarom:


features-TLC5940

In plaats van onze 6 x 8 bits arduino PWM, krijg je met deze chip 16 x 12 bits PWM.

PER R-G-B heb je dus 3 x 12 bits = 36 bits kleur.

2 tot de macht 36 (2^36) = 68.719.476.736.

Geloof me: bijna 70 miljard kleuren: dat kunnen je ogen niet onderscheiden.

Dus voldoende.

Deze features maken deze TLC5940 geschikt voor:

applications-TLC5940

Natuurlijk is zo’n IC duurder dan een transistor.

tlc5940

90 cent per stuk als je er 10 afneemt.

Voor onze ledstrip hebben we

30/16 < 2 IC’s nodig.

Houden we 2 PWM kanalen over.

( 2*16 – 30 = 2 )

Ik heb dit recent gedaan met één TLC5940.

De meter LEDSTRIP knipte ik in 5 stukken

3 kleuren x 5 stukken = 15 kanalen.

Als diffusers gebruikte ik lege flessen gedestilleerd water van de Albert Heijn.

Hier mijn wat “bevreemdende” video van het resultaat:

Ik wil hier nog eens een keer een aparte tutorial voor maken.

Er staat al genoeg op het net.

Neem dit plaatje van de arduino.cc tutorial

tlcaansluit

Hier zie je dat je met 4 arduino pinnetjes 32 kanalen aanstuurt met 12 bits PWM.

De blauwe klok op het einde van het filmpje hier juist boven, heb ik zo aangestuurd.

MONOCHROOM PWM?

Ja: de klok dimt met 4096 stapjes (12 bits) via een licht sensor.

Lees verder

 

One Response to LEDstart 2

  1. Ton says:

    Hoi, hoi,

    Het is even geleden maar ik ben er weer. Hopelijk nog heel tijdje, dus als je wilt kunnen we verder. Als je zin en tijd hebt voor me. Mijn interesse is er niet minder van geworden, tegendeel zelfs.

    Groetjes,
    Ton

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>