# 0-10V Digital Rheostat for LED Dimmer?

I have an LED light with a power supply that follows the ISO 60929 0-10V standard for dimming. The manufacturer says "the power supply is current sourcing, and is roughly 0.5mA."

The following diagram is representative of this circuit. The power supply (dimmable driver) is on the left, and the dimmer I would like to build (the controller) is on the right.

There are many analogue controller options available for a dimmer, but I would like to create a digital dimmer using an ESP32 and I²C.

This is where I'm running into a problem. I've found a number of I²C controllable rheostats at DigiKey and elsewhere, but almost without fail their datasheets say the maximum allowable voltage across the rheostat pins is very close to the Vdd that supplies the rheostat IC. Since I'm looking at a Vdd of 3.3V, the maximum allowable voltage is around 3-3.6V, which is completely outside the 0-10V range I need to control.

I found another IC with two supply rails that looks like it might work, the MCP45HV31-104E but as far as similar devices in its product category there are very few, which makes me wonder if I'm approaching this problem from entirely the wrong way (I have a lot of software experience but very little electronics experience unfortunately).

So my question is am I looking at this the wrong way? i.e. is there a different way to hook up a "standard" digital rheostat (one with a voltage range near 3.3V Vdd) such that I can get the full 0-10V range out of it?

Or do I need something like the MCP45HV31-104E to implement a dimmer?

• Looks like the standard you referenced linked to another standard. That standard says "input impedance shall be a nominal $100\:\textrm{k}\Omega\pm$20%" but then also notes that since the controller output might drive multiple receivers, it may need to drive lower impedances. You need a 10 V source voltage available to your ESP32. You can either "pump" it up with software (which works) from your existing supply, or else you can buy such an added power supply. If I were you, I'd just wire up a simple pump and operate it in software. It doesn't need to source a lot of current. – jonk Aug 8 '17 at 18:49
• Link to power supply, please - in the question - not in the comments. – Transistor Aug 8 '17 at 19:10
• @Transistor There isn't any detail on the power supply other than what I've posted (and that from an email I received from their support team). It's a proprietary power supply for an agricultural grow light: bioslighting.com/bios-lighting-icarus-vi-grow-light – par Aug 8 '17 at 19:16

Many of the LED power supplies such as those by Mean Well, etc., offer three modes of control: output constant current level can be adjusted through the control input by connecting a resistance or 0 ~ 10Vdc or 10V PWM signal between DIM+ and DIM-.

To do this the controller input is probably something similar to the circuit below.

Figure 1. PWM controller input.

1. For DC voltage control we just apply the voltage, it gets to the controller with a slight lag depending on the R3/C1 delay and output power is set.
2. For PWM a pulse train would be used as shown in Figure 2. This time R3 and C1 filter the PWM to obtain the average DC value. Output power is set as before.

Figure 2. PWM signal transitioning from high pulse width (75%) to low (25%) and back again. Note amplitude remains constant.

1. If the PSU is able to sense a resistance connected to the input then it must be supplying a current to the input terminals as shown by the constant current source. On the units I am familiar with 100 kΩ gives full brightness so that means the voltage drop across the 100 kΩ is 10 V and I = V/R = 10/100k = 0.1 mA. This theory is supported by the fact that if you use one pot to control multiple fittings that the required pot value is 100/n where n is the number of lamps. This makes sense as each PSU will drive 0.1 mA into the pot. So for five lamps in parallel on the one pot R = V/I = 10/0.5m = 2 kΩ. (Your system is using a 0.5 mA source so adjust R values accordingly.)
2. Finally, if nothing is connected the 0.1 mA will charge C1 to 10 V and give 100% brightness.

It’s simple and flexible.

I suggest that you do a quick test to see if option 2 above works on your lamps.

simulate this circuit – Schematic created using CircuitLab

Figure 3. Interface between micro-controller and dimmer control.

See if you can generate a variable duty cycle dimmer signal with your micro. You can't do any harm as the transistor can only short the 0.5 mA current source to ground as though your pot was turned to minimum.

I might have this wrong as ive not done it with LED ballasts but a number of industrial controllers which take 0-10v control signal voltage. It's not the only way of doing it but personally in your case i would try using a DAC like MCP4725 - which will either give you 0-5v or 0-3.3 depending upon your supply voltage. 12bit is likely more than enough for your dimmer. I would then use an opamp to bring your voltage upto 0-10v range. Even a cheap opamp like an LM324 with a 12v supply should give you about 0-10.8V, use a pot to fine tune max out to allow for voltage drop in control wiring :)

• Thank you, the DAC sounds like a good idea. The power supply sources current over a grey and purple wire pair, and I was envisioning just a basic rheostat sitting on between these two lines. Where do you connect these wires in this configuration? – par Aug 8 '17 at 19:36
• Grey will be common gnd/0V - and opamp out to purple. You could adjust the gain of opamp to control range rather than a pot on output too. I am no EE but this is something I have had success with even though in your case current sourcing vs sinking may have an effect, but not sure why it wouldn't work. As per other answer PWM may work with many controllers and may be simpler to achieve than analog. – Rendeverance Aug 8 '17 at 19:51

simulate this circuit – Schematic created using CircuitLab