Joule thief optimization - your ideas wanted - Page 1
Forum section: electronics / projects

author: motocoder
author_rank: Unknown
timestamp: December 30, 2014, 08:51:24 pm
content: I watched one of w2aew's videos which was about a little open source hardware project, specifically a version of the popular "joule thief" project for the "Ears to Our World" charity. The "joule thief" is a very simple switching, boost voltage converter that allows a near-dead AA or AAA alkaline battery to be used to power an LED that normally requires a 3-4V supply. The circuit is rather clever in its simplicity. It has the ability to operate down to very small source voltages (I measured start-up voltages as low as 0.54V, and operating voltages as low as 0.44V).w2aew's video describes a slightly modified version of this circuit, and one that is neither as efficient nor able to operate to as low a source voltage. I suspect it was chosen due to the fact that it does not require winding a custom inductor. I won't talk more about the circuit he describes, but you can view the video here if interested:https://www.youtube.com/channel/UCiqd3GLTluk2s_IBt7p_LjAI set up an LTSpice simulation of both circuits, and after playing with those for a bit and doing some reading on the topic, discovered that, in the simulation at least, the current through the LED varies greatly over the life of the battery. I found some references that alluded to the original Joule Thief circuit having two operating modes, which I think reduce this variation somewhat: 1) When the battery has lots of life left, and the voltage is high, the trigger for the transistor to switch off is the core reaching saturation. This is why it is suggested to use a ferrite core versus some other core material with a higher magnetic flux capacity. 2) At lower voltages, the collector current through the transistor is limited by the base current configured with the base resistor.I do not know how to simulate the core saturation in LTSpice, and also it seems to be a poor design choice as it can be quite hard to measure or design around core saturation as a positive aspect of a circuit (usually we're just trying to avoid it), especially for a circuit where people usually grab the core from the scrap bin. So I decided it would be nice to add a simple control loop to the circuit to minimize variation of current through the LED over the life of the battery. I also modified the circuit to minimize the large negative voltage spikes, and to rectify and filter the voltage input to the LED.I've attached an LTSpice model and a screen grab of the schematic. Specifically, the changes in this circuit over the original are:Addition of Schottky diode D2 and filter capacity C1 to rectify and filter the input to the LED (D1). D2 is a Schottky diode to minimize losses from the forward voltage drop (I chose this one because it was the only Schottky diode that I had in my parts drawer).Addition of sense resistor R2, current-limiting transistor Q2, and associated components R5 and C2. This transistor impedes the oscillations when the current through the LED exceeds ~2mA. It isn't perfect, but in simulations of battery voltages from 1.5 to 0.6V, current varies between 2.3 and 1.8mA. I chose a nominal value of 2mA to optimize for run-time of the light, but the same circuit can be used with larger currents by lowering the value of R2. Also note, to maximize efficiency, if you change this nominal LED current value, you should also adjust R1.Addition of input capacitor C3. I added this because in simulation I was observing voltages that might have caused current to flow back into the battery. I wasn't sure what this would do to the alkaline battery, but an easy fix was to put a capacitor on there to provide some charge buffer. A diode here is not an option because the associated voltage drop would kill the source voltage range.Component values were tweaked in LTSpice to maximize efficiency, which in simulation is around 63%. I don't have any measurements of efficiency in the actual circuit yet, so I can't say how accurate that is.The inductors are 562uH, versus generally smaller values in the various versions of the joule thief you see online. I actually was targeting ~300uH, which my simulations indicated was the minimum value that would allow the circuit to start at 0.55V. However, I made a calculation error when I wound the inductor, so this is the value that I ended up with in the actual circuit.If any of you are interested, I'd really like to hear any other suggested changes you might have.

author: free_electron
author_rank: Super Contributor
timestamp: December 30, 2014, 09:07:41 pm
content: too complicated. replace with 3 components : a capacitor, an inductor and a TPS61200 from TIthat one works down to 0.3 volts !And here is a real kicker : similar circuit using the bq25504starts up from as low as 0.3 volts and keeps going down to 80 MILLIVOLTS ! input ! beat that !

