Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to control intensity of car headlight from 0-5VDC control signal

Status
Not open for further replies.

mkelly09

Newbie level 6
Newbie level 6
Joined
May 27, 2012
Messages
11
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,407
Hello,

I need to control the intensity of a car headlight (~60W, 12V @ 5A for full intensity) through LabVIEW. I've interfaced an arduino to LabVIEW and can control an output voltage from 0-5VDC with fairly fine control. I need to use this voltage as a control signal for controlling the intensity of a car headlight. The power for the headlight itself is going to be coming from an external power supply (PC power supply that can supply 12V up to 15A)

I need it so that 0V-> car headlight completely off and 5V -> car headlight completely on at full intensity.


What is the way to go about this? Is a voltage controlled current source the way to go? I'm fairly inexperienced with this stuff so any help is appreciated. Thanks in advance!
 

An adjustable current source is a linear circuit that produces a lot of heat. Instead, Pulse-Width-Modulation (PWM) is used at a fairly high frequency that produces only a little amount of heat because the output devices switch completely on and off. The width of the pulses determines the brightness of the light bulb.
 
There are basically two ways:- 1, analogue this is where you use a power transistor to wind up/down the voltage to the bulb. The disadvantage with this is that the transistor will get very, very hot as its dissipating up to 30 Watts or so, so you have to bolt the transistor to a heat sink, like a mini radiator to get rid of the heat. The second way is digital, you still have a power transistor feeding the bulb, but you switch the transistor on hard for different periods of time to get a different power in the bulb. The power transistor will either have .2 V X 5 A = 1watt dissipation or 12 V X .0001 A = .0012W dissipation. The system works like , if you switch the bulb on for 50 % of the time, where the time is a very short period, say .01 seconds, before the filament "lights up", the power is off again, so the average power across the bulb is 30 W(50 % X 60W). Its advantage is NO heat sink and very good efficiency, but its far more complex in terms of electronic devices.
Frank

- - - Updated - - -

Another thought has come to me, because filament bulbs run so hot (>1200 degs C), their resistance changes a great deal (low resistance when cold, high when hot), so if you truely want a linear voltage to light intensity law then you will have to build some sort of law compensator, because I think you will find that at 70 % of the rated voltage there will be virtually no light output, yet the current will be 80 % of the rated current.
Frank
 
There are basically two ways:- 1, analogue this is where you use a power transistor to wind up/down the voltage to the bulb. The disadvantage with this is that the transistor will get very, very hot as its dissipating up to 30 Watts or so, so you have to bolt the transistor to a heat sink, like a mini radiator to get rid of the heat. The second way is digital, you still have a power transistor feeding the bulb, but you switch the transistor on hard for different periods of time to get a different power in the bulb. The power transistor will either have .2 V X 5 A = 1watt dissipation or 12 V X .0001 A = .0012W dissipation. The system works like , if you switch the bulb on for 50 % of the time, where the time is a very short period, say .01 seconds, before the filament "lights up", the power is off again, so the average power across the bulb is 30 W(50 % X 60W). Its advantage is NO heat sink and very good efficiency, but its far more complex in terms of electronic devices.
Frank

- - - Updated - - -

Another thought has come to me, because filament bulbs run so hot (>1200 degs C), their resistance changes a great deal (low resistance when cold, high when hot), so if you truely want a linear voltage to light intensity law then you will have to build some sort of law compensator, because I think you will find that at 70 % of the rated voltage there will be virtually no light output, yet the current will be 80 % of the rated current.
Frank

Thanks everyone for your replies. I do not necessarily need a linear voltage to light intensity relationship. Rather, i simply need to know which voltage i need to apply from the arduino to result in a specific light intensity (which i can measure with a spectroradiometer.). So i can calibrate the setup to account for nonlinearities.

Would a simple setup like the following do the trick?

https://bildr.org/blog/wp-content/uploads/2012/03/rfp30n06le-arduino-lightbulb.png

Where instead of the 0-60V lines it would be connected to the PC power supply +12V line and ground. I could then use PWM output of the arduino to control the light intensity without having to worry about dissipating too much heat.

Would this MOSFET work? https://www.sparkfun.com/products/10213
 

The Arduino produces a 5V output but the Mosfet supplied today from Sparkfun needs 10V. The second Mosfet listed (its input is logic level) will work fine if you buy it someplace else.
 
The easy way is using a LTC6992. Depending on what Mosfet you are using you might be able to get away driving it from the chip (Can sink/source). Adjustment can be done with a simple POT voltage divider.

You could also use the built in PWM on the uP, here you might have to use a driver IC (IR2110)
 

Thanks again everyone for replies.

I wanted to run by a final check of my circuit before i buy the MOSFET.

https://imgur.com/Ca8kJce

And the specific MOSFET I was looking at is the following:

https://www.digikey.ca/product-detail/en/FQP30N06L/FQP30N06L-ND/1055122

It is a logic level gate with maximum power of 75W.

My understanding is that by using PWM output of arduino that the MOSFET will act as a switch and this will solve the concerns with respect to power dissipation and therefore heatsinking the device. I'm obviously looking for the simplest solution here. Is there anything else I should be concerned with before going ahead?

