1
\$\begingroup\$

I am aiming to use the TPS929160-Q1 LED Driver for a project. Basically I need to drive LEDs with PWM signal from a MCU (which this component can do very well) but the project also requires to be able to control the current sent to each LED output. As you can see in the picture, the current can be set via Rref. What I would like to do is to drive this "REF" pin with a voltage instead of this resistance, or be able to change this resistance with a voltage. I have been looking everywhere for voltage controlled potentiometer but I only seem to find solutions involving the "ohmic zone" of JFET which is not very linear.

A solution I had in mind would be to use a DAC to control different switch (transistors or whatsoever) that would connect parallel resistances and creating a Rref, but I do not know how to implement it. I know that the Iout can be programmed with the MCU but I need it to be analog as the MCU will then be disconnected.

Here are my requirements and information regarding the answer I got The analog signal to control this pin would range from 0 to 28 V and I would need a output current of maximum 35 mA (LEDs If max). From what I understood, the current output is directly equal to the current sent to the REF pin, multiplied by K (which is programmable, and equals 512 by default). So to have Iout range from 0 to 35 mA, I would need a current in the REF pin equal to 70 µA?

enter image description here

Thanks in advance for the help!

\$\endgroup\$
6
  • \$\begingroup\$ Two things: You don't need to control the output channels independently, right? Also, you state "I know that the Iout can be programmed with the MCU but I need it to be analog as the MCU will then be disconnected." I'm assuming you mean discontinued? Either way, where do you plan on getting the analog source that does the controlling? \$\endgroup\$
    – MOSFET
    Feb 23 at 2:40
  • \$\begingroup\$ @MOSFET I mean that I intend to program the TPS929160-Q1 with a MCU, and then rely on the EEPROM memory so that the MCU is no longer needed for my application once the component is programed (this is one of the requirements of the project). And no I don't need to control the outputs independently, the analog signal would be a "master signal" \$\endgroup\$
    – Nucrino
    Feb 23 at 8:14
  • \$\begingroup\$ @MOSFET as for the analog signal, it is a 0-28V signal that is controlled by a variator \$\endgroup\$
    – Nucrino
    Feb 23 at 8:15
  • \$\begingroup\$ Does it have to go to zero current? Where I'm going with this is that you might need a negative supply if you want the full (down to zero) range. If so, your solution is trivial. The simplest thing to do is set up a 28V to 1.225V voltage divider (84M and 1M1 is close) Program for K for the 64 multiplier. The downside is voltage is inverted: 28V will be off and 0V will be full current. \$\endgroup\$
    – MOSFET
    Feb 23 at 8:37
  • \$\begingroup\$ From what I read on the datasheet page 10 figure 6-2, the current output cannot be under 8mA so the range would be 8-35mA but I'm not sure i understand it correctly... As for your solution, you would connect the coltage divider directly to REF pin ? I'm not sure I understand how it works \$\endgroup\$
    – Nucrino
    Feb 23 at 8:48

3 Answers 3

2
\$\begingroup\$

The LED driver will provide a constant reference voltage of 1.235 V at the REF pin and measures the current to GND through a resistor.

If you connect the resistor to the output of a DAC instead of GND, you can reduce the current with rising DAC voltage.

An additional voltage divider is needed to use the full DAC voltage range, here 3.3 V.

schematic

simulate this circuit – Schematic created using CircuitLab


Another option is the use of a current mirror. Q1 and Q2 should be thermally coupled, or even better, inside one case.

R2 sets a reference current and the DAC modulates this via R1.

The advantage here is, that the current is turned off at MCU power off.

schematic

simulate this circuit


A third option are programmable potentiometers or rheostats with permanent storage like MCP4542T-503E. These are very useful if the last configured value should be availabe at power on.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for your time ! I am not sure that I understand what are V2 and V_SUM in your first circuit ? I added additionnal informations in my original post for better understanding of my problem. Would I need to control the DAC with digital informations for it to provide voltage ? As for the digipot I have been looking into that but it is a no go for this application sadly . \$\endgroup\$
    – Nucrino
    Feb 23 at 8:29
  • \$\begingroup\$ To summarize : my 0-28V signal has to create a 0-70µA current (or close) to send to the REF pin. I could use a voltage divider to make it 0-2.8V as you recommended it \$\endgroup\$
    – Nucrino
    Feb 23 at 8:30
0
\$\begingroup\$

I like Jens' idea of using a potential other than 0V to sink current to, via a fixed resistance. I'd like to add that it's not difficult to build a very stable and precise means of producing such a potential:

schematic

simulate this circuit – Schematic created using CircuitLab

The goal is obtain \$V_B\$ going from +1.2V to 0V, for an input \$V_{IN}\$ going from 0V to +3.3V respectively.

In this arrangement, the potential at node B is:

$$ V_B = V_A\left(1+\frac{R_4}{R_3}\right) - V_{IN}\frac{R_4}{R_3} $$

By plugging in the above corresponding values for \$V_B\$ and \$V_{IN}\$, you obtain two simultaneous equations for which one can find \$\frac{R_4}{R_3}= 0.36\$ and \$V_A=+0.88V\$.

Since the IC provides \$V_{REF}=+1.235V\$, it's easy to find \$R_1\$ and \$R_2\$ that will produce +0.88V at A.

\$R_{SET}\$ is connected between the op-amp output and REF, and so will pass current \$I_{SET}\$:

$$ I_{SET} = \frac{V_{REF} - V_B}{R_{SET}} $$

Given the two extremes \$V_B\approx 0V\$ and \$V_B=+1.2V\$, \$I_{SET}\$ will vary from 5.5μA and 190μA.

Bias resistors R1 and R2 will pass current \$I_{BIAS}\$:

$$ I_{BIAS} = \frac{V_{REF}}{R_1 + R_2} = 7.5\mu A $$

\$I_{REF}\$ is the sum of \$I_{BIAS}\$ and \$I_{SET}\$, and so will lie within the range:

$$ 13\mu A < I_{REF} < 198\mu A $$

That current range corresponds to:

$$ 0V < V_{IN} < +3.3V $$

enter image description here

C1 is the recommended capacitance from the datasheet, which I suspect is for frequency compensation of the IC's internal error amplifier loop.

I added C2 to reduce the slew rate that OA1 is able to produce. My worry is that sharp changes in current sunk from REF might cause REF to oscillate or ring. If it does, try increasing C2. The side effect of C2 is to slow the response of \$I_{REF}\$ to changes in \$V_{IN}\$. I recommend you keep C2, but only because I don't know how that IC will react without it. Nothing's stopping you from trying without C2.

\$\endgroup\$
0
\$\begingroup\$

If you can deal with the inverted signal, 28V input -> 0 current output, and 0V input -> 35mA output the circuit would be (k =64):

schematic

simulate this circuit – Schematic created using CircuitLab

Your going to have to disable the "open ref resistor" faults to do it this way because the device needs a minimum of 10uA through the ref pin; there is no current through this pin when the voltage is set to 28V. If you need to leave the open resistor fault modes active, adjust the divider to guarantee a minimum 10uA when your input is 28V.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.