Auto
knipperlicht relais
1.
Inleiding
Een autoknipperlicht relais wordt gebruik om de knipperlichten van een
auto te laten knipperen. Als je deze vervangt door LED exemplaren, zal het
relais waarschijnlijk niet meer werken omdat LEDs minder stroom verbruiken dan
de originele gloeilampen. Het relais heeft een minimale stroom afname nodig
vooraleer het begint te knipperen.
Vervangexemplaren voor het knipperrelais compatabel met LEDs zijn wijd
verspreid. Dus waarom heb ik er zelf een ontworpen? Omdat ik geen enkel relais
kon vinden dat aan volgende eigenschappen tegemoet kwam:
-
compatibel met ZOWEL LEDs als klassieke gloeilampen
(tot 100W)
-
4 aansluitpunten, waarvan één een aparte uitgang voor
het dashbord verklikkerlichtje
-
met aanpasbaar blip-blop geluid tijdens het knipperen
-
aanpasbare knipperfrekwentie
Deze schakeling is gebaseerd op de PIC 18F2550
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 apparaat is opgebouwd rond een PIC18F2550 en een LM386 (voor het
geluid). Het basisprincipe is dat de PIC de spanning meet net vóór en achter
een shunt weerstand die in serie staat met de lampen/leds. Als de
richtingaanwijzer in het midden staat, stroomt er geen stroom door de lampen,
en is de spanning vóór en na de shunt hetzelfde. Als de richtingaanwijzer naar
links of rechts wordt gezet, gaan de linker- of rechterknipperlichten branden
en zal er een klein spanningsverschil optreden vóór en na de shunt. Dit is de
aanzet om een vertraagcyclus te starten, die eerst 400 ms wacht en niets doet
(lampen blijven gewoon branden) en dan wordt een relais geactiveerd om de
lichten uit te zetten, ook voor ca. 400 ms. Dan wordt het relais gedeactiveerd
en wordt het spanningsverschil opnieuw gemeten en indien er nog een verschil
is, herhaalt de cyclus zich.
3.
Gebruik/aansluiting
In sommige (oudere) auto’s ziet de verbinding tussen knipperrelais,
knipperlichten en richtingaanwijzer er ongeveer als volgt uit:
De blauwe rechthoek stelt het knipperlicht relais voor, hetwelk de
electronica bevat om de lichten te laten knipperen. De “knipper”-output is
beschikbaar op stekker “L” en moet verder gedistribueerd worden door de
richtingaanwijzer naar de linker- of rechter knipperlichten. De “P” stekker is
bedoeld voor een verklikkerlichtje in het dashboard. Verder zijn nog de “+” en
“-“ stekkers verbonden met resp. de + en – van de autobatterij.
Het hier beschreven circuit vervangt het origineel knipperlicht relais
(blauwe rechthoek) en voorziet in alle vier de aansluitingen “-“, “+”, “L” en
“P”. In diverse auto elektrische schema’s worden deze aansluitingen soms ook
aangeduid met:
-: GND, MASS,
EARTH, 31, C
+: PLUS,
49
L: OUT, LOAD,
49a
P: PILOT,
R, WARN, IND, C2
Enkele foto’s van het nieuwe knipperlicht relais, een beetje groter dan
het origineel:
Het apparaat wordt gebruikt in mijn Fiat Ducato camper, alle 4
aansluitingen werden rechtstreeks in de sokkel gestoken waarin het origineel
relais zat, onder het handschoenkastje:
4.
Schema
5.
Uitleg van het
schema
(Zie het schema hierboven).
R5_SHUNT is de shunt weerstand doorheen welke de stroom loopt voor de
knipperlichten. Deze weerstand, zelf te maken, moet goed ontworpen zijn, in die
zin dat het spanningsverschil vóór en na de shunt nog groot genoeg is om
gemeten te kunnen worden door de ingebouwde ADC converter van de PIC (dewelke
slechts 10 bit is), zelfs met LEDs die toch een pak minder stroom verbruiken.
Dus de waarde voor de weerstand moet groot genoeg zijn (vb. 0.1 Ohm) maar niet
te hoog, want indien we klassieke gloeilampen zouden gebruiken i.p.v. LEDs
willen we niet dat er teveel spanningsverlies is en het is ook niet gewenst dat
de shunt te warm wordt of opbrandt. De shunt kan gemaakt worden met bv. een
stukje weerstandsdraad van een oude broodrooster.
Het K1 relais helpt mee om de warmte productie in de shunt weerstand te
minimaliseren. De contacten van dit relais staan parallel op de shunt en het
relais wordt geactiveerd zodra er een spanningsverschil is vastgesteld, en
blijft aan voor de rest van de aan-cyclus.
Het K2 relais is het eigenlijke knipperlicht relais dat de
knipperlichten afwisselend aan en uit zet.
Het K3 relais dient om het verklikkerlichtje in het dashboard aan te
sturen.
IC1 is de PIC microcontroller.
IC2 is de spanningsregelaar om 12V om te zetten naar 5V, nodig voor de
voeding van de PIC.
IC3 is de IC voor de geluidsproductie, om het typische klik-klak geluid
van de relais te vergezellen van een leuk blip-blop geluid tijdens het
knipperen.
6.
De gedrukte
schakeling
De print is ontworpen voor SMD componenten en dubbelzijdig uitgevoerd.
Bovenkant (gespiegeld):
Link naar hoge resolutie PDF (gespiegeld) van de
bovenkant (gebruik deze om de layout af te drukken op een
transparent)
Onderkant:
Link naar hoge resolutie PDF van de onderkant (gebruik deze
om de layout af te drukken op een transparent)
Enkele foto’s van de print:
Hieronder de componenten layout van de print:
Hierbij ook nog de componenten lijst.
7.
Calibratie
Vóór het eerste gebruik dient het apparaat gecalibreerd te worden. Om
het spanningsverschil vóór en na de shunt te meten, wordt gebruik gemaakt van
twee analoge poorten (AN0 en AN1) en twee spanningsdelers (R1/R2 en R3/R4).
Omdat de weerstandswaarden niet 100% nauwkeurig zijn, moeten de spanningsdelers
met elkaar “gematched” worden. Dit noemen we calibratie.
Om het apparaat te calibreren: sluit niets aan op de uitgang, en zet een
doorverbinding op jumper X3. Zet dan spanning op het apparaat, dat nu in
calibratie modus zal starten (te herkennen aan de groene LED die 5 keer
knippert). Daarna is de calibratie gebeurd en volgt een pauze van twee seconden
gedurende dewelke de groene LED uit is, gevolgd door het opnieuw enkele keren
knipperen van de LED (het aantal keren knipperen vertegenwoordigt nu de
calibratie waarde).
Neem de voedingsspanning weg en verwijder de jumper op X3. Het apparaat
is nu gecalibreerd. De calibratie waarde is opgeslagen in EEPROM voor de
volgende keer.
8.
Programmatie
De software werd in C geschreven (PIC C18 van Microchip) en gecompileerd
tot een hex bestand.
Het prototype van het apparaat werd uitgevoerd op een Dwengo
experimenteerbord (http://www.dwengo.org). Omdat dit
bord een PIC18F4550 gebruikt, heb ik twee projecten gemaakt: één voor de
PIC18F4550en één voor de PIC18F2550 (het uiteindelijke ontwerp). Het eerste
gebruikt tevens de Dwengo bibliotheek om wat debug boodschappen op het Dwengo
LCD te zetten, het tweede heeft de Dwengo bibliotheek niet nodig.
Je hebt het Dwengo bord en bibliotheek niet nodig om dit project n ate
bouwen, alleen de Microchip IDE en een PICkit2 compatibele programmer volstaan.
Zip bestand die alle source code, header bestanden en project bestanden
bevat: link naar MPLAB projecten
Verbinding met een PIC programmer.
De ICSP header moet (tijdelijk) verbonden worden met een PIC programmer,
met de contacten in deze volgorde: -, +, VPP, clock, data. Je kan eender welke
PICkit2 compatibele programmer gebruiken.
9.
Customizaties
If you want to customize the software, have a look at KnipperRelais.c in which you can change various
defines:
Indien je de software naar je wensen wil aanpassen werp dan eens een
blik op KnipperRelais.c waarin je de
volgende defines kan aanpassen:
MAXCOUNT_ON de
tijd dat de knipperlichten aan blijven in veelvouden van DELAY_TIME (ongeveer)
MAXCOUNT_OFF de
tijd dat de knipperlichten uit blijven in veelvouden van DELAY_TIME (ongeveer)
DELAY_TIME vertragingstijd voor de hoofdlus
TRESHOLD1 gevoeligheid van de spanningsverschil
meting
Home Terug naar Electronica projecten