Главная > In English > Current sense resistor hack

Current sense resistor hack

This story began when I bought a power RGBW LED to experiment with.

Inside this amazing part you can actually find as many as four independently connected LEDs, requiring a constant current. So this time I decided that there’s no point in reinventing the wheel and proceeded to use of a LED driver IC ZXLD1360 (you can see its standard application circuit below).

The target current is set by means of a current sense resistor, which can be calculated according to this simple equation found in datasheet:

IOUTnom=0.1/Rs, where Rs must be >0.1 Ohm.

Hence, for example, its value for 350mA output current is 0.286 Ohms. It’s obviously non-standard value, you know. Moreover, I guess it can hardly be derived by combining standard value resistors. Nevertheless, its tolerance directly affects output current tolerance. So how can we overcome this difficulty?

Hey, I have a solution that will save the world from this great trouble! Just use any resistor which is greater then the target value, and divide the voltage from it with a potentiometer. Like this:

The driver’s current sense input has a fixed threshold. As soon as voltage on that input reaches this value, IC knows that the current has reached desired limit and stops increasing it. Voltage on the resistor is directly proportional to its current, so the greater resistor value is, the lower current limit is, cause the threshold voltage will be reached while lower current flows through the resistor. But if we divide the voltage by the appropriate number of times, we can freely alter actual current at which IC will sense the threshold with any resistor greater then calculated.

This principle eliminates the need in precise low-value resistors and allows to choose comfortable resistor values.
The resistance of a potentiometer is much greater than a value of a current sense resistor, and input resistance of an IC input is greater than a value of a potentiometer. So the potentiometer
has no significant side influence on the circuit operation.

Wise people who read datasheets can ask me why not using ADJ dimming input to achieve the same. But I have different plans on that pin. And note that there are drivers which have no dimming input, so my method is the only suitable for them (or you have to make that custom resistor yourself).

One note on the schematic: if you’re going to control the driver with PWM, then do not install C2.

This circuit was assembled and tested:

Measured efficacy is 94% and the current is set precisely, so the experiment can be considered succesful.

Рубрики:In English
  1. Joe
    19/12/2012 в 19:32

    Very good english indeed. So if i understand correctly you would not need a dedicated shunt resistor, but any general resistor will do?

    • YS
      20/12/2012 в 16:49

      Thank you. This was my first attempt to write in English something that large. 🙂

      Yes. The point of this method is to allow you to use any resistor which approximately fits into calculated range (but which is necessarily greater than calculated). For example, when we need precise 0.286 Ohms resistor (as in the example above), we can use 0.5 Ohms, 1 Ohm, 5 Ohms, 10 Ohms, anything that is greater than that value, and compensate this mismatch with a potentiometer. Of course, greater resistor results in greater power loss, so the best practice would be to use the closest value.

  2. Vga
    26/09/2012 в 00:14

    Quite good English. Ну, насколько я вообще могу судить, разумеется)

    • YS
      27/09/2012 в 00:42

      Thank you (I’ll comment here in English in order anyone who comes here could understand the discussion).

      By the way, now I actually think about writing my blog entirely in English. But I’m afraid I can lose my Russian readers. And of course, I’m aware of the fact that my English is not perfect.

      • Anon
        02/01/2013 в 12:36

        Your English is good enough to understand it. Why not write it completely in English? (I don’t speak/read/write russia…)

        • YS
          02/01/2013 в 19:09

          The first reason is that I have been blogging in Russian for several years, so there’s an amount of people who appreciate my work; but maybe their knowledge of English isn’t good enough to continue to follow my blog if I change the language. So I’m afraid to lose their attention.

          The second reason is that I don’t think that every post here deserves to be translated to English — many of my posts are about too local topics, and would be uninteresting worldwide.

          The third reason is that my knowledge of English is, of course, very limited. In Russian I try to make my posts valuable not only from the technical point of view, but also literary. Something in Wodehouse / Twain / O. Henry style. Yes, all of them were English-speaking authors, but I don’t know English to their degree. 🙂

          But, of course, I will try to duplicate every valuable post in English. For example, now I’m working on an internet radio player based on a cheap TL-MR3020 router. So when it is done, I’ll post complete article in both languages. But there’s another issue — nowadays I got a new job, and have almost no time to make something worthful. But if such a thing happens — be sure it will be told on both languages.

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s