Saturday, November 9, 2013

Multiple Integration

Nearing the completion of the remaining three integration boards - there'll be four of these boards in total, each with two integrators, giving eight integrators in one 4U rack. The integrators can be operated either as integrators or summers - via toggle switches on the front panel. The plan is to also have four dedicated summers and a couple of multipliers in the rack unit. Plus the control unit rack, plus a coefficient potentiometer (20 off) rack. When these three racks are finished (early(ish) next year?), I'll have a usable analog computer - then follows the really interesting construction of a special functions unit...(I have some ideas for the usual suspects (sine, cosine, tangent), plus (of course) I'd like to have all the hyperbolic functions, not to mention all those due to Messrs Bessel, Struve, Hankel et al).

Quite a lot of work piling up!




Sunday, October 13, 2013

So that's why they are 'circular functions'...

It just occurred to me that if I connect the output (y) and its derivative (dy/dt) from the analog computer's solution of the second order DE (see previous post) to X and Y inputs of an oscilloscope, I should get a circle (with respect to time, t). Pretty obvious really...but pleasing nonetheless:


First Program - Solving a second order DE - part the second

Having set up Figure 8.2 from Ulmann's book (integrator capacitors 1 uF and resistors 1 M ohm), switched on the analog computer, pressed COMPUTE and it just worked! Sine and cosine clearly shown on the two meters (10 V peak to peak since the initial conditions were set to + 10 V for the first integrator and 0 V for the second integrator).



The time constant of the integrators was 1 second and so the expected time period of the sine /cosine wave is 2 time pi seconds = 6.28 seconds. And it was!

Pressing the FAST button speeds the integrators up by a factor of 1000 (i.e. the 1 uF capacitors get replaced by 1 nF capacitors). Obviously too fast for the meters, but on an oscilloscope the output looks like this:


What's interesting is that the output stays like this for several minutes - typically growing slowly in amplitude until it starts clipping (FAST mode); in the normal (6.28 second time period) mode the output tends to decay very slowly (i.e. several minutes). In both cases such longevity of the solution suggests very little leakage in those Russian military capacitors!

So there you have it - not Hello World, but the solution of a second order DE! It's early days, but I can see that programming an analog computer is completely different (and a lot more exciting) than programming a digital one! I like the way the analog computer is so direct - if you want to solve a DE then you solve a DE - not mess about with some numerical scheme which may or may not be stable.

A final thought for the moment: I feel I am entering an exclusive club of analog computer programmers :) And how cool is that?..

Next steps: finish off three more integrator boards; sort out hardware for the integrator 19 inch rack; make a proper front panel for the (now finished) control unit 19 inch rack.


First Program - Solving a second order DE - part the first

(1) Have bought a copy of the recently published  Analog Computing by Bernd Ulmann. Excellent book - I particularly like the extensive foot-noting. Essential reading!

(2) Have completed the first of the (eight) integrator boards - each of which has two integrator circuits.


Messy and not yet assembled into a 19 inch rack of integrators/summers.

Anyway, I've now got three integrator/summer units to play with - enough to solve a second order differential equation of the form d2y/dx2 + Ay = 0. This is the first programming example in Ulmann's book (page 126). 

As I say, all a bit messy, but my implementation of Figure 8.2 of Ulmann's book looks like this:


(The top board is a power supply/control board for the integrators; the middle board is my original single integrator/summer and the lower one the latest pair of integrators/summers.) As mentioned, all the integrators boards etc will end up in their own 19 inch 4U rack - I just wanted to test things out!

The boards are bussed up to the main control unit (which is pretty much completed) via a 25 way D connector, via at the moment, a 25 way break out board.





Saturday, August 31, 2013

Hop on the bus...


Wiring of the 25 way way D-sub connector; this is the bus which will go between different 19 inch rack units. This finishes off the Control Unit (except for production of an actual front panel to replace the 3 mm foam board mock up...)

By the way, heatshrink cable markers indispensable in keeping some sort of order in the wiring...



Next tasks: production of a batch of four integrator / sum boards (to go in Integrator Unit) and production of the Coefficient Attenuators Unit (mainly pots and switches)...(each of these units will be on the bus).

Monday, August 26, 2013

Rework is not Repair and Audiophiles

Have changed the ramp board timing capacitor part - I wanted to extend the maximum reset time from 500 ms to 5 seconds (felt 500 ms a bit short for analog meters etc); and the maximum ramp time to 100 seconds. The latter needed a 100 uF polypropylene film capacitor (dark grey).

The red ones are 1 uF - some sort of 'audiophile' capacitor (tight tolerance useful for me (timing), but I never understand why - instead of worrying about capacitors - audiophiles don't worry about their speaker cable connectors' impedance - I mean someone could introduce a line of (expensive) 8 ohm coaxial (gold?) connectors (and cable) to match the 8 ohm speakers rather than using 300 ohm or whatever cabling...any textbook of electromagnetics gives the necessaries...). (Usual reply is that 'impedance argument only applies at high frequencies' - despite the coaxial line impedance not being frequency dependent...)


