Author Topic: Home Brew Analog Computer System  (Read 105779 times)

0 Members and 1 Guest are viewing this topic.

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Home Brew Analog Computer System
« on: November 28, 2012, 10:05:12 am »
Ever since stumbling across the awesome stuff on show at this website:

http://www.analogmuseum.org/english/


...... I've been working like a man possessed to design and build my own solid state hybrid digital/analog computer to modestly put virtually all of those extinct commercial offerings to shame (complexity, size, precision, etc).

I've just completed the preliminary design of the Sine/Cosine Function module. The completed computer will be equipped with 8 of these modules. On the Patch Panel it is simply two-port black box which spits out either (depending on the mode setting) the Sin or Cosine of the applied input voltage (Ein), multiplied by a scaling factor (K) of 100. It has (for an analog circuit) a very high degree of accuracy and stability).

Transfer function equations and limits are given in the text on the schematic *.pdf. I'm just sharing the little circuit because I'm rather chuffed with it. Log/Antilog, dividing, squaring, square rooting is all easy-peasy stuff. The sin/cosine function module however is one I've been scratching my head over the most. Once I figured out how to practically implement the necessary slope inversion (at the 90 degree and 270 degree points for sine) with a high degree precision, the cat was in the bag.

Unlike in the current simulation file, the final circuit will have a power hybrid discrete HV op-amp with a short circuit proof output stage and a +/- 10mA drive capability. The input impedance is 1M, shunted with 20pF or so.

The attached charts show the transfer characteristic in sine and cosine mode, with a full scale Ein ( 0 to 360 degrees).
 
« Last Edit: November 29, 2012, 10:27:16 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline poptones

  • Frequent Contributor
  • **
  • Posts: 711
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #1 on: November 28, 2012, 02:19:14 pm »
That's very cool. I'd love to see a detailed writeup about the theory and operation.
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #2 on: November 28, 2012, 04:03:00 pm »
I used to have a box of mechanical sine/cosine resolvers and hundreds of other styles of synchros and resolvers, they were parts of anb autopilot. We were cannibalising them for spares to fix moving map displays and other synchro indicators
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #3 on: November 29, 2012, 10:12:09 am »
Those must have been interesting devices.

Don’t have time for a explanatory write up right now, except that the circuitry based on the LT1097 op-amps in the left hand half of the schematic forms a “function generator” (in analog computer speek) that produces a dual (polarity) slope, asymptotic approximation (with break points at 90 degrees and 270 degrees) of either a sine or cosine function from the applied, uni-polar input voltage which represents phase angle. A bipolar, multi break-point curve-shaper then does the rest.

I’ve started refining the circuit, to begin the transition from LTspice to Protel. Firstly, I had to get rid of that huge series string of LT1634 voltage references to bias the break-points of the curve shaper. That is NOT very economical; and especially so when one intends to build 8 of the things. I’ve decided to use a separate pair of dedicated supply rails of +/- 50V, exclusively for biasing the break-point shapers of all sine/cosine modules instead. The intermediate break-points between +/- 50V are now provided by a 0.1% tollerance resistor ladder/divider.

Much cheaper and even more accurate as the +/-50V can be accurately trimmed for “perfect” symmetry. The regulator will be a hybrid op-amp/discrete deign based on the LT1097 precision op-amp for the error amplifier, deriving the +/-50V form the separately regulated +/-105V rails.

I’ve also added another pair of break-points to the curve shaper to improve the accuracy of the curve fit around the +/- peaks.

Attached is the revised preliminary schematic, along with a plot showing how well (for now) the break-point shaper approximates an ideal sine curve, by plotting it against a perfect/ideal sinewave source.

« Last Edit: November 29, 2012, 10:28:38 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline alanb

  • Frequent Contributor
  • **
  • Posts: 340
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #4 on: November 29, 2012, 10:34:40 am »
I don’t know if anyone else remembers but a long time ago ( late 1960’s I think) Practical Electronics published a series of articles on the construction of a simple analogue computer. It was very basic but was a good introduction to analogue computing. It kept me occupied for many months and was where most of my pocket money was spent during the period.

If anyone still has a copy of the articles they would be great to see again.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #5 on: November 29, 2012, 12:26:48 pm »
The entire series is here:

http://www.archive.org/download/http://archive.org/details/anacomp

EDIT:

The pages from the articles/issues are presented in random order on the site and you have to download each page individually, but they seem to be all there; I've just downloaded pdf files from the list on the left.

« Last Edit: November 29, 2012, 12:50:40 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline alanb

  • Frequent Contributor
  • **
  • Posts: 340
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #6 on: November 29, 2012, 12:46:14 pm »
Thank you for that. I can see that the series actualy started in Jan 1968.

 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #7 on: December 10, 2012, 12:43:04 pm »
Ever since stumbling across the awesome stuff on show at this website:

http://www.analogmuseum.org/english/



..............Surprisingly little comment/interest(?) in this kind of thing.........


The sine/cosine chassis of my analog computer has now grown to contain 9 sin/cos function generators. I've also decided to incorporate a precision 100V triangle waveform generator into the sin/cos chassis for calibration/test purposes. Here is my breadboarded prototype with schematic. This circuit generates a fixed frequency, 500Hz, 100V peak-peak triangle wave with a DC offset of 50V. With this signal as the input, my sin/cos function generator in the cos mode will produce a continuous sinewave output. This will aid part of the calibration procedure (by adjusting for minimum THD of the 500Hz sinewave with the aid of a distortion analyser).

The triangle wave generator works by integrating a precision amplitude (+/-5V peak) 500 Hz squarewave derived/divided down from a 2MHz crystal oscillator.
The triangle wave from the integrator is then amplifier to 100V peak-peak by a discrete high voltage op-amp. The 50V DC offset is regulated by a servo amplifier sensing the signal output, which steers the integrator reference. This produces a triangle wave at the output with a precise 50V DC offset and a duty cycle of exactly 50%. There is a trimpot to calibrate the DC offset in the voltage reference leg of the servo amplifier. The peak-to-peak amplitude of the triangle wave is calibrated with a trimpot varying the integrator input current.

The output current limits at +/-20mA, is short circuit proof and the HV op-amp is capacitive load stable. The integrator-steering servo loop is a “conditionally stable” system with a phase margin of 60 degrees.


edit - in the xtal oscillator part of the schematic there should be a 1M resistor terminating the MPF102 jfet gate to ground.
 
« Last Edit: December 10, 2012, 08:12:25 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Online BravoV

  • Super Contributor
  • ***
  • Posts: 6583
  • Country: 00
  • +++ ATH1
Re: Home Brew Analog Computer System
« Reply #8 on: December 10, 2012, 02:52:30 pm »

..............Surprisingly little comment/interest(?) in this kind of thing.........


Made self notes, watched, bookmarked, voted 5 stars for this thread since it was created, its just I'm too noob to involve in this wonderful topic. The closest thing to this topic that I'm learning and planning to work with is just the built single chip 4th quadrant multiplier.

Please, don't stop, and thank you.  :-+
« Last Edit: December 10, 2012, 02:55:12 pm by BravoV »
 

Offline saturation

  • Super Contributor
  • ***
  • Posts: 4788
  • Country: us
  • Doveryai, no proveryai
    • NIST
Re: Home Brew Analog Computer System
« Reply #9 on: December 10, 2012, 03:50:59 pm »
Making an analog computer is quite a tour de force learning and implementing large amounts of analog technique that folks buy these days in pre-made ICs  :-+. If you enjoy this level of work, I'll be a good way to get a job in analog IC design.   
Best Wishes,

 Saturation
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #10 on: December 22, 2012, 03:57:39 am »
...... analog technique that folks buy these days in pre-made ICs  :-+.


And digital ones just for fun  ;)

A bunch of prototype analog modules are currently on the back-burner until parts arrive, so I've made a start on the digital section of this "analog-hybrid" computer. Here is what I've called the "Iteration Counter". It's a 4-bit programmable-n counter whose primary purpose will be, receiving its clock input signal form the computers master timing/controller unit, counting problem solving iterations and, patched into an electronic analogue multiplexer network, switching different sets of "initial conditions" and/or constants for each problem solving iteration.
Just for example, suppose you "write" a program to compute and plot the trajectory of a projectile or missile. The problem can be solved/plotted/displayed successively with anything from 2 to 16 different (multiplexed) constants (just for example) for gravity. The completed computer will have four of these counter modules, which can be either daisy-chained for patched independently to perform other functions. 

All of the computers patchable digital logic will use open-collector inverted logic (0=1) with internal resistive pull-ups on all inputs. All I/O is designed to be blow-up proof, such that any I/O can be accidentally patched to a + or - 100V analog output without damage. The Iteration counter has a clock input, a reset input and 20 current-limited open-collector outputs with indicator LED's. There are sixteen decimal outputs (D0-D15) and four BCD outputs.
   
Here is a vid of it running; as shown, n-programming is achieved simply by patching the reset input to the appropriate decimal output. The 4 LED's on the far right are indicators for the BCD outputs. 
 


Schematic is also attached, as well as a more readable form the Triangle Waveform generator schematic, with a couple of errors corrected.

« Last Edit: December 22, 2012, 04:27:17 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #11 on: December 22, 2012, 10:23:31 am »
@GK: A simple and probably stupid question from a software guy - what drove the design choice of 50V rails?, I can understand split supplies ( balanced ) just not the high voltage.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #12 on: December 22, 2012, 11:31:00 am »
Actually the analog modules run regulated supply rails of +/- 110V, with an operating output swing of +/-100V. In analog computer speak, that makes this a "100V computer" - 100V = 1 computing "unit". Back in the day most solid state analog computers were 10V computers, with the analog (op-amp) stages running on +/-15V rails. However the Rolls Royce machines from Systron Donner were 100V computers.
The reason for this is that it is much easier to maintain a high degree of accuracy when the voltage is ramped up. Consider an integrator stage (the heart of an analog computer) based on a jfet-input op-amp. It might have an input offset voltage of 10mV. 10mV is 10 times less error in a 100V computer than it is in a 10V computer. Also, "function generator" modules such as my sine/cosine module that rely on diode break-point / piecewise waveform shapers are much easier to make accurate in a 100V design than in a 10V design, as variations in diode voltage drops and transistor Vbe's are much less significant.

A 100V computer is also 10 times cooler than a 10V computer.


« Last Edit: December 23, 2012, 01:30:41 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 1839
  • Country: ca
Re: Home Brew Analog Computer System
« Reply #13 on: December 22, 2012, 02:35:54 pm »
Hi GK,

You might like this high voltage op-amp

Link: http://www.linear.com/product/LTC6090#overview

Jay_diddy_B
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #14 on: December 23, 2012, 01:20:49 pm »
Hi GK,

You might like this high voltage op-amp

Link: http://www.linear.com/product/LTC6090#overview

Jay_diddy_B


Unfortunately it only does +/-70V !

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Finally got the design of this solid state sine/cosine resolver completed. Might get the board dropped into the etch tank tomorrow if all this damn Christmas crap doesn't get into the way.

 
« Last Edit: December 23, 2012, 01:30:00 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #15 on: January 05, 2013, 02:48:49 pm »
Some progress photos. I recently burnt a big hole in my wallet buying bulk quantities of most of the semiconductors (thousands) needed for this computer project. I've got the triangle generator and a sin/cos module 90% loaded. I still need some more miscellaneous bits and pieces to finish them, but the next bulk order isn't going to happen until my funds recover. However there is still plenty of design work to do. I've actually got most of the electrical design worked out now on paper; its just a matter of drafting all of the schematics in Protel and laying out the PCBs.

Attached are pics of the sine/cosine module and the triangle waveform generator, as well as a PCB layout of the power supply board (which I have just completed).

The triangle waveform generator along with nine of the sine/cosine module PCB's, the power supply module and power transformers (1x 18v-0-18V sec. plus 1x 110V-0-110V sec.) will be mounted into a custom 3U 19" rack case to complete the "Sine/Cosine Chassis". The PSU board is self-contained with the exception of the series pass transistors which will mount onto the rear panel of the case on a large heatsink.

This completed chassis will only be a very small part of the complete computer which will completely occupy a ~2 meter tall, floor-standing 19" equipment rack (which I already have).

I'm starting on Protel files for the "LOG/EXP Chassis" now, which will contain five 100V logarithmic amplifiers and five 100V exponential (the inverse of a logarithm) amplifiers. The transfer function of these modules are based on matched transistor Vbe's (MATXX-series) with thermistor temperature compensation, rather than the piecewise approximation method as used in the sine/cosine module. In a LOG/EXP application this method has a much greater dynamic range.

   

 



 
« Last Edit: January 05, 2013, 02:51:48 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline ftransform

  • Frequent Contributor
  • **
  • Posts: 729
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #16 on: January 05, 2013, 03:34:32 pm »
can a ti-89 out perform your computer?
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #17 on: January 05, 2013, 03:51:21 pm »
Can a TI-89 do any of this kind of stuff?

http://www.analogmuseum.org/english/examples/


..... or be patched into a prototype design to simulate/emulate simple through to highly complex control systems?

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline ftransform

  • Frequent Contributor
  • **
  • Posts: 729
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #18 on: January 05, 2013, 11:20:05 pm »
Can a TI-89 do any of this kind of stuff?

http://www.analogmuseum.org/english/examples/


..... or be patched into a prototype design to simulate/emulate simple through to highly complex control systems?

Well I guess what I'm asking is how powerful of a modern computer do you need in order to equal the performance of your device?
Could it do something that a desktop PC can't?

I like your project I am just curious.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #19 on: January 05, 2013, 11:58:35 pm »
I think a modern desktop PC would have a many orders of magnitude greater computational power. Dunno how best to make a comparison to a digital computer; they are very much different things.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #20 on: January 10, 2013, 09:53:35 am »
Attached is the complete schematic for my logarithmic amplifier module. Due to the utility of log amps in a analog computer, I've decided to build 10 of these instead of only five. A custom 2U 19" chassis will house 10 of these along with their power supply. Another 2U chassis will house 10 exponential amplifier modules.

The transfer function is simply:

Eout = K * ln (Ein).

K = a fixed scaling factor of 20. The operating input voltage range is 0.01V to 100V, producing an output voltage in the range of +/- 92.1V.
The output amplifier clips at approximately +/-105V, so the dynamic range is a smidge over 4 decades.

The actual log converter based on the SSM2212 is a "fast" design I came up with on my own. Over the 4 decades it is very accurate (overall significantly better than 1% when trimmed).

A conversion to a logarithm of any base is simply a matter of external scaling by the programmer.

« Last Edit: January 10, 2013, 10:23:02 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #21 on: January 10, 2013, 10:13:36 am »
Looks nice.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #22 on: January 10, 2013, 10:39:00 am »
Looks nice.

Thanks!

BTW, if you saved the schematic, please delete it. There was a silly error and I had to take it down. I misplaced the decimal point calculating the resistor values for the offset trim/null range and it was inadequate by a factor of 10.

Attached is the fixed schematic (R8 increased from 10R to 100R and R10 added to restore balance).


EDIT: circuit revised - see reply#288

« Last Edit: February 15, 2015, 05:49:52 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #23 on: January 10, 2013, 10:56:37 am »
I do see the difference. You could probably replace D10-14 with 1N4148's as well, mount close to the heatsink inside a shrink tube to keep stray light from them.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #24 on: January 10, 2013, 11:27:14 am »
The D10-D14 string used for biasing the output transistors doesn't have to be thermally coupled to the heat sinks, as there is a large total of 132 ohms of emitter degeneration (R30-R33), which makes thermal runaway impossible. Suppose the output transistor heat up delta 50 deg C due to heavy loading. That will cause the emitter-emitter potential difference between Q15 and Q16 to increase by approximately 200mV, returning a quiescent current increase of only 1.5mA.  On +/-110V rails that will increase the quiescent power dissipation of each power output transistor by only ~165mW. This pretty much represents a worst case scenario; a 50 degree C delta heating in both power output transistors could only happen with amplifier being heavily ac driven into current limiting into an Eout short. 

I used 1N4007's instead of 1N4148's for their lower individual voltage drop. Their total voltage drop along with the 132 ohms emitter degeneration result in a reasonably well defined (taking into account component variations) output transistor quiescent current of ~5mA.

I am though open to suggestions on how to best thermally couple the SOIC-8 SSM2212 dual monolithic transistor to the leaded thermistor for optimal temperature compensation of the log converter.
« Last Edit: January 10, 2013, 11:39:36 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #25 on: January 10, 2013, 11:42:39 am »
A soft flexible thermal pad on top of the transistor and the thermistor on top of that. Cover them all with a small potting box that is left unfilled, but glued to the board to keep draughts out. Mostly isothermal, enough thermal mass to keep both stable and simple. Can't remember the manufacturer of the soft pink foam thermal transfer pads that are so common on CD drives.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #26 on: January 10, 2013, 12:10:37 pm »
That sounds like a plan. I could fold up some little rectangular cans out of brass or copper shim and solder them up along the seams. The SOIC could be enclosed by a (say) 50 thou-thick, rectangular perimeter GND track to which the up-turned can gets soldered - a bit like an RF screening can, but just to keep air currents out instead.

Or perhaps I could just glue a plastic coke bottle screw-cap onto the board.

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #27 on: January 10, 2013, 12:22:38 pm »
Not metal, you want insulation, not extra capacitance. Small potting box, matchbox inner tray or even a cardboard cut and glued to suit ( I did this for a crystal as an oven) will work. Even styrene sheet cut and scored, stuck together with glue and held down with some double sided tape.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #28 on: January 10, 2013, 12:28:18 pm »
Cardboard isn't very robust and is a bit shabby. I'm liking the glued down plastic coke bottle cap right now.............   
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #29 on: January 10, 2013, 12:36:21 pm »
Pulling a Bob Pease now are we..... He did the same on a thermally sensitive appnote, inside a biscuit tin, on a sheet of copper clad board with a lot of dead bug.........
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #30 on: January 10, 2013, 01:09:04 pm »
I vaguely recall seeing it done as you describe but couldn't say if it was Pease or Williams. It might have to be soda water bottle lids though as I'm giving up coke. I actually drink the soda water straight. Tastes better than tap water and the bubbles are refreshing. I somethings get funny looks at the supermarket with my weekly 8 liters of soda water though. They must think I'm a major piss pot or something.

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline ftransform

  • Frequent Contributor
  • **
  • Posts: 729
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #31 on: January 11, 2013, 03:15:36 pm »
I vaguely recall seeing it done as you describe but couldn't say if it was Pease or Williams. It might have to be soda water bottle lids though as I'm giving up coke. I actually drink the soda water straight. Tastes better than tap water and the bubbles are refreshing. I somethings get funny looks at the supermarket with my weekly 8 liters of soda water though. They must think I'm a major piss pot or something.
lol, I like to drink mine with raspberry syrup. I can't stand the taste of that shit without sugar. :-\
« Last Edit: January 11, 2013, 03:17:27 pm by ftransform »
 

Offline baljemmett

  • Supporter
  • ****
  • Posts: 666
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #32 on: January 11, 2013, 03:19:47 pm »
lol, I like to drink mine with raspberry syrup. I can't stand the taste of that shit without sugar. :-\

Ninja edit?  ;)
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #33 on: January 11, 2013, 04:12:53 pm »
I just make my own, why pay full price of carbonated water when the gas to make 100l is the same cost as 5l of soda water. Carbonated water is the same price as cooldrink, but they save because there is no cane sugar or any other thing in there.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #34 on: January 15, 2013, 12:35:17 pm »
Generic 1.25L soda water at Foodland cost $1.   :P

But that is enough on that exciting topic; I've been verifying my design of the computers precision, triggered Time Base on breadboard.  :-/O
Attached is a pic of a small part of it operating. The Time Base is the master unit that basically controls the whole computer, generating
the logic signals to control the computers integrators (which have 3 modes; "Hold", "Initial Condition" and "Compute/Integrate"), as well as
providing a voltage ramp output representing computation time, so the solution can be displayed/plotted on an X-Y oscilloscope or on chart recorder.   

I need a scope with more vertical channels...............................
« Last Edit: January 15, 2013, 10:50:42 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #35 on: February 09, 2013, 11:50:44 am »
Since this is unarguably the most interesting thread started in the history of EEVblog forum, I probably shouldn't let it die.

I got the power supply design for the sine/cosine function chassis completed/operational/tested this afternoon. This is the supply board that provides precision regulated rails of +/-110V and +/-51V, as well as the required +/-15V low-voltage supply rails, for nine sine/cosine function module boards and the single 100V triangle waveform generator. The circuit diagram *.pdf is attached. The 4 transistors mounted on the large heatsink are the series pass devices for the HV rail regulators.

The regulator was specifically designed not to have any overshoot or other funny business on power-up and power-down and also features an over-voltage detector / fault latch to shut down in the event of a loss of regulation to any of the HV rails. A scope photo is attached showing the lack of overshoot on power up.

The PSU is shown powering the triangle wave generator. The unfinished sine/cosine module board is also in the picture; I'm still waiting for an back order of 0.1% resistors to arrive, which are the only parts still needed to finish populating the PCB. They should arrive next week. Once the sine/cosine module design is tested I'll be producing another 8 of them. That will complete the electronics for the computers "Sine/Cosine Function" chassis.



 


« Last Edit: February 09, 2013, 11:54:26 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #36 on: February 09, 2013, 12:46:30 pm »
Very nice stuff GK.  :-+ I had not followed this thread. Now I see why you are not jumping on the differential amplier project.....yet  ;D

Offline veryevil

  • Supporter
  • ****
  • Posts: 197
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #37 on: February 09, 2013, 08:32:03 pm »
This is just some beautiful work. I cannot wait to see more.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #38 on: February 11, 2013, 03:24:31 am »
Thanks  :)

