This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS63020: TPS63020: Conversion into constant-current mode??

Part Number: TPS63020
Other Parts Discussed in Thread: INA138, TINA-TI, INA213, INA193, INA214

I need to convert  the TPS63020 into a constant-current source.  The reason for choosing the TPS63020 is that it is the only part I can find on Digikey or Mouser that is suitable for out application due to input voltage requirements and output voltage/current demands.    The way I want to do this conversion is to use a small sense resistor in series with the load and use the voltage generated across it as input to the INA138 current sense amplifier.  The INA138 has a transconductance of 200uA/V.   The output current from the INA138 can be used to generate the feedback voltage into the FB pin of the TPS63020.  

I simulate the above condition in TINA-TI, and to the first order, it appears to work well.  A VCCS set to transconductance = 200uA/V is used to model the INA138 output;  this output current is converted to a feedback voltage via the 50k resistor.  With a 50m sense resistor, the TPS63020 will raise its output voltage to push exactly 1A of current through the load.  The load is just 2 LEDs in series here for the simulation purposes:

( The TPS63020 transient model was taken from TI's SpiceRack, fyi )

However on my physical TPS63020 circuit, on the actual PCB, with the exact same circuit except the VCCS is replaced by the INA138,  I see the output voltage output varies wildly. The input current also varies wildly, and when I probe the switch node I am seeing erratic behavior on duty cycle and even switching levels.  This I do not understand.  Some scope captures below (Yellow is switch node:   Green is output voltage) :

Can anybody from TI comment on what I am seeing when I probe these waveforms?  Why does it seem the TPS63020 cannot regulate in this configuration?  

What can I do to adapt the TPS63020 to a constant-current source using the INA138 as my current-sense amplifier?   Could this be a control loop problem?    Is there a way to modify the control loop in the absence of an external compensation pin?  

Thanks in advance for reading.  

  • Hi Adam,

    I will assume that your PCB layout follows the recommendations from the datasheet. It isn't a bad idea to check the converter in voltage feedback mode - just add a resistor from FB to VOUT, and remove the INA circuit and the load. This way you will know that he problem is in the feedback path. Also I will assume that you are correctly using the INA138. If you are measuring current on the low side it might be that the common mode voltage is too low for the INA138.

    Otherwise, this looks like a control loop problem. I would try adding a capacitor in parallel with the 50 kΩ resistor, 100 pF for the start, and then increase it until the circuit is stable. If you have startup problems, put that capacitor from FB to VOUT instead of in parallel with the 50 kΩ resistor.

    If you don't mind monitoring current on the low side and using somewhat larger shunt resistor, you can do it without the current shunt monitor, refer to this application report:
    www.ti.com/.../slva419b.pdf

    Best regards,
    Milos
  • Milos,

    Thank you for the prompt response!  Yes, the proper PCB layout has been followed:  tight, compact, plenty of GND vias and a solid GND plane.  I did convert ( hack ) the PCB by cutting traces and soldering 0201 components directly across the traces cut to establish voltage feedback ... yes, this works without a problem.  I can pulse a 1A load on and off and I'm getting transient results more or less as I have expected.  In the prior circuit the INA138 is indeed on the high side.  Load characteristics is 3V @ 1A ( for this test, it is a high power white LED ) so this is within the Vcm spec of the INA138

    I'll read up on the app note you have linked.   

    Thank you yet again. If I discover anything new I will reply back to this thread.

  • Hi Adam,

    We haven’t heard back, so we're assuming you resolved your issue. If not, just post a reply below, or create a new thread if the thread has locked due to time-out.

    Thanks and regards,
    Milos
  • The issue is not fixed, it is not resolved.

    Something about this arrangement is causing instability and it seems it has to do with the feedback network.  TINA-TA shows no problem whatsoever but I imagine that the feedback network and error amplifier in the model does not reflect reality.  After a few days of experimentation, I  haven't been able to modify the feedback network to obtain a stable output in any case. 

    As in the prior posting and screenshots, when I try to use current feedback as shown, the output widely oscillates

    I've tried (a) adding a 1k-10k resistor in series with the feedback pin  (b)  using a feed-forward capacitor anywhere from 1nF - 100nF  (c) adding a small filter cap 100pF-1nF on the current sense amp output to ground.  No success.   Trying to drive a 3V, 1A white LED with this arrangement results in large ripple in the output of 500mV or more and the input current also varies wildly.   However when I size the current sense resistor to provide about 200mA of current, the TPS63020 seems to regulate well and stable.

    Any other ideas? 

  • I have not had any success with this arrangement.  The TPS63020 is unstable for my setpoint.  Trying to drive a 3V, 1A white LED with this arrangement results in wild oscillating excursions in the voltage output, of about 500mV or more, at a frequency of ~80kHz.   When I size the current sense resistor down to provide 200mA drive, the TPS63020 seems to be stable over its entire voltage range.  

    I've tried to modify the external feedback network by either/or (1)  Adding a series resistor to the FB pin anywhere from 0.5k - 100k (2) adding a feed-forward capacitor from Vout to FB anywhere from 1nF - 100nF  (3) adding a small filter cap on the current sense output of 100pF-2nF    None of this works for the 1A/3V output case and the output wildly oscillates;  converter efficiency drops to 50% or below at this point as well.  

    Any other ideas?  Any other illustrations or scope shots I can provide to help you see what is going on?  Can this converter even be used in this fashion?  I do not know about the topology of the internal error amp & feedback network.  It is likely that this converter used in this fashion will never be able to regulate successfully, but I want to make sure with you before I give up on the part.  

    What do you think?

  • Hi Adam,

    Thanks for the update.

    We tried other devices with other high side sensors for powering LEDs at 1 A, but not your specific case. We will try testing your case, but it will take a few days. In the meantime, could you please first post the schematic for the case where the circuit was working at 200 mA?

    Best regards,
    Milos
  • So here's the exact circuit I'm using on my bench at the moment:


    About the current sense amp:  I had to move to a MAX7173T because (a) for the 200mA drive strength the LED Vf is =~ 2.7V and this is at margin of the INA138's common-mode range.  So I had to move to a CSA with a lower CM range.  (b) I had this IC in stock in our lab here and it was convenient to use.  In the end application I will use a lower-gain version to avoid such a small current sense resistor.  

    In any case, with a 50-milliohm sense resistor (R14)  this circuit regulates 200mA fairly well over the 3.2V - 2.0V battery voltage input range.   With a 200mA drive on the LED, the Vf hovers around 2.7-2.8V and output ripple is about 30mV.

    When I switch to a 10-milliohm sense resistor, the output of the TPS63020 varies in an oscillating fashion as shown by my screenshots in the first posting.

    The inductor is a 1.8uH, 40-milliohm inductor with a saturation current rating of 5.4A.   Also, from calculations in the datasheet as well as confirming through TI Powerstage Designer, my peak switch current is somewhere around 1.7A, well within the limits of the integrated switch of the TPS63020.  I've oversized the input capacitors as well here, also tried adding a big bulk 220uF tantalum in parallel to the ceramics shown above, with no effect. 

    The interesting thing to note is that the 2 different current sense amps ( INA138 originally;  MAX4173T here)  I've tried for the 1A drive case both cause the TPS63020 to oscillate as shown in prior postings.  Any experiments come to mind that I can run? 

    A note about the feed-forward cap ( C24 ) and the resistor in series with the FB pin ( R15 ) ... I've tried various values for these passives and nothing seems to work. My original though was that the FB pin of the converter is expecting to see some minimum outside external impedance and the error amplifier inside cannot regulate, or the compensation gets wacky, when it is not presented with a resisitive divider anymore.   At the moment C15 = 10nF and R15 = 1k but it doesn't matter much when R15 changes.

    Thanks for any input you may have. 

  • Edit: The "MAX4173T" is actually "MAX4173F", confirmed, for the 50V/V gain version. Ignore the text in the schematic above, the device indeed is the 50V/V gain version.
  • Hi Adam,

    Sorry for the delay. I plan to test your initial circuit with INA138 and INA213 by Thursday.

    Starting from the circuit that worked at 200 mA, after changing the sense resistor from 50 mΩ to 10 mΩ, did you try to also increase R15 (or C24) five times? I also still wonder if this is a startup issue. That might be checked with the INA138 since there you can set the gain, and change the output current from initial (stable) 200 mA to 1 A using a potentiometer as the gain-setting resistor.

    We had a somewhat similar working design with a voltage-output current shunt monitor (INA193, 20V/V version), you can check it here:
    http://www.ti.com/tool/PMP4640

    Best regards,
    Milos
  • Hi Adam,

    I tested one of our designs that uses INA213, which is a current shunt monitor with a gain of 50 V/V.




    This design works fine at 0.5 A - 1.5 A with different R1-R3 values. Using the INA138 always resulted in oscillations, so it might be that this particular current shunt monitor does not work here, or it requires very fine tuning.

    Best regards,
    Milos

  • Milos:

    This is great news!  I am impressed.  

    I must order some INA213's overnight to my lab here and recreate your results.  I am excited about this.  When I build the modified cicruit up I will test it and report back my results here.  This is great timing because my design phase is almost ended, so this was just at the right time.  You know, there are so many current sense amps to choose from and I do not understand why one would work but not a different one ... so it seems you found one that behaves nicely with this modified-feedback scheme.  If only the TPS63020 IC designers could see this ... they would be shocked ... that we have hacked their original intention of resistive divider feedback!

    In any case: Thanks Milos for being on my team.  This is why I have chosen, and continue to choose, TI products:   because of your awesome data sheets, because your website is up to date and technical data is readily available;  and because there are real TI people responding to these forums all the time.  

  • Milos, 

    I am pleased to report that after some tweaking, I am able to get the performance I was aiming for in this converter design using the INA214. 

    First I tried 0.1uF in C8/C9 ( as per your circuit above ) and this resulted in large overshoot that lasted for several milliseconds.  This behavior was noticable only when the converter was operated in a pulsed fashion ( that is, toggling EN every 250ms )   I noticed some oscillations and instability across the output caps some time after EN went high, but this was hard to replicate every time.   

    It took some trial-and-error at the lab bench,   but finally I settled on:   C8 = 1nF / C9 = 4.7nF / R2 = R3 = 113k   for 1A output current 


    With these values, and the rest of the circuit unchanged, I still get overshoot upon turn-on, especially when Vin=3.2V, but the output quickly settles in less than 200us to steady-state. This overshoot doesn't matter too much in my application because the LEDs we are using are not sensitive to short over-current transients of this type.  I tested this circuit over the entire input voltage range of 2.05V - 3.2V.   At around 2.05V things start to get unstable, as expected per the datasheet, but otherwise the circuit now performs as desired. 

  • Hello Adam,

    good that the INA214 helped and worked for you as well. I am closing this thread therefore.

    Please open a new post if you have further questions.

    Thanks and best regards.

    Julian