Universele LED dimmer

 

 

 

 

 

1.             Inleiding

 

 

Deze LED dimmer werkt met PWM en kan gebruikt worden om LED strips van 12V tot 2 ampère te dimmen. De LEDs worden aangestuurd door een MOSFET transistor.

 

De dimmer kan geconfigureerd worden op verschillende manieren: met een draaiknop (potentiometer), met één drukknop of met twee drukknoppen.

 

De dimmer heeft als kenmerken soft start in alle configuraties, en soft stop + dim geheugen in één of twee drukknop configuratie.

 

Hij bevat ook een low drop spanningsregelaar die de spanning op de LED stripts limiteert tot 12V, waardoor hij bij uitstek geschikt is voor gebruik in motorhomes, boten enz. omdat daar wel eens een spanning van 15V kan heersen bvb. tijdens het laden van de batterijen.

 

Ik heb vier versies van de print gemaakt: een vierkante versie, een slimline versie, allebei voor zowel de PIC18F4550 als de PIC18F2550.

 

Deze schakeling is gebaseerd op de PIC18F4550 of PIC18F2550 microcontroller. Deze chip is eigenlijk een kleine computer die in één enkele chip bevat is, inclusief RAM geheugen, EEPROM, I/O poorten, centrale verwerkingseenheid enz. Als je deze chip koopt, is hij uiteraard leeg en bevat geen enkel programma. Je moet de broncode (zie link onderaan) compileren en de resulterende machinecode naar de chip downloaden. Hierbij kun je gebruik maken van een kleine "programmer" die verbonden wordt met de PC en de chip. Voor meer in detail uitleg van dit soort dingen, kun je best eens naar volgende plaats surfen: Getting started with microcontrollers.

 

Terug naar boven

 

2.             Beschrijving

 

Het gebruik van een microcontroller om een LED PWM dimmer te maken lijkt op het eerste zicht op overkill. De reden voor het gebruik van een microcontroller is hoofdzakelijk om zaken te implementeren als soft start, soft stop en dim geheugen.

 

Dit zijn de eigenschappen van het apparaat:

 

- 3 configuraties mogelijk (te kiezen met dip-switches of doorverbindingen):

  + drukknop configuratie met één drukknop

  + drukknop configuratie met twee drukknoppen

  + configuratie met potentiometer

 

- Soft start

 

- Soft stop (alleen bepaalde configuraties)

 

- Onthoudt laatste dim niveau (alleen geldig voor de drukknop configuraties)

 

- Schuifschakelaar voor directe toegang tot 100% licht

 

- Voor gebruik in 12V systemen (input 12-16V, output 12V)

 

- LED strips tot 2A

Terug naar boven

 

3.             Gebruik

 

 

De standaard configuratie is met een potentiometer. Om het apparaat te gebruiken met één drukknop, verbind PAD8 met PAD5. Om het apparaat te gebruiken met twee drukknoppen, verbind PAD9 met PAD5. Pads 5, 8 en 9 bevinden zich op de ICSP connector.

 

Eén drukknop configuratie:

 

Als alternatief kan jumper S3 gemonteerd worden en op AAN gezet worden.

 

Bediening:

 

Druk kortstondig op de knop om de dimmer aan te zetten. Hou de knop ingedrukt om de LED harder te laten branden. Laat de knop los en hou hem opnieuw ingedrukt om de LED zachter te laten branden. Druk opnieuw kortstondig op de knop om de LED uit te schakelen (soft stop). Druk opnieuw kortstondig op de knop om de LED weer aan te zetten, de LED zal geleidelijk aangaan (soft start) tot het laatste dim niveau.

Het dim niveau wordt opgeslagen in EEPROM bij iedere verandering ervan.

 

 

Twee drukknoppen configuratie:

 

 

Als alternatief kan jumper S4 gemonteerd worden en op AAN gezet worden.

 

Bediening:

 

Druk kortstondig op de knop OMHOOG om de LED aan te schakelen (tot op het laatst gekende dim niveau). Hou de OMHOOG knop ingedrukt om het niveau te verhogen. Hou de OMLAAG knop ingedrukt om het niveau te verminderen. Druk kortstondig op de OMLAAG knop om de LED uit te schakelen.

 

 

 

 

 

 

 

Directe toegang tot 100 percent:

 

Indien gewenst, verbind een schuifschakelaar tussen X en Y of soldeer een schuifschakelaar op de print. Als de schuifschakelaar wordt aangezet, gaat de LED dadelijk 100 percent branden.

 

 

 

 

 

Verbinden van de voeding, LEDs en potmeter:

 