I'm looking foward to being able to make a start at running some elementary programs, but there is still a lot of PCB layouts and soldering to do until then. I'm working on the various PCB layouts for the computers master controller unit now (very much analogous in operation to an old school CRO timebase). That will be a major step in the right direction.

BTW, does anyone know an affordable source of PCB tin plate power? For the integrator banks (the brain of an analog computer) guarded jfet input currents need to be minimised to prevent drift in the "hold" mode of operation. Therefore I don't want to conformable coat tp preserve the copper and need to board wash after soldering.
« Last Edit: February 11, 2013, 03:30:17 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline FenderBender

  • Super Contributor
  • ***
  • Posts: 1118
  • Country: us
    • The Solid State Workshop
Re: Home Brew Analog Computer System
« Reply #39 on: February 11, 2013, 03:32:24 am »
GK I really like this analog computer stuff. Is your knowlege of analog computing just accumulated from years of experience? Do you have any resources on them? I'd really like to learn about them. Shall I start on analogmuseum.org?
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #40 on: February 11, 2013, 03:33:57 am »
Very nice stuff GK.  :-+ I had not followed this thread. Now I see why you are not jumping on the differential amplier project.....yet  ;D


Hey, you know with your machinist skills and workshop facilities you'd be able to construct something pretty impressive if the analog computing bug ever bit.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #41 on: February 11, 2013, 03:37:28 am »
GK I really like this analog computer stuff. Is your knowlege of analog computing just accumulated from years of experience? Do you have any resources on them? I'd really like to learn about them. Shall I start on analogmuseum.org?


90% of my knowledge on the operation of analog computers comes from stuff downloaded from analogmuseum.org. Download all the stuff in the library section (the big Systron Donner text is the best introduction). Also try to find a copy of the Korn and Korn book (I picked one up last week form a sechondhand book seller).
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #42 on: February 11, 2013, 01:09:51 pm »
Hey, you know with your machinist skills and workshop facilities you'd be able to construct something pretty impressive if the analog computing bug ever bit.

"Please don't feed the animals" thanks but I am sure that you are like me and don't need any help getting distracted to a new project.  ;D
« Last Edit: February 11, 2013, 06:05:27 pm by robrenz »
 

Offline saturation

  • Super Contributor
  • ***
  • Posts: 4788
  • Country: us
  • Doveryai, no proveryai
    • NIST
Re: Home Brew Analog Computer System
« Reply #43 on: February 11, 2013, 05:07:49 pm »
You could make a difference engine, aka "mechanical calculator":





Best Wishes,

 Saturation
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #44 on: February 11, 2013, 06:18:44 pm »
That is some very nice work in both cases :-+
IF i was going to do something along those lines it would probably be a 6 foot diameter circular slide rule.  You could get some awesome resolution at that diameter. But that would require some single arc second accuracy angular division which is not easy. Also requires extremely accurate trueness of rotation on the bearings because any rotational runout will give angular error.

Offline megajocke

  • Regular Contributor
  • *
  • Posts: 185
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #45 on: February 13, 2013, 08:41:02 am »
Cool project!  O0  :-+
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #46 on: February 13, 2013, 10:45:47 am »
Oh no, another audio forum refugee  :) How's it going?
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #47 on: February 15, 2013, 12:20:17 pm »
The last batch of 0.1% resistors arrived today and this evening I was finally able to finish loading the prototype Sine/Cosine module PCB and test it out. It worked just as planned. I haven't calibrated it with a voltmeter or linearity tester yet; just tweaked it while viewing the waveforms on the oscilloscope.

Here are some pics of it operating with the 0-100V unipolar triangle wave from the calibration/test oscillator used as an input signal.
To recap, the Sine/Cosine module accepts a positive input signal ranging 0V to 100V representing phase angle, which is scaled to 3.6 degrees per volt, so 100V=360 degrees or two pi radians. The output has a scaling factor of 100, so sin(90) and cos(0) = 100V and sin(270) and cos(180) = -100V. In the cosine mode the module generates a continuous sinewave output from the 100V triangle wave test signal.

Now I have another 8 of the Sine/Cosine boards to complete. I’m keeping a tally of the computers total component count. The PCB’s for the finished Sine/Cosine function chassis alone will contain a grand total of:

2252 resistors.
808 diodes
805 transistors
349 capacitors
51 trimpots
29 voltage reference ICs
27 single op-amps
18 quad op-amps
10 inductors
9 dual comparators
9 555 timers
9 reed relays
9 trimmer capacitors
4 CMOS digital ICs
2 regulator ICs
2 DPDT relays
2 diode bridges
1 quad comparator
1 crystal
« Last Edit: February 15, 2013, 12:29:42 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #48 on: February 15, 2013, 12:42:25 pm »
Awesome work there GK :-+ Makes me feel electronically inept :'(

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #49 on: February 15, 2013, 12:52:44 pm »
Yeah I'm pretty awesome.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #50 on: February 15, 2013, 03:27:19 pm »
BTW, does anyone know an affordable source of PCB tin plate power?

There are immersion tin mixtures available. One is "SUR-TIN" from Bungard:

http://www.bungard.de/index.php?option=com_content&view=article&id=29&Itemid=80&lang=english#top9

Another one is "Seno Glanzzinn" (dunno if/under what name they sell it outside Germany).

I still have some of the Bungard stuff left, ready to be mixed for 1 liter or more. I could send it your way, but i'm not sure if that is at all possible, since it's a few nasty chemicals.... Sulfuric acid, uric acid, and some powdery stuff.

Strange that this stuff is so ridiculously expensive on Farnell. Here is German shop, for example:

http://www.octamex.de/shop/?page=shop/flypage&product_id=53&category_id=538bc6e72af65cf55e7fcba4ee8c099f&/Chemisch_Zinn_kaufen.html

Greetings,

Chris
 

Offline megajocke

  • Regular Contributor
  • *
  • Posts: 185
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #51 on: February 16, 2013, 02:49:19 am »
Oh no, another audio forum refugee  :) How's it going?

Just fine! And you?

On the subject of analog stuff with lots of components, recently a friend and I have been working on a microprocessor controlled polyphonic analog synthesizer inspired by the Rhodes Chroma. Though I guess using digital computers is cheating...  ;)
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #52 on: February 17, 2013, 11:26:37 am »
BTW, does anyone know an affordable source of PCB tin plate power?

There are immersion tin mixtures available. One is "SUR-TIN" from Bungard:

http://www.bungard.de/index.php?option=com_content&view=article&id=29&Itemid=80&lang=english#top9

Another one is "Seno Glanzzinn" (dunno if/under what name they sell it outside Germany).

I still have some of the Bungard stuff left, ready to be mixed for 1 liter or more. I could send it your way, but i'm not sure if that is at all possible, since it's a few nasty chemicals.... Sulfuric acid, uric acid, and some powdery stuff.

Strange that this stuff is so ridiculously expensive on Farnell. Here is German shop, for example:

http://www.octamex.de/shop/?page=shop/flypage&product_id=53&category_id=538bc6e72af65cf55e7fcba4ee8c099f&/Chemisch_Zinn_kaufen.html

Greetings,

Chris



Thanks for the offer Chris, but you're probably right, shipping the hazardous chemicals overseas probably wouldn't be viable. Yes the Farnell (Element 14) price for the powder is ridiculous. I didn't know that you could buy it as a mixture. Does that have a finite shelf life? I know the powder only lasts several months once mixed.
« Last Edit: February 17, 2013, 11:34:13 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #53 on: February 17, 2013, 11:33:19 am »
Oh no, another audio forum refugee  :) How's it going?

Just fine! And you?

On the subject of analog stuff with lots of components, recently a friend and I have been working on a microprocessor controlled polyphonic analog synthesizer inspired by the Rhodes Chroma. Though I guess using digital computers is cheating...  ;)


I'm fine also.

Lots of common ground between analog computing and analog synthesizer design  :-+ . I've always been interested in the design of analog synthesizers and once had fantasies of building one myself (polyphonic, with lots of keys) but I'm not musically inclined, so in the end it would be a bit pointless. 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #54 on: February 17, 2013, 01:51:10 pm »
Thanks for the offer Chris, but you're probably right, shipping the hazardous chemicals overseas probably wouldn't be viable. Yes the Farnell (Element 14) price for the powder is ridiculous. I didn't know that you could buy it as a mixture. Does that have a finite shelf life? I know the powder only lasts several months once mixed.

Yes, they all have a limited shelf life once mixed with water. It's usually around 6 months. If you keep it really cool, and use distilled water, it will last a bit longer.

It doesn't stop working completely, but the tin layer wont be that shiny anymore, and it takes much longer to deposit on the board. Also, it partially crystalizes. You can re-dissolve them by heating it up and mixing it well again.

Also, you have to solder the boards pretty quick once tinned. After a few weeks it will become virtually impossible to solder it anymore. You would have to give it a good scrub then, which probably will partially remove the tin layer completely. I used that stuff for a while, but don't use it anymore at all. It smells like foul eggs, has nasty chemicals, a limited shelf life, and it forces you to solder the boards quickly.

The "Seno Glanzzinn" comes in a brown bag, no liquids. I guess that would be rather easy to send. A pack is around 19 Euro, plus shipping. Let me know if you are interrested, i could then forward one to you. One pack is good for 1 liter ready-to-use solution, about 40 Euro-Card sized boards (160mm x 100mm).

However, you can get a can of leaded solderpaste, spread it on the boards and reflow that in an oven. Not the most beautiful thing, but it works well and protects the copper.

Greetings,

Chris
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #55 on: February 18, 2013, 12:39:47 pm »
Hmmm... The whole tin plate idea is looking less and less attractive. I'm probably being a bit paranoid about PCB leakage current in my integrators anyway and would be hardly worse off just using a conformable coat. JFET leakage currents will likely dominate anyway, and you shouldn't expect the computer to hold your solution in the "Hold" mode with the utmost stability over extended periods (eg. while going off to lunch) anyway.

That said, now just thinking aloud (way too late at night), how much luck would I have evenly/uniformly solder-coating a bare copper board if I melted a hefty roll of solder in a frying pan over a gas burner and somehow just skimmed/floated the board over the surface?
« Last Edit: February 18, 2013, 12:44:38 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Online notsob

  • Frequent Contributor
  • **
  • Posts: 641
  • Country: au
Re: Home Brew Analog Computer System
« Reply #56 on: February 18, 2013, 01:03:11 pm »
If you are looking at plating systems and supplies, I recently found these guys when looking for liquid electrical insulation (look at their plasti dip range), anyway I haven't used them but it may be worth contacting them.

http://www.caswellplating.com.au/store/store.php
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #57 on: February 18, 2013, 01:34:10 pm »
That said, now just thinking aloud (way too late at night), how much luck would I have evenly/uniformly solder-coating a bare copper board if I melted a hefty roll of solder in a frying pan over a gas burner and somehow just skimmed/floated the board over the surface?

Virtually none. You will always get an uneven solder coating that way. Just look at consumer electronics that is assembled using a solder-bath. There is a reason why you almost never see big chunks of copper plane solder coated that way there. They either go fo a "grid" type copper-pour instead of a solid copper plane, or they restrict the available tinable area with a solder mask.

If anything, you have to recreate the HAL process to get a somewhat even surface. This is basically just applying the molten solder to the PCB, and then using hot air to "level" (i.e. blow away) the excess solder. HAL = Hot Air Leveling.

So, if you don't care about an even surface, you can do it the way you proposed. Otherwise that method is good only for etched boards, i.e. when tinning only the traces instead of a whole bare copper area.

So, i would think that conformal coating would probably the best way to go. Cleaning in an ultrasonic bath, with suitable solvent. Maybe then dry the boards in an oven for a few hours before coating, to make sure that no moisture is trapped under the coating to be applied.

How were the boards "finished" in the commercial analogue computers? After all, these machines are a rather old thing.

Greetings,

Chris
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #58 on: February 20, 2013, 12:48:32 pm »
I vaguely recall seeing it done as you describe but couldn't say if it was Pease or Williams.


It was Williams:

http://cds.linear.com/docs/en/application-note/an124f.pdf

bottle cap was epoxy filled too.

I'm almost finished loading/testing the Time Base PCB. After that I'll be doing the Log Amp boards. I've already collected 10 coke bottle caps. I think I'll drill a ~5mm hole in to the top of each and inject araldite with a syringe.
 


Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #59 on: February 21, 2013, 12:06:16 pm »
The Timebase board is slowly nearing completion. I decided in the end that I wanted much more comprehensive sweep waveform (x-axis) output options and provisions for re-trace blanking (z-modulation) for use when viewing problem solutions on an X-Y oscilloscope in the repetitive operation mode. These functions will be performed on a separate circuit board. As a consequence I modified the circuit a bit. The revised schematic is attached.

« Last Edit: April 30, 2015, 06:28:54 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #60 on: March 01, 2013, 08:00:56 am »
A geofiz trip put me out in the middle of nowhere again for several days, but I'm now back in the shed. The timebase board is finished and works just as planned. Got it wired to a scope with more channels this time! (A DSO for now, until I finish calibrating two of my Tek 1A1 plug-ins for the 551 mainframe).
The two rotary switches (time [1s, 2s & 5s] and five-position multiplier) which select one of the 15 calibrated compute time settings (from 1mS to 50S) will be double pole types, with one half of each switching a diode decoding matrix and MPSA44 HV transistors to display/indicate the timebase setting on three Nixie tubes (and two neon lamps in bezels to indicate either ms or S), which I have salvaged from an old stuffed "panel" meter (along with a suitable transformer to supply the anode potential).


« Last Edit: March 01, 2013, 09:18:45 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #61 on: March 01, 2013, 02:54:33 pm »
You need a new slip indicator. I got quite good at knitting them out of a big ball of bright red wool i bought at the sale section at a haberdashery. What chopper were you flying over the sand.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #62 on: March 01, 2013, 10:42:13 pm »
Robinson R44 Raven I. I actually drove a ~6 tonne truck/mobile lab out there, battling sand dunes. When things didn't go to plan (as usual), instead of sitting around in the 40+ heat with sand up my arse, I managed to hitch a free seat on the chopper out to a hotel room for the night. Touched down right in front of the pub!
   
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline FenderBender

  • Super Contributor
  • ***
  • Posts: 1118
  • Country: us
    • The Solid State Workshop
Re: Home Brew Analog Computer System
« Reply #63 on: March 01, 2013, 10:55:58 pm »
Awesome work there GK :-+ Makes me feel electronically inept :'(

I'd say...

Yikes, I'm still trying to understand class-b amplifiers...
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #64 on: March 02, 2013, 08:59:00 am »
A DSO for now, until I finish calibrating two of my Tek 1A1 plug-ins for the 551 mainframe.


Done! Well, almost. The 1A1's are still way out of calibration, but I have fixed all of their faults and they are functional. Also spent the entire afternoon tracking down faults in the 551 mainframe, before I could calibrate it properly. My long run with ancient Tek gear and no dodgy electrolytic capacitors has come to an end. One "125MFD 350WVDC", of the -150V regulated reference supply, suddenly decided to go <100nF, giving me huge ripple on all of the regulated rails along with a really funky CRT display. Another PSU electro decided to low impedance instead and burnt out some parallel peak-current-limiting resistors between it and the bridge rectifier. I will have to compile a shopping list and do an electrolytic capacitor blitz on my old Tek mainframes one weekend  :-/O

But anyway, two 1A1 dual-trace plug-ins in a 551 dual-trace mainframe gives a 4 channel scope. The next step is to track down a pair of 1A4 plug-ins on Ebay to make 8 channels.................

 
« Last Edit: March 02, 2013, 12:55:56 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #65 on: March 02, 2013, 12:53:26 pm »
Robinson R44 Raven I.


Holy crap! I wouldn't have guessed that that crappy little thing was equipped with an engine almost 9 liters in capacity:

http://en.wikipedia.org/wiki/Lycoming_O-540


 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #66 on: March 02, 2013, 02:23:49 pm »
500hP is better........ http://en.wikipedia.org/wiki/A%C3%A9rospatiale_Alouette_III

You need a lot of power to keep from sweating in there.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #67 on: March 27, 2013, 11:55:51 am »
Some major progress has been made in the construction of this computer, but I won't have much further fully functional to show until a bunch of back-order bits arrive.

Here is a little play in LTspice in the meanwhile   :D:

www.users.on.net/~glenk/bouncingball.asc
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Initial baby steps to a TV-based oscilloscope
« Reply #68 on: March 29, 2013, 10:40:02 am »
Well perhaps this is a little more exciting than the above............................... ???

Since I started working on this analog computer project I've been pondering over what kind of X-Y oscilloscope would make the best display device. For example, something like this: http://www.analogmuseum.org/english/examples/bouncing_ball/  just isn't as impressive as it should be when viewed on a tiny CRO tube screen with a 10 by 8 cm grid.

So this afternoon I started investigating the idea of converting an old TV set with magnetic deflection into an oscilloscope. An old little TV set which has been sitting in my cupboard for the last 11 years unused was sacrificed for the purpose. The pics below show how far I got. To my delight, my basic theoretical understanding of how to undertake the conversion proved entirely adequate and the conversion is really going to be a piece of cake.

I started by reverse engineering the RGB driver board (plugged into the rear of the CRT) and disabling the video. I reconfigured the gun driver amplifiers so that I could adjust the intensity of each color beam independently/manually. In the photo below I just have the green gun operating; the others are biased to cathode current cut-off. I then identified the connections to the separate horizontal and vertical deflection coils and disconnected them from the sets circuitry. So, from that point on, I am only utilizing the TVs motherboard to provided the operating voltages for CRT.

The vertical deflection coil is actually quite sensitive. My AWA G231 oscillator was easily able to drive the coil for full scale vertical deflection on the CRT at frequencies of 1kHz or so and less. To approximate a current drive in this initial test, I am simply driving the coil through a low value series resistor. So long as the value of the resistor is low compared to the inductive reactance of the deflection coil (at the operating frequency) current drive is adequately approximated and a linear(ish) deflection appears on the screen.

For driving the horizontal coil, however, I had to knock something up. I initially assessed the deflection sensitivity of the horizontal deflection coil by connecting it to my bench power supply in the CC mode. By dialing the dc current through the coil up and down I could therefore manually move the dot across the screen. A current of approximately 1A was required to shift the dot from the center of the screen to the edge (with no current through a deflection coil the dot returns to the center of the screen for the respective axis).

I then made a really simple and crappy (but adequate for "proof of concept") single-ended class A, current-output power amplifier stage capable of driving +/-1A peak into the horizontal deflection coil. This amplifier stage was build up around an MJL21193/MJL21194 power transistor pair screwed down onto an adequate heat sink. This amplifier is shown in the photographs. Being single-ended class A a bit more than 1A is constantly drawn from the supply (note the current reading on the bench supply providing the +/-15V supply rails). By driving this horizontal deflection coil amplifier with my crappy little Jaycar "pocket" signal generator I has able to get some nicely linear Lissajous figures up on the screen. yahoo!

The next step was to knock up a crappy triggered "timebase". For this I used a 555 wired as a one-shot monostable. It is triggered (via a transistor switch configured as a crossing detector) by the AWA G251 oscillator output signal, providing the vertical deflection. For a linear ramp, a current source is used for the 555 one-shot and the linear ramp voltage across the timing capacitor is buffered with a BC550C (c-grade for high gain) emitter follower and then applied to the H-coil driving I-out power output stage input via a pot to vary the horizontal sweep width on the screen.

This allowed me to get a conventional, stable oscilloscope-like display of a ~500Hz sine wave on the screen, as shown in one of the pictures below. Note the feint retrace line though as I wasn't bothered to implement retrace blanking at this early experimental stage.

Now that I know exactly what needs to be done to turn this old TV into a scope with 10-20 kHz bandwidth or so, I can begin with the electronics design proper. I am going to have to build class B I-out deflection coil driver amplifiers with several hundred volts of voltage compliance. I also intend to do away with the TV's original circuitry entirely, building my own PSU to deliver all of the necessary voltages for the CRT. For the gun drivers, I currently intend to make them digital - each gun either on or off in accordance with logic control signals with a common, overriding cut-off control input (for retrace blanking) and with a common brightness control that varies the "on" threshold of the thee guns in unison and thus the beam current and the resultant display intensity. A 7-position rotary switch will select the trace colour (3 bits actually gives 8 "colours" but one of them isn't very useful as it is black  ;D).

What I also intend to implement is alternative logic RGB inputs. This will allow, via multiplexing, the display of multiple traces off of different colours. So the 7-position rotary switch will rather be an 8-position one with the eighth input selecting external logic signals for the trace colour control. For example, I will eventually be able to run Bernd Ulmann's "ball in a box" simulation (as linked to above) on my machine, but instead displayed on my large screen TV scope, with multiple bouncing balls with different coefficients on screen at once displayed in different colours!

Also, as a bonus, my parents (on the big LCD-screen craze) pensioned off today a perfectly fine CRT TV with a screen twice as big as the one shown, which is due for delivery here tomorrow morning; another to be sacrificed for TV-to-CRO conversion  ;D





   
 

     
« Last Edit: March 29, 2013, 11:01:07 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #69 on: March 29, 2013, 11:02:54 am »
Just use a scope to make a note of the drive to the LOPT and the drive to the transformer driving the line output stage, then just use that and nothing else aside from the tuning capacitors along with the appropriate HT supply. The PSU of the set can be cut out of the board complete, and used as a unit to provide mostly 130VDC for the LOPT, assorted low voltage lines like 12V, 26V and a 5V line for the low voltage stuff. Then you can have a much simplified unit.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #70 on: March 29, 2013, 02:04:03 pm »
If I had a spare LOPT/trippler that is something that I would consider, but how long before these things are unobtanium and what would I do if the thing went poof a couple of years from now? They are a highly stressed part and failures are not uncommon. There is still heaps of this stuff around right now, but people (down here at least) are now throwing away their CRT televisions and computer monitors as if they were something one could catch rabies from! 