Another rework: Stand By (STBY) mode now turns the 2N2222 transistor on (Ramp board) thus setting the feedback capacitor voltage to zero. This means that the computer when switched from STBY to COMP in REP mode will start the ramp voltage at zero. The initial design just had the thing free running.

Sunday, August 25, 2013

Integrator / Summer

Have breadboarded up the integrator / summer circuitry... in a word complicated(!). In integration mode a capacitor (Russian polystyrene, tight tolerance, low leakage) is in the feedback loop of the op-amp (TL081); in summation mode the capacitor is replaced by a (0.1%) 1 M ohm resistor. Switching between integration and summation via a 2 way 4 pole toggle switch on the front panel.

Complications arise because the circuit needs to switch between COMP, SBY, RST and HOLD modes as per the state of the control switches on the control unit's front panel (via the bus lines). In particular in REP (repetitive) mode the computer switches between COMP (compute) and RST (reset) repeatedly - at high speed(ish)...all of this switching is carried out using CMOS analog switches (DG403 and DG412). In FAST mode the feedback capacitor is replaced with a 1 nF capacitor thus speeding up the integration time by a factor of 1000 (over a 1 microfarad) feedback capacitor. Here's a sketch of my thinking...(note complete lack of CAD!).


Summary of what each mode does:

STBY - standby or POT SET mode. Input summing junction (junction at which the various input resistors are brought together) is grounded; op-amp input is grounded via 10 K resistor and a 100 K resistor is placed in op-amp feedback loop. Op-amp output should be zero and the offset null potentiometer can be adjusted in this mode to make this so. Note Initial Condition (IC) input is not connected in this mode. This mode is also known as a balance-check mode.

This mode works both in integration and summer modes.

RST - reset or INITIAL CONDITION mode. Connects IC (initial condition) jack via 100 K (0.1%) resistor to -ve input of op-amp; another 100 K resistor (0.1%) switches into feedback loop. This arrangement charges the feedback capacitor to the IC voltage and the op-amp output should equal minus the IC voltage. This sets the inital condition of the integrator.

COMP - compute mode. The input is connected to the -ve input of the op-amp; the initial condition voltage is disconnected. The op-amp integrates the input voltage as a function of time (in integration mode). In summation mode the output of the op-amp is minus the sum of the input voltage(s).

HOLD - hold mode. The input is disconnected and summing junction grounded; the IC voltage is not connected. The output is the voltage across the capacitor. Use of a polystyrene capacitor plus FET input impedance (very high) op-amp ensures the voltage doesn't decay too rapidly in this mode.

FAST - fast mode. A 1 nF capacitor (again polystyrene) is switched into series with whatever feedback capacitor happens to be selected. This effectively speeds up the integration by a factor of 1000 for the 1 microfarad integration capacitor case.

Notes: important to (a) use high quality (in this case Russian) polystyrene capacitors for the integration - we want to reduce leakage to a minimum plus have a tight tolerance (0.5%), (b) use a high input impedance op-amp (10^12 ohms). The breadboarded circuit maintains the output voltage within 1 mV for several minutes with the components used.

A LM358 dual op-amp is used to detect over-voltage on the output of the main op-amp. If the main op-amp's output exceeds about 10.8 V (plus or minus) then the LM358 lights up an LED on the front panel and also raises the bus OVR line high. If the compute is in HOLD ON OVR mode then it will switch to HOLD mode when an over-voltage occurs on any of the integrators / summers.

Circuit ideas based on [1] Albert S. Jackson 'Analog Computation', McGraw-Hill Book Co., 1960, pp. 275 - 276. And [2] the classic Practical Electronics article by P. J. Kronis, 'Analogue Computer', Practical Electronics, September 1978 pp. 970 - 1239. The latter I read when it was published (when I was fifteen) - but in those days I was limited to theoretical rather than practical work due to funding constraints...


I can fit (just) two integrators onto one 160 mm x 100 mm board: the following is one circuit:


The biggest problem is the number of wire to board connections - nine to the toggle switch alone!

Here's the final circuit...
The 741's input impedance was too low hence the switch to TL081 op-amp with JFET inputs; an obsolete device but (a) cheap, (b) uses a 10 K input offset potentiometer, a large number of which I already have to hand (in particular with 3 mm shafts).

The 4514 chip is a one of sixteen decoder used to select one of the sixteen amplifier outputs. The output voltage of the selected amplifier ends up at one of the control panel's panel meters. (Principally done this way because it's easier to get hold of a 16 position binary encoded selector switch than a 16 way selector switch. Also reduces the number of bus lines.)

[5th April 2014. Note to self: include 100 R resistor in series with output from DG412 going to bus pin 7 (meter); this removes a problem with a high frequency (and amplitude!) oscillation - connected with the op amp output being connected to meter bus pin 7 via DG412.]

Thursday, August 8, 2013

