I am designing a controller for an LED matrix. The controller which must provide a constant 15mA where only ONE LED is turned on at a time.

One of the features of this implementation is the high resistance of the transmission lines (modelled by R,) which can reach a maximum of 200ohm. (Not because of distance but because of its small cross-section.)

For that I decided to implement an AL5810Q, which is a linear LED driver where the current can be set with only one external resistor following $$I_{LED}=\frac{750}{R_{SET}}.$$ With that, since I need a current of 15mA I calculated an external resistor of 50kΩ.

The schematic of the circuit I have implemented is as follows:

enter image description here

The input voltage is 12V and Vled is ≈1.9V.

Plotting the current versus the different resistances when the duty cycle is varied from 0% to 100% I get the following. (Current consumption is measured at Vin)

enter image description here

This is where in my opinion there is strange behavior. I understand that for the module to work \$V_{Led} + V_{R} + V_{overhead} < V_{supply}\$ must be fulfilled.

With a 12V supply, with up to 700ohms I should be in the safe zone, therefore the current should be constant independent of small R variations.

On the other hand, I know that the 15mA is nominal since there is a variation of about 40%, however by measuring the correct output current that variation is fixed. (Datasheet page 4, I_in_out.)

Can anyone guide me on how I can make this regulator a stable current source?

  • \$\begingroup\$ For me it seems very counterintuitive that at 500 ohms the current is on the nominal value again. You have noted that the duty cycle has some constraints? Not sure what you have taken as V_overhead, but I calculate the limit to 540 ohms (2V overhead as <= 100 mA). \$\endgroup\$
    – Arsenal
    May 31, 2021 at 9:33
  • \$\begingroup\$ Are you sure your PWM frequency is within the 200 Hz to 500 Hz range as stated in the datasheet? \$\endgroup\$
    – jaskij
    May 31, 2021 at 9:43
  • \$\begingroup\$ @JanDorniak Yes, I measured with an oscilloscope. I'm doing 200Hz. \$\endgroup\$ May 31, 2021 at 9:53
  • \$\begingroup\$ @Arsenal I agree, I even did the measurement two times since I thought I made a mistake, each point in the graph are 5 different measures. As overhead voltage, I considered 2V as stated in the datasheet as "Vin_out" in the first table, page 4. \$\endgroup\$ May 31, 2021 at 9:57

1 Answer 1


The IC need at least 2V voltage drop, the LED you say takes 1.9V. Let's do some math:

$$R=700\Omega \ ;\ I=15mA $$

voltage drop on resistor: \$V_R=700\cdot 0.015=10.5V\$

Now add LED voltage an minimal IC voltage, you get approx. 14V minimum, so it can't work at 12V.

The max resistance could be approx (12-5)/0.015 = 470 ohm.

  • \$\begingroup\$ Your reasoning is correct in the case of the 700 ohms resistor, I was wrong with that calculation, thank you for that. However, it does not explain what happens in the graph. As I specified at the beginning of my query, the maximum impedance of the line is 200 ohms, which produces a voltage drop of 3V on the resistor, in total 6V. Plenty of room still to operate and, "in theory", maintain a constant current. \$\endgroup\$ May 31, 2021 at 10:05
  • \$\begingroup\$ @Smart_Celery Short circuit Drain and Source of the N-MOSFET and repeat the measurement again. It could be that there are issues on the PWM driving, also. \$\endgroup\$ May 31, 2021 at 10:09
  • \$\begingroup\$ Now we are getting closer to my problem. Under your logic (which I agree) the currents should remain constant up to a resistance of 470ohms. Once that value is surpassed, we should see erratic behavior. And, by changing the duty cycle only, that value is changed. \$\endgroup\$ May 31, 2021 at 10:10
  • \$\begingroup\$ I just did what you told me from 0 to 300 ohms. The values are the same as for a 100% duty cycle. \$\endgroup\$ May 31, 2021 at 10:28

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.