I was considering winding my own HV step-up transformer on a large ETD core (I have a kit of selected samples from the entire range) and making my own voltage multiplier. The multiplier could have its HV diodes and ceramic caps laid out on a spacious PCB. Spray half a can of conformable coating over it and it should last forever.

 

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #71 on: March 29, 2013, 03:50:13 pm »
I can still buy LOPT's and triplers for Trinitron TV sets, the bloody things just keep on trucking, horrible bodges to replace GTO thyristors notwithstanding. If you are worried just use the LOPT and grab a few spares from similar sets, they all run off pretty much the same voltage (108-130V) and have near identical charactaristics, so can just be substituted when needed, just make a note ( place in plastic baggie and cable tie to LOPT EHT lead) of pins used for HT and GND along with the drive pin, and the values of the tuning caps ( put the caps themselves and the transistor in the baggie as well) needed.

3 Dead Trolls in a Baggie...........

http://youtu.be/nL24aNugo_4

 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #72 on: April 02, 2013, 09:14:55 am »
Well I guess I could get my hands on a few spares if I really wanted to, but I still prefer to roll my own, just because I can.



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I've completed the design for the horizontal coil driver amplifier. The yokes horizontal coil has an inductance of 2mH shunted with 70pF winding capacitance and a series resistance of 1.2 ohms and requires a smidge under 1.4A (accurately measured this time) peak for full scale deflection.

The composite current driver amplifier I have come up with (schematic attached) forces -Vin across resistor Rsense (lower right hand side of the schematic). The current flowing through Rsense is the deflection coil current. The small signal bandwidth is 35kHz and the large signal bandwidth (a coil current of 2.8Ap-p) is a fraction over 2kHz. The large signal bandwidth and slew rate is constrained by how much "compliance" voltage the I-out driver amplifier has. I settled on +/-40V rails as a sane compromise between bandwidth and worse case power dissipation, which gives a clipping threshold of approximately 35V.

The small signal bandwidth is constrained by how much feedback can be wrapped around the deflection coil whilst maintaining stability. The first attached plot shows the loop gain and phase of the current sensing feedback loop enclosing the deflection coil. The second plot shows the voltage and current waveforms for the coil driven to full scale deflection (2.8Ap-p) by a 1kHz squarewave input.
   
I'm currently laying out the PCB for this circuit. Should have it knocked off in a couple of evenings. Then I will start considering the design of the current driver for the vertical deflection coil. It will be a fair bit different as the vertical coil has completely different characteristics (140mH inductance, 62 ohms Rs, 180mA peak for full scale deflection).

   


   
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Colour CRT convergence adjustment
« Reply #73 on: April 10, 2013, 09:59:12 am »
I'm making steady progress with the deign and construction of the electronics for this magnetic deflection CRT XY oscilloscope, but right now I'm still playing around with the crappy/bodged/experimental/test bread-boarded circuits on the bench.

I'm having an issue with the beam convergence when wishing to display additive colours. Displaying red, green and blue traces independently works fine, but I'm having an issue when wanting to mix red with any of the other colours (eg red+green for a yellow trace). At the moment, the green and blue beams are, for all sakes and purposes, perfectly converged, but the red beam will only accurately converge with the others when the focus control is right at one end of its travel - but display focus is optimal at roughly mid position.

So, obviously, I need to adjust/calibrate the convergence for red beam. My CRT here is of the modern type in which the individual beam convergences are adjusted by means of rotatable pairs of magnets on the neck of the CRT only. There are no coils nor electronic compensatory circuits at all. I've attached a picture of the neck of the CRT and the rotatable magnet assemblies.

However, I'm not sure what the correct procedure is and I'm a bit paranoid about screwing things up! Any ex-TV service technicians out there who can offer advice? To the best of my knowledge, for this type of CRT, the convergences are adjusted for a single point in the middle of the screen with no currents applied to the deflection coils. However if someone could kindly outline the magnet adjustment procedure before I take a crack of it I'd be quite appreciative!

I've also attached screen pictures of the 7 binary (a beam either on or off) colour combinations as they are currently generated, with the less than optimal focus setting required to keep the red gun converged with the green and blue. The colors don't appear as vivid in photos as they do in real life, unfortunately.




 
« Last Edit: April 10, 2013, 10:01:25 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #74 on: April 10, 2013, 10:21:45 am »
Some major progress has been made in the construction of this computer, but I won't have much further fully functional to show until a bunch of back-order bits arrive.

Here is a little play in LTspice in the meanwhile   :D:

www.users.on.net/~glenk/bouncingball.asc


Some more playing around............ Just for fun I used the ".wave" LTspice directive in a modified version of that simulation to record and save the simulated X and Y signals into the left and right channels of an audio file. This enabled me to connect the headphone socket on my PC to an XY oscilloscope for a visual display, playing the audio file with windows media player.

I modified the simulation for a much quicker solution time (10mS instead of 1s) and used alternate-write multiplexing to simulate and plot the trajectories of two bouncing balls in unison; one having a slightly higher mass than the other and subjected to a slightly stronger constant for gravity. I simply couldn't do a slow simulation such that the "balls" (CRT beam dots) could be observed slowly bouncing about on the screen (which I could have videoed), due to the high-pass, low frequency response of my PC's audio and there is some significant waveform distortion due to the AC coupling, but it makes a nice demonstration of a PC emulating an analogue computer nonetheless  ;D.   

 

 
« Last Edit: April 10, 2013, 10:26:09 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #75 on: April 10, 2013, 06:38:22 pm »
With the CRT you are using did you connect up the degaussing coil ***EXACTLY*** as it was in the set originally, along with connecting it up to power to operate when on the bench in the position it is in. Certain tubes are incredibly sensitive to stray fields, and this often will affect only the gun nearest to the source, or where the change is greatest. You might want to try using a rolled Mumetal shield around the CRT base that envelopes the whole gun assembly and the magnets, just do not kink it, and solder a wire to connect it to the CRT earthing band. If the magnets are as they were in the original set then it is better not to touch them, as they are both going to be interactive with each other and probably have been glued to the CRT neck as well during tube alignment.

I have had CRT monitors where the tube back was covered with plastic strips and full of small ferrite plastic magnets to do beam correction across the tube. Others just had under 5 for the same model.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #76 on: April 11, 2013, 04:53:06 am »
I have had CRT monitors where the tube back was covered with plastic strips and full of small ferrite plastic magnets to do beam correction across the tube. Others just had under 5 for the same model.


Thankfully this CRT doesn't have any of that; it just has three pairs of rotatable magnets on the CRT neck, as can be seen in the photo I posted. They are not glued to the actual CRT at all, but poorly "locked" in place with small dabs of that common white compound that sets hard and brittle (which is also visible in the posted photo). I don't think it should be too much of a hassle to tweak, but I think I shall refrain from playing with it until the whole thing is reassembled into its new chassis with my own electronics.

I'm going to have a 19" rack mount front panel made by Front Panel Express, with a proper cut-out and mounting holes for the CRT. The rest of the chassis I'll fabricate myself out of galvanised sheet steel and aluminium ribs. I will shield the CRT entirely in its own metal box. This will be necessary as there will be some hefty power transformers to power the linear deflection coil driver amplifiers.

The degaussing coil is currently still connected as original and operational at each power-on cycle. That part I have not reverse engineered yet but I'm pretty sure it's not much more complicated than a series R and an NTC thermistor, though there might be a TRIAC switch and timer or similar to shut off the degaussing coil current completely after it has done its job.

Worse case, if the red beam convergence cannot be adequately aligned with the green and blue beam with the CRT assembled into its new and final magnetic environment, I'll just design the digital control of the guns such that the only displayable trace colours are only either red, green or blue. No convergence issues if you’re only ever running one beam at a time  ;D
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #77 on: April 11, 2013, 10:46:40 am »
OK, I now know how to adjust the convergence. This is from the Commodore 1084S computer monitor manual, rather than a Palsonic TV, but the CRT and magnet assembly is practically identical.
 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #78 on: April 14, 2013, 06:24:04 am »
Finally have the horizontal deflection coil driver up and running.



Now I have highly linear horizontal deflection. In the vid the vertical coil(s) are being driven directly from my AWA G251 oscillator. The schematic diagram *.pdf for the horizontal deflection amplifier is attached. The vertical coil driver will be very much the same, with the exception of operating on +/-100V for the discrete power output stage, as the vertical coils have much higher inductance than the horizontal coils. This CRT originally have the two vertical coils wired in series (140mH total). To reduce (halve) the required voltage compliance for the driver amplifier I have rewired them in parallel.

     

 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #79 on: April 23, 2013, 03:21:09 pm »
I needed a break this evening from doing PCB layouts for this huge project and decided to fire up the soldering iron instead. I couldn't wait until all the boards are etched so I quickly knocked up a "dead bug" version of the vertical deflection coil current amplifier (the mess in the foreground of the attached picture).



I decided in the end to orientate the CRT vertically. It's looks way cooler this way when simulating and plotting missile trajectories and like stuff. However there is also a sound technical reason. The vertical deflection coil(s) has a great deal more inductance and a much lower self-resonant frequency than does the horizontal deflection coil. In the end I had to frequency compensate the vertical coil driver amplifier for a small signal bandwidth one tenth that of the horizontal coil driver.
In a display such as this, vertical bandwidth is much more important than horizontal bandwidth. The horizontal bandwidth just has to accommodate the horizontal sweep/repetition rate; and that only needs to be quick enough for a flicker-free display.     
So, by flipping the CRT on its side, the slow vertical deflection becomes the horizontal and the fast (comparatively) horizontal deflection becomes the vertical. There was of course another option - I could have just rotated the yoke 90 degrees instead, but as I mentioned already, my preference if for the CRT on its side.

The attached pic shows the prototype monitor displaying my simulation of the trajectory of two bounding balls simultaneously (one ball a little heavier than the other and subjected to a larger constant for gravity). Tomorrow evening I will "dead bug" the colour gun multiplexing and get the individual ball trajectories showing in different colours (and perhaps modify the simulation to simultaneously compute another ball trajectory or two).
 
« Last Edit: April 23, 2013, 11:38:21 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #80 on: April 25, 2013, 08:45:34 am »
WOW! I am blown away by all of the discussion this project presentation is generating!  :P  ::)

Here is the final schematic for the horizontal deflection coil driver (utilizing the high inductance, previously vertical, coils of the deflection yoke).

« Last Edit: April 26, 2013, 06:10:12 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #81 on: April 25, 2013, 11:56:47 am »
WOW! I am blown away by all of the discussion this project presentation is generating!  :P  ::)


careful what you wish for dude. I have been watching your progress and sort of biting my tongue. A slightly evil urge has come over me.

   You see decades ago I became fascinated with the Fermi-Pasta-Ulam problem, which is a seminal problem in nonlinear dynamics from the 50's. It was an early digital simulation done by the Los Almos peeps at a time when people were still playing with analog computers and hybrids. The surprising thing about the FPU problem is that it was a demonstration of a system which had chaotic modes when it was expected to time evolve ergodicly with equi-distribution  of energy. I have always wondered how you could do this simulation with strictly analog computation and have the results graphically displayed in real-time. Now I don't have the chops to make an analog FPU problem simulator so I want you to make it happen for me.
I mean you have all this equipment and ability but nothing interesting to calculate.   >:D
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #82 on: April 25, 2013, 02:10:47 pm »
So how many individual integrators will that problem require then?  ;D I'm assembling into this computer project 30. I still have a ship load of hardware assembly to complete before I can run anything serious. I currently have this machine ~90% designed and ~5% built. The former has been taking nearly all of my free time over the past several months, but should make way for the latter (construction) in another month or two in a major way. Once this thing is built I'll have all the time in the world to study problems to run. However my mathematical background is rather weak, and I require more than just a little revision. That is going to be as much if not more of an endeavor as was designing and building the computer to begin with. I'm currently tracking down and filling a bookshelf with classic analog computing texts (a dozen so far). My current bedtime reading is Albert S. Jackson's Analog Computation
« Last Edit: April 26, 2013, 06:31:58 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #83 on: April 25, 2013, 02:24:54 pm »
....... and here is the revised/final schematic for the vertical deflection driver amplifier. At ~50kHz it has 10 times the small signal bandwidth of the horizontal deflection driver amplifier.

« Last Edit: April 26, 2013, 06:09:26 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline baljemmett

  • Supporter
  • ****
  • Posts: 666
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #84 on: April 25, 2013, 03:01:52 pm »
WOW! I am blown away by all of the discussion this project presentation is generating!  :P  ::)

I think you need to chuck in an Arduino, a blinky LED and some obvious design errors if you want real discussion ;)

But seriously, I'm enjoying reading about your progress - analogue computing (hell, analogue anything) is not something I know a busting lot about, so I'm keeping my head down and my ignorance hidden, but I'm fascinated nevertheless.
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #85 on: April 25, 2013, 09:58:01 pm »
So how many individual integrators will that problem require then?  ;D I'm assembling into this computer project 30. I still have a ship load of hardware assembly to complete before I can run anything serious. I currently have this machine ~90% designed and ~5% built. The former has been taking nearly all of my free time over the past several months, but should make way for the latter (construction) in another month or two in a major way. Once this thing is built I'll have all the time in the world to study problems to run.

Well my comment was a sideways query as to how you would implement an FPU simulator, because I don't know how. The original and canonical  FPU problem is 64 idealized and simulated spring-mass units connected in a line so I was thinking 64 oscillators of some sort,  maybe simple RC's or an array of 74HC14's in a ring oscillator configuration. That would be the first step. Next I would need to add in the non-linear terms in a controlled way, thats the second step. Finally how to display what is happening in the system.

Anyway I thought you might have some ideas.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #86 on: April 26, 2013, 12:55:53 am »
So how many individual integrators will that problem require then?  ;D I'm assembling into this computer project 30. I still have a ship load of hardware assembly to complete before I can run anything serious. I currently have this machine ~90% designed and ~5% built. The former has been taking nearly all of my free time over the past several months, but should make way for the latter (construction) in another month or two in a major way. Once this thing is built I'll have all the time in the world to study problems to run.

Well my comment was a sideways query as to how you would implement an FPU simulator, because I don't know how. The original and canonical  FPU problem is 64 idealized and simulated spring-mass units connected in a line so I was thinking 64 oscillators of some sort,  maybe simple RC's or an array of 74HC14's in a ring oscillator configuration. That would be the first step. Next I would need to add in the non-linear terms in a controlled way, thats the second step. Finally how to display what is happening in the system.

Anyway I thought you might have some ideas.


OK, basic rule of analog computing - most physical systems can be simulated with enough of rather few building blocks, namely, the integrator, the inverting summer and the function generator. The spring mass problem is rather simple (see attached). in it simplest form it is just a double integration in a loop with damping feedback. It requires two inverting summer and two integrator stages. To simulate 64 (does it have to be 64?) of them I would need 128 integrators and 128 summers. You say they were connect in a line? That makes it a fair bit more complex (much more than just summing outputs as the masses of all of the lower units are hanging on and thus influencing the higher units). Sounds like an interesting problem though. The attached simulation just shows three independent spring mass simulations run simultaneously.

Another rule of analog computing; you don't actually need an analog computer as all of its building blocks and be readily simulated and interconnected in SPICE  ;D . However, in comparison, that is hardly any fun. 


EDIT: I don't have the time to search for it right now, but in one of my textbooks a double (series connected) spring mass system is described as part of a car suspension system simulation. From memory the first spring mass represents the weight of the wheel in its entirety and the suspension spring while the second spring mass represents the "spring factor" of the inflated tire and the weight of the tire itself. The solution to the problem you describe could be as simple as expanding upon that problems basic methodology by simply adding to the number of series-connect spring masses.

« Last Edit: April 26, 2013, 06:34:53 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #87 on: April 26, 2013, 05:23:02 am »



OK, basic rule of analog computing - most physical systems can be simulated with enough of rather few building blocks, namely, the integrator, the inverting summer and the function generator. The spring mass problem is rather simple (see attached). in it simplest form it is just a double integration in a loop with damping feedback. It requires two inverting summer and two integrator stages. To simulate 64 (does it have to be 64?) of them I would need 128 integrators and 128 summers. You say they were connect in a line? That makes it a fair bit more complex (much more than just summing outputs as the masses of all of the lower units are hanging on and thus influencing the higher units). Sounds like an interesting problem though. The attached simulation just shows three independent spring mass simulations run simultaneously.

Another rule of analog computing; you don't actually need an analog computer as all of its building blocks and be readily simulated and interconnected in SPICE  ;D . However, in comparison, that is hardly any fun. 


Thank you for the thoughtful reply. Need to be 64?, well if I want to be true to the original, yes. Enrico Fermi (nobel physics), Stan Ulam mathematician and co-inventer of the hohlraum type of fusion bomb, Pasta a relative nobody computer guy and Mary Tsingou  a mathematician/programmer were researching models of heat diffusion in solids and looked for a simplified model to be simulated on an early digital computer. The mass-springs  in the model are undamped (frictionless). I see in damping in the double spring model in your png, otherwise its on the right track. What I was hoping for was to be able to simulate the  individual mass-springs with a few cheap components, I thought trying to display what is happening would be much more of a challenge. Note that the surprising thing about the FPU simulation is that it never settles down for a broad spectrum of inputs, instead it exhibits chaotic behaviour.

I agree spice is no fun, I wanted the tactile experience of real hardware. My brother gave me a "chaotic pendulum" for christmas many years ago, it is just a magnet hanging from a string and some disk magnets  you position around the base which cause the pendulum to swing in widely different directions and periods. It is fun to play with and I thought a real FPU simulator would be even better. Sort of a high brow mathematical lava lamp. I am a coder and if I was forced to I probably wouldn't use spice, and instead code it up myself. But I don't have to as multiple implementations are available on the net.

Some links:
http://www.scholarpedia.org/article/Fermi-Pasta-Ulam_nonlinear_lattice_oscillations
http://physics.ucsc.edu/~peter/242/FPU-birth-of-nonlinear-science-Lilienfeld.pdf - this is a good intro pdf of lecture slides
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #88 on: April 26, 2013, 06:18:18 am »
Hmmmm..........Problem is if it is un-damped you somehow have to maintain a loop gain of precisely 1, otherwise the oscillations will either grow until the amplifiers saturate or decay altogether. To do this with a real world analog computer you will then need a level detector controlling a multiplier to act as a servo loop to regulate the amplitude of oscillation. However the feedback contribution of the servo leveling loop(s) may corrupt the experiment (there may also be some serious interaction issues too). At this stage I really don't know. Perhaps this is a reason why they had to hang out until someone had finally developed a digital computer that they could play with? 

« Last Edit: April 26, 2013, 06:50:55 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #89 on: April 26, 2013, 06:27:50 am »
I just deleted and re-posted revised circuits for the vertical and horizontal deflection coil drivers attached to posts 81 and 84.

I ended up modifying the frequency compensation. In the previous iteration(s) I had pole-zero pairs in the coil current-sense negative feedback loop(s) to give greater loop gain at DC, but this compromised the transient response to some degree, producing significant (10%) overshoot to the edges of a full amplitude square wave stimulus due to the zero (a high-pass pole) introduced into the loop response. 

I have now removed the pole-zero pairs in each amplifier circuit to keep the feedback loops 100% DC coupled. This gives the deflection amplifiers an almost perfect transient response without any overshoot. Now I will have to revise the PCB layouts yet again.......damn.
« Last Edit: April 26, 2013, 06:47:44 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #90 on: April 26, 2013, 06:56:01 am »
I think you need to chuck in an Arduino, a blinky LED and some obvious design errors if you want real discussion ;)



 ;D Well, this project has now grown to the extent that the digital section of this hybrid computer (along with the display unit) will have to be built into a seperate 19" rack which I have acquired. There will literally be hundreds of blinky LED's indicating the status of the logic elements; but definitely no Arduino.
« Last Edit: April 26, 2013, 06:57:35 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #91 on: April 26, 2013, 07:40:22 am »
Hmmmm..........Problem is if it is un-damped you some how have to maintain a loop gain a precisely 1, otherwise the oscillations will either grow until the amplifiers saturate or decay altogether. To do this with an real world analog computer you will then need level detector controlling a multiplier to act as a servo loop to regulate the amplitude of oscillation. However the feedback contribution of the servo leveling loop(s) may corrupt the experiment. At this stage I really don't know. Perhaps this is a reason why they did it on a digital computer?

Considering active devices was giving me a headache for another related reason. The system to be modelled is adiabatic (I think!), that is once it is charged with its initial energy it neither dissipates nor consumes power, only transfers it loss-lessly among the masses. Obviously  real components can't do this and I don't know how to fix that. Some kind of sealed chamber-calirometer controlling the power input  would be my only guess. That is why I started thinking about RC networks with the only servo loop controlling power in vs power out, but I am no engineer  :P so I just hit the brick wall  |O.  While digital computers can evade most of these road blocks even the digital simulations run into the limit of finite precision due to the sensitive dependence on initial conditions.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #92 on: April 26, 2013, 10:07:37 am »
Thinking about a bit more with my limited mathematical insight, having skimmed the links that you provided, I think this is an abstract mathematical problem not realizable in a functional analog constructed with real world electronic components and operational amplifiers. It's probably, for all sakes and purposes from a practical perspective, just as feasible as cold fusion in the HAM shack  :P . Moving along now to the next challenge please...................  ;D
« Last Edit: April 26, 2013, 10:17:07 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #93 on: April 26, 2013, 02:29:22 pm »
Here is the signal preamplifier for the display unit. Two of these will be incorporated into the display unit; one for the X-axis input and one for the Y-axis input. This module gives an oscilloscope-like front-end with a 1M input, an AC/GND/DC input coupling switch, an 11-position 1/2/5 sensitivity switch, a 1-to-0.4 variable sensitivity control, beam/trace positioning pots and a signal inversion switch.

