Close

Dude, where's my MCU?

A project log for TritiLED

Multi-year always-on LED replacements for gaseous tritium light sources

Ted YapoTed Yapo 03/11/2018 at 04:395 Comments

It seems like overkill to use an MCU just to light an LED, so I've wanted to get a version going just using discretes.  I'm still using a couple of logic ICs in this one, but it's closer.  I don't think it's any better, but maybe simpler and cheaper.

The circuit is a revised version of an earlier attempt I made using a Schmitt-trigger relaxation oscillator.  The problem with the original version was an enormous power consumption caused by the ST inverter spending so much time in the linear region.  In the new version, I used a MOSFET astable design published by David A. Johnson to drive a one-shot pulse generator I had tried before.  The result looks like this:

Q1 and Q2 form an astable multivibrator oscillating at about 35 Hz.  Q3 is used to square up the output and get a rail-to-rail swing to drive IC1, which in turn creates pulses with very fast edges to drive the IC2 one-shot.  The output of IC2 is a pulse of around 12us duration.  This ramps up the current in the inductor to a maximum of around 24 mA, which is an efficient drive level for the LED.

The whole circuit draws 11.5 uA, which will run for over 2 years on a CR2032 cell.  Without the LED, the circuit consumes around 1.8 uA, so it's at maximum 84% efficient, not counting any losses in the output MOSFET or inductor.  At 35 Hz, it's a little flickery, but increasing the frequency seems to increase the overhead current linearly.  I think most of the the consumption is actually in IC1 whose input isn't driven very quickly by Q3.  For example, I can decrease the current consumption slightly by decreasing the 10M resistor at Q3's drain.  This is counter-intuitive, since a lower valued resistor will draw more current, but what's happening is the faster switching speed with the smaller resistor dissipates less power in IC1.

I have yet to try other logic families for the inverters.  AUP logic is supposed to be the lowest current, but others might be better with the slow input swings here.  I have some 74LVC gates to try next.  They're also available in 2-gate packages, which would save a little cost.

There are likely to be issues with this circuit, though.  First, the high value resistors and low currents in the astable will be susceptible to leakage on the PCB.  To keep things stable, a good wash or two followed by a conformal coat is probably in order.

Another issue is that although the RC time constant for the one-shot can be obtained with 1%-tolerance parts, the pulse length is also a function of the hysteresis in IC2.  Unfortunately, this value isn't specified very precisely in the datasheet, so the pulse width could vary considerably from unit-to-unit.  I'll have to experiment a bit to see what the variation between parts is, although batch-to-batch variation will probably be larger than that between units from the same wafer.

Overall, I think this is probably a way to create a poorly specified cheap version.  It's perfect for the new global economy.

Discussions

Tim wrote 01/16/2021 at 08:41 point

How about using this comparator?

https://www.ti.com/lit/ds/symlink/lmc7215-q1.pdf

Uses only 0.7µA bias current. Of course one would have to consider other contributions, too.

  Are you sure? yes | no

Ted Yapo wrote 01/17/2021 at 00:47 point

that's a very interesting part! It might find use in the oscillator section, since the input current is in the fA range, meaning you could use a very small capacitor in an RC oscillator. It might also be useful in the buffer stage because it looks like it would consume less than a CMOS inverter hanging around in the mid-supply/shoot-through region.

I don't know if it would be good for the output pulse, though -- the propagation delay varies quite a bit with supply voltage, and the dispersion range is larger than the desired output pulse width. Maybe if you used these comparators in the first stages, and kept an AUP gate on the last stage or two.

It seems like some experimentation would be in order.

  Are you sure? yes | no

Smajdalf wrote 05/12/2019 at 09:28 point

Did you reconsider the "current starved" Schmitt-trigger relaxation oscillator? If so why did you abandon the idea? I think using '1G14 part as the oscillator would be better than the oscillator made from discrete transistors.

I did some experiments with 74HC1G14 - it should consume least power in "linear region" (compare Fig. 9 - Fig. 11 from https://assets.nexperia.com/documents/data-sheet/74HC_HCT1G14.pdf with similar graphs of other logic families) - which may be unimportant because the "current starving" put the parts into "no power mode" anyway. Maybe speed of switching or output strength is more important and other families would perform better?

For my setup I used 10M resistor between Vcc pin and power supply with NO decoupling cap, GND pin is connected directly to the GND power rail. This way the device may pull down strongly but pull up current is limited by the large resistor. Also after switching from HIGH to LOW the input gets out of linear region, supply current of the HC drops, power supply goes up and the output transistor have higher drive voltage available (until input gets back to linear region). A SOT353 device + 1 cap + 2 resistors have potential to replace the whole circuit driving IC1 input.

I think frequency of such circuit should be self-compensating - with higher frequency current consumption grows, reducing supply voltage which reduces frequency. I don't know if it has potential to fix variations of switching thresholds and passives tolerances but it is always nice to have some negative feedback.

  Are you sure? yes | no

Dr. Cockroach wrote 03/11/2018 at 07:15 point

Looks good Ted. You know I like discrete logic circuits :-)

  Are you sure? yes | no

Ted Yapo wrote 03/11/2018 at 15:22 point

There's something special about using parts you can get in hundred quantities for the cost of a cup of coffee :-)

  Are you sure? yes | no