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.

 

Terug naar boven

 

 

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.

 

Terug naar boven

 

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:

 

 

 

 

 

Fiat Ducato flasher relay socket

 

 

Terug naar boven

 

 

 

 

 

 

 

 

 

 

 

 

4.             Schema

 

 

 

 

 

 

Car flasher relay schematic diagram

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link naar het Eagle schema

 

 

Terug naar boven

 

 

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.

 

 

 

 

Terug naar boven

 

 

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)

 

Link naar Eagle pcb

 

 

Enkele foto’s van de print:

 

             

 

 

Hieronder de componenten layout van de print:

 

 

 

 

Hierbij ook nog de componenten lijst.

 

Terug naar boven

 

 

 

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.

 

 

Terug naar boven

 

 

 

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