These boards along with the revised PCB's for the horizontal and vertical deflection coil drivers will be going into the etch tank tomorrow morning...........

 
« Last Edit: April 29, 2013, 12:46:08 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #94 on: April 29, 2013, 12:52:56 pm »
The two signal pre-amplifiers are almost done..... one is complete and the other still need to be wired. I've assembled the complete pre-amplifiers into their own sub-chassis, which will mount behind the display units from panel. This makes assembly a great deal easier as the wiring to all of the controls does not have to be done inside the case.



 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #95 on: May 05, 2013, 05:57:14 am »
..... chaotic modes....


Well, here is some pseudo chaos in the meanwhile.....



I solved the coupled differential equations of the famous Lorenz system in LTspice and recorded the x and z polar coordinated to a 60 second stereo *.wav file. Now that I have a sound card modified for a response down to DC and have finished building up the deflection amplifiers I can begin plotting some fancy formula solutions on my CRT.

It didn't video real well due to the crappy resolution and frame rate of my camera, but the demonstration is clear enough. I started the mathematical solution with a rather long time constant of integration and slowly ramped it up linearly. So the display begins with the dot produced by the CRT beam apparently randomly and chaotically revolving about the "Lorenz attractor", dancing between the two domains until it becomes fast enough for the displayed image to evolve into the well known "owl face". I also included audio of the summed x and z signals in the video. Sounds kind of spooky once the frequency of oscillation (if that is the correct word) becomes high enough to be audible.


   


« Last Edit: May 05, 2013, 05:59:45 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #96 on: May 05, 2013, 10:28:15 pm »
Yup, that looks like the lorenz attractor. Its good to get confirmation that your boards are working. The only demonstration of an analog computer actually being used in anger that I can remember viewing was running the lorenz attractor. The problem of what to do with your machine as it nears completion is only going to get more acute  :'(  That's common to a lot projects where the fun is in the building.

  My father was a boy/teen in Germany during WWII and he was drafted into the FLAKhelfer (anti-aircraft assistant, or auxiliary) mobilization in the last year of the war. He had exceptionally good eyesight and could see and identify aircraft before the others so he was part of the spotting team. They had an optical sight/rangefinder with exaggerated parallax and some kind of analog ballistics computer that compensated for wind and azimuth and other inputs. I  think it may have been mechanical and I doubt it did the predictor/corrector type of aim control like American radar directed guns. He still gets exited talking about those things but he never explained to me how they worked. Not much call for analog anti-aircraft directors these days. Something I have fantasized making is a laser  fly zapper with digital computer vision and control, but then when I add up the work involved my bio computer just directs me to grab  a swatter.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #97 on: May 07, 2013, 12:51:54 pm »
You mean like one of these:



.... upon interrogation I had to reassure an Air Force cadet leader that the radar dish was no longer operational.


My classic analog computing texts are slowly arriving in the mail. I love Abebooks; you can find almost anything. One book only cost me a dollar. These books are packed with ideas and examples of problems to run. I don't think I'll have any problem finding problems to solve and run once the computer is completely built. Haven't really scratched the surface so far.



Some of these books come from interesting places:



But anyway, here is another simulation in the meanwhile:




« Last Edit: May 07, 2013, 01:03:49 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #98 on: June 13, 2013, 12:56:08 pm »
An analog computers brain under construction...................

These are the integrator boards (schematic here: https://www.eevblog.com/forum/projects/glass-diode-photoelectric-effect/msg230406/#msg230406 ).
Turns out that I couldn't etch the boards myself in this quantity cheaper than having them made.

Also got my front panel for the display unit from Front Panel Express. Things are slowly progressing.........
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline alanb

  • Frequent Contributor
  • **
  • Posts: 340
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #99 on: June 13, 2013, 04:44:50 pm »
I'm constantly amazed by the scale of this project. Are you able to provide an estimate of the total cost and the time that you will have spent on it when complete.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #100 on: June 14, 2013, 01:04:00 am »
It would be really difficult to estimate the total time spent; Hundreds of hours. Note that those integrator boards pictured constitute probably ~5% of the total circuitry. I reasoned that the cost in monetary terms is justified alone by the educational benefit conferred by having a full blown differential analyser on which to apply problems in physical systems modelling and differential calculus.
If you can pardon my immodesty, I think this is going to be quite an impressive (two relay-rack) machine when finished. An eventual hyperlink to a full expository technical write up on my web domain probably won’t hurt my resume either.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #101 on: June 20, 2013, 01:31:57 am »
I used to have a box of mechanical sine/cosine resolvers and hundreds of other styles of synchros and resolvers, they were parts of anb autopilot. We were cannibalising them for spares to fix moving map displays and other synchro indicators


Hey, you wouldn't happen to have by chance a few sine-cosine potentiometers laying around, would you?

I've got a prototype matrix computational circuit on the go which transforms the Cartesian coordinates (X,Y,Z) of 3-dimensional objects and graphs into 2-dimensional polar coordinates (X,Y) for isometric projection on a 2-dimensional display.

However at the moment the angles of rotation of the isometric projection around the x and y axis' are fixed and in order to make them independently and continuously variable I require a pair of sine-cosine law potentiometers.

Such things still appear to be available new: http://www.precisionsales.com/potentiometers/singleturn/sinecosine.htm
.........however I'm afraid to even bother asking what they cost.

One possible alternative is to fake the dual sine-cosine law with digital pots driven by a rotary encoder via a uC programmed with appropriate look up tables (or just solving each increment) but even with lots of "linear" bits to work with the steps still get quite chunky at the extremes where the rate of change is high and many "counts" are skipped. A pair of "old school" pots are still the preferred option.

These kind of pots were used extensively back in the day for radar displays (2-D projection of 3-D) and early medical imaging equipment. 

 
« Last Edit: June 20, 2013, 01:39:32 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #102 on: June 20, 2013, 04:18:22 pm »
Sorry, they stayed when I left.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #103 on: June 21, 2013, 02:07:06 am »
Poo.

It looks like I'm stuck with digital pots and a uC. Looking at the datasheets a little closer those sine-cosine pots from Precision Sales aren't the right type anyhow. I reguire a pair of the quad wiper radar display types which operated over 90 degrees of shaft rotation.

A pair of A5204's and a PIC16F874 with sin/cos look-up tables it is for now.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #104 on: June 21, 2013, 03:26:02 am »

I can't tell what kind of latency you need from your synthetic pots, but you might find the classic CORDIC algorithm a useful speed/accuracy/table size trade-off. CORDIC by its very nature simultaneously computes SIN and COS for a given theta and requires a much smaller table once the number of bits of resolution desired goes up.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #105 on: June 21, 2013, 06:50:06 am »
Hmmm......... looks interesting. However if I am restricted to the 8-bits of a typical digital pot there really isn't any point in attempting to rotate my isometric projection in steps of finer resolution than 1 degree. The full sine/cosine lookup table (0-90 degrees) is therefore only 182 bytes and for simplicity can hardly be beat.

An 8-bit approximation (rounding down to the nearest integer) doesn't seem to be quite that bad or excessively chunky for the most part after all:


 
« Last Edit: June 21, 2013, 06:54:18 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #106 on: June 21, 2013, 08:53:30 am »

Ya, for 8 bits out there is no sense going beyond straight lookup. Due to symmetry in the trigonometric functions you can further compress the domain to 0 - 45 but beyond that it  isn't worth the effort.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #107 on: June 29, 2013, 02:14:00 am »
BTW, here is the Lorenz Attractor in isometric projection. The angles of rotation on both the X and the Y axis are still fixed at 45 degrees (by a fixed resistor sin/cos matrix) as I haven't ordered my digital pots yet. Some boof heads require Matlab to produce a display like this  ::) I do it with op-amps and a Tek545 ;D

I'll make a video of the display when I get my sin/cos synthesized digital pots wired into the transformation circuit. It will look pretty cool when I can twiddle a pair of pots to fully manually rotate the projection on both axes.

« Last Edit: June 29, 2013, 02:16:18 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline baljemmett

  • Supporter
  • ****
  • Posts: 666
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #108 on: June 29, 2013, 02:54:40 pm »
Some boof heads require Matlab to produce a display like this  ::) I do it with op-amps and a Tek545 ;D

Oh, very nice work, sir!  A thumbs up is definitely in order ;)
 

Offline megajocke

  • Regular Contributor
  • *
  • Posts: 185
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #109 on: June 30, 2013, 04:53:08 am »
Cool! Nice progress   O0
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4450
  • Country: au
  • Question Everything... Except This Statement
Re: Home Brew Analog Computer System
« Reply #110 on: June 30, 2013, 05:31:08 am »
what is the cause of the blip on the 3rd gratical to the right and 1 down? appears there is a similar blip on the same position on the other side of the oscillation,
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #111 on: June 30, 2013, 10:51:59 am »
That I believe is due to a transfer non linearity in my dodgy and barely adequate multiplier stage temporarily knocked up on breadboard.   
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #112 on: June 30, 2013, 02:39:46 pm »
A fine example of analog Beauty in both computation and display :-+

Offline jahonen

  • Super Contributor
  • ***
  • Posts: 1046
  • Country: fi
Re: Home Brew Analog Computer System
« Reply #113 on: June 30, 2013, 04:15:17 pm »
Apparently fairly simple circuit is enough to produce the Lorenz attractor, as shown here by Paul Horowitz himself:



Regards,
Janne
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #114 on: June 30, 2013, 11:46:01 pm »
Yes, the circuit I used is quite similar. However it requires a few more o-amps to make a 3-dimensional projection unit.

If you compare Pauls 2D display of the LA to mine, you can easilly make out the 45 degrees of rotation on both the X and Y axes:

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #115 on: July 01, 2013, 09:53:23 am »
Some more experimentation with the isometric projection unit. Once again the angle of rotation / perspective on both axes is fixed at 45 degrees as I haven't prototyped the synthesized sin/cos pots yet to make them (angles of rotation) fully variable. My two AD5204 quad digital pots are supposed to arrive tomorrow. I'll post up full circuit details of the 3-D projection unit once I have verified the design and finished building it.

It is the operation of the projection unit that I was trying to show off in the Lorenz Attractor example, as at the time I just happened to have had a bread-boarded generator circuit for this 3-dimensional object on the bench to act as the signal source. This evening I knocked up some generator circuitry for some much simpler 3-dimensional objects (a straight spring and a conical one). With these simpler objects the nature of the 3-D projection is much more obvious.

   


« Last Edit: July 01, 2013, 12:02:46 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #116 on: July 01, 2013, 01:05:20 pm »
I made a boobie!   :o

However I still need to implement a multiplexer to get a pair on the screen rather than just one. No time to do that now as it's 10:30pm and time for bed  :'(  Oh man this analog computer project is going to be so awesome! When I have the multiplexer implemented along with the synthesized sine/cosine "pots" in the projection matrix/transformation circuits I'd be able to project a full boobie pair in any 3-dimensional, fully rotatable viewing angle!

Woo hooo!  ;D


« Last Edit: July 01, 2013, 01:07:57 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #117 on: July 02, 2013, 07:53:51 am »
Done!

Now that I've had my CRT boobie fix I promise to keep the thread a little more mature from now on.  ;D

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #118 on: July 02, 2013, 07:16:23 pm »
C cup, as they are 3 divisions each........... ;)
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #119 on: July 04, 2013, 12:58:31 pm »
Interesting conversion factor. Which manual did you get that from?  ;D

I've now written the uC code for the synthesised sine/cosine pots. The 3-D projection unit requires 8 pots in total; 4 with a sine law and 4 with a cosine law. They are arranged into two quad gangs; each quad gang comprised of two sine law pots and two cosine law pots.
One quad gang controls the angle of rotation of the 3-D projection around the Y axis and the other quad gang controls the angle of rotation around the X-axis.

Instead of using a pair of rotary encoders for the manual adjustment of the Y & X angles of rotation I ended up using a pair of single gang potentiometers across a voltage reference; their position read by the internal ADC of the PIC uC.

All I have to do now is wire in the two AD5204 quad digital pots and then I'll have full manual control over the "perspective" of the 3-D projection, rather than the currenly fixed 45/45 degree one. The first thing I'll video is the Lorenz Attractor being manually rotated on its axes.

Time for bed again, right now though.

 

 
« Last Edit: July 04, 2013, 01:01:04 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #120 on: July 05, 2013, 08:34:51 am »

 Due to symmetry in the trigonometric functions you can further compress the domain to


Yes, of course. You just read the table in the opposite direction for cos instead of sin or sin instead of cos:


« Last Edit: July 05, 2013, 08:37:19 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #121 on: July 05, 2013, 10:11:31 am »
Wow, found this post and delayed going to bed by a couple of hours!

Some comments, my interests are in mechanical analogue computers so similar. Have you seen the differential analysers by Vannevar Bush etc in the 1930s? Also an earlier one, 1890s, for calculating tides but I can't at the moment track this down as to the why or how.

What is the current book collection? A list of author, title and brief comments would be useful. Another interest of mine is wind turbines so I have some books on waveforms as regarding electromagnetism, again, similar but not identical.

Hewlett Packard and Tektronix made large screen monitors, occasionally available. I have a HP 143S which works to 15MHz in X and Y. There is also the Kikusui 5121A but that is electromagnetic deflection so 1kHz X and 10kHz Y.

I have some sine cosine pots, somewhere. They were rescued from some 1950s aircraft navigation equipment, mechanical analogue computers.

In post 44 a comment was made about circular slide rules. Find a 1 arc second theodolite for the glass discs and reading method. Another wonderful piece of technology that electronics has consigned to the scrap heap.

Bob

 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #122 on: July 06, 2013, 01:40:00 am »
Hi Bob,

I'll keep an eye out for those X-Y monitors you mention, thanks! I'm not particularly familair with any of the old mechanical analog computers. My book collection is almost exclusively concerned with electronic analog computers. Not sure if it is still of interest, but on the bookshelf I currently have:

1)
Analog and Hybrid Computing
Hyndman, D. E.
2)
Fundamentals of Analog Computers
Weyrick, Robert C.
3)
Analog computer programming
Michael G. Rekoff
4)
Introduction to analog computation
Ashley, J. Robert
5)
Analog Computation and Simulation: Laboratory Approach
Jenness, Roger R.
6)
Introduction to Electronic Analogue Computers
C. A. A. Wass
7)
Analogue Computing at Ultra-High Speed
Donald Mackay
8 )
Computation by Electronic Analogue Computers
Borsky, V. and Matyas, J.,
9)
Electronic Analog Computer Primer
Stice, James E. & Bernet Swanson
10)
Analogue Computers
I. I. ETERMAN
11)
Introduction To Electronic Analog Computers
Warfield, John. N.
12)
Analog/logic computer programming and simulation
Fred J Ricci
13)
Computer Handbook
Huskey, Harry D.
14)
Principles of Analog Computation
Smith, George W. and Roger C. Wood
15)
Basic Analog Computation
Gerald R. Peterson
16)
Analog computation in Engineering Design
Rogers and Connolly
17)
Analog methods
Karplus and Soroka
18)
Analog simulation
Karplus
19)
Hybrid computation
Bekley and Karplus
20)
High Speed analog computers
Tomovic and Karplus
21)
Design fundamentals of analog computer components
R. M. Howe
22)
Analog computation
Albers S. jackson
23)
Electronic analog computers
Korn and Korn
24)
Electronic analog and hybrid computers (DC analog computers)
Korn and Korn
25)
Methods of solving engineering problems using analog computers
Leon Levine
26)
Analog computer techniques
C. L. Johnson

« Last Edit: July 06, 2013, 01:44:15 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #123 on: July 06, 2013, 05:07:05 am »
Those vector analysers that were on here a few months ago would have made nice XY monitors, they have equal bandwidth in both channels, and the signal amps inside have sine and cosine generators.
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #124 on: July 06, 2013, 04:59:06 pm »
GK, thanks for the book list, only have a couple of them. They are full of calculus and similar and my maths simply isn't up to that.

Had a scrummage in the library and the following might be of interest. Again, more towards mechanical analogue computers or electromagnetism but if you see them for a £ (or local currency of course) or two then worth buying, I reckon anyway.

1)
Electronic Digital Integrating Computers, Digital Differential Analysers - Mayorov
2)
Electronic Computers, Principal & Application - Ivall (trivial level)
3)
Graphical & Mechanical Computation - Lipka
4)
The MIT Radiation Laboratory Series, 28 volumes but in particular
     Theory of Servomechanisims - James
     Computing Mechanism & Linkages - Svoboda
     Components Handbook - Blackburn
     Waveforms - Chance
5)
The Journal of the Franklin Institute, articles about the Bush differential analyser

These are electromagnetism books, but might have some ideas for programs to run
6)
Elementary Treatise on Curve Tracing - Frost
7)
Practical Curve Tracing - Duncan
8)
Alternating Current Waveforms - Kemp
9)
Waveform Analysis - Manley
10)
Practical Geometry & Engineering Graphics - Abbott
11)
No particular book but equalisation of telegraph lines, under the ocean etc, not trivial!

Otherwise, I have found one of the sine/cosine pots. It is 14.4k and in a servo size 15 case. Came from a co-ordinate converter used in the navigation system (Green Satin) used in 1950s bomber aircraft, no tolerance specs but must be pretty good. The tide predictor was designed by Thompson, Lord Kelvin, in the 1890s but still can track down the article. Some in the Britannica to give a flavour.

Hope this is of some interest.




 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #125 on: July 07, 2013, 02:25:48 pm »
Thanks for the book list - I'll check them out. You are right about the heavy math in most of these texts. Analog computation was all about implementing electrical analogs of physical systems of which the first step is to formulate a mathematical model for the physical system; the analog computer then solves the mathematical model. So you can't really get around the maths! I can't pretend to have my head fully wrapped around even a tenth of it all but that is something I plan to rectify to some degree with the aid of this machine I'm building.

From that book list I posted, the titles numbered 13, 21,23 and 24 are largely devoid of really heavy math as they are concerned almost entirely with the engineering and design of the electrical components and circuits of which analog computers were comprised; they are texts on practical analog circuit design that, despite their age, should be on the bookshelf of every budding analog designer, IMO. Although the technology has moved on the fundamental principles given exhaustive treatment remain the same. Just for example the Korn & Korn volumes contain some of the most thorough analysis of sources of error in operation amplifier circuits and the most succinct and practically detailed explanation of dielectric absorption in capacitors I have found so far.

BTW, would you be interested in selling those sine/cosine pots?





     
« Last Edit: July 07, 2013, 02:44:59 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #126 on: July 07, 2013, 02:40:28 pm »
Well, finally, here is the Lorenz Attractor in 3-D projection with variable angles of rotation (the 3-D projection unit in action). I have to say that I am quite happy with the way the synthesized sine/cosine potentiometers worked out with the 8-bit digital pots and the sine/cosine look up table. The 1 degree step resolution and 8-bit accuracy gives a fluid variation in display that is, for all sakes and purposes, totally analog as far as I as the operator can discern. In all honesty the Lorenz Attractor probably isn't the best 3-D "object" to demonstrate the operation of the projection unit, as it is a bit complex and an interpretation of the display isn't intuitively obvious as it is with simpler shapes and objects, such as the assorted springs I posted screen photos of a few posts previously.   



Here is a simplified schematic of  the initial, prototype projection unit. It is based on the basic 3-D projection principle outlined in chapter 9 (Multi-Dimensional Displays) of Analog Computing At Ultra High Speed, D M.MacKay, M E. Fischer.



 
« Last Edit: July 08, 2013, 12:52:05 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #127 on: July 08, 2013, 11:08:50 am »
Hi, yes, you are definitely correct about the maths! But, does it have to be so inpenetrable? About 30 years ago DSP chips appeared and I was designing the boards but they looked interesting so started to learn about signal processing. I never really got anywhere. Not so long ago I bought the book by Abbott, phew, Fourier transform with a pencil and ruler!!!!! But why couldn't all these wonderful DSP teaching texts have done the same thing?

I have found that if you want to learn something then any book published after the mid 1960s won't be of any help, they seem to have just swallowed formula and regurgitated them. Just buy lots and lots of books, they all have something of interest in but occasionally you hit a masterpiece, your Korn books for example. My interest was electromagnetism so not really relevant here, did end up with about 200 books though!

Yes, how many of the sine cosine pots did you want? Not certain how many I have got, in the middle of a serious sort out.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #128 on: July 08, 2013, 01:44:40 pm »
Well, I've managed to design my 3-D projection unit without them now, but I could probably eventually find a use for two or three. What would you want for them?
« Last Edit: July 08, 2013, 02:09:50 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #129 on: July 11, 2013, 12:13:10 pm »
Well, after a couple of late evenings of tearing out hair and banging my head against the table I have finally managed to work out a practical and functional electrical analog for the Rössler Attractor.

http://en.wikipedia.org/wiki/R%C3%B6ssler_attractor

The Rössler Attractor is somewhat similar to the Lorenz Attractor, but simpler, and 2 of the 3 coupled differential equations that describe it are linear. However designing a functional electrical analog of the Rössler Attractor was a bit of a challenge due to the way the variables scale and the resultant hyper sensitivity of the circuit to DC offsets (particularly those of the single multiplier stage required). However I succeeded in the end and here is the result:

