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.
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
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:
4.
Schema
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.
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.
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.
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):
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.
Home Terug naar
Electronica projecten