author: motocoder
author_rank: Unknown
timestamp: December 30, 2014, 09:16:29 pm
content: Quote from: free_electron on December 30, 2014, 09:07:41 pmYes, I know about the TI low voltage boost regulators. Linear makes one as well, I think it's the LTC3105, that is available in a more hand-solder friendly version too. However, just plopping an IC down doesn't do much towards the goal of learning or teaching electronics to someone. Somebody has to design the circuit in those ICs that you IC consumers use

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 31, 2014, 12:35:41 am
content: Mine's better;As many components as you see here, built on copper clad (ha, I didn't have single cell holders at the time), and capable of over 1W output at 70% efficiency. Unregulated of course, so as the battery peters out, it just keeps getting dimmer and dimmer. Switch provides three base bias levels: off (collector supply is always wired), 1.1k and 100 ohms.Also has a strobe function: if you hold your finger over the selector switch contacts, you get ~1M (dry skin resistance) as base bias, which is enough to just bring it up to threshold, fire a pulse (5us or so long) and wait for a second before repeating.Circuit is,with Rb = 0, Rbias as stated, Cbb = 0.1uF I think, uh, whatever the winding details of the coil are (I think the feedback winding is fewer turns than the primary, but not by much; it's on a specific type of powdered iron core, so the inductance and current handling are well defined), and the LED is simply strapped right across the output to ground. There's also 22uF (ceramic) bypass across the supply.Tim

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 12:51:47 am
content: Quote from: T3sl4co1l on December 31, 2014, 12:35:41 amHi Tim -Nice construction! What sort of LED are you using there?I read some posts here, I think from you, discussing the alternate configuration with that capacitor (Cbb). But I am not sure what benefit it provides. I played around a bit with that in LTSpice, and the most I could see was that if chosen carefully, it introduces a resonance that causes a higher frequency oscillation. Is that your understanding?In any event, I never saw anywhere close to 70% efficiency in LTSpice with the design you used there. How are you measuring that?-Matt

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 31, 2014, 01:01:11 am
content: I measured efficiency with a schottky diode, filter capacitor (also 22uF) and load resistor; actual efficiency into the LED is probably a hair better, due to the lack of schottky voltage drop.The LED is one of those cheap Chinese "3W" whites, which are really more like 1W, but that's fine here anyway.Cbb provides a steady reference for base voltage drive, and allows the transistor to saturate hard (< 300mV for the PBSS303NX, even at many amperes peak), until towards the end of the on-cycle, base current is tapering off and collector current is rising. The transistor comes out of saturation, collector voltage rises suddenly so base voltage falls suddenly, and the transistor turns off within tens of ns.This circuit is called a blocking oscillator. With an LC collector load and weaker base drive, it is a class C self-excited oscillator. With increasing base drive, the "on" period increases more and more, storing more energy in the inductor while snapping the base off faster. The waveform turns from a distorted sine wave to a flat-bottomed hump (class E). If the capacitor is reduced or removed, the hump becomes very fast and very, very tall; this energy is instead clamped by the LED, stretching it into a classical boost converter waveform.Depending on the value of Cbb, the transistor may restart conduction immediately (as the inductor current falls to zero, inductor voltage reverses, and if the voltage on Cbb is near 0.6V, the transistor can turn on again). If enough base bias is supplied that the voltage on Cbb remains steady, it will oscillate continuously, and deliver maximum power. If not, it will fire a few pulses, then wait as Cbb is recharged.The values I picked are such that, after one pulse, the transistor will not automatically restart, and at full bias, Cbb receives just enough charge to start another full cycle right after the previous cycle finishes.The conventional "series base resistor only" circuit is dumb because it provides no base drive, and self-defeats any hopes of high efficiency. Hey, just because the Internet Said So, doesn't mean it's right.Tim

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 02:46:45 am
content: Quote from: T3sl4co1l on December 31, 2014, 01:01:11 amOk, no offense, but I am a bit skeptical. I simulated your exact circuit, with a number of different values for C, and I did not see anything that increased efficiency. Quite the opposite. But I will give it another try with the component values you list. It would be great to have the details on the inductors, BTW.Also, for your efficiency measurement, what did you use to measure the output power of the source?

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 04:15:13 am
content: Tim -I've attached a zipped LTSpice model with your circuit. I used ideal diodes on input and output so as to remove diode losses from the efficiency analysis.In the original circuit, with no capacitor, the transistor switches back on as soon as the primary current drops to zero. It does this quite quickly. So I am just not seeing what value the capacitor adds. In fact, I can see a lot of negatives to the capacitor, including drop-outs in oscillation that occur for some values. It also adds another dependency on the bias resistor, as the cap must be chosen to match that. If the wrong cap value is chosen, the bias on the base is actually negative, which causes a delay before it switches on (i.e, it's counterproductive). I checked efficiency (in the simulator) for this circuit, and with or without the cap, it's in the 87% range with a 1k1 bias resistor, and 80% with the 100 ohm bias resistor, and either the same or less for various values of capacitor ranging from 100p to 1u. I do see some combinations that slow the oscillation frequency down. Since freq is associated with losses in the inductor, perhaps that's where you are seeing the improvement?I'm probably missing something. If you get bored and want to take a look at the simulation, I would love to understand your design better.ThanksMatt

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 31, 2014, 05:13:02 am
content: Looking at it up close, I think I'm counting...Pri: 20t of 2 x 28AWGSec: 13t of 37AWGCore: T30-35 (not a standard Micrometals part?), should be around 14nH/t^2Thus, Lpri = 5.6uH, Lsec = 2.4uH.I think Cbb is actually 1uF, too.If the LTSpice model of 2N3904 is at all correct, it should indeed perform terribly!Poking around a bit in LTSpice (not my preferred sim, so I'm rather clunky at it), this seems reasonable. It claims 18mW transistor (collector) dissipation for about a half watt output, which seems optimistic. But the waveforms and power level seem consistent.http://seventransistorlabs.com/Images/Traditional_with_Tim_Mods2.ascTim

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 06:12:49 am
content: Quote from: T3sl4co1l on December 31, 2014, 05:13:02 amThanks, Tim.Ok, so in the model I sent you, I set Ls = 2.4 uH, Lp = 5.6 uH, Cbb = 0 uF (for baseline simulation), and based on your mention of 0.5 W, I assume Rbias = 100 ohms. I set Vs to 1.5 V, with a series resistance of 0.12 ohms (per Duracell data sheet). This gives me an average output power of 629 mW, an average input power of 779mW, and an efficiency of 81%.Now setting Cbb = 1 uF and repeating the simulation, I get an average output power of 621 mW, an average input power of 741 mW, and an efficiency of 84%. So in this case, it does seem like the capacitor improves the efficiency slightly. When the primary current drops to zero, Vbb is approximately 0.4 V. If I instead set Cbb to 68 nF (determined by success approximation/trial and error), Vbb is approximately .66 mV when the primary current hits zero, but the efficiency values are not significantly different (within a percent).If I remove the capacitor, and just use 80 uH for both primary and secondary, I get almost the same efficiency (83%) as the optimal values you sent me. So I'm still not seeing the benefit.Also, I gather from the comment in your last post, that the 2N3904 isn't the best choice. The only choices I had were that and some shitty Chinese 2N2222 clones (they have a crappy beta compared to actual 2N2222). What transistor did you use, and what is the characteristics of that transistor that make it a good choice for this circuit?Thanks!

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 06:14:05 am
content: Just noticed the attachment in your last post. Let me take a look at that.

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 06:34:56 am
content: Ok, my statement from the previous post was correct. Looking at the model you attached, there's a 5% improvement with the cap. However, removing the capacitor, swapping primary and secondary to a 80 uH value, and raising Rbias get about the same power output, I get slightly better efficiency than with your model with the cap (80.8 versus 80.9%).

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 31, 2014, 11:02:23 am
content: Probably a small contribution from the substantially lower frequency -- switching can be slightly faster, but, the force driving the switching (inductive current pulling the transistor out of saturation) is proportionate, so it still almost fully cancels out. Basically the only difference is capacitance (which is small: 100s of pF against low voltage and amperes of switching) and storage time and base resistance effects (also small due to the switching mechanism, but characteristic of the transistor, not dependent on external inductance).A saturable core (lightly gapped ferrite, or perhaps a magamp inductor in parallel with the secondary winding?) could possibly yield lower switching losses. Core losses will be higher though.You'll have a hard time finding an 80uH coil good for 5A and as high a Q at the switching frequency, that's also smaller than the AA itself.The #34 power core has reasonably low losses. A modern molded powder composite should do even better.You'll also want to crank RELTOL down to get good accuracy in the simulation, since you're calculating a small difference of a very peaky waveform.Obviously, the simulation misses core and copper loss, which probably makes up the remaining efficiency difference. Good to see such close agreement between practical experiment and mere SPICE simulation.Somewhere up there, I mentioned PBSS303NX. I took a quick glance through the built-in library parts and the ZTX thing looked pretty close.Tim

