Lätt CAT4101 LED Driver (6 / 7 steg)
Steg 6: PWM ljusreglering
Haft tid att prova dessa drivrutiner, ville jag lägga till mina observationer om PWM ljusreglering denna LED driver. Det finns många olika lösningar till PWM ljusreglering. Arduinos har ett antal 8-bitars PWM kan stift och 555 timers möjliggör billiga och lätt PWM kretsar. En annan lösning- och jag hade tänkt använda med dessa drivrutiner - är TLC5940. Den har 16 kanaler kan 12-bitars PWM upplösning.
Arduinoen
Arduinos 8-bitars PWM är ett enkelt sätt för dimmring dessa drivrutiner. Ansluta det Arduino marken stiftet och en PWM stift till föraren styrelser är allt som behövs! Nyckeln till denna enkelhet är Arduinos stiften, som kan både sjunka och sourcing nuvarande.
TLC5940
I vissa situationer kanske man vill ha högre upplösning. 8-bitars PWM kan leda till mycket märkbar "steg" mellan intilliggande PWM värden. Detta är särskilt tydligt vid låga värden (nära utanför).
TLC5940 ger 12-bitars upplösning, som är 16 gånger större än Arduinos 8-bitars! (4096 vs 256)
Inställningen för maskin- och programvara för att styra TLC5940 med en Arduino kan hittas här
Det viktigaste med TLC5940 är att utgångsstift kan bara diskbänken nuvarande. TLC5940 är egentligen avsedd att vara en LED driver sig själv, men bara upp till 120mA för alla kanaler i kombination. För att ansluta detta till våra LED driver styrelser, måste vi lägga till en krets mellan TLC5940 och styrelsen.
Obs: det är nämnt i detta instructable att ansluta en TLC5940 till dessa styrelser, en 10k pullup motstånd måste läggas till styrelsen i det angivna utrymmet. Dock Detta är ett misstag. Det kan finnas en krets som verk med hjälp av en pullup motstånd, den metoden som jag beskriver nedan använder en 10 k pulldown motstånd istället.
För att få ordentlig PWM signalen, behövs en PNP integrerade transistor. Jag använde en 2n3906. Eftersom TLC5940 har nuvarande sjunkande stift, inte kan det ge ström behövs för att vända på en transistor NPN integrerade. Istället använder vi en PNP integrerade transistor, så att TLC5940 kan anskaffa nuvarande från basen av transistorn. I grund och botten när TLC5940 skickar en "hög", sjunker det nuvarande, vrida på PNP transistorn, och skickar en hög till LED driver. När TLC5940 skicka en "låg", inga aktuella flöden inom eller utom stift, stänga den PNP transistorn. A NPN transistor fungerar inte, eftersom den kräver nuvarande vid basen till vända på och TLC5940 kan inte källa nuvarande.
Eftersom TLC5940 reglerar strömmen på varje stift, behövs ingen bas motstånd. För 2n3906 fann jag att en 3 k 3 motstånd på TLC5940 nuvarande Ställ in pinkodsskydd ger tillräckligt aktuell. Dock skulle att ha en 100 ohms motstånd på basen av PNP inte skada.
TLC5940 bibliotek för Arduino har en standard PWM frekvens på ca 1kHz. CAT4101 är en linjär LED driver, hittade jag att det finns en hörbar, högfrekventa whine från föraren. Här gnäller är vanligtvis en produkt av en induktor vibrera på frekvensen, men eftersom det finns ingen induktor används i denna LED driver, jag är med förlust att förklara det. Minskar frekvensen PWM ner under ~ 244Hz minskar bullret, men införs också flimmer vid låga PWM värden. Tätare PWM tycks påverka hur dim LED kan gå innan du stänger av. Den genomsnittliga personen bör inte märka gnäller bortom ungefär en halv meter, och en inhägnad bör maskera det helt.
Medan testning PWM ljusreglering, märkte jag att det finns en betydande skillnad mellan off och PWM värdet 1. Vid detta värde, ska finnas ett genomsnitt av ~0.1456mA = (1/4095) * 600mA. Men visar LED-lamporna att det finns åtminstone några milliampere genom lysdioden. Ersätta en 3mm LED visar en mycket smidig övergång mellan off och 1, så jag tror det är min LED som är fel.
Kom ihåg: alltid ansluta trädgården tillsammans. Varje enhet - Arduino, LED driver, etc - kan ha en annan marken potential och koppla ihop dem kommer att skapa en gemensam grund. Inte göra detta kan orsaka skada.