The Soldering Iron is my Editor

MAX6350CPA (gives 5.000 V) plus a two times non-inverting amplifier using these tight tolerance (0.01% ratio) resistors, giving 10.000 V. Also 3.000 V and 1.000 V. (Almost) worked first time...I always fail to notice a track which needs cutting somewhere...


The rest of the board (below, right hand side) has some miscellaneous bits and bobs (mainly which got forgotten or not even anticipated on the other boards). In software (day job) it's easy to change some code; here the soldering iron is my editor. So for example I think the computer should drop out of REP (repetitive) mode if the user presses HOLD (or HOLD is triggered elsewhere)...something I didn't think of soon enough to go onto the previous boards, hence a little bit of unforeseen logic on this one.


And here's the circuit...

Friday, August 2, 2013

Meters and Front Panel Mockup

Mocked up the front panel of what will be the control unit...


...only to discover that the (Anders) panel meters which arrived were nothing short of disappointing; one seemingly having spontaneously fallen apart in its box, the other having no usable zeroing ability. Amazingly shoddy build quality given the price. Have since opted for a pair of rather larger Simpson meters, requiring a rethink of the layout...

The panel shown is just temporary 3 mm foam board - but allows lots of latitude with getting the layout right. In time it'll be replaced by a 3 mm aluminium panel. The rack is a 200 mm deep 19 inch shelf rack. Power supply board visible on the left - the card guides on the right will take the ramp board and so on. Expensive Swiss switches to the right.

Here's the circuit which drives the meters...


And the actual board...

Sunday, July 7, 2013

Ramp Board

Provides a 0 - 10 volt ramp, time period selectable from 10 seconds through 10 ms, continuously variable through each range. Between ramps there's a reset pulse, selectable from 0.5 seconds through 5 ms, again continuously variable through the range. There's a push button (toggles on - off - on) to select REP (repetitive) mode on the computer. Certainly the most interesting circuit so far. Also weirdo debugging issue...transpiring to be the (7915) negative rail regulator oscillating like a gazelle (despite the specified decoupling capacitors). Fixed with a little more decoupling and voila:


Here's the finished board (plus elevated sub-board):


The big green things are Russian polystyrene capacitors (from KL Tubes, Lithuania...excellent service...and arriving much faster than things from Rapid Electronics in the UK!). The big grey things are (5 microfarad) capacitors made by Vishay...perhaps a bizarre coincidence but named after the village of Vishay in Lithuania, (the ancestral home of the company's founder).



And here is the circuit...

I love the fact that the 2N2222 is still in production, some fifty years after Motorola introduced it in 1962.

Saturday, June 29, 2013

Control Switches

This board handles most of the front panel switching: COMPUTE, RESET and the like. Six push buttons, two are on / off toggles (FAST and ERROR HOLD), the remainder are radio button style in that you push one in and the others metaphorically pop out. Defaults to RESET on power up. In hindsight perhaps an overly ambitious amount of circuitry to fit on one (160 x 100 mm) board (13 chips, 14 transistors and nineteen diodes!). But it works!! Despite looking like the insides of a 1970s super Jap radio.



I'll put up the actual circuit diagrams for this stuff as I go along. Just need to draw it out first...

Saturday, June 22, 2013

Power Supply

Plain vanilla - the larger board produces +/- 21 volts (at 4 amps) (heat sink omitted). AC from a toroidal  transformer. The smaller board produces 6 volts. The latter is the lamp supply for the (ridiculously expensive (Swiss)) panel switches (which are using 6.3 V 1.26 W little bulbs rather than LEDs). Most of the electronics will use +/- 15 volts which will be down regulated from the +/- 21 volts locally on each board - as seems to be the fashion.






Thursday, June 20, 2013

Is continuity inherently more powerful than discreteness?

Probably not. At least in practice. I imagine that the internal limitations (i.e. quantum mechanics, finite size) of our universe prevent the existence of any true analog computers, physical computation being limited to finite Turing computability [1]…

Given that everything computable is computable by a Turing machine and thus all computers are equivalent – analog (non-digital) computers are no more (less?) efficient than digital computers*. Nevertheless it’s hard to argue against analog computers having a certain cachet. And despite – or perhaps in spite of the internal limitations of our universe, and always being one for a challenge, I thought it high time I built a computer…


 *According to the Strong Church thesis (Vergis et al [2]), analogue (non-digital) computers are no more efficient than digital computers. Informally the thesis states that if some method (i.e. analogue computer) exists to carry out a calculation, then the same calculation can also be carried efficiently (that is in polynomial not exponential time) out by a Turing machine (i.e. digital computer).

[1] Eric Steinhart in The Blackwell Guide to the Philosophy of Computing and Information, p. 184, ed. Luciano Floridi, 2004.

[2] A. Vergis, K. Steiglitz, and  B. Dickinson, ‘The Complexity of Analog Computation’, Mathematics & Computers in Simulation, 28 (1986) pp. 91-113.