Thanks!
 

Thanks again everyone for replies.

I wanted to run by a final check of my circuit before i buy the MOSFET.

https://imgur.com/Ca8kJce

And the specific MOSFET I was looking at is the following:

https://www.digikey.ca/product-detail/en/FQP30N06L/FQP30N06L-ND/1055122

It is a logic level gate with maximum power of 75W.

My understanding is that by using PWM output of arduino that the MOSFET will act as a switch and this will solve the concerns with respect to power dissipation and therefore heatsinking the device. I'm obviously looking for the simplest solution here. Is there anything else I should be concerned with before going ahead?

Thanks!

First, isn't a car light bulb 55/60Watt? Why not use a mosfet to drive both!? at 75Watt you would be on the limits for one lamp only.
Second, really bad practice to drive the mosfet straight from the arduino pins. For one its dodgy - the mosfet will certainly overheat since there is not enough power to switch on/off quickly enough and the mosfet will work some time in the linear region as it goes from fully off to fully on, for other if the mosfet ever fails it will put 12/14V on the Arduino and will ruin your circuit.

To overcomplicated you haven't stated your PWM frequency. This has a major impact in what kind of driver or power dissipation you will have on the mosfet. For a light bulb 1KHz is more than enought. Higher freuencies will increase linear losses on the mosfet as per the explanation given earlier.

You are missing a gate resistor in series between the mosfet and your uP. This helps avoid ringing.

Simple is not always the best long term solution ;)
 
First, isn't a car light bulb 55/60Watt? Why not use a mosfet to drive both!? at 75Watt you would be on the limits for one lamp only.
Second, really bad practice to drive the mosfet straight from the arduino pins. For one its dodgy - the mosfet will certainly overheat since there is not enough power to switch on/off quickly enough and the mosfet will work some time in the linear region as it goes from fully off to fully on, for other if the mosfet ever fails it will put 12/14V on the Arduino and will ruin your circuit.

To overcomplicated you haven't stated your PWM frequency. This has a major impact in what kind of driver or power dissipation you will have on the mosfet. For a light bulb 1KHz is more than enought. Higher freuencies will increase linear losses on the mosfet as per the explanation given earlier.

You are missing a gate resistor in series between the mosfet and your uP. This helps avoid ringing.

Simple is not always the best long term solution ;)

Thanks for the reply.

I only need to drive a single headlight for this application; that's why I chose 75W. I added a 300ohm resistor between the arduino pin and the gate of the MOSFET. My understanding is this will prevent the arduino from being ruined if the MOSFET fails. Second, since the MOSFET is a logic level gate, doesn't that mean that the arduino output should provide enough power to switch on and off the mosfet to prevent overheating?

PWM frequency for arduino is 490Hz.
 

the MOSFET is a logic level gate, doesn't that mean that the arduino output should provide enough power to switch on and off the mosfet to prevent overheating?
You are correct. I looked at only the first page of the datasheet where it says 10V for the gate.

Heating is caused by the on-resistance of the Mosfet and the amount of drive current available to quickly charge and discharge the high capacitance of the gate.
The on-resistance is low which reduces the heating but the current from the Arduino is low and the 300 ohm gate resistance (10 ohms is frequently used) also reduces the current and slows down the switching speed which causes heating. Luckily your switching frequency is low so the number of times per second that the heating blips occur are low.
 

Thanks for the reply.

I only need to drive a single headlight for this application; that's why I chose 75W. I added a 300ohm resistor between the arduino pin and the gate of the MOSFET. My understanding is this will prevent the arduino from being ruined if the MOSFET fails.
PWM frequency for arduino is 490Hz.


Well... You should really have a good read about mosfets. The Spark Fun page you listed has some important comments.
The resistor between the arduino pin and the mosfet is not there for protection, is there to avoid gate ringing. Typical values range from 4 to 10Ohm. If you want protection you'll need an opto-isolated circuit or protected gate driver.

Second, since the MOSFET is a logic level gate, doesn't that mean that the arduino output should provide enough power to switch on and off the mosfet to prevent overheating?

No. A mosfet is a voltage driven device. It also reassembles a capacitor, since the gate has some capacitance.
Basically, when you first apply power said capacitance will slowly lead to a voltage increase all the way up from 0 to whatever your VGS voltage is (5V Here). How fast this is done depends on the ammount of current you can provide. Lower currents lead to increased time rising the voltage and during this time the device is working in linear mode. Same thing happens when you switch the mosfet off, the gate capacitance will slowly decrease the voltage, again linear mode until it is fully off. Note that to switch the mosfet only you need to conect it to GND, not simply remove the supply voltage. Thats the function of the 10KOhm resistor - Protects the mosfet in case the connection from the gate to whatever it is driving it is lost.

Any mosfet driver will provide about 300-1500mA of gate current to quickly raise the gate voltage to the saturation level. They also allow a greater voltage on the gate to accomplish this FASTER. An arduino will only provide a few mA. This is fine if you only plan to switch a light on or off slowly, for PWM a gate driver is advised.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top