Hi everybody !
Sorry in advance about my bad English.
I've done some Arduino basics and now feel a little bit more friendly withe the beast ![]()
I know how powerful Arduino can be and I recently encountered an issue on my car that an Arduino with some MOSFET and power resistor could solve !
Here is the situation : I want to change all bulbs of the car (from hallogen to LED). Think quite easy on a lot of cars but not on mine (Opel Vectra C).
When I decide to replace a bulb by a LED, I got of course the issue on the OBD telling me that a bulb is faulty but, I know that well calculated power resistors in // can solve this.
The main issue is the way the car detects if a bulb is faulty, it sends short pulses (aprox. 100ms) of +12v every 3 sec on every bulbs (not at the same time). With a fillament, it does not have the time to heat and it's okay. But as LED draw much less current, they blink / flicker / stobe (don't know which term is the good one ^^).
This is happening on each bulb when the car is unlocked (while driving, when stopped and so on).
Still the LEDs work fine ![]()
The issue is that people on the road stop me to tell my that christmas is passed from two months xD.
Here are the things I know :
- The LED all flicker at a frequency of 0.33 Hz for a peak at 11.7v lasting 100ms.
- The do not flicker at the same time
- Almost all of the bulbs are driven by +12 DC when on and 0V DC when off.
- Some of them (rear tail light, rear break light) are working with a PWM signal when on. Which has a frequency of 68 Hz, Ton = 3mS / Toff = 11.7mS) and reaching 11v aprox.)
- The total resistance of the circuit should be 120 ohm so the OBD does not find any error.
So, I was thinking about a program that would read every wire going to a specific bulb and decide whether it's the flicker, a PWM signal and a normal 0/1 signal.
The arduino would be between the LEDS and the ECU's watching and routing the signals without the "flicker issue" that I got.
The program would do a routine every .... (I still don't know) and make sure every LED are OK, knowing that the anoying signal that flicker could be used for that, how ?
As the user would switch a light on, some +12 V DC or PWM signal would be sent to the arduino that would send it to the correct LED bulb.
And when the light is off (from the user), "catch" the flicker signal and use it or filter it...
The command would work with MOSFET transistors at each OUTPUT of the arduino and a tension divider would make the INPUTS at 5V so it does not dammage the arduino.
That's it for the idea, hope you understand what I mean, if not tell me ![]()
About the code part, that's where I strugle a lot...
Here are some ideas that I had but have no clue of how to put them together...
- PulseIN was a good idea for the PWM signal, but I saw that the Arduino cannot watch other pin while counting on a PIN. PinChangeInt library seems to be a good idea but I don't know how to use it in my case (read a lot about it before asking you friends).
- About the strobe signal, I do not know how to handle it, PulseIN was also a good idea but still the same problem and 100ms peak is too short maybe ? I also thought acting like a push button making a state that would remain for a certain time so the test can be done without strobering LEDs.
- For the DC +12v / 0v, I thought about simple inputs and outputs...
Hope my explainations are clear enough and my English good enough... And also sorry for being a newbie that wanna learn ![]()
By advance, I thank you.
Regards