I need to control a dimmable e-ballast with a voltage varying from 0 - 10VDC using an Arduino Uno. My Uno is connected to Xbee and therefore can be control wirelessly. The voltage will vary depends on the control input from the xbee and therefore lights will turn ON/OFF and dim accordingly.
Currently I am using KA317 with a AD5290 to vary the resistance at the ADJ pin of the KA317. However the limitation to this method is that the KA317 cannot go below 2V which means that my dimmable e-ballast cannot switch off totally.
I am checking whether anyone had any idea of any SOC voltage regulator that can be connected to Arduino digital pins, I2C or SPI to vary the voltage from 0 to 10VDC?
Actually, I think LM317 type v.regs can go as low as 1.2V, with the reference pin grounded.
If you want lower, try putting a 1N400x diode in series with the Vout pin.
Dropping the voltage to turn off doesn't look like the best way. If your dimming
looks good. I would use a extra pin to shut the power off with a power MOSFETs
Will put an SSR to turn ON/OFF the live to dimmable ballast. But is there a chip that can do the voltage regulation from 0V to 10V or 1.2V to 10V interfacing with a UNO straight?
winner10920 already told you the best way, is there a chip? maybe ... but its not going to get any easier than using the analog out function of the arduino to tickle a transistor and smoothing the output with a fat cap
There's. A formula and many calculators online too that will tell you the ripple and response time of any RC lowpass filter at a particular frequency, less ripple makes it less responsive and vice versa
Personally I'd use an R-C filter on one of the PWM pins followed by an op-amp to double the voltage. However, if the input resistance of the device you are driving with 0-10V is high enough, then you can use an NPN transistor followed by the R-C filter, as has already been suggested.
oric_dan(333):
Actually, I think LM317 type v.regs can go as low as 1.2V, with the reference pin grounded.
If you want lower, try putting a 1N400x diode in series with the Vout pin.
If you connect the reference (the resistor that goes between Vout and Adj) to the "output" end of the diode, the 317 will regulate out the diode drop and still give you minimum 1.2v.
If you connect the reference BEFORE the diode, you will get approximately 1.2-0.7 volts minimum out, but the regulation will be poor due to the variance in forward drop of the diode at different currents.
I can't give you a shematic, right now anyway I'm on my phone, but yes a 10-12v supply would be neccesary although you could probably get away with a small booster circuit if the input impedance of the ballast is small
But the circuit will be a simple transistor switching the 10v supply and passing that thru a lowpass filter
The op amp solution needs a 12V supply. Is that a problem? If so, and the input resistance of the device is high enough, then you could instead use a small audio transformer to step up the PWM output to 10V. Post a link to the device you want to control.
Unfortunately the datasheet doesn't give the input resistance, however if it follows the specification at 0 to 10V Analog Control Protocol then it should be 100K.
If you want to avoid the need for a 12V supply then you could use a transformer instead. See attached schematic. The values shown assume the default Arduino PWM frequency of 490Hz. The transformer needs to have a ratio of around 1:2.5 or a little higher and be designed for audio applications. The major component distributors stock suitable transformers. Here's an example that would probably do the job: http://uk.farnell.com/triad-magnetics/ty-303p/transformer-data-voice-coupling/dp/1824906.
If you increase the PWM frequency to a much higher value, then you can use lower value capacitors and a smaller transformer, such as a home-made one wound on a ferrite toroid.