The Rössler Attractor, being a simpler display that the Lorenz attractor, much better shows off the operation of my 3D projection unit, I think. Also note that I have included a "Chaos potentiometer" into the circuit, which permits me to linearly vary the "d" parameter from a high point at which oscillations cease, down to and through and beyond the point at which the oscillations begin to become chaotic. This is shown in the video.



Here is the complete setup (there is a quad op-amp hiding behind the "chaos pot"):


 
« Last Edit: July 13, 2013, 09:20:22 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #130 on: July 11, 2013, 12:32:43 pm »
Very nice! I am still following watching all this

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #131 on: July 11, 2013, 11:25:09 pm »
Hey, thanks for noticing!  ;D
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #132 on: July 14, 2013, 01:15:08 am »
Wow, found lots more chatoic stuff ripe for analog simulation here:

http://ibiblio.org/e-notes/Chaos/contents.htm


Think I'll wire up a Hénon map simulation next.
Would also like to get a slow growing Mandelbrot happening on a the display of a storage oscilloscope (my BWD 845 should do)


Also, besides the Lorenz Attractor and the Rössler Attractor (the latter of which I only discovered several days ago) does anyone know of any other chaotic systems that exhibit oscillation around one or more attractors?

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7805
  • Country: us
  • adieu
Re: Home Brew Analog Computer System
« Reply #133 on: July 14, 2013, 01:35:48 am »
Awesome! That stuff brings back pleasant (hey, I'm not insane!) memories from when I was majoring in math. I might have to dig into some of it myself.

Hell, someday I might embark on a similar project. I've always wanted to build 1) an analog computer and 2) a digital computer.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #134 on: July 17, 2013, 01:23:01 am »
Can anyone out there offer any advice on technique for accurately drilling holes in 1/8" thick aluminium (19" relay rack) panels?

To save some bucks I'd like to buy blank (Hammond) panels and drill them myself, instead of having pre-drilled panels made by Front Panel Express. The majority of the panels needed (to fill two full height relay racks) are either 2U or 3U with a 300mm-wide section filled by a grid of 4mm banana panel jacks/sockets on a 15mm x 15mm grid spacing.

Each banana jack requires a 7mm diameter hole. However a panel ends up looking like a dogs breakfast if the holes of the banana jack grid are not very accurately positioned. My drill press is a floor standing pedestal unit. I've tried clamping down the work to the table to limit movement and vibration whilst drilling but the table isn't super rigid itself. It just seems to be a real bother to drill a  panel hole of ~7mm diameter with a standard twist drill with anything better than +/-1mm accuracy in position (which is waayyy too loose a tolerance for a good looking panel).

 
 
« Last Edit: July 17, 2013, 02:54:19 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Online notsob

  • Frequent Contributor
  • **
  • Posts: 641
  • Country: au
Re: Home Brew Analog Computer System
« Reply #135 on: July 17, 2013, 01:53:57 am »
1. new drill bits - for an accurate centre
2. centre punch the location to be drilled after you accurately mark it out.
or
3. get a small jig made up, say about 1/4 the width of your panel, but with tabs at top and bottom so you can slide it - this could be made from wood. (with guide holes pre-drilled) that you can slide across your panel, use the first drilled holes to lock it into position as you move it across the panel.
4 find someone locally that has a CNC
 

Offline Jebnor

  • Regular Contributor
  • *
  • Posts: 164
  • Country: ca
  • Absolutely! Yes, kind of, sort of, not really, no.
Re: Home Brew Analog Computer System
« Reply #136 on: July 17, 2013, 02:14:04 am »
1) Centre punch the point
2) drill with a small hole (2mm) or with a center Drill that can be purchased at any  machine tools shop.
3) drill with final size.

*USE a drill press*
Before this, there was a typo.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #137 on: July 17, 2013, 02:20:18 am »
1. new drill bits - for an accurate centre
2. centre punch the location to be drilled after you accurately mark it out.


That's what I've been doing, but the "large" diameter bit still walks, no mater how accurate the initial center punch. I've even tried drilling accurate 1mm pilot holes with the dremmel, but still not good enough - the 7mm still walks to some degree. Standard twist drills are also a PITA for drilling in sheet as the larger holes never come out round.

What I can immagine I need is a 7mm drill bit with a really long, pointy tip, rather than the standard 45 degrees. Never seen something like that in the hardware store though. Or perhaps some kind of reaming bit?

Jig fabrication and/or and CNC means machine shop services; then it is easier and cheaper to just get the panels made by FPE.

 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #138 on: July 17, 2013, 02:52:09 am »
2) drill with a small hole (2mm) or with a center Drill that can be purchased at any  machine tools shop.



You mean:



?

Used them many times in the tailstock on the lathe but never in a drill press. Instead of using one to drill a small diameter pilot hole (the larger twist drill will still walk to a degree), how about using a larger diameter one to drill the hole in its entirety?
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #139 on: July 17, 2013, 03:10:20 am »
These are great on sheet metal.  The bit on the left has a 9/32" diameter which is very close to your 7mm.  These also chamfer the hole very nicely. Use a lube on it while cutting.
« Last Edit: July 17, 2013, 03:14:17 am by robrenz »
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #140 on: July 17, 2013, 03:26:53 am »
Hmmm. I've got a "unibit" (10mm to 22mm step sizes) but didn't consider a smaller one as the damn thing became hopelessly clogged up drilling aluminium in the past. Just re-jogging my memory getting back into this now, the banana jack datasheet specifies an oddball 8.33mm hole (rather than 7mm) so I guess 1/3” will do.

http://www.newark.com/pdfs/datasheets/spc/TA-376.PDF
« Last Edit: July 17, 2013, 03:29:06 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #141 on: July 17, 2013, 03:34:32 am »
That 8.33 is probably clearance for a 5/16 or 8mm.  Get some TapMagic aluminum cutting fluid and that will keep the unibit from clogging up with aluminum an give a nice finish.

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #142 on: July 17, 2013, 04:44:52 am »
Okkaayyyyyy........ I'll pick up a smaller diameter Unibit, a 5/16 centre drill and some appropiate cutting fluid tomorrow. See how I'll go with that.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline poorchava

  • Super Contributor
  • ***
  • Posts: 1552
  • Country: pl
  • Troll Cave Electronics!
Re: Home Brew Analog Computer System
« Reply #143 on: July 17, 2013, 08:13:38 am »
I'd say find a job shop or become friends with someone who has an access to a CNC.
I love the smell of FR4 in the morning!
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #144 on: July 17, 2013, 05:12:49 pm »
If you want several panels then much the best way is to make a jig from some 3mm or 1/8" steel 19" panel. This will drill much better than aluminium. Then drill through the steel into the aluminium panels, can do 6 at once. If drills don't work then try a 3 flute slot drill with centre cutting. Alternatively punch the holes again using the jig.
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 15309
  • Country: za
Re: Home Brew Analog Computer System
« Reply #145 on: July 17, 2013, 06:29:47 pm »
I will second making a drill jig to get the initial holes, then use a 2mm or so pilot drill, followed by a larger drill, or an end mill to do the final hole size. 6 flutes and cutting fluid or wax will drill a nice clean hole. If you have a shop vacuum use it to remove the swarf to make the holes neater.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #146 on: July 18, 2013, 02:31:29 am »
A 5/16" center drill is working a treat. No walking from the center point and perfectly round holes. Yahoo.

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Online notsob

  • Frequent Contributor
  • **
  • Posts: 641
  • Country: au
Re: Home Brew Analog Computer System
« Reply #147 on: July 18, 2013, 03:32:32 am »
Congrats and keep the project info coming, I really look forward to and enjoy reading each installment
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #148 on: July 19, 2013, 12:34:56 am »
Hey, no worries. The next batch of panels are on backorder, so drilling has ceased for the time being. Stupid car has just swallowed $2k in maintenance, so that has put a hold on the next major parts order. My almost 10 year old exhaust system finally gave out. I knew there was something amiss when I could only barely outrun an R32 Golf (although I suspect modified). How embarrassing! Spun it up on the chassis dyno and I was down about 100hp at the wheels; internally rusted out and collapsed muffler.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #149 on: July 21, 2013, 10:23:25 pm »
Just seen this post on tekscopes about capacitor probems etc.

http://www.maximintegrated.com/app-notes/index.mvp/id/5663
 

Offline AlfBaz

  • Super Contributor
  • ***
  • Posts: 2018
  • Country: au
Re: Home Brew Analog Computer System
« Reply #150 on: July 22, 2013, 02:12:41 am »
Hi GK great thread, I also follow your work with great interest.

On the subject of front panels, have you considered laser cutting services? I was just looking and found quite a few that were reasonable, especially if you can get away with plastic. If shielding is an issue it may still be more viable to simply line the inside of a plastic panel with foil. Given that they can not only cut holes of whatever shape but may also be able to do 2 tone legend engraving

Just a thought
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #151 on: July 22, 2013, 02:13:34 pm »
Just seen this post on tekscopes about capacitor probems etc.

http://www.maximintegrated.com/app-notes/index.mvp/id/5663


Dunno if anyone is going to get stroppy over copyright on these old texts, but here is a bit on capacitor leakage and dielectric absorption from Computer Handbook Huskey & Korn, and Electronic Analog and Hybrid Computers, Korn & Korn. Numerous other ancient texts cover the same ground too.

I'm sorry to say it but Bob Pease was a little late to the party on this one.

« Last Edit: July 22, 2013, 02:15:15 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #152 on: July 22, 2013, 02:21:06 pm »
Hi GK great thread, I also follow your work with great interest.

On the subject of front panels, have you considered laser cutting services? I was just looking and found quite a few that were reasonable, especially if you can get away with plastic. If shielding is an issue it may still be more viable to simply line the inside of a plastic panel with foil. Given that they can not only cut holes of whatever shape but may also be able to do 2 tone legend engraving

Just a thought


Thanks, but I'm not sure that plastic would be strong enough; especially so to support the weight of each "modular" chassis. Another thing is that the entire composite rack system front panel serves as a ground plane for my signal ground.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #153 on: July 22, 2013, 03:16:09 pm »
Well, finally, here is the Lorenz Attractor in 3-D projection with variable angles of rotation (the 3-D projection unit in action). I have to say that I am quite happy with the way the synthesized sine/cosine potentiometers worked out with the 8-bit digital pots and the sine/cosine look up table. The 1 degree step resolution and 8-bit accuracy gives a fluid variation in display that is, for all sakes and purposes, totally analog as far as I as the operator can discern. In all honesty the Lorenz Attractor probably isn't the best 3-D "object" to demonstrate the operation of the projection unit, as it is a bit complex and an interpretation of the display isn't intuitively obvious as it is with simpler shapes and objects, such as the assorted springs I posted screen photos of a few posts previously.   



Here is a simplified schematic of  the initial, prototype projection unit. It is based on the basic 3-D projection principle outlined in chapter 9 (Multi-Dimensional Displays) of Analog Computing At Ultra High Speed, D M.MacKay, M E. Fischer.




I have made a significant improvement to the above described 3D projection unit. The unit as shown above is only capable of rotating the projection on both the X and Y axes over the range of 0 to 90 degrees. This is quite adequate an adjustable range for graphs and shapes in isometric projection, which are typically shown at a "perspective" of 45 degrees. However I figured that it would be a lot cooler if the projection unit could in fact spin the projected display on either axis the full 360 degrees.

The reason the design detailed above is limited to 0-to-90 degree range is that the digital pots connected as potential dividers (to implement the necessary sine and cosine multiplications) can only effectively multiply in two quadrants (the positive ones) as the range of multiplication of the applied input signal is limited to the range of 0 to 1. Now while 2 quadrants of operation for either a sine or cosine function on its own represents a 180 degree range of rotation, the range is in fact limited 90 degrees when a sine/cosine complement is generated as only a 90 degrees of variation is achievable before one function hits its limit at the point of transition into an off-limits negative quadrant.

However I figured out a simple way to achieve the full 4-quadrant range of operation with each digital pot, thus eliminating the above described restriction and permitting a full 360 degree range of variable rotation on each axis. It's quite simple really. I just followed each of the 8 digital pots implementing the sine and cosine multiplication functions with an individual "amplifier" having a gain of either 1 or -1, depending on the state of a logic control input. The range of multiplication is thus extended from 1 to 0, to 1 to -1, simply by asserting the logic control line to switch the amplifier from a gain of 1 to -1 whenever operation in the negative quadrants are required.

Here is a video of the resultant prototype in action. At the moment the angles of rotation are not manually variable/settable as they were previously as I haven't gotten that far with the code yet. I just wrote a test subroutine to linearly and continuously rotate the projected display on each axis the full 0-to-360 degrees at a fixed and steady rate (one axis rotating twice as fast at the other). Once again the "object" being displayed is the Rössler Attractor: 




Cool, huh?  ;D

 

 




« Last Edit: July 22, 2013, 03:22:20 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline Odysseus

  • Regular Contributor
  • *
  • Posts: 126
  • Country: us
Re: Home Brew Analog Computer System
« Reply #154 on: July 22, 2013, 10:02:24 pm »
Damn right it's cool.

Give us a heads up when you try attacking the N-body problem.  :-+
« Last Edit: July 22, 2013, 10:04:30 pm by Odysseus »
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #155 on: July 24, 2013, 09:12:18 am »
N-body problem.  :-+



I looked it up and the some of the equations looked quite scary!
 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline Odysseus

  • Regular Contributor
  • *
  • Posts: 126
  • Country: us
Re: Home Brew Analog Computer System
« Reply #156 on: July 25, 2013, 02:06:38 am »
Could you simulate a single moving mass orbiting a fixed gravitational center?  Just F=ma and F=m1*m2/r^2.  In vector form for more dimensions than one.

Then try a two body system where you have two moving masses pulling on each other.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #157 on: August 03, 2013, 03:08:34 pm »
  Such a problem may probably best be broken down into something simple and then built upon. Really don't have much time to devote to that now though! Thoroughly stuck into the computers hardware construction right now.


--------------------------------------------------------------------------------------------------------------------


BTW, could anyone suggest to me a more elegant way of converting a long integer (value ranging 0 to 360) into three seperate decimals (0 to 9) (hundreds [xh], tens [xt] and units [xu])? It should probably be obvious but it is getting close to 1am now.

I've added digital readouts (7-segment LED) for the variable angles of rotation to my 3-D projection unit. The code and hardware is done and operational, but I am now tidying it up the firmware and annotating.

Here is how I am currently doing it:

   
xh = abs(angle_of_rotation_X_axis / 100);
xt = angle_of_rotation_X_axis - (xh * 100);
xu = xt - 10 * (abs(xt / 10));
xt = abs(xt / 10);
   
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline baljemmett

  • Supporter
  • ****
  • Posts: 666
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #158 on: August 03, 2013, 05:54:22 pm »
BTW, could anyone suggest to me a more elegant way of converting a long integer (value ranging 0 to 360) into three seperate decimals (0 to 9) (hundreds [xh], tens [xt] and units [xu])? It should probably be obvious but it is getting close to 1am now.

One approach is to convert to BCD, then mask off nibbles - if you happen to have a library function for that, or an app note with efficient code for your uC (I presume this is in the 'pretend pot' firmware?), that might be reasonably elegant.

Another way to avoid the hit of the division and multiplication is to loop over it:

Code: [Select]
unsigned int input = 276;
char hundreds = 0, tens = 0, units = 0;

while (input >= 100)
{
    hundreds++;
    input -= 100;
}

while (input >= 10)
{
    tens++;
    input -= 10;
}

units = input;

/* should now have hundreds = 2, tens = 7, units = 6 */

Crude, but it's been effective for me in the past - faster than doing division with the library functions, at any rate.
 

Offline Chalky

  • Regular Contributor
  • *
  • Posts: 93
  • Country: nz
Re: Home Brew Analog Computer System
« Reply #159 on: August 03, 2013, 09:16:20 pm »
BTW, could anyone suggest to me a more elegant way of converting a long integer (value ranging 0 to 360) into three seperate decimals (0 to 9) (hundreds [xh], tens [xt] and units [xu])? It should probably be obvious but it is getting close to 1am now.
Hi there, I don't know your language, am assuming some sort of embedded C, but if you have a MOD operator or function available then you could so an equivalent of this VB.NET code (works with either positive or negative angle, just returns absolute digit):
Sub Main()
        Dim angle_of_rotation_X_axis As Long = -359
        Dim xh As Short = GetDigit(angle_of_rotation_X_axis, 100)
        Dim xt As Short = GetDigit(angle_of_rotation_X_axis, 10)
        Dim xu As Short = GetDigit(angle_of_rotation_X_axis, 1)
    End Sub

    Function GetDigit(value As Long, unit As Integer) As Short
        Return CShort(Int((Abs(value) Mod unit * 10) / unit))
    End Function
Cheers.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #160 on: August 05, 2013, 10:01:45 am »
OK, thanks for the replies. The language is C; code for a PIC uC using "Custom computer services" (CCS) PIC-C compiler.
Yes, it for my "pretend pot" firmware of the 3-D projection unit. I've written a lot of PIC C firmware but I am far from a professional code writer. Here is the complete program. It's functional and I think relatively tidy, but those who program for a living may very well see things that could be done better.
Also attached is the complete schematic of the final unit.

Quote

//   3-D PROJECTION UNIT
//   DATE         AUGUST/2013
//   AUTHOR      Glen Kleinschmidt
// VERSION      1.0
// DEVICE      PIC16F874


// ROM used: 1533 (37%)
// Largest free fragment is 2048
// RAM used: 24 (13%) at main() level
// 131 (69%) worst case


#include <16f874.h>
#device  ADC=10
#use delay(clock=4000000)
#use standard_io(A)
#use standard_io(B)
#use standard_io(C)
#use standard_io(D)
#FUSES HS,NOWDT,PUT,NOPROTECT,NOLVP,NOCPD,NOWRT,BROWNOUT


long int       angle_of_rotation_X_axis;
long int       angle_of_rotation_Y_axis;

int            address;
int            data;
int            shift;

int            xh;
int            xt;
int            xu;

int            yh;
int            yt;
int            yu;

int            sine_X;
int            cosine_X;

int            sine_Y;
int            cosine_Y;

short int      polarity_sine_X;
short int      polarity_cosine_X;

short int      polarity_sine_Y;
short int      polarity_cosine_Y;


read_angle_of_rotation_potentiometers(void)
{
   SET_ADC_CHANNEL(0);                                      // Set ADC MUX to channel 0 (pin RA0)
   delay_us(100);                                           // Wait for ADC-input MUX to settle
   angle_of_rotation_X_axis = (READ_ADC() / 2.8);           // Read X-rotation potentiometer(s) position and scale

   SET_ADC_CHANNEL(1);                                      // Set ADC MUX to channel 1 (pin RA1)
   delay_us(100);                                           // Wait for ADC-input MUX to settle
   angle_of_rotation_Y_axis = (READ_ADC() / 2.8);           // Read Y-rotation potentiometer(s) position and scale

   if (angle_of_rotation_X_axis > 360)                      // Limit X value (0-to-360 degrees)
   angle_of_rotation_X_axis = 360;                          //

   if (angle_of_rotation_Y_axis > 360)                      // Limit Y value (0-to-360 degrees)
   angle_of_rotation_Y_axis = 360;                          //
}


seven_segment_display_decode(void)
{
   int   sevenseg[10] = {2,158,36,12,152,72,192,30,0,24};   // Look-up table for 7-segment LED display decode

   xh = abs(angle_of_rotation_X_axis / 100);                // Decode decimal values (hundreds, tens & units)
   xt = angle_of_rotation_X_axis - (xh * 100);              // for X-axis angle-of-rotation digital display
   xu = xt - 10 * (abs(xt / 10));                           //
   xt = abs(xt / 10);                                       //

   yh = abs(angle_of_rotation_Y_axis / 100);                // Decode decimal values (hundreds, tens & units)
   yt = angle_of_rotation_Y_axis - (yh * 100);              // for Y-axis angle-of-rotation digital display
   yu = yt - 10 * (abs(yt / 10));                           //
   yt = abs(yt / 10);                                       //

   xh = sevenseg[xh];                                       // 3-digit 7-segment decode for X-axis angle-of-rotation display
   xt = sevenseg[xt];                                       //
   xu = sevenseg[xu];                                       //

   yh = sevenseg[yh];                                       // 3-digit 7-segment decode for Y-axis angle-of-rotation display
   yt = sevenseg[yt];                                       //
   yu = sevenseg[yu];                                       //

   output_low(pin_D4);                                      // Digital display digit latch lines low
   output_low(pin_D5);                                      //
   output_low(pin_D6);                                      //
   output_low(pin_D7);                                      //
   output_low(pin_B0);                                      //

   output_b(yu);                                            // Set "units" digit latch for Y-axis angle-of-rotation
   output_high(pin_B0);                                     //
   output_low(pin_B0);                                      //

   output_b(yt);                                            // Set "tens" digit latch for Y-axis angle-of-rotation
   output_high(pin_D7);                                     //
   output_low(pin_D7);                                      //

   output_b(yh);                                            // Set "hundreds" digit latch for Y-axis angle-of-rotation
   output_high(pin_D6);                                     //
   output_low(pin_D6);                                      //

   output_b(xu);                                            // Set "units" digit latch for X-axis angle-of-rotation
   output_high(pin_D5);                                     //
   output_low(pin_D5);                                      //

   output_b(xt);                                            // Set "tens" digit latch for X-axis angle-of-rotation
   output_high(pin_D4);                                     //
   output_low(pin_D4);                                      //

   output_b(xh);                                            // Put "hundreds" digit on 7-segment data bus
}