author: motocoder
author_rank: Unknown
timestamp: December 31, 2014, 04:33:05 pm
content: Quote from: T3sl4co1l on December 31, 2014, 11:02:23 amI think I finally understand your design. Let me know if this is correct:Cbb provides some buffer on the bias voltage which the secondary voltage builds upon when switching on or off. This helps reduce switching time (better efficiency) and allows use of a secondary:primary turns ratio < 1 (with lower voltage drive). The smaller turns ratio provides more current drive into the the base of Vb, which in turn ensures Q1 can stay in saturation over a larger range of collector/primary currents. Your design is targeting much higher LED output power than mine, so I can see where that would be important.BTW, I actually bread-boarded your circuit up late last night, or at least as close as I could get with my crappy core winding skills and a 2N2222 transistor. I saw first-hand that it wouldn't oscillate until I put that 1uF capacitor in there. Efficiency was terrible, but that's probably because of the transistor I am using.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 01, 2015, 01:46:31 am
content: To use smaller transistors and LEDs, increase the inductance and resistance, and reduce the capacitance, proportionally.What kind of core did you use?People have build JTs from crap like ferrite beads before. Again, just because it works, doesn't mean it works well. In particular, ferrite beads are specifically made for high impedance and high loss, exactly the opposite of what's desired here: energy storage, low losses and (most likely) freedom from saturation.In my experiments, I found that too much series base resistance causes switching to be very sloppy. This is represented by Rb in my prototypical schematic up above. I never found a case where performance was better with resistance here.You can imagine it this way: the base must have some (small but limited) amount of current flow, because the base draws current (especially in saturation). It must also have a low dynamic impedance, because it requires voltage control (referring to another thread: BJTs are voltage controlled). This combination can only be provided from the supply if we use a very small series resistor. But that would deliver far too much current for our purposes (with the high hFE of this transistor, it would simply turn on forever and destroy itself; it might still oscillate, but the peak current would be excessive, and it will turn on again much sooner than desired).If the supply voltage were very low, right around the threshold (Vbe), this would be a quite acceptable means of operation. In fact, since the act of switching on provides power to the base, it can even remain operating to even lower voltages, once started. (For example: note the DC voltage on Cbb in the simulation!)But at elevated voltages, this isn't going to cut it. So, suppose we dropped the voltage with a resistor, and filtered it with a capacitor, so it acts like the base has a nice low voltage, stiff supply. Well, that's what I've got here.You can also extend the principle to much higher voltages: in the old days, one or two transistor SMPS were all the rage. Everything from the Apple II/E (I think?) to consumer VCRs (and maybe still DVD players and such today?).Here's a (somewhat backwards) example:I say backwards, because the loop is noninverting: the FJPF13009 is normally biased only through the 1M resistor (so it "ticks" at a fairly low rate, and draws very little supply current under startup or short-circuit conditions), and current flow through the optoisolator causes increased base bias, increasing the repeat rate (the switching itself is essentially a monostable timer, so it charges up to an ampere or two peak, regardless of load; the frequency of pulsing is all that varies). This does complicate the feedback circuit, which uses three transistors in addition to the TL431 regulator (which ispracticallya transistor, anyway, I mean, come on, right?). These provide a constant current sink (allowing full opto current at low output voltages -- so it is able to start up more quickly, and more tolerant of heavy loads), and invert the level (because the TL431 doesn't have a noninverting input to complete the negative feedback loop).Other examples use a MOSFET instead of the FJPF13009, which doesn't switch off as easily (there's no gate current, and saturation isn't as easily controlled), so a current sense transistor is used below it. That looks like this:http://seventransistorlabs.com/tmoranwms/Circuits_2010/Fast_DCDC.pngTim

author: motocoder
author_rank: Unknown
timestamp: January 01, 2015, 05:21:16 am
content: Quote from: T3sl4co1l on January 01, 2015, 01:46:31 amYes, I know this of course. I understand the theory of how the circuit works, and I've spent an embarrassing amount of time playing with this silly circuit, both in the simulator and out, over the last few days/QuoteActually, I have no idea. I went into work a few days ago and rescued a power supply from the PC recycle pile, took it home and pulled out the cores I could find. This one had a larger number of turns than I have on there, and given that it was for a PC, I suspect I'm not saturating it. I think part of my problem might be that I didn't do a very good job of getting the wire wound on there tightly. I am sure there are techniques for doing that, and for securing the wires so they don't come loose, but I have no idea what those techniques might be.QuoteWell, re-read my comments about the two modes in my original post. Ferrite was chosen as a core for this circuit because at the top-end of the battery voltage the core saturation causes the switch cycle at a lower current than would otherwise occur. This has the beneficial effect of reducing the total variability of the LED output over the useful range of the battery.QuoteOk, I understand this now, and it matches what I was saying in my last post. I can see exactly what you mean about the switching speed in the simulator - with the correct capacitor, it goes into saturation faster and stays in it longer as it approaches the switch point.QuoteThese are quite interesting. I may have to poke around with these a bit in the sim. Thanks again for all your help!

author: motocoder
author_rank: Unknown
timestamp: January 16, 2015, 12:16:23 am
content: Here's some results from testing on the actual circuit.Using a not-new, but mostly charged 1.5V alkaline battery:Output current is around 3mA but starts to drop sharply when the battery voltage drops below 0.7V. The light is still useful for total darkness situations to voltages as low as 0.37V.Total run time: 17.5 days, and light was putting out usable light up until the last half-dayCircuit stops running at 0.35VCircuit can not self-start below 0.49VEfficiency is shown in the attached graph. It is around 59%, with the biggest waster of power being the 330 ohm current sense resistor. I think replacing that with a smaller resistor, and a micro-power comparator powered from the boosted and rectified output voltage would give closer to 80% efficiency.I've simulated T3sl4co1l's modified circuit (the one with the extra cap) with much higher power output and without any current regulator and hence no sense resistor. By carefully choosing component values, I can see 85% efficiency in the simulation, with the rectifying diode now becoming the biggest waster of power. I have not built circuit yet, however.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 16, 2015, 01:11:36 am
content: If you don't mind a second transformer, you could use a CT for current sense. Obviously, it's only going to be peak mode, but as long as switching is DCM or BCM, that will still keep the LED pretty stable.Tim

author: motocoder
author_rank: Unknown
timestamp: January 16, 2015, 02:15:57 am
content: Quote from: T3sl4co1l on January 16, 2015, 01:11:36 amSo the CT would sense the current prior to rectification, i.e. it would be another winding on the main transformer, and then I would rectify this signal and use it to drive the feedback transistor?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 16, 2015, 02:46:51 am
content: No, not on the transformer. Like this,You can use the burden resistor (2.2 ohm, but change value as needed) to operate a transistor that turns off the main one (in which case, you'll want some series resistance to the base, otherwise it has to work against the bypass cap and feedback winding).Tim