Close

Working bistable at last !

A project log for Clockwork germanium

A retro version of Yet Another (Discrete) Clock, with vintage parts

yann-guidon-ygdesYann Guidon / YGDES 08/23/2023 at 00:506 Comments

I was hanging out on a Facebook group dedicated to Minimalist computing (which is perfectly in line with the #YGREC8 project) and a retired engineer dropped a little schematic.

Joseph Watson posted a circuit I have seen again and again, and consistently failed to make work : the venerable symmetrical bistable.

But this time with parts values !!! And this is a working circuit, as proved by his pictures of the circuit boards for his homemade computer built in the 60s.

This circuit can be easily reconfigured from divider-by-two to shift register :

As we already know, this 3-stage Shift Register can be easily looped back on itself with one inversion (swap the positive and negative signals at one point) to make a 6-step Johnson counter. Which is exactly what a digital clock needs (for the decimal digit, and the unit digit needs 5 bistables) !!!

So what are the issues ?

Here is the link to prove it.

I rounded the parts values to E3 and it passes the simulator, however it must be "bootstrapped" because it insists on initialising in a "stuck" state. That will be the job of a master reset ciruit.

So this circuit brings in quite a lot of "analog design" but we can start from the transistors themselves : the above 2N414 are not far from the OC70 : they both are alloy junctions.

Some specs of the 2N414 : 3MHz, 24pF, hFE>60, 15V, 200mA, 200mW

The OC70 is more modest and I'll tune all my circuits for 10mA Ic and 1mA Ib to be more consistent with other, speedier references (because I want to use AF240 later).

From these values, one can deduce several values, and I'll keep the Vcc at 5V (because). So to get about 10mA at 5V, that's a 470 ohms resistor for the collector.

The Ib is 1/10th of the Ic so the base resistors are 470*10=4K7. Awesome.

There is a pull-down resistor for the base, that

  1. keeps the base at a low value when OFF, though it might not be low enough and the 10× value might slow down the off-turning. This is where "shifting" the emitter could be useful, as it would provide the pull-off resistor some headroom to totally discharge the base.
  2. limits the voltage on the base : 5V is applied to the base through 470+4K7 (that's 5K overall) but the 47K prevents the voltage from exceeding about 0.5V (in continuous operation). At 0.5V, the transistor can be considered "fully on"...

I'll have to check degenerating resistors, either individual of common, to keep the circuit from saturating too much. Using 100K instead of 47K for the pull-off resistors would be OK with 0.5V of degeneration, which means 47 ohms... Aaaannnnnnd this makes the circuit unstable... It's solved with a common resistor though.

There is another problem that the simulator does not let me estimate : the effect of the leakage currents ! 100µA here, 200µA there, and the whole balance might be shattered...

Yet another problem is that the transistor model is a standard silicon type with Vbe=0.6V so the values that work might not be right for germanium.

One more problem ! The clock signal must have a large swing : at least 4V for 5Vcc, as the simulation destabilises otherwise.

Anyway I have one version that seems to cascade decently :

...

I solved the init and another stability problem by reducing one of the resistors, from 470 to 390, this takes the circuit out of equilibrium and back to clear binary state. I seem to be able to simulate easily up to 36KHz with the above caps, I doubted that the 1nF could charge fast enough through the 4K7 feedback resistors...

Link to sim

Now this does not account for 1) lazy transistors 2) leakages 3) Vbe.

But at least I could validate a clock buffer using an emitter follower.

Discussions

Ken Yap wrote 08/23/2023 at 04:59 point

So you got the circuit to flip without flop? 👍😜

  Are you sure? yes | no

Yann Guidon / YGDES wrote 08/23/2023 at 05:05 point

That is what happens when you lose one sandal.

  Are you sure? yes | no

SHAOS wrote 08/23/2023 at 02:14 point

Did you try my circuit that worked in 2016? ;)
https://hackaday.io/project/10698-clockwork-germanium/log/35585-triggering-germanium

  Are you sure? yes | no

Yann Guidon / YGDES wrote 08/23/2023 at 02:34 point

Looking back at it, I'm still .... confused :-/

I need to simulate it, now that we have CircuitJS :-D

  Are you sure? yes | no

SHAOS wrote 08/23/2023 at 05:31 point

You probably need full-scale SPICE to simulate it properly :)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 08/23/2023 at 17:13 point

@SHAOS  or simply try it for real

  Are you sure? yes | no