sincostable(void)
{
   int   sincos[91] = {0,  4,  8,  13, 17, 22, 26, 31, 35, 39,    // Look-up table for sine and cosine trig. function
                       44, 48, 53, 57, 61, 65, 70, 74, 78, 83,
                       87, 91, 95, 99, 103,107,111,115,119,123,
                       127,131,135,138,142,146,149,153,156,160,
                       163,167,170,173,177,180,183,186,189,192,
                       195,198,200,203,206,208,211,213,216,218,
                       220,223,225,227,229,231,232,234,236,238,
                       239,241,242,243,245,246,247,248,249,250,
                       251,251,252,253,253,254,254,254,254,254,
                       255};

   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

   if (angle_of_rotation_X_axis <= 360)                     // Read sine(x) table value for 271-to-360 degree segment
   {                                                        // Inverting for this segment (0 = true)
      sine_X = sincos[360 - angle_of_rotation_X_axis];      //
      polarity_sine_X = 0;                                  //
   }                                                        //

   if (angle_of_rotation_X_axis <= 270)                     // Read sine(x) table value for 181-to-270 degree segment
   {                                                        // Inverting for this segment (0 = true)
      sine_X = sincos[angle_of_rotation_X_axis - 180];      //
      polarity_sine_X = 0;                                  //
   }                                                        //

   if (angle_of_rotation_X_axis <= 180)                     // Read sine(x) table value for 91-to-180 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      sine_X = sincos[180 - angle_of_rotation_X_axis];      //
      polarity_sine_X = 1;                                  //
   }                                                        //

   if (angle_of_rotation_X_axis <= 90)                      // Read sine(x) table value for 0-to-90 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      sine_X = sincos[angle_of_rotation_X_axis];            //
      polarity_sine_X = 1;                                  //
   }                                                        //

   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

   if (angle_of_rotation_X_axis <= 360)                     // Read cosine(x) table value for 271-to-360 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      cosine_X = sincos[angle_of_rotation_X_axis - 270];    //
      polarity_cosine_X = 1;                                //
   }                                                        //

   if (angle_of_rotation_X_axis <= 270)                     // Read cosine(x) table value for 181-to-270 degree segment
   {                                                        // Inverting for this segment (0 = true)
      cosine_X = sincos[270 - angle_of_rotation_X_axis];    //
      polarity_cosine_X = 0;                                //
   }                                                        //

   if (angle_of_rotation_X_axis <= 180)                     // Read cosine(x) table value for 91-to-180 degree segment
   {                                                        // Inverting for this segment (0 = true)
      cosine_X = sincos[angle_of_rotation_X_axis - 90];     //
      polarity_cosine_X = 0;                                //
   }                                                        //

   if (angle_of_rotation_X_axis <= 90)                      // Read cosine(x) table value for 0-to-90 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      cosine_X = sincos[90 - angle_of_rotation_X_axis];     //
      polarity_cosine_X = 1;                                //
   }                                                        //

   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

   if (angle_of_rotation_Y_axis <= 360)                     // Read sine(y) table value for 271-to-360 degree segment
   {                                                        // Inverting for this segment (0 = true)
      sine_Y = sincos[360 - angle_of_rotation_Y_axis];      //
      polarity_sine_Y = 0;                                  //
   }                                                        //

   if (angle_of_rotation_Y_axis <= 270)                     // Read sine(y) table value for 181-to-270 degree segment
   {                                                        // Inverting for this segment (0 = true)
      sine_Y = sincos[angle_of_rotation_Y_axis - 180];      //
      polarity_sine_Y = 0;                                  //
   }                                                        //

   if (angle_of_rotation_Y_axis <= 180)                     // Read sine(y) table value for 91-to-180 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      sine_Y = sincos[180 - angle_of_rotation_Y_axis];      //
      polarity_sine_Y = 1;                                  //
   }                                                        //

   if (angle_of_rotation_Y_axis <= 90)                      // Read sine(y) table value for 0-to-90 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      sine_Y = sincos[angle_of_rotation_Y_axis];            //
      polarity_sine_Y = 1;                                  //
   }                                                        //

   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

   if (angle_of_rotation_Y_axis <= 360)                     // Read cosine(y) table value for 271-to-360 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      cosine_Y = sincos[angle_of_rotation_Y_axis - 270];    //
      polarity_cosine_Y = 1;                                //
   }                                                        //

   if (angle_of_rotation_Y_axis <= 270)                     // Read cosine(y) table value for 181-to-270 degree segment
   {                                                        // Inverting for this segment (0 = true)
      cosine_Y = sincos[270 - angle_of_rotation_Y_axis];    //
      polarity_cosine_Y = 0;                                //
   }                                                        //

   if (angle_of_rotation_Y_axis <= 180)                     // Read cosine(y) table value for 91-to-180 degree segment
   {                                                        // Inverting for this segment (0 = true)
      cosine_Y = sincos[angle_of_rotation_Y_axis - 90];     //
      polarity_cosine_Y = 0;                                //
   }                                                        //

   if (angle_of_rotation_Y_axis <= 90)                      // Read cosine(y) table value for 0-to-90 degree segment
   {                                                        // Non-inverting for this segment (1 = false)
      cosine_Y = sincos[90 - angle_of_rotation_Y_axis];     //
      polarity_cosine_Y = 1;                                //
   }                                                        //

   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}


RDACclock(void)                           // Strobe digipot clock line
{
   delay_us(100);
   output_high(pin_C1);
   delay_us(100);
   output_low(pin_C1);
   delay_us(100);
}


RDACaddress(void)                         // Shift the 3 address bits to digipot data line
{
   for (shift=0; shift<3; shift++)
   {
      output_bit(pin_C2, bit_test(address, 2 - shift));
      RDACclock();
   }
}


RDACdata(void)                            // Shift the 8 data bits to the digipot data line
{
   for (shift=0; shift<8; shift++)
   {
      output_bit(pin_C2, bit_test(data, 7 - shift));
      RDACclock();
   }
}


set_digital_potentiometers(void)
{
   output_low(pin_C0);                    // !CS low to initiate data transfer
   address = 0;                           // Set address for RDAC1
   RDACaddress();                         // Send the 3 address bits
   data = cosine_Y;                       // Set data value to cosine_Y
   RDACdata();                            // Send the 8 data bits
   RDACaddress();                         // Send the next daisy-chained 3 address bits
   data = cosine_X;                       // Set data value to cosine_X
   RDACdata();                            // Send the next daisy-chained 8 data bits
   output_high(pin_C0);                   // !CS high to complete data transfer

   delay_us(200);

   output_low(pin_C0);                    // !CS low to initiate data transfer
   address = 1;                           // Set address for RDAC2
   RDACaddress();                         // Send the 3 address bits
   data = sine_Y;                         // Set data value to sine_Y
   RDACdata();                            // Send the 8 data bits
   RDACaddress();                         // Send the next daisy-chained 3 address bits
   data = sine_X;                         // Set data value to sine_X
   RDACdata();                            // Send the next daisy-chained 8 data bits
   output_high(pin_C0);                   // !CS high to complete data transfer

   delay_us(200);

   output_low(pin_C0);                    // !CS low to initiate data transfer
   address = 2;                           // Set address for RDAC3
   RDACaddress();                         // Send the 3 address bits
   data = sine_Y;                         // Set data value to sine_Y
   RDACdata();                            // Send the 8 data bits
   RDACaddress();                         // Send the next daisy-chained 3 address bits
   data = sine_X;                         // Set data value to sine_X
   RDACdata();                            // Send the next daisy-chained 8 data bits
   output_high(pin_C0);                   // !CS high to complete data transfer

   delay_us(200);

   output_low(pin_C0);                    // !CS low to initiate data transfer
   address = 3;                           // Set address for RDAC4
   RDACaddress();                         // Send the 3 address bits
   data = cosine_Y;                       // Set data value to cosine_Y
   RDACdata();                            // Send the 8 data bits
   RDACaddress();                         // Send the next daisy-chained 3 address bits
   data = cosine_X;                       // Set data value to cosine_X
   RDACdata();                            // Send the next daisy-chained 8 data bits
   output_high(pin_C0);                   // !CS high to complete data transfer
}


set_sinecos_polarity(void)
{
   output_bit(pin_D1, bit_test(polarity_sine_X,   0));   // Connect polarity status to sine(x) amplifiers
   output_bit(pin_D2, bit_test(polarity_cosine_X, 0));   // Connect polarity status to cosine(x) amplifiers
   output_bit(pin_C3, bit_test(polarity_sine_Y,   0));   // Connect polarity status to sine(y) amplifier
   output_bit(pin_D0, bit_test(polarity_cosine_Y, 0));   // Connect polarity status to cosine(y) amplifier
}


MAIN()
{
   SETUP_ADC_PORTS(RA0_RA1_ANALOG_RA3_RA2_REF);    // Define ADC inputs: RA0 & RA1=inputs, RA2= -Vref, RA3= +Vref)
   SETUP_ADC(ADC_CLOCK_DIV_32);                    // Connect ADC internal clock

   loop:

      read_angle_of_rotation_potentiometers();     // This routine reads the X & Y angle-of-rotation potentiometers
      seven_segment_display_decode();              // This routine sets the digital display of the angles of rotation
      sincostable();                               // This routine sets the sine and cosine values for the digipots
      set_digital_potentiometers();                // This routine programs the digipots (daisy-chained serial)
      set_sinecos_polarity();                      // This routing sets the switchable inverting/non inverting
                                                   // amplifiers as required for 4-quadrant sine/cosine multiplication

   goto loop;                                      // Play it again Sam!
}

Here is the completed unit:


« Last Edit: August 05, 2013, 10:07:45 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #161 on: August 05, 2013, 10:11:05 am »
Here is a video of the unit in action, with a full 360 degrees of variable rotation of both X and Y axes. Once again I am using my Rössler Attractor signal generator as the source. I'm currently laying out a PCB for that one will post up the circuit details when done.

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #162 on: August 05, 2013, 03:52:15 pm »
Hi Glen,

there are a few things you can do to improve the code wrt. the table-lookup, avoiding a lot of calculations and stuff. It is a tradeoff between ROM/FLASH usage for the table on one side, and codesize & execution speed on the other side. But since you are using the table a lot with lots of code calculating it, i guess the overall ROM/FLASH used will be less, plus a faster processing speed.

First, make the lookup-table 256 entries large. The native data size of the PIC is 8 bits, using that as table size allows for some really fast methods for reversing the lookup direction and inverting the value.

Then, the PIC has a 10-bit ADC. Use that! This will make things even simpler. To store the result, the PIC uses two registers, ADRESL and ADRESH. Configure the ADC to give you a right-justified result. (register ADCON1 bit ADFM set to 1). This will result in the lower 8 bits of the readout to be stored in ADRESL, and the upper 2 bits into the lower 2 bits of ADRESH.

The effect of this is that in ADRESH you get only the value 0, 1, 2 or 3 over the full range. Now, 4 values, 4 quadrants, a table with 256 entries and a ADRESL of 8 bits... I guess you can already start to see where this goes.

Now about how to access it using simple methods and the ADRESH bits of the result. The lookup table contains the first 90° of a sinewave here. If you invert the index value, you read that table backwards. That way you now have 180°. To decide wether to read forwards or backwwards, you use bit 0 of ADRESH. If it is set, you simply invert the index into the table.

In code this would look something like this:

Code: [Select]
if (ADRESH & 0x01)
{
    result = sintab[~ADRESL];
}
else
{
    result = sintab[ADRESL];
}

Now for the inverting of the read value of the lookup. You use bit 1 of ADRESL to do that. If it set to 1, you simply invert the value you just read from the lookup-table. Again, in code this looks like:

Code: [Select]
if (ADRESH & 0x02)
{
    result = ~result;
}

OK, this was just for sine lookup from the table. The bits of ADRESH for those 4 quadrants in sequence look like this:

Code: [Select]
00000000 - first sine quadrant
00000001 - second sine quadrant
00000010 - third sine quadrant
00000011 - fourth sine quadrant

Which is, of course, also the same sequence you get in ADRESH in 10 bit ADC mode when going from 0 to maximum.

If you want to read a cosine instead, you simply add 1 to ADRESH. The resulting sequence of ADRESH will then be:

Code: [Select]
00000001
00000010
00000011
00000100

This is OK because only the lowest two bits are evaluated anyways. Now, if you want to have the full sine or cosine inverted, you simply add another 2 to ADRESH. Doing all the above allows you to write a single routine that does this. With a little more bit-magic the polarity bits that you use to control the actual output can also be set. You can also combine those bits into a single byte instead of spreading it over four int's. There is the nifty thing of #define, which allows you to define things with a name.

Attached is a textfile with some ad-hoc example code of all that with lots of comments. Of course not tested for bugs, just to show you the overall process. Hope that helps. If you have any questions, let me know.

Greetings,

Chris
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #163 on: August 05, 2013, 04:56:11 pm »
What i forgot to mention. In my example i do invert the readout value _and_ set the negative-polarity bit. I just assumed that when you toggle the output pin that the DAC output is inverted after the OpAmps, that is 5V input becomes 0V and 0V input becomes -5V output when negative, while for the positive half 5V in becomes 5V out, and 0V in becomes 0V out (just as an example). If that is not the case, simple comment out the "result = ~result" line there.

Also, note that due to the way the lookuptable is read, the first and last value in it are duplicated at each start/end of a quadrant. That is, for example, the zero-crossing at 180° will become 0 at an ADC value of 511 (end of second quadrant) but also 0 at a ADC value of 512 (start of third quadrant). There are two ways to eliminate that error. One is to create the table so there is no 0° and 90°. So the sequence instead of, for example, 8-4-0 0-4-8 becomes 10-6-2 2-6-10. Another way is to limit the maximum value in the table, and then add a fixed value if you go negative. So if the sequence from the table would be 8-4-0 0-4-8 you simply add 4 if negative, and get 8-4-0 4-8-12 instead. Of course this means that the maximum value can not be 255 but must be 251 instead, to avoid an overflow when adding 4.

Personally i would prefer the first method. This ensures that the generated quadrants are symetrical. And at 8 bits for one quadrant you have a resolution of roundabout 0.35°, so the small "error" of not having complete 0° or 90° is just roundabout +/- 0.175°.

Greetings,

Chris
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #164 on: August 05, 2013, 06:42:32 pm »
Just got a copy of the Korn Electronic and Hybrid Analogue Computers book. I like it. Dates from 1963 so right at the very end of both designing with valves and analogue computers, a few years later both were history. And all those ECC83s that were junked!

What is really nice is that the book can be read as a guide to design, there is lots of useful and interesting information. If you like the MIT Rad Lab books then you will like this. So many, most, text books are, quite frankly, boring and a chore to read, but every now and then a real gem pops up. Others are ones by Scroggie, Cathode Ray of Wireless World, Steinmetz from the early 1900s.

Thanks for the suggestion.

 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #165 on: August 06, 2013, 02:37:52 am »
What i forgot to mention. In my example i do invert the readout value _and_ set the negative-polarity bit. I just assumed that when you toggle the output pin that the DAC output is inverted after the OpAmps, that is 5V input becomes 0V and 0V input becomes -5V output when negative, while for the positive half 5V in becomes 5V out, and 0V in becomes 0V out (just as an example). If that is not the case, simple comment out the "result = ~result" line there.

Also, note that due to the way the lookuptable is read, the first and last value in it are duplicated at each start/end of a quadrant. That is, for example, the zero-crossing at 180° will become 0 at an ADC value of 511 (end of second quadrant) but also 0 at a ADC value of 512 (start of third quadrant). There are two ways to eliminate that error. One is to create the table so there is no 0° and 90°. So the sequence instead of, for example, 8-4-0 0-4-8 becomes 10-6-2 2-6-10. Another way is to limit the maximum value in the table, and then add a fixed value if you go negative. So if the sequence from the table would be 8-4-0 0-4-8 you simply add 4 if negative, and get 8-4-0 4-8-12 instead. Of course this means that the maximum value can not be 255 but must be 251 instead, to avoid an overflow when adding 4.

Personally i would prefer the first method. This ensures that the generated quadrants are symetrical. And at 8 bits for one quadrant you have a resolution of roundabout 0.35°, so the small "error" of not having complete 0° or 90° is just roundabout +/- 0.175°.

Greetings,

Chris


Hi Chris,

Thanks for going through this in such detail - it's appreciated. I'd like to implement your recommendations and see how it compares to the current code, speed wise. However the electronic/firmware side of the project has been put aside for now as I work on installing and wiring it into its instrument case. Give me several days to get back to revising the code.

 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #166 on: August 06, 2013, 02:57:34 am »
Just got a copy of the Korn Electronic and Hybrid Analogue Computers book. I like it. Dates from 1963 so right at the very end of both designing with valves and analogue computers, a few years later both were history. And all those ECC83s that were junked!

What is really nice is that the book can be read as a guide to design, there is lots of useful and interesting information. If you like the MIT Rad Lab books then you will like this. So many, most, text books are, quite frankly, boring and a chore to read, but every now and then a real gem pops up. Others are ones by Scroggie, Cathode Ray of Wireless World, Steinmetz from the early 1900s.

Thanks for the suggestion.


If you liked the Korn & Korn book, you'd also enjoy Design Fundamentals of Analog Computer Components by R. M. Howe. That one is even more of a "design guide" than K&K. However, unlike K&K which delves into transistor circuit design as well, it deals exclusively in tube circuitry.

BTW, have not forgotten about those pots, just have some annoyances to sort out ATM with my PayPal account.
 

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #167 on: August 07, 2013, 09:42:32 pm »
Thanks, have to get the Howe book now as well!

If you are still looking for equations like the Lorenz, have you seen the Cornu's spiral? Beyond me but looked a pretty picture in the book, Slater & Frank - Electromagnetism.

No problems with the sine cosine pots, also have some resolvers as well.
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #168 on: August 07, 2013, 09:56:51 pm »
Hi Chris,

Thanks for going through this in such detail - it's appreciated. I'd like to implement your recommendations and see how it compares to the current code, speed wise. However the electronic/firmware side of the project has been put aside for now as I work on installing and wiring it into its instrument case. Give me several days to get back to revising the code.

 

No problem, you're welcome. Just as a side-note, if you plan to use a lot of table lookups in the future, you might want to consider to use PIC18 instead of the PIC16 series chips. They allow a more direct access to the program memory especially for stuff like tables, strings, etc.

On the PIC16, what actually happens is that you load the index in the W register and then call a subroutine. That will use the value in the W register to calculate the target address of a coputed goto, then jumps to that location, which in turn returns the actual value back in the W register.

On PIC18 you have a dedicated set of registers to do that. You simply load the index value into those registers, and can immediately read back the result from another register. Much faster, and allows to keep large tables simple as well (PIC16 would need some extra code to access tables larger than 256 entries).

It also has registers to directly access arrays and stuff in RAM. And all of those (for RAM and ROM) have various registers that define how the access happens. One register reads without changing the address pointed to. Another one increases the address, yet another one decreases it. And then there is one that allows you to access the address you set plus/minus an offset given by what is currently in W.

Makes working with memory blocks and tables _much_ more performant.

Greetings,

Chris
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #169 on: August 15, 2013, 01:48:55 pm »
If you are still looking for equations like the Lorenz, have you seen the Cornu's spiral? Beyond me but looked a pretty picture in the book, Slater & Frank - Electromagnetism.


Looks interesting, but not chaotic though. in addition to the Rossler Attractor and the Lorenz Attractor, I have also found "Chua's circuit":

http://en.wikipedia.org/wiki/Chua%27s_circuit

I will have to get an analog simulation of that up and running as well, of course.


Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #170 on: August 15, 2013, 01:56:08 pm »
Hi Chris,

Thanks for going through this in such detail - it's appreciated. I'd like to implement your recommendations and see how it compares to the current code, speed wise. However the electronic/firmware side of the project has been put aside for now as I work on installing and wiring it into its instrument case. Give me several days to get back to revising the code.

 

No problem, you're welcome. Just as a side-note, if you plan to use a lot of table lookups in the future, you might want to consider to use PIC18 instead of the PIC16 series chips. They allow a more direct access to the program memory especially for stuff like tables, strings, etc.

On the PIC16, what actually happens is that you load the index in the W register and then call a subroutine. That will use the value in the W register to calculate the target address of a coputed goto, then jumps to that location, which in turn returns the actual value back in the W register.

On PIC18 you have a dedicated set of registers to do that. You simply load the index value into those registers, and can immediately read back the result from another register. Much faster, and allows to keep large tables simple as well (PIC16 would need some extra code to access tables larger than 256 entries).

It also has registers to directly access arrays and stuff in RAM. And all of those (for RAM and ROM) have various registers that define how the access happens. One register reads without changing the address pointed to. Another one increases the address, yet another one decreases it. And then there is one that allows you to access the address you set plus/minus an offset given by what is currently in W.

Makes working with memory blocks and tables _much_ more performant.

Greetings,

Chris


OK, thanks for the pointers! I'm currently using a ~ 10 year old version of the CCS compiler, so am currently restricted to a ~10 year old list of supported devices. However I'll soon be upgrading to the latest and greatest version and will also be looking for new candidates for my "preferred devices" inventory. I've been using the 16F87X series for a long time now but it's a bit old hat now and time to move on.


Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #171 on: August 15, 2013, 02:03:43 pm »
Finally, here is the completed 3-D Projection unit.

The red and white potentiometer knobs under the digital displays are the coarse and fine X axis and Y axis angle-of-rotation / perspective control knobs respectively. The X, Y and Z signal inputs all have identical 1/2/5 input attenuators and AC/GND/DC switching. Signal handling it up to 100V. Control legends are printed onto a laminated transparency. The two BNC's under the power switch are the horizontal and vertical drive signal outputs for the display (typically an X-Y oscilloscope).


 
« Last Edit: August 15, 2013, 02:05:58 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline baljemmett

  • Supporter
  • ****
  • Posts: 666
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #172 on: August 15, 2013, 10:42:20 pm »
Finally, here is the completed 3-D Projection unit.