Soldeer de in- en uitgangen rechtstreeks op de aansluitpennen van de spanningsregelaar en mosfet (- = 12V massa, + = 12V, Led- en Led+ naar LED strip – en +). Indien gewenst, soldeer een potmeter aan de groene, gele en oranje draad of soldeer een SMD potmeter op de print:

 

 

Terug naar boven

 

4.             Schema

 

 

 

Componenten lijst

 

Link naar Eagle circuit

 

Om verschillende versies van de print te kunnen maken (zie later) moesten er ook verschillende versies van het schema gemaakt worden. Deze kunnen allemaal teruggevonden worden in het Eagle zip bestand verderop.

 

Terug naar boven

 

5.             Werking

 

(zie schema in vorige paragraaf).

 

Het schema is zeer eenvoudig. Een potentiometer is verbonden met een ADC poort (RA0) en werkt als spanningsdeler. De PIC leest constant de spanning van de potentiometer en vertaalt deze (gebruik makend van een gamma tabel) naar een PWM waarde op poort RC1. De PWM uitgang is verbonden met de gate van de MOSFET transistor Q1 die de LEDs aanstuurt.

 

In plaats van een potentiometer kunnen ook 1 of 2 drukknoppen gebruikt worden als bediening. De PIC leest dan constant het al of niet ingedrukt zijn van de knoppen en hoe lang (als beschreven hierboven in “Gebruik”) en vertaalt dit naar een gepaste PWM waarde. Elke 5 seconden wordt de PWM waarde opgeslagen in EEPROM (tenzij niet veranderd) zodat het licht de volgende keer automatisch naar het laatste dim niveau terugkeert.

 

 

Terug naar boven

 

 

6.             De gedrukte schakeling

 

De print is ontworpen voor SMD componenten.

Ze is enkelzijdig uitgevoerd en ontworpen met Eagle (van Cadsoft).

Hieronder is slechts één versie van de print getoond. Andere versies kunnen gevonden worden in het Eagle zip bestand verderop.

 

 

 

 

 

 

 

 

 

De grote transistor (IRLZ24N) en de spanningsregelaar (LT1085-12) zijn eigenlijk geen SMD componenten, daarom moeten 6 gaatjes geboord worden om deze in te steken. Het is het beste om deze aan de onderkant van de print te steken.

 

PDF bestand (gespiegeld) om af te drukken op een transparent: Print

 

Link naar Eagle bestanden zip bestand bevat alle versies van de print, schema en pdf bestanden.

 

 

 

 

 

Terug naar boven

 

 

7.             Het uiteindelijke apparaat

 

 

Hieronder een paar foto’s van het afgewerkte apparaat.

 

De connector gemarkeerd “-+MCD” is de in-circuit programming interface om te verbinden met een programmer (connecties: - =, massa + = +5V, M = reset, C = clock, D = data).

 

 

 

PIC18F2550 Slimline versie (links de potentiometer):

 

 

PIC18F4550 vierkante versie:

 

 

 

PIC18F4550 Slimline versie (PIC nog niet gemonteerd):

 

 

Terug naar boven

 

 

 

 

8.             Programmeren

 

 

De software is geschreven in C (PIC C18 van Microchip).

Er werd eerst een prototype gemaakt op een Dwengo experimenteer bord (http://www.dwengo.org). Omdat dit bord gebruik maakt van een PIC18F4550, heb ik 2 projecten gemaakt: één voor de PIC18F4550 en één voor de PIC18F2550. Het eerste kan, indien gewenst (verwijder commentaar voor de regel #define DWENGO), gebruik maken van de Dwengo bibliotheek om wat boodschappen op de Dwengo LCD te tonen. De PIC18F2550 versie van het project heeft de Dwengo bibliotheek niet nodig.

 

Het Dwengo bord en bibliotheek zijn niet nodig om dit project te bouwen, enkel de Microchip MPLAB IDE en een PICkit2 compatibele programmer is voldoende.

De software maakt gebruik van de PWM module op de PIC18Fx550 om de lamp te dimmen. Dit gebeurt in 64 stappen.

 

 

Zip bestand dat alle source code, header bestanden en project bestanden bevat: Link to MPLAB projects

 

Verbinding met een PIC programmer.

Pad 5-6-7-8-9 moeten (tijdelijk) verbonden worden met een PIC programmer (5=-, 6=+, 7=VPP, 8=clock, 9=data), bijvoorbeeld een PICkit2 compatibele programmer.

 

Gamma-tabel:

De software maakt gebruik van een gama tabel (g[] in de source code) om een percentage te vertalen naar een juiste duty cycle voor de lamp die visueel correspondeert met dat percentage. Deze tabel is geschikt voor LEDs, ik weet niet wat het effect is op gloeilampen. Mogelijk moet in dat geval de tabel worden aangepast.

 

Terug naar boven

 

 

 

 

Home                         Terug naar Electronica projecten