That's a really nice looking build - many thumbs up, sir!
 

Offline mamalala

  • Supporter
  • ****
  • Posts: 777
  • Country: de
Re: Home Brew Analog Computer System
« Reply #173 on: August 16, 2013, 01:31:33 am »
OK, thanks for the pointers! I'm currently using a ~ 10 year old version of the CCS compiler, so am currently restricted to a ~10 year old list of supported devices. However I'll soon be upgrading to the latest and greatest version and will also be looking for new candidates for my "preferred devices" inventory. I've been using the 16F87X series for a long time now but it's a bit old hat now and time to move on.

Microchip's C18 does a nice job, and is still available if you look around on the Micochip website. Combine that with MPLab or MPLabX and you are good to go.

Another alternative is SDCC. It may not have all the "chips" by default, but adding additional ones is just a matter of providing the right include file (after all, PIC16 are the same no matter what, just theperipherials are different, and the same applies for PIC18 parts).

Here i am happily using C18 and MPLabX on Linux, before i used SDCC for my own projects and MPLab in a virtual Windows machine, but again with C18.

MPLabX requires Java, and that makes it rather sloe, unless you have a good machine.

Other than that, great work with your analogue computer! I wish i had the time and funds for that (the former would be not that much of a problem, but the latter definitively is....)

Greetings,

Chris
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #174 on: November 26, 2013, 08:10:44 am »
OK...... Have had a bit of a break from this project due to other stuff getting in the way, but am about to make some major construction progress in the near future as the coming Friday is my last day at work for the year, after which I'll be able to work on this more or less full time. The integrator (30), analogue multiplier (10) and variable diode function generator chassis's are well under way. However in the meanwhile.........

For the digital section of this "hybrid" computer project, I'm developing a CRT readout device that will simultaneously display the status of the computers counters and registers. In keeping with the old school analog pretext, and inspired by the clever Fourier synthesis method described in this old paper:

http://www.nixiebunny.com/crtgen/crtgen.html

I've decided to base the design roughly on the same technique. With modern components and design techniques the unit will be much easier to implement than it was in 1958. I intend to make a 16-charachter alpha numeric ROM to reproduce the numbers 0 through 9 and the upper case letters A through F. This will permit Hexadecimal readouts of the computers counters and registers. The ROM will simply be a bank of 16 pairs of (op-amp based) summing amplifiers each with a unique resistor matrix for defining the Fourier composition of each character - much easier that winding a few dozen toroidal transformers!

Some pics are attached of a preliminary design concept/evaluation conducted in SPICE. The harmonic generator will simply consist of a 5-stage binary ripple counter to produce the fundamental and harmonic frequency components. The sine fundamental and harmonic functions are produced by filtering the squarewaves with simple resistance-tuned multiple-feedback bandpass filters and the -cosine terms for each sine function are produced by simple resistance-tuned all-pass filters acting as unity gain 90 degree phase shifters. Not stuffing around with crusty inductors or trimmer capacitors here. Unlike in the 1958 design paper with its "shock-excited" resonant circuits, oscillation will be continuous with the gating and sequencing pulses/control signals derived appropriately from the harmonic generator clock source and ripple counters.




The numbers 0 through 7 shown in the picture above were produced using the Fourier coefficient values given in the tables of Figure 3 in the linked-to paper. They're a bit wonky and could do with some tweaking, but that is good enough for now. In SPICE I simply used behavioral voltage sources to generate the X and Y deflection signals, summing the Fourier components with the polarities and amplitudes for each numeral as required. The LTspice plotter can't to Z-modulation, so to get a usable display I had to fudge in some vertical deflection "blanking".

The article gives an explanation of the graphical method (Figure 1) for manually drawing out the character on Cartesian coordinates and then working out and plotting the X and Y waveforms required for reproduce the character. This is quite simple and straight forward enough, but the article does not then go on to explain or detail the "purely graphical" method for manually computing the Fourier components of the produced X and Y waveforms - though a reference is given: T.C. Blow, Graphical Fourier Analysis, Electronics, p194, Dec. 1947. Anyone have a stash of old copies of Electronics magazine?? I need to further compute the Fourier components for the numbers 8 and 9 and the letter A through F. Any other reference provided or insight into the technique would be appreciated!
« Last Edit: November 26, 2013, 08:29:13 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6004
  • Country: us
Re: Home Brew Analog Computer System
« Reply #175 on: November 26, 2013, 09:21:28 pm »
..... I've been working like a man possessed to design and build my own solid state hybrid digital/analog computer to modestly put virtually all of those extinct commercial offerings to shame (complexity, size, precision, etc).

I wonder why there are still commercial analog computers these days that digitals computers are so cheap and powerful.  Can you give a few examples where they have an advantage over digital?

Years ago I used to maintain an analog computer. It was a Philips unit with a CRT that used to display underwater sound wave propagation based on the vertical thermal profile of the water. I had billion of potentiometers on the front and zillions trim pots inside. Calibrating it was a nightmare and it needed 24h to stabilize before being used (it was 100% solid state).
Drain the swamp.
 

Offline Dave Turner

  • Frequent Contributor
  • **
  • Posts: 439
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #176 on: November 26, 2013, 10:05:55 pm »
As a relative newcomer to the EEVblog forum I've only just come across this thread; much of the day has been lost reading it. It has brought back many of my memories, particularly as earlier this year I was forced due to circumstances to skip, almost overnight, ALL of my magazine collections of Practical Wireless, Practical Electronics etc. etc. dating from the early sixties through to the early nineties. Including those editions about  the Analogue Computer mentioned at the start of this thread. (Several thousand magazines).

In 1966 I joined the newly formed computer club at school and wrote my first "Hello World" equivalent in Algol via coding sheets and punched cards to be run on the mainframe at Keele University. Wonderful a 2 week development cycle.

To the point of this thread a book book given to me then was a source of inspiration some of which is relevant. Have a look at http://books.google.co.uk/books?id=aQ84AAAAIAAJ&printsec=frontcover&dq=cambridge+university+press+we+built+our+own+computers&hl=en&sa=X&ei=YvOUUvvPBuSV7AbwsoCIDw&ved=0CD0Q6AEwAA#v=onepage&q=cambridge%20university%20press%20we%20built%20our%20own%20computers&f=false

I may be missing something but why would you need to use the ABS() function when using integer arithmetic? I don't know whether the compiler is clever enough to recognize this or not; but if not you could save computational time.

Please keep this project going with as many updates as are reasonably possible. Under many circumstances, once set up, an Analogue computer will solve a problem faster in real time than a Digital computer. With the preponderance of digital circuitry now, this is often forgotten. (Occam's Razor)
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #177 on: November 27, 2013, 08:42:31 am »
..... I've been working like a man possessed to design and build my own solid state hybrid digital/analog computer to modestly put virtually all of those extinct commercial offerings to shame (complexity, size, precision, etc).

I wonder why there are still commercial analog computers these days that digitals computers are so cheap and powerful.  Can you give a few examples where they have an advantage over digital?



I'm not aware of any analog computer model still being commercially made. An analog computer could still be useful in the electronics lab for the study of control theory fundamentals, and that is where their application lingered on the longest. 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #178 on: November 27, 2013, 11:31:58 pm »
As a relative newcomer to the EEVblog forum I've only just come across this thread; much of the day has been lost reading it. It has brought back many of my memories, particularly as earlier this year I was forced due to circumstances to skip, almost overnight, ALL of my magazine collections of Practical Wireless, Practical Electronics etc. etc. dating from the early sixties through to the early nineties. Including those editions about  the Analogue Computer mentioned at the start of this thread. (Several thousand magazines).


Hi,

Thanks for the interest. Pitty you had to turf all those old magazines! Although it doesn't contain much at the moment, I have a website ( http://www.glensstuff.com ) that will eventually have a full write up and all technical details of the project. I've made a lot of progress with the construction so far, but no one section/chassis is fully complete at this time, which is why the presentation hasn't much happened yet.
 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #179 on: November 28, 2013, 11:42:31 am »
The article gives an explanation of the graphical method (Figure 1) for manually drawing out the character on Cartesian coordinates and then working out and plotting the X and Y waveforms required for reproduce the character. This is quite simple and straight forward enough, but the article does not then go on to explain or detail the "purely graphical" method for manually computing the Fourier components of the produced X and Y waveforms - though a reference is given: T.C. Blow, Graphical Fourier Analysis, Electronics, p194, Dec. 1947. Anyone have a stash of old copies of Electronics magazine?? I need to further compute the Fourier components for the numbers 8 and 9 and the letter A through F. Any other reference provided or insight into the technique would be appreciated!


Soooo, there isn't anyone here skilled in the art of graphical Fourier analysis then?? Our state library doesn't have copies of the periodical Electronics dating as far back as 1947. However I am working my way around the issue and here is how far I got this evening. I now have an Excel spread sheet that will plot the waveform from the entered Fourier coefficient values (5 harmonics, sine and cosine terms). The idea is that I will draw out my characters on graph paper, as described in that article and pictured Fig.1, to work out the coordinate values for the X and Y waveforms require to reproduce the alpha or numeric character on the CRT display.

I will then enter the coordinate values for each waveform in a special reserved column in my spread sheet, which will then plot them up onto the same chart as the waveform generated by the Fourier coefficients. I will then manually alter the Fourier coefficients by trial and error until the Fourier coefficient generated waveform is a best fit to the desired waveform. At that point I will have my required Fourier coefficient values.   


« Last Edit: November 30, 2013, 07:46:14 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline ElectroIrradiator

  • Frequent Contributor
  • **
  • Posts: 614
  • Country: dk
  • More analog than digital.
Re: Home Brew Analog Computer System
« Reply #180 on: November 28, 2013, 12:48:53 pm »
Soooo, there isn't anyone here skilled in the art of graphical Fourier analysis then??

Surely you are joking? No-one is insane enough to do a Fourier analysis by hand today, as we have these things called computers. There is no magic involved in the 'graphical method', it is just a tedious manual method of doing what your spreadsheet does better and faster. Guesstimate a coefficient for your target graph by using transparent overlays/Mk. I eyeball/experience, calculate difference and scale 'error graph', rinse/repeat for higher order coefficients.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #181 on: November 28, 2013, 01:28:07 pm »
Soooo, there isn't anyone here skilled in the art of graphical Fourier analysis then??

Surely you are joking? No-one is insane enough to do a Fourier analysis by hand today, as we have these things called computers.


Yes, I am aware of these things called computers, I am sitting in front of one right now. I had no intention of doing the Fourier analysis by hand on paper, I was simply interested in the old methods as they may give some insight into how to more speedily estimate and manually optimize the coefficients with the aid of SPICE and/or a spreadsheet.

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #182 on: November 30, 2013, 04:27:11 am »
Well this isn't easy. Due to the complex way the Fourier components interact in the generation of a waveform, simply tweaking each coefficient one after the other and then back again for a best fit to the desired function just doesn't result in a satisfactory outcome. Attached below is my first attempt - to synthesize the X deflection waveform required to generate the figure 9. A more complex methodology for tweaking the coefficients will be required here to arrive at a satisfactory fit.
   
« Last Edit: November 30, 2013, 07:46:31 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6004
  • Country: us
Re: Home Brew Analog Computer System
« Reply #183 on: November 30, 2013, 05:26:19 am »
Well this isn't easy. Due to the complex way the Fourier components interact in the generation of a waveform, simply tweaking each coefficient one after the other and then back again for a best fit to the desired function just doesn't result in a satisfactory outcome.

Can you use Excel solver or other solver to find the optimal coefficients?  E.g. define some distance function and let the solver minimize it.
Drain the swamp.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #184 on: November 30, 2013, 07:44:39 am »
I really don't know. That's well beyond my familiarity with Excel right now.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline jahonen

  • Super Contributor
  • ***
  • Posts: 1046
  • Country: fi
Re: Home Brew Analog Computer System
« Reply #185 on: November 30, 2013, 07:51:06 am »
I think since you have only few coefficients to determine, it could be feasible to just use discretized Fourier analysis to find out the required coefficients. That is easily done by basically multiplying the desired signal against sine and cosine terms, and then summing the results and I think that the results should be multiplied by the time step used (dt).

Regards,
Janne
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #186 on: November 30, 2013, 12:23:14 pm »
Hmmm.... I half follow, but wouldn't I need a great deal more data points for my desired waveform to do any kind of moderately accurate DFT calculation on it? At the moment the waveforms are derived from my hand-drawn figures on graph paper. The coordinate values are entered into the spreadsheet and the smoothing function of Excels chart plotter gives a smooth, continuous function. Is it in some way possible to have Excels chart plotter output "smoothed" functions with the n-th fold increase in data points to a data file rather than a chart diagram?

I think my spreadsheet as is would be perfectly adequate if only I could get my hands on that cited Dec. 1947 issue of Electronics. Those guys back in 1958 did the same Fourier synthesis with impressive/adequate accuracy with pen and paper! There is obviously some kind of (most likely quite simple and straightforward) systematic methodology required in adjusting the coefficient values to eventually arrive at the desired result. Googling for hits on "Graphical Fourier Analysis" has been less than enlightening so far. The knowledge seems to be arcane now.

 
 
   
« Last Edit: January 13, 2017, 12:03:56 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #187 on: November 30, 2013, 12:33:27 pm »
In case anyone wants to have a play, my spreadsheet is attached. The aim of the game is to tweak the coefficient values in orange cells B3 through K3 until the blue synthesized waveform plotted on the chart matches the desired function plotted in pink. Have fun!  ;D
« Last Edit: November 30, 2013, 12:35:43 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline jahonen

  • Super Contributor
  • ***
  • Posts: 1046
  • Country: fi
Re: Home Brew Analog Computer System
« Reply #188 on: November 30, 2013, 02:06:01 pm »
I did give it a go. I think you only need so much samples so that you don't alias. Then just calculate the Fourier integrals piecewise numerically. That is the approach I did here. FFT is optimized for speed, but I don't think that is the main objective here. For best results, the angle spacing should be uniform, or the difference in angle taken into account for each interval. I did just enter a experimental number of 0.05 which I used to scale down the sums so that results were in the same ballpark you had.

Result seems to be vertically offset because I didn't immediately find DC term. I leave it for your judgement if it is any better. Less work for sure.

Regards,
Janne
« Last Edit: November 30, 2013, 02:10:03 pm by jahonen »
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #189 on: November 30, 2013, 02:55:40 pm »
Fantastic. Thanks! I really had no idea that an DFT could be done so effectively on my crude and limited set of data points. It's > 1am and I'm new to this Fourier transformation stuff, but how does one go about computing the DC term? This was an issue in that 1958 character generator design, as the toroidal transformers with the series-connected secondaries used to sum the sin and cos terms could not of course pass the DC terms. This caused some wonkyness in the on-screen positioning of some characters relative to the others. However I won't have that issue with my DC-coupled op-amp based summers, so if I can compute the DC terms for each waveform I'll be able to generate an all over better and more accurate display.
   
« Last Edit: January 13, 2017, 12:04:42 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline jahonen

  • Super Contributor
  • ***
  • Posts: 1046
  • Country: fi
Re: Home Brew Analog Computer System
« Reply #190 on: November 30, 2013, 03:01:06 pm »
This calculation which takes account non-uniform spacing of sampling points could be done manually relatively easily with trapezoid rule as follows:

- Take an angle a1 and a2, with values x1 and x2. Angles must be in radians. "Sampling" interval for angle should be so dense that x1 and x2 is not aliased. Function should be periodic so that first point is equal to the last point.
- Calculate c11=sin(n*a1), c12=sin(n*a2), c13=cos(n*a1), c14=cos(n*a2), where n is desired harmonic number
- Calculate piece area with trapezoid rule as (x1*c11+x2*c12)/2*(a2-a1) repeat same for cosine term c13 and c14. a2 and a1 should be so that a2 > a1.
- Now make a1=a2 and x1=x2, get new values for a2 and x2. Repeat until all points are calculated.
- Sum all sine and cosine areas together, that (should) give sin/cos coefficients for harmonic n

DC term is just average of your data points, i.e. coefficients at zeroth harmonic.

I don't know if that explanation is of any help but that approach should work.

Regards,
Janne
« Last Edit: November 30, 2013, 03:09:50 pm by jahonen »
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #191 on: November 30, 2013, 11:37:13 pm »
Yes, your explanation is very helpful, thanks a lot. Now that the synthesis issue is essentially overcome I can get started on bread boarding the prototype.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #192 on: December 01, 2013, 03:10:12 am »
Apologies in advance for the potentially daft question, but that the DC component should be the average of my data points is obvious, but how do I incorporate that computed DC term into the computation of the Fourier coefficients such that the resultant waveform synthesized from said coefficients actually incorporates the necessary DC component?


EDIT: Duh! I just realised that is of course not possible. I will have to incorporate the DC terms for each characters X and Y waveform separately into my "ROM" with a settable DC-offset for each respective coefficient summing amplifier. That's simple and straightforward enough anyhow.

   
« Last Edit: December 01, 2013, 03:28:28 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #193 on: December 01, 2013, 05:20:22 am »
Well here is the result - from the hand drawn character and listed X and Y data points on graph paper, through to the eventual synthesis of the waveforms in the SPICE circuit simulation, using the Fourier coefficients generated by the Excel spreadsheet DFT.

Is that good or what?   :D

The unit I have designed will essential be a 16 (column) by 8 (row) character screen display. I'll post up further details when I have the prototype up and running with some squiggles drawn out on the CRT.
 
« Last Edit: January 13, 2017, 12:05:58 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #194 on: December 01, 2013, 09:15:55 am »
Figure 8!

Even so the figure 8 could return a closed function by itself, the system has a blanked "retrace" interval, so closed function characters require the retrace interval tacked on as an appendage.


Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #195 on: December 07, 2013, 01:44:19 pm »
2) drill with a small hole (2mm) or with a center Drill that can be purchased at any  machine tools shop.



You mean:



?

Used them many times in the tailstock on the lathe but never in a drill press. Instead of using one to drill a small diameter pilot hole (the larger twist drill will still walk to a degree), how about using a larger diameter one to drill the hole in its entirety?


Here is how the panel drilling has worked out using a 5/16 center drill for the 4mm banana sockets. 120 holes drilled so far, a couple of thousand more to go.......... If one looks really closely some wonkyness can be perceived in the hole positions, but it's about as good as I think I should expect for a manual drill-press job. 

These are the front/patch panels for the computers 30 integrators. The drilling template(s) are generated in Protel, printed and then sticky taped to the blank panels. After that it's just a tedious process of center punching and then drilling. Panels are 3mm thick, 19" relay rack by Hammond.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #196 on: December 13, 2013, 08:02:27 am »
Quote
Quote from: GK on November 26, 2013, 07:10:44 PM
The harmonic generator will simply consist of a 5-stage binary ripple counter to produce the fundamental and harmonic frequency components. The sine fundamental and harmonic functions are produced by filtering the squarewaves with simple resistance-tuned multiple-feedback bandpass filters and the -cosine terms for each sine function are produced by simple resistance-tuned all-pass filters acting as unity gain 90 degree phase shifters. Not stuffing around with crusty inductors or trimmer capacitors here. Unlike in the 1958 design paper with its "shock-excited" resonant circuits, oscillation will be continuous with the gating and sequencing pulses/control signals derived appropriately from the harmonic generator clock source and ripple counters.


Well that was a bit of an oversimplification. To generate the fundamental (20 kHz) and the 2nd through to the 5th harmonic reference frequencies something a little more complicated than a 5-stage ripple counter was of course required due to the non-integer division. Here is the circuit I knocked up on breadboard this afternoon to do the job, out of parts I had at hand.
The fundamental and the 2nd, 4th and 5th harmonics are all derived from an 8MHz master clock by digital division. The fundamental, 2nd and 4th harmonic are generated by three stages of ripple counting while the 5th harmonic comes from a separate free-running divider (IC2) locked into synchronization by the 20kHz fundamental waveform.
The trickiest part was the 3rd harmonic (60kHz), which cannot be derived from the 8MHz master clock by integer division (8M/60k = 133.33). It is no good generating the 3rd harmonic from a separate master clock (say 6MHz) as it then won't be phase coherent with the fundamental. The 3rd harmonic is generated by a PLL acting as a x3 multiplier, using the fundamental as a reference.
All generated signals have the necessary locked-in phase relationships, as all harmonics have a coincident negative going transition with the fundamental. Now I just have to knock up the tuned MFB filters that will turn the squarewaves into sinewaves (while maintaining the phase relationships), and the all-pass filters to produce the cosine reference terms. Then it will be onto assembling the Fourier character ROM..... and then the multiplexing, addressable screen location memory and deflection logic...............

Put my Type 551's "dual beams" to good use...............

« Last Edit: December 14, 2013, 08:33:17 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #197 on: December 13, 2013, 02:56:37 pm »
I'm doing the final machine work to the front panels now (integrators panels only), but before I can complete the job and start assembling the individual 19" cases I have to figure out a convenient way to electrically connect (when mounted in the rack) each front panel to the other.

Back in the good old days analog computers were made with big, heavy power supplies with heavy, low impedance bus bars for the ground distribution as powering racks of various analog modules from common rails inevitably meant that the signal ground and power ground return was essentially one. Big heavy bus bars for the ground with low resistance were therefore mandatory to keep interference/interaction between the modules to a minimum.
I've worked around this problem by instead incorporating a separate power supply into each rack case, to power the (standardised ten) analog modules in that same case only.
Each front panel will have a single star grounding point to which all the module grounds and the PSU ground terminate. Power supply ground return currents are therefore kept inside the case and no power supply ground return currents share the signal ground termination between rack cases. This means that the entire front (patch) panel acts as a low impedance signal ground plane (and to a lesser extent the equipment cases and the actual relay rack(s) itself.

However I don't think that I can rely upon the mounting hardware holding each chassis into the relay rack to behave as a solid earth connection between the panel and the rack itself, thus ensuring that all (grounded) chassis panels are electrically connected together. After all the panels are painted, as is the rack, and the mounting bolts screw into (otherwise loosely fitted) cage nuts.

At the moment I am considering fitting a 4mm nutsert (press fitted captive nuts) into each of the four corners of each panel, so that each chassis panel (after fitting to the rack) can be linked to the ones directly above and below it with a total of four short (a couple of cm) earth braids having a lug at each end.
That will work but its probably not the most elegant solution. I am open to alternative suggestions. The design also needs to remain modular and not all chassis panels will be 3U.

« Last Edit: December 13, 2013, 03:05:51 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #198 on: December 14, 2013, 08:34:06 am »
Now I just have to knock up the tuned MFB filters that will turn the squarewaves into sinewaves (while maintaining the phase relationships), and the all-pass filters to produce the cosine reference terms. Then it will be onto assembling the Fourier character ROM..... and then the multiplexing, addressable screen location memory and deflection logic...............


First part done. Here are reference signals sin wt, sin 2wt, sin 3wt, sin 4wt and sin 5wt, as produced from the squarewaves by the MFB filters



And here is -cos wt, -cos 2wt, -cos 3wt, -cos 4wt and -cos 5wt, as produced from the sine terms by the all-pass filters.



The breadboard so far:



The circuit (repeat 5 times):

« Last Edit: December 14, 2013, 09:22:24 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Online notsob

  • Frequent Contributor
  • **
  • Posts: 641
  • Country: au
Re: Home Brew Analog Computer System
« Reply #199 on: December 14, 2013, 11:19:25 am »
For your 4mm shorting - perhaps use these shorting bars - http://au.element14.com/pomona/4115/shorting-bar-for-binding-posts/dp/1538396

or this is available but I would use a bolted on link - http://www.newark.com/pomona/5145/double-banana-plug-shorting-bar/dp/94F940
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #200 on: December 14, 2013, 01:19:35 pm »
$55 for a pack of 10 for those shorting bars is a little steep! Element 14 put really ridiculous prices on many things that sell in low volumes.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Online notsob

  • Frequent Contributor
  • **
  • Posts: 641
  • Country: au
Re: Home Brew Analog Computer System
« Reply #201 on: December 14, 2013, 10:24:45 pm »
Try x-on in perth  http://www.x-on.com.au

their price for pomona 4115's is a little cheaper [ stil f&*^$ing expensive for a bit of plated metal ]
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #202 on: December 15, 2013, 12:52:51 pm »
My very first character, synthesised entirely in analog and discrete logic hardware. Now it's just a matter of constructing the multiplexing and screen RAM addressing/reading logic and finishing the tedious job of the Fourier coefficient character ROM. Then I'll have a 16 character per line by 8 line video text display.
   
« Last Edit: December 15, 2013, 12:55:53 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7805
  • Country: us
  • adieu
Re: Home Brew Analog Computer System
« Reply #203 on: December 15, 2013, 01:33:57 pm »
That is some real commitment to this whole "analog" thing. :-+ I'm pretty sure I'd have just done a raster readout. You've executed it very nicely. That looks easily as good as the "perfect" SPICE plots.

And mildly off topic, but the traces all lined up nicely on the beautiful blue screen of your 551 is a work of art by itself.

Damn - the more you make me drool, the more I'm going to want to play around with this myself, and then I won't get anything done! :)
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline Odysseus

  • Regular Contributor
  • *
  • Posts: 126
  • Country: us
Re: Home Brew Analog Computer System
« Reply #204 on: December 15, 2013, 08:54:42 pm »
It's possible to blank a trace in LTSpice by forcing a trace to become "invalid", i.e. by computing the logarithm or square root of a negative value.  However, this only works by doing the math in the waveform viewer, not in an arbitrary source.

An easy way to do this is to generate a blanking signal with a high value of 10V and a low value of -1V (or -anything).  Then in the waveform viewer, multiply your signal of interest by log10(V(blank)).
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #205 on: December 16, 2013, 03:40:48 am »
It's possible to blank a trace in LTSpice by forcing a trace to become "invalid", i.e. by computing the logarithm or square root of a negative value.  However, this only works by doing the math in the waveform viewer, not in an arbitrary source.

An easy way to do this is to generate a blanking signal with a high value of 10V and a low value of -1V (or -anything).  Then in the waveform viewer, multiply your signal of interest by log10(V(blank)).


That's a neat trick. Thanks!



Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #206 on: December 16, 2013, 04:01:16 am »
That is some real commitment to this whole "analog" thing. :-+ I'm pretty sure I'd have just done a raster readout. You've executed it very nicely. That looks easily as good as the "perfect" SPICE plots.

And mildly off topic, but the traces all lined up nicely on the beautiful blue screen of your 551 is a work of art by itself.

Damn - the more you make me drool, the more I'm going to want to play around with this myself, and then I won't get anything done! :)


Compare the pic in my post above to the scope photo. I think I've created the reference sine and cosines with a sufficiently high degree of fidelity.
The five traces on the 551 were produced by a pair of Type 1A1 dual trace plug-ins in the mainframe and a Type CA dual trace plug-in operating externally in a Type 127 preamplifier power supply; all operating in the "alternate" trace switching mode.
I have three 1A1 plug-ins, but one has not yet been restored and has a dodgy channel. That's why I had to resort to using one of my Type CA plug-ins in the Type 127. To operate in "alternate" mode however, the external "trigger" input of the Type 127 needs to be connected to the timebase "+Gate" output pulse provided on the front panel of the oscilloscope, so that the Type CA's trace switching bistable toggles at the end of each sweep.
Unfortunately, however, the Type 127's alternate trigger input is not compatible with the "+Gate" logic thresholds provided by the Type 551 oscilloscope, but it is compatible with the "+Gate" signal levels of my Type 545B oscilloscope. I got around the issue by externally triggering my Type 545B's timebase A from the Type 551's "+Gate" output, so that the timebases of the two oscilloscopes operate in synchronicity, and then triggering the Type CA via the "trigger" provision of the Type 127 from the "+Gate" pulse of the Type 545B.   

You're right about this stuff consuming a great deal of time. I'm going to have to give it a rest now for a few days to attend to other obligations and chores, amongst which are two new babies to look after.............



« Last Edit: December 16, 2013, 07:17:51 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #207 on: December 21, 2013, 01:09:12 pm »
Haven't expanded the Fourier character ROM to include any character other that 3 at the moment, so regardless of the contents of the display RAM, the only character displayed is a 3.

It's all quite simple, really. The synthesized X and Y deflection waveforms to generate a specific character are traced out during each period of the 20kHz fundamental - so every 50uS. The first and last 12.5% of this period is blanked - this is the Z or intensity modulation for the CRT display.

The 20kHz fundamental clock feeds a 7 stage ripple counter. The first 4 LSB's of the counter feed a 4-bit R-2R DAC, which generates a 16 step staircase waveform that advances on the tracing out of each successive character. This staircase waveform is summed with the synthesized X waveform to generate the complete horizontal deflection signal for the display.
The 3 MSB's of the ripple counter feed a 3-bit R-2R DAC, which consequently generates an 8 step staircase waveform that advances each time the horizontal staircase re-traces back to zero, at the end of a complete line of 16 characters drawn out onto the CRT. The 8 step waveform is inverted and then is summed with the synthesized Y waveform to generate the complete vertical deflection signal for the display. Every advancement of the 8 step waveform thus produces a new line of 16 characters. There are therefore a total of 128 characters displayed, in 8 rows of 16. The full screen is therefore drawn out every 128*50uS = 6.4mS. This gives a refresh rate of 156.25Hz, so there is no perceptible display flicker.

The 7 bits of the ripple counter (Q0 through Q6) also assert the address lines of the screen RAM, while the data output lines of the screen RAM assert the character ROM analog multiplexer, which subsequently selects the character to displayed. There is also provision for the display of blank character spaces by decoding an assigned data value from the screen RAM to assert the blanking signal for the full 50uS character interval.

On top of all of that there is just a little more logic for enabling remote programming of the screen RAM - this includes bus routing and temporary data latches. To program the display, firstly a 7 bit value is placed onto data input lines of the parallel programming port. This value corresponds to the character location on screen to be programmed. An address latch line is then strobed and the data value is placed into the address data latch. A 5-bit data value for the actual character to be displayed is then placed onto the data bus. A character latch line is then strobed and the data value is placed into the character data latch. The control logic then automatically programs the screen RAM from the data values stored in the address and character data latches during the next subsequent blanking interval. This way the screen update is seamless, with no interruption to the display while the screen RAM is being user programmed.

The final version of the display system will also incorporate a "phosphor saver" circuit, with will simply be a pair of non-synchronized, free running ultra low frequency oscillators feeding +/- 10% deflection factors into the horizontal and vertical deflection signals. This will cause the entire display as a block to move/shift around on the CRT face by a small amount at an (at a glance) imperceptibly slow speed, thus saving the phosphor from burn by any static characters, as no character is permanently fixed to the one same position.

I will of course have some prettier/fancier CRT displays to post photos of once I have completed the character ROM.   

« Last Edit: December 21, 2013, 01:33:21 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Home Brew Analog Computer System
« Reply #208 on: December 21, 2013, 01:31:46 pm »
GK: that's some good stuff. Keep it up!

Quote
Analog Computer System

Sh!!!!!! Please don't tell those folks to whom computers can only be digital.

================================
https://dannyelectronics.wordpress.com/
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #209 on: December 22, 2013, 03:54:16 pm »
GK: that's some good stuff. Keep it up!

Quote
Analog Computer System

Sh!!!!!! Please don't tell those folks to whom computers can only be digital.


Well, despite the usage is was to some degree accepted that the term Analog Computer was a bit of a misnomer. For the pedant, Analog Simulator might be the technically correct, and preferred term.

« Last Edit: December 22, 2013, 03:56:57 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline woodchips

  • Frequent Contributor
  • **
  • Posts: 522
  • Country: gb
Re: Home Brew Analog Computer System
« Reply #210 on: December 25, 2013, 09:24:09 pm »
Yes, good stuff, catching up after a period away.

Don't know if you have seen the attached, from a book my Markus, Electronic Circuits.
 

Offline TimNJ

  • Frequent Contributor
  • **
  • Posts: 810
  • Country: us
Re: Home Brew Analog Computer System
« Reply #211 on: December 26, 2013, 04:19:38 am »
I don't have much to input about any of the work you are doing because it is far beyond my scope of understanding, but I have to say, great work! It is really quite inspiring.
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #212 on: January 03, 2014, 02:30:26 pm »
Yes, good stuff, catching up after a period away.

Don't know if you have seen the attached, from a book my Markus, Electronic Circuits.


No, haven't seen that one. The references would be good to follow up.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #213 on: January 03, 2014, 03:08:04 pm »
I don't have much to input about any of the work you are doing because it is far beyond my scope of understanding, but I have to say, great work! It is really quite inspiring.


Hey, thanks, no worries.



---------------------------------------------------

Here is the Fourier synthesis character display generator at its current level of completion. There will be 4 boards in total when finished. I have yet to etch and load the Fourier coefficient character ROM board and the sine/cosine filter board. The Sine/Cosine filters are currently (still) assembled on breadboard. There is no complete character ROM at the moment, just, for initial testing/running purposes, a single TL074 op-amp and several coefficient resistors assembled on the breadboard next to the filters to act as a single character ROM for the number 3.
The SOIC chip in the center of the board in the middle, sitting in the air on a piggyback DIP socket, is the SRAM which serves as the user-programmable screen RAM for the generated display. The SOIC is only temporary as I have a DIL-packaged version of the chip still to arrive on back order, which will substitute the SOIC. The part # is CY62256.

 I ended up simplifying the remote programming logic by expanding the data bus to 12 bits. The programming of a specific character on the display is now just a simple matter of placing the 7-bit address value and the 5-bit character code (not ASCII) simultaneously on the 12-bit data bus and then strobing the programming port "write" control pin. This writes the address and character code data values in to a pair of latches (74HCT573) and the control logic automatically writes these to the screen RAM during the subsequent video blanking interval.

Each new character is drawn out on the CRT at 50uS intervals, 12.5uS of which is a blanking interval during which the CRT beam is cut-off. During this 12.5uS blanking interval the "write" control input to the programming port is disabled so that the latches cannot interrupted, and the screen RAM is written with the data stored in the larches. All this means that the screen RAM is programmed and updated without any interruption to the visible display.

However because the programming port is disabled during each 12.5uS blanking interval, and remote programming is completely asynchronous, the "write" control input of the remote programming port must be strobed for absolute minimum of 12.5uS plus a setup and hold time adequate for the latches to receive and store their data. So long as this simple requirement is met, the latches will be reliably written even if the rising edge of a "write" strobe on the programming port is time coincident with the very start of a blanking interval. This was about the simplest manner in which I could implement the remote programming logic.

All inputs to the remote programming port are TTL level compatible. Despite needing voltage level translation, the simple 12-bit port will make the display unit also directly compatible with the PDP8 work-alike digital computer project that I intend to start on once this analog computer is completed and out of the way.   

The other assembled PCB contains the analog circuitry for generating the deflection circuitry. This includes a 2-channel by 16-way analog multiplexer, addressed by the data port of the screen RAM, which serves as the ROM multiplexer to select the character to displayed at any given position on the screen. The inputs to the multiplexer are currently not wired as I haven't assembled the ROM board yet. At the moment the only character that can be displayed is either a 3 or a blank space (as shown in the picture on on the scope CRT).

Dunno if all that babble makes the operation of the whole thing generally clear or not.



« Last Edit: January 03, 2014, 03:27:28 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #214 on: January 04, 2014, 03:13:33 am »
A pair of potentiometers permits the character X and Y sizes to be individually adjusted to user preference.....

 

I've also attached a PDF of the deflection board schematic. This board combines all of the analogue signals as necessary to produce the X and Y deflection and intensity (Z) signals for the oscilloscope. The 7 address lines from the screen memory on the digital board are decoded on the deflection board by a pair of R-2R DACs (4-bit for the horizontal and 3-bit for the vertical channel) which produce the X and Y step waveforms generating the 16 column by 8 row character grid.

The whole generated display as a block constantly moves around on the screen visually randomly, but very slowly, approx +/-5% on both the X and Y axes. This is the CRT "phosphor saver" function. These deflection factors are produced by the pair of non-synchronized, ultra low frequency triangle wave oscillators based on IC U9A through U9D.



« Last Edit: January 04, 2014, 10:18:11 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #215 on: January 12, 2014, 03:15:16 am »
In a marathon sitting, with the aid of several sheets of graph paper and pen, a ruler and some string (to measure the lengths of my hand drawn closed-function curves in order to properly proportion the blanked to un-blanked portions) and Jahonen's discrete Fourier transform, I have finally worked out the the sine and cosine Fourier coefficient values for my entire character set. Now it is is just a matter of loading the analog character ROM board, and the display unit will be finished. Although hexadecimal values are usually written with uppercase letters, the more complex uppercase letters (A through F) were too difficult to trace out with a single closed function curve, so I had to settle for lower case.

Instead of visiting the forum from now on I'll be devoting my time to updating my so far largely neglected website instead. Further updated will be posted at www.glensstuff.com


Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #216 on: January 26, 2014, 05:45:35 am »
Just finished the webpage write up for the 3-D projective unit:

http://www.glensstuff.com/3dpu/3dpu.htm

Has links to all of the design files... Gerbers / uC Hex, etc.
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1345
  • Country: us
Re: Home Brew Analog Computer System
« Reply #217 on: January 26, 2014, 08:10:46 am »
Looks like your having fun.

For you trick bag
You may not have seen this, Instead of using X and Y like a normal scope some old equipment used a circle for the trace with time being the rotation on the circle and what would be the vertical scope channel being a movement in radius. The advantage was the long trace compared to normal X & Y display. While it sounds hard to use, it was actually very easy. Using the beam to put up what would be grid lines was also quick.

Could be fun to play with

C       
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #218 on: January 28, 2014, 07:58:02 am »
Your description vaguely reminds me of some time standard/chronograph synchronizers. Do you recall a model number or make of scope that displayed that way?
 
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline chickenHeadKnob

  • Frequent Contributor
  • **
  • Posts: 847
  • Country: ca
  • doofus programus semi-retiredae
Re: Home Brew Analog Computer System
« Reply #219 on: January 28, 2014, 08:45:56 am »
I thought C was describing polar coordinates, no?
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #220 on: January 28, 2014, 10:20:17 am »
One of the synchronizer scopes I have in mind used polar coordinates of sorts to indicate the beat between a ref. frequency and a signal input.

My 3-D projective unit could be used to produce spherical polar coordinate displays.  It would just be a simple matter of first transforming the spherical polar coordinates to Cartesian ones:

http://keisan.casio.com/exec/system/1359534351

I could build a separate unit for doing that, or I could just patch a computer program to do it (summers combined with sin/cos function generators and 4-quadrant multipliers). The former would be more practical in use of course, which is why I have gone through the trouble of constructing the current projective unit. Could be an interesting project.................

 
« Last Edit: January 28, 2014, 12:26:00 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #221 on: January 28, 2014, 11:47:08 am »
Come to think of it a 2-dimensional polar coordinate oscilloscope, where time is the independent variable, represented by the angle of rotation about the pole, would be a rather simple thing to make.

Firstly, you'd need to design a triggered timebase that produces a "sweep" consisting of a single cycle of a sine-wave, rather than a ramp voltage. From this an all-pass filter could then be used to generate the cosine "sweep" term. Simply multiply these two signals independently with the uni-polar signal input voltage representing the distance from the pole and you have your X and Y deflection signals respectively.   
« Last Edit: January 28, 2014, 11:50:48 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #222 on: January 29, 2014, 12:01:00 pm »
Although my priority right now is to complete the construction of my Fourier synthesis display unit and write it up on my website, it seems I just can't help myself. This evening I got half way to having a functional polar coordinate oscilloscope. I knocked up a quick and dirty triggered timebase generator which produces sin and cos sweep terms, for time as the independent variable represented by rotation about the pole:



The top waveform is the trigger pulse and the lower two waveforms are the subsequent (rising-edge triggered) sin and cos "sweeps". The slopes/breakpoints haven't been calibrated yet and I still have to breadboard the shaping circuit(s) that will transform these triangular waveforms into smooth sine and cosine curves. I will probably use BJT long-tail pair shapers. However that will have to wait for another spare evening.

In the meanwhile, here is a very quick play in SPICE, of sine, sawtooth and square waves displayed in polar coordinates:

« Last Edit: January 29, 2014, 12:08:19 pm by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #223 on: January 30, 2014, 11:21:16 am »
You say polar coordinate oscilloscope, I make polar coordinate oscilloscope (in 2 free evenings  ;D ).

As I had to use parts that I had at immediately at hand the bread-boarded prototype circuitry is still very crude and there is still plenty of scope for improving the phase and amplitude linearity of the generated displays. For shaping the sine and cosine "sweeps" for the angular deflection I used logarithmic shapers that exploit the non-linearity of a BJT long-tail transistor pair. I am not overall happy with this approach. No matter how the circuit constants are tweaked, the lowest THD null always results in a sine function with excessively pointy nipples (well that is what they look like to me). This non linearity is quite visible when plotting the circumference of a circle on the CRT. However there are other (better) ways to do that job. I'm also using quite crappy and obsolete (EXAR) multiplier chips that had to be compensated down for breadboard stability to the extent that phase distortion in the display is not insignificant at even modest operating frequencies. However the fundamentals are covered/proven and now it's just matter of refining the design. I intend to make an instrument with a full oscilloscope-like front-end, with comprehensive timebase, triggering, radial (rather than "vertical") input sensitivity and offset controls - though this will go on the back burner for the time being while I get back to finishing some other stuff.
     

« Last Edit: January 30, 2014, 11:24:09 am by GK »
Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline GK

  • Super Contributor
  • ***
  • Posts: 2607
  • Country: au
Re: Home Brew Analog Computer System
« Reply #224 on: January 30, 2014, 01:03:36 pm »
For shaping the sine and cosine "sweeps" for the angular deflection I used logarithmic shapers that exploit the non-linearity of a BJT long-tail transistor pair. I am not overall happy with this approach. No matter how the circuit constants are tweaked, the lowest THD null always results in a sine function with excessively pointy nipples (well that is what they look like to me). This non linearity is quite visible when plotting the circumference of a circle on the CRT. However there are other (better) ways to do that job.


The squaring technique using a 4-quadrant multiplier (X & Y inputs connected together) looks like the most viable alternative right now........ Mathematically perfect sine curves..............

Bzzzzt. No longer care, over this forum shit.........ZZzzzzzzzzzzzzzzz
 

Offline robrenz

  • Super Contributor
  • ***
  • Posts: 3035
  • Country: us
  • Real Machinist, Wannabe EE
Re: Home Brew Analog Computer System
« Reply #225 on: January 30, 2014, 01:08:54 pm »
I am still following GK, great stuff :-+

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7805
  • Country: us
  • adieu
Re: Home Brew Analog Computer System
« Reply #226 on: January 30, 2014, 01:24:46 pm »
Me too!

But mathematically perfect sine? What am I missing? Looks parabolic to me.
No longer active here - try the IRC channel if you just can't be without me :)