From:  Wilf Rigter <wilf.rigter@p...>
Date:  Sat Apr 22, 2000  5:27 am
Subject:  uSERVO3


 <<USERVO3.gif>>
Here is another design in a series of beam "unmodified" hobby servo
controllers.

The uSERVO3 uses just one 74HC14 chip to impliment microcore with diodePNC
and two PWM controllers driving the front and rear servos.

The active Nv sets the CW and CCW pulsewidth of the PWM generator to move
the motor back and forth. Between active Nvs, the PWM generator is turned
off which holds the last position. Because of a disturbance in first and
last pulse width in each CW and CCW pulse train, a slight jerkiness results.
I will fix this in the next version.

This is getting closer to an optimal solution and there is still turning
and reversing to be done. I hope this can be added while tossing out a few
more surplus parts.



From:  Wilf Rigter <wilf.rigter@p...>
Date:  Fri Apr 21, 2000  7:51 pm
Subject:  re: silence bot

Active silence (wide band sound cancelation) is not as simple as you think.
There are only a few applications that I am aware of using this technique.
Active cancelation headphones reject all external sound  allowing listing to
your favourite CD in very noisy environments. Mics on the headphone cups
pick up the external noise, amplify and invert it, and add it to the audio
stream.

Another application is an active acoustic muffler for automotive engines.A
special DSP is used which shifts every frequency by 180 degrees. This drives
a "speaker" at a junction in the exhaust pipe precisely canceling the
exhaust noise. Altenatively a muffler can be "tuned" for that signature
sound. The demo of this is scary to hear : A Harley chopper with a sound
on/off switch or a Moped on steroids.

wilf

William Cox wrote:

> Hey all,
> I been thinking about noise cancellation. This might be an interesting
 


From:  Wilf Rigter <wilf.rigter@p...>
Date:  Thu Apr 20, 2000  10:20 pm
Subject:  RE: Servo Controler


Sure a 74HC14 is fine, after all it's basically a 2Nv grounded bicore
circuit. It may require slightly different caps if you run out of timing
adjustment. A 4069 hex inverter (metal gate CMOS) would probably work fine
too. Here is an even simpler solution with the 139 output pin functions
changed so that the A and B inputs can be hooked straight to a microcore.
Note the use of the 139 output 3 for the "hold" position function.

regards

wilf

>  <<uSERVOV1.gif>>



 

From:  Wilf Rigter <wilf.rigter@p...>
Date:  Thu Apr 20, 2000  5:11 pm
Subject:  RE: Solarizing


Hi Jim,

This is the venerable D1 circuit but the diode has been replaced with a
2N3904 transistor. It can be used just like the D1 but turn-on is not so
mushy and it switches rapidly when the light drops just a little.  The 1M
resistor across the solar cell can be changed to a smaller value  (ie 100K)
to adjust sensitivity and make it turn on even faster.

 <<SIMD1V3.gif>>
regards

wilf

 

From:  Wilf Rigter <wilf.rigter@p...>
Date:  Thu Apr 20, 2000  3:31 pm
Subject:  RE: Servo Controler


Try this for less parts

 <<SERVOLOGIC.gif>>

The binary inputs IN1 and IN2 control the PWM as follows.

0 0 = CW
1 0 = CENTER
0 1 = CCW
1 1 = HOLD

The HOLD function forces the PWM output low and the servo will remain in
it's present position for a short while.
Raising the ENABLE line high forces the PWM output high and is probably not
very useful.

wilf
 

From:  Wilf Rigter <wilf.rigter@p...>
Date:  Wed Apr 19, 2000  5:17 pm
Subject:  RE: Dummy Walker


Hi Ben,

nice progress report!

My uCrawler turns very nicely towards a light source, with a bright light on
one side it turns with a 18 inch radius small light difference cause slower
turning.

Turning should be easy with a 2 motor walker. If the walker has the front
motor at 90 degrees (up down leg motion), it's only the rear legs impart
forward motion and determine the direction. It is the vector of the center
(midway point) of the horizontal stride that determine the direction. If the
front motor is at 45 degree, it also contributes to the forward motion and
can be used together with the rear legs to decrease turning radius as shown
in the attached:

 <<TURN.GIF>>
Reversing a Dummy Walker is a little tricky since the two pattern generators
interact. It requires that the middle motor driver outputs are separated at
the common point of the motors (use the 2 spare drivers) and then a
conventional XOR reverser can be inserted at the inputs of the rear servo
motor drivers.

Also consider using and AC240/241/244 as a reversing motor driver. Only one
buffer is active per motor connection but should provide the same
performance with higher drive current available from the 74AC logic.

regards

wilf



From:  Wilf Rigter <wilf.rigter@p...>
Date:  Tue Apr 18, 2000  5:42 pm
Subject:  RE: Is Tricky-Dick BEAM?


It's BEAM!

There is an element of appropriate technology to BEAM that applies at many
levels.

1. entry level technology - easy to learn, inexpensive, quick and
interesting results.
2. simple problems require simple inexpensive solutions.
3. simple designs can be deeply understood (unlike Intel/windoze).
4. simple systems with complex behaviour: complexity theories, emergent
properties, economics, riots
5. connections with art, technology, math, science: biology, physiology,
psychology, natural philosophy
6.  design ideas based on natural systems
7. a breeding ground of ideas, discovery and invention
8. unspoiled by commercialism but
9. potentially profitable (one million "buy-me" solar
spinners/pendulums/pummers at $10 a pop can't be wrong)
 and on and on ....

wilf


From:  Wilf Rigter <wilf.rigter@p...>
Date:  Sun Apr 16, 2000  5:40 pm
Subject:  PIR detectors - was Re: A reply to Zoz ... and a challenge fo r advanced/bored BEAMers.


Some thoughts on PIR:

deep infrared (PIR) of body heat is close to microwave radiation in
wavelength. The PIR detectors use piezo type sensor devices that are
sensitive only to variations or changes of IR (heat) projected on the
detector surface. All detectors include some form of output buffering to
interface with other circuits. The most common detectors used in household
PIR motion detectors are simple devices with a slow response time and only
small variations in output (+/- 10-100mV) signals  which must be amplified.
Some IR detectors have build in gain, filters, and level detector and
generate a logic level output. (
http://www.acroname.com/robotics/parts/R3-PYRO1.html  ) Simple detectors use
only one sensor but newer PIR detectors use twin sensors to reject
variations in background IR and/or small targets (animals) using a
differential sensing method.  Some PIR detectors use as many as 4 sensors to
reduce erroneous outputs.

The detector sensitivity is greatly enhanced by adding a special freznel
lens which increases the field of vision but more importantly breaks  the
image into multiple copies or zones projected on the detector surface. You
can easily observe these multiple projected  images by holding a PIR freznel
lens in front of a white surface with a small circle representing the
detector. When an PIR source moves across the field of vision, the freznel
lens causes it's image to move in and out of zones, and even a slow  moving
PIR source effectively becomes amplitude modulated (a rapidly pulsating PIR
source) on the sensor. Since the detector is sensitive to change,  moving
the detector itself in front of a stationary PIR source has the same effect
as a moving PIR source. If the IR target to be detected is a very bright
broad spectrum IR source (ie a candle, fire) in contrast with a much cooler
background and then the bot can roam or scan for such IR sources. Additional
IR filtering may be required to desensitize the detector to reject
background PIR objects. Alternatively, a simple PIR detector can be used on
a bot for detecting PIR motion but not while the bot is moving. The bot must
be stopped while it takes readings from the PIR detector. Much of the art in
PIR detectors is the design of the freznel lens to concentrate sensitivity
in a zone of vision most likely to contain intruder motion, to accentuate
motion in one plane, and to reject peripheral PIR changes caused by
headlights or small animals.

Special lenses, a tracking head or stereo PIR vision may be a way to sense
PIR motion while the bot itself is moving by canceling changes in background
PIR caused by the moving bot.

wilf


 From:  Wilf Rigter <wilf.rigter@p...>
Date:  Sun Apr 16, 2000  4:19 pm
Subject:  RE: You guys disappoint me


 "Old pond... a frog leaps in water's sound." - Matsuo Basho
<sumie/bashoimg.html>.
 Just can't stand people for calling a few words poetry, eh?

wilf


Hi Ben,

I love it! The basic principle of your design is a clear case of parallel
evolution when compared to my "earlyBEAMservo1" circuit but your arrangement
of using the three 74HC14 inverters to generate the right phase relationship
between the legs is unique.

When I look back at the basic design, I made the same observation of  "no
feedback/no time out/hanging up" of the legs when hitting an obstacle. There
are lots of possibilities using reversers, switches and timeout elements and
the one that evolved for me is shown in the "earlyBEAMservo2" design which
combines a photo bridge, the basic R/C timing of an oscillator, a centering
pot with feedback from the servo pot to center the gait without springs
while allowing the legs to reverse when hitting an obstacle. The final
evolution of these servo pot feedback designs was the "uCrawler"  - light
seeking - one motor/2 legged "walker" which works very well but ironically
only on short fiber carpets.  The same servo pot feedback principle can
evolve to 2 and 3 motor walkers but I haven't (as yet) followed up on that.
There were some other points described in the uCrawler article but you'll
have to drag it out of the archive to find out.

regards

wilf

 
 

Hi Roy,
>
> Since we looked at solving your SIM1D1 problems in my earlier post, I
> wondered if the design could be made any simpler. Lo and behold SIMD1V2
> which uses one less component and doesn't require very dark conditions to
> turn on.  The two 1N914 diodes in the earlier SIMD1 design can be replaced
> with a single  transistor (ie the two diode junctions) but in the process,
> this revision it has really enhanced the behaviour. The PNP, which is any
> high gain transistor including the  2N3906, is ON during charging as the
> solar cell pumps current into the storage cap through the base emitter
> junction. The transistor collector clamps the input of the typical
> oscillator shown to +V until the solar cell output drops below the voltage
> of the cap. In my prototype, the cap is a 1F 2.5V gold cap charged with a
> simulated 5.5V solar cell and the transistor will turn off when the
> charging voltage drops below the fully charged cap voltage (~2.4V). Since
> the PNP operates as a common base amplifier, the voltage gain at the
> collector will cause a rapid voltage transition through the linear region
> of the HC240. When the PNP turns off, the oscillator starts and causes the
> two LEDs at the output to alternately flash. The way the 47uf cap
> discharges through each LED produces a small light explosion and after
> image quite pleasing to the eye. The SIMD1V2 design can also replace the
> two diodes of the original 74HC14 design or control a whole HC240 chip if
> the collector has a 1M pull down resistor to 0V and is connected to the
> tristate enable pins. The SIMD1V2 prototype shown was actively flashing
> the 2 LEDS at a 2Hz rate for over 4 hours on a fully charged (2.4V) cap.
>
> regards
>
> wilf


 
From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sun Mar 26, 2000  8:34 pm
Subject:  [alt-beam] TO MUX OR XOR ,THAT IS THE QUESTION was : Reverser circuit drawn wrong??


The "reversed" reverser is one of many little conundrums people run into
when learning about these circuits.

The reverser layout drawing on Ian's site, is of a 240 chip laying on its
back with pins mirror image compared to the data sheet. The layout drawing
contains TWO reverser circuits on one 240 chip. This is useful for "three or
more" motor walkers and other applications.  In case of 2 motor walkers you
will only need one of those reversers and the remaining 4 inverters can be
used for other things like the master/slave bicore or motor drivers. So when
experimenting with this reverser on a breadboard, use just one half of the
240 chip wired up as one reverser. As always GROUND UNUSED INPUT PINS to
avoid unexplained problems.

The reverser circuit works by letting the control pin determine if input
signals are to be inverted or not at the ouputs and this function makes this
design a XOR reverser as distinct from a MUX reverser.

 <<IANSREVERSER.gif>>

The first figure shows  a small part of  Ian's XOR reverser with the
resistor connected across an 240 inverter between pin 2 (input) and pin 18
(output). This is one of four inverters controlled by tristate enable pin 1.
When pin 1 is 0V, the inverter "inverts" signals from input to output ie  a
0V signal at the input pin produces a +V signal at the output pin and
conversely a 0V signal produces a +V output.

When pin 1 is positive (+V) , then the inverter output is an open circuit or
floating pin. A signal connected to the input pin 2 passes through the 47K
resistor unchanged to the output pin 18 when the inverter output is open
circuit ie V input = V output. Unlike the inverter output, in the
noninvering mode, the 47K resistor can only drive very small loads. This
restricts the use of this reverser to driving output loads like a slave
bicore or a HC139 type h-bridge but NOT a 4 or 6 transistor h-bridge input!
Ian's almost complete walker is an example of this XOR reverser used between
the master bicore outputs and the slave bicore inputs.

The reverser works by inverting or not inverting 2 inputs connected to
bicore or microcore outputs. For a bicore whose output signals are always
complementary polarities, this inverting or non-inverting of signals is
equal to swapping outputs. When used with a microcore the result is the same
although not strictly speaking by swapping microcore outputs but rather by
changing the polarity of the rest state at motor driver inputs (motor not
running) and using an inverted polarity for the active state motor state.

In fact, this type of XOR reverser can be much more easily made with a
74AC86 XOR gate,  in which small motors can be driven directly from the
output pins without additional buffers or h-bridges and which I posted many
moons ago.

The other type of reverser is a MUX or multiplexer which consists of a set
of switches that are controlled to connect outputs to different inputs. The
4016/4066 and HC4066 are the simplest of this type. There are many beam
designs by Mark and others that used the 4016 or 4066 quad bilateral
(analog) switch which the equivalent to four switch or relay contacts that
can be individually switched on or off.

These older designs used a whole 4016 chip and an extra inverter for one MUX
reverser which made this design less popular than the XOR reverser. But a
new 4066 MUX WALKER design is much more efficient and in addition provides
left/right turning circuit as well as small motor drivers in this simple 2
chip circuit.

 <<MUXWALKER.gif>>
Each of the 4016/4066 sections is not actually a mux with only 1 input to 1
output selection (1 to 1) but several sections can be wired in different
configurations to make up a N input to 1 output mux . The 4051, 4052 and
4053 chips are other versions offering single 8  to 1, quad 2 to 1 and
triple 3 to 1 mux decoding respectively. Just to show you how versatile
these chips are check out Steven Bolt's designs or my own 4053 voltage
doubler design.

A relay with Double Pole Double Throw (DPDT) contacts is a good example of
an electromechanical MUX reverser is capable of switching amps of motor
current and is very popular with other robotics groups. The same relay is
also used as an H-bridge. However there is a penalty for using relays: power
and size. Relays are bigger than equivalent semiconductor h-bridges and the
coil of a relay may require 50 ma of wasted power to turn on. Lastly rated
minimum coil voltage is 5V and many beam project run at 2-3V   On the plus
side, the motor is efficiently connected, with very low losses through
metallic contacts, to the power source and you are less likely to smoke a
relay compared to an h-bridge.


enjoy

wilf


 
 


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sun Mar 26, 2000  1:23 am
Subject:  [alt-beam] Re: LEDs to indicate Bicore operation


As an alternative, use a Bicolor LED  from Radio Shack in series with a
current limiting resistor (~1K). The  Bicolor LED must be the 2 pin version
(generally for AC indication) : the 3 pin bicolor LEDs won't work. A BiLED
is constructed by placing RED and GREEN LED chips side by side and connected
in parallel, in a single package such that when the polarity between the
pins is one way, the RED LED lights and when the polarity is reversed, the
GREEN LED lights.

The BiLED method works for both Bicores or microcores. Connect the BiLED in
series with a 1K resistor across the motor terminals. The RED and GREEN
indicate the presence and polarity of the voltage across the motor.  With
bicores, the BiLED is either RED or GREEN but with a microcore the normal
sequence is RED,OFF,GREEN,OFF and when a microcore saturates the BiLED
remains OFF (no  voltage across the motor).

When used with the higher frequency output of a Bicore HEAD, the BiLED is a
yellowish white color when the HEAD is not moving but the motor voltage is
rapidly reversing polarity (AC voltage and current!) and changes to a RED or
GREEN hue when the head starts turning left or right. This is true also for
a PS head, but the LED is OFF when the head is not moving, indicating the
motor is not using power, and bright GREEN or RED when moving left or right.

regards

wilf


So I tested those cute little XOR circuits and they work!

The active low NPN version should be called a XNOR (eXclusive Not OR) gate
while the active high PNP version is a true XOR gate.

They can be readily adapted for use with logic levels instead of switches
and so two XOR gates can be used to make a discrete reverser As shown in the
attached (att'n Dave H.).

Ofcourse with just a few more parts I can make an h-bridge with a reverse
control input out of this design, a sweet contribution to beam tech by any
standard and which I will post tomorrow (unless Ben beats me to it!)

enjoy

wilf
 
 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Fri Mar 24, 2000  3:31 am
Subject:  [alt-beam] Re: A more efficient Solar PowerSmart Head


It is a good idea to cut power to the sensor bridge during charging for a
solar powered SP head. As shown below, enable the PS head with an active low
signal  from an SE or voltage trigger connected to the 0V side  of the
sensor bridge and on pin 1 - assuming you're use the 4 inverters with pins
2,4,6, and 8 as inputs for the SP head. This is the suggested solution also
shown in the PS head tutorial. You use the other half of the 240 for
something useful like motor drivers to buffer the PS head circuit from motor
noise.

 <<PSH-question.gif>>
enjoy

wilf
 

 


Hey Steve,

Since LEDs require a minimum of 1.6V to barely turn on, using a single 1.5V
AA cell can be done but is a challenge. I don't want to steal your thunder
but give you a starting point, I recommend using a circuit like the attached
LED driver which you can hang from any pair of complementary HC outputs, as
shown here from the bicore outputs. Note that the tripler circuit itself
only requires the 2 caps and 2 resistors. The bicore part of the circuit
represents any oscillator which has a true and inverted output. The
components shown generate a brilliant flash about once every 2 seconds. For
higher frequencies decrease the 10K resistor value until the brightness no
longer increases.  This LED driver effectively triples the available LED
voltage and works with a supply voltage down to less than 1V. In addition,
it shapes the LED current into a short high current pulse which is highly
visible and saves power. As our friend Steven Bolt has tirelessly pointed
out to us in the past, the power required to run a HC oscillator drops
dramatically at 1.5V and a single AA cell can probably run a bicore for a
year. Adjusting the size of the caps (10-100uf) changes the brightness and
total current but even the 100uf caps will probably run a LED blinker thingy
for a couple of months.

have fun

wilf
From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Mar 21, 2000  12:52 am
Subject:  [alt-beam] Re: The 240 microcore - with corrected drawings - was ....yet ag ain.....


Here is a tested 74HC240 microcore (no, it's not a bicore) circuit first
posted and discussed 2/1/00 including the corrected drawings and a few more
comments.

It behaves just like a 74HC14 type microcore and motor driver combined. I
have bench tested the circuit with small lens motors and VCR ejector motors.
Stalling the motors by hand produces a slightly shorter pulse duration but
otherwise the circuit just keeps on ticking. The motion of the motors is the
characteristic non-overlapping microcore sequence.  The circuit is similar
to the "quasi microcore" design I reported some time ago.

HOW TO READ THE DRAWINGS

For those not familiar with my schematic drawings, I use arrows on pins 1,
10, 19 and on one side of resistors R1 indicating connections to a common
ground bus to the 0V (or - terminal) of the powersupply. The +V connected on
pin 20 is the positive terminal of the powersupply.  Not shown on the
drawings are the powersupply/battery itself and any supply filter components
which typically include a  0.1uF capacitor across pin 10 and pin 20 of the
240 chip. The layout drawing tries to show the physical arrangement of
external components with relation to the chip pins as well as the inverter
sections inside the chip. The inverters marked 1 are normally controlled
with pin 1G (1) and inverters marked 2 are controlled by pin 2G (19). In
this application pins 1G and 2G are connected to 0V making all inverters
active all the time. The C1 caps, apparently shown inside the 240 chip, are
actually external components mounted between the IC pins.

HOW IT WORKS

The new 240 uCore circuit is similar to a microcore but uses normal HC240
inverters instead of Schmitt triggers. Such a linear microcore circuit
normally would not work but this problem is overcome by adding positive
feedback from the non-inverted motor driver outputs using a capacitor. This
positive feedback speeds up the transition through the linear region using
what I call AC hysteresis. Assuming a switching threshold of 1/2Vdd, the
ratio of C1/C2 must be greater than 2 and the time constant will be
proportional to R*(C1+C2) since the bias point input voltage will clamp at
Vdd (+V supply) on the positive edge of the input signal.  The two diodes
(which can be any type 1N914/1N4448 etc) provide an automatic PNC function,
far simpler and easier to use than the old Nu type PNC circuit. The layout
of this circuit would appear to lend itself very well to freeforming.  I am
still trying to add a reverser function with minimal extra components and I
have some ideas which should work and which post shortly after I test them.

enjoy

wilf
From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Wed Feb 2, 2000  3:45 am
Subject:  [alt-beam] Re: The 240 microcore - was Bicore question


And they said it couldn't be done!

Here is a tested 74HC240 microcore (no not a bicore) circuit which behaves
just like a 74HC14 type microcore and motor driver combined. I have bench
tested the circuit with small lens motors and VCR ejector motors. Stalling
the motors by hand produces a slightly shorter pulse duration but otherwise
the circuit just keeps on ticking. The motion of the motors is the
characteristic non-overlapping microcore sequence.  The circuit is similar
to the "quasi microcore" design I reported some time ago.

The new 240 uCore circuit is similar to a microcore but uses normal HC240
inverters instead of Schmitt triggers. Such a linear microcore circuit
normally would not work but this problem is overcome by adding positive
feedback from the non-inverted motor driver outputs using a capacitor. This
positive feedback speeds up the transition through the linear region using
what I call AC hysteresis. Assuming a switching threshold of 1/2Vdd, the
ratio of C1/C2 must be greater than 2 and the time constant will be
proportional to R*(C1+C2) since the bias point input voltage will clamp at
Vdd on the positive edge of the input signal. Note the location of the C1
caps, some of which are mounted between pins on the solder side of the chip.
The two diodes (which can be any type 1N914/1N4448 etc) provide an automatic
PNC function, far simpler and easier to use than the old Nu type PNC
circuit. The layout of this circuit would appear to lend itself very well to
freeforming.  If possible, I will try to incorporate a reverser function to
this circuit without adding (many) more parts unless someone beats me to it
of course.

enjoy

 From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Mar 21, 2000  12:52 am
Subject:  [alt-beam] Re: The 240 microcore - with corrected drawings - was ....yet ag ain.....


Here is a tested 74HC240 microcore (no, it's not a bicore) circuit first
posted and discussed 2/1/00 including the corrected drawings and a few more
comments.

It behaves just like a 74HC14 type microcore and motor driver combined. I
have bench tested the circuit with small lens motors and VCR ejector motors.
Stalling the motors by hand produces a slightly shorter pulse duration but
otherwise the circuit just keeps on ticking. The motion of the motors is the
characteristic non-overlapping microcore sequence.  The circuit is similar
to the "quasi microcore" design I reported some time ago.

HOW TO READ THE DRAWINGS

For those not familiar with my schematic drawings, I use arrows on pins 1,
10, 19 and on one side of resistors R1 indicating connections to a common
ground bus to the 0V (or - terminal) of the powersupply. The +V connected on
pin 20 is the positive terminal of the powersupply.  Not shown on the
drawings are the powersupply/battery itself and any supply filter components
which typically include a  0.1uF capacitor across pin 10 and pin 20 of the
240 chip. The layout drawing tries to show the physical arrangement of
external components with relation to the chip pins as well as the inverter
sections inside the chip. The inverters marked 1 are normally controlled
with pin 1G (1) and inverters marked 2 are controlled by pin 2G (19). In
this application pins 1G and 2G are connected to 0V making all inverters
active all the time. The C1 caps, apparently shown inside the 240 chip, are
actually external components mounted between the IC pins.

HOW IT WORKS

The new 240 uCore circuit is similar to a microcore but uses normal HC240
inverters instead of Schmitt triggers. Such a linear microcore circuit
normally would not work but this problem is overcome by adding positive
feedback from the non-inverted motor driver outputs using a capacitor. This
positive feedback speeds up the transition through the linear region using
what I call AC hysteresis. Assuming a switching threshold of 1/2Vdd, the
ratio of C1/C2 must be greater than 2 and the time constant will be
proportional to R*(C1+C2) since the bias point input voltage will clamp at
Vdd (+V supply) on the positive edge of the input signal.  The two diodes
(which can be any type 1N914/1N4448 etc) provide an automatic PNC function,
far simpler and easier to use than the old Nu type PNC circuit. The layout
of this circuit would appear to lend itself very well to freeforming.  I am
still trying to add a reverser function with minimal extra components and I
have some ideas which should work and which post shortly after I test them.

enjoy

wilf


 

 
 
 


 
From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sat Mar 11, 2000  8:43 pm
Subject:  [alt-beam] Re: Diodes in microcores


Hi Jeff,

Welcome and a pleasure to read about your Nv circuit observations.

If you use LEDs to indicate the active low output state of each process, you
probably noticed that the 4Nv microcore starts up saturated with 2 active
processes shown by the following LED sequence:

1 0 1 0 (On Off On Off)
0 1 0 1
1 0 1 0
etc

and a micro core with PNC starts as:

1 0 1 0
1 0 0 1
1 0 0 0
stop
 
until the PNC times out and continues:

0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
etc

If you have motors connected to the microcore perhaps using a 245 buffer or
h-bridges, then the motor connected to the PNC controlled Nv will be turning
in one direction until the PNC times out. The usual solution is to add a
connection from the PNC to the 245 chip enable pin to tristate the buffer
and disable the motors until the PNC times out. H-bridges are more difficult
and some will self destruct if both inputs are active! Microcores are now
probably less popular because of the unpleasant experiences of smoking
h-bridges. The 2 diode PNC free solution eliminates that problem altogether
and who knows how Beam would have evolved if that solution had be been found
early on.

I like your analogy of energy states of neural networks and I must think
more deeply about that one. But I wonder if the saturation isn't the lower
state and a single process, the higher state. I say this because the number
of different output patterns generated with one process is 4 but with 2
processes (saturation) the number of different output patterns is only 2.

In fact, if the motors are connected in the normal way from the output of Nv
1 to 3 and Nv 2 to 4,  when saturation occurs, the motors do nothing and no
motor current flows because the levels on each the motor terminal are always
the same polarity.

So reading your observations made me curious since the behaviour you
described is a bit different from what I expected but hey, I am happiest
when I make a counter-intuitive discovery and you never know what new ideas
may pop up next.

regards

wilf

BTW I'm too fumble-fingered for freeforming any but the simplest circuits
myself but others have perfected it to a fine art!

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Mar 7, 2000  3:26 pm
Subject:  [alt-beam] Re: MicroCore vs. BiCore


If damn PNCs are you only concern, you can add 2 diodes to any microcore to
make it PNCless.

The (recycled) PNCFREE microcore starts instantly and is always on alert to
automatically neutralize saturation.

Also note the simplified LED circuit: Since only one LED is on at one time,
the 4 LEDs can share one resistor.

wilf
 



From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Wed Mar 1, 2000  5:26 am
Subject:  [alt-beam] Re: mini walker


Hi Ben,

Here is a blast from the past (June 99) :  the LIGHT WALKER 1.0 design as
shown in the attached schematic. In this design the SE function has been put
inside the microcore loop. From another perspective this is a pentacore
design.  The 1381 acts like a combination Nu, PNC and SE trigger.  Note that
the 74HC14 and AC240 are powered up all the time. Normally the 4Nv outputs
will all be high, the motors will be stopped and no current will flow. The
solar panel will charge up the main cap and also the memory cap of the 1381.
The memory cap ensures that the 1381 input voltage will not drop during the
first process interval when the motor current starts to pull down the main
capacitor voltage. When the 1381 fires it "injects" a process into the first
Nv with a rising edge. This process ripples through the other Nvs and when
the process reaches the last Nv  it resets the memory cap of the 1381. This
sequence is a 4Nv process cycle which causes the bot to advance by one step
on each leg. Next the solar panel charges the main capacitor and the 1381
memory cap back up and when fully charged the 1381 triggers the next process
cycle. If there is enough charge on the main cap the SE fires almost
immediately and the walker continues uninterrupted. This embedded SE design
can be extended to 6Nv or 8Nv designs as well.

The reverser circuit is quite a nice solution to the problem of early
reverser time out when the LIGHT WALKER only walks intermittently. To avoid
this problem, the reverser memory capacitor is discharged in steps, one
process cycle at time, with about 7 or 8 cycles required to return to
forward motion regardless of the time between steps.  In addition the
reverser circuit switching is synchronized with the start of each cycle to
avoid the typical gait recovery time associated with asynchronous reverser
circuit switching. This synchronous reverser idea can be applied to many
walker designs and imho is a nice contribution  to the state of the art of
BEAM tech.

The LIGHT WALKER still needs tactile inputs. Perhaps it can be left as an
exercise for the reader to complete the full LIGHT WALKER design.

enjoy

  Wilf Rigter mailto:wilf.rigter@p...
     tel: (604)590-7493
     fax: (604)590-3411
 


From:  Wilf Rigter <rigter@c...>
Date:  Sun Feb 27, 2000  9:19 pm
Subject:  [alt-beam] Re: Solar Cell tests


Very clear and simple analysis!

regards

wilf

CyberBug wrote:

> Hi there,
>
> I saw your tests and I was curious about your results, so I did some
> calculations and this are the results (or explanations of your results):
>
> 1. When charging a capacitor the solarcell works like a baterie and resistor
> in series, so to make the calculations we need to now the solarcell's
> resistance, and that would be:
>
> A: 3.5v @ 6 mA
>
> Ra = 3.5 v / 6 mA
> Ra = 583 ohms aprox.
>
> B: 2.7v @ 16 mA
>
> Rb = 2.7 v / 16 mA
> Rb = 169 ohms aprox.
>
> 2. Now we test for parallel configuration. As you can see in the schematic,
> you have a net formed by V1, V2, V3 and V4.
> According to Kirkchof's law the algebraic sum of all the voltages in the net
> must equal 0. So:
>
> 0 = V1 + V2 + V3 + V4
>
> We know V3 and V4 (the solarcell's voltage), but since they are not equal
> they have to compensate through the resistors, so we now have to calculate
> the real output voltage. First we have to indicate de polarities of each of
> the voltages, in a CCW fashion you get the polarities noted (based on the
> known voltages), then we can solve for the know voltages:
>
> V2 + V3 = V1 + V4
> V2 + V3 = 3.5v + (-2.7v)
> V2 + V3 = 0.8v
>
> Now we know that resistors Ra + Rb hold a voltage of 0.8v. The real output
> voltage is taken between the Ra and Rb therefore resulting a voltage divider
> between the two. Keeping this in mind we know calculate the voltage presente
> at Rb:
>
> Ra = 583 ohms
> Rb = 169 ohms
> Ra + Rb = 752 ohms
>
> V3 = 0.8v x (Rb / (Ra + Rb))
> V3 = 0.8v x (169 / 752)
> V3 = 0.8v x 0.211
> V3 = 0.179v
>
> Now for V2:
>
> V2 + V3 = 0.8v
> V2 = 0.8v - V3
> V2 = 0.620v
>
> Now V3 and V4 are in series and this is the real output voltage so:
>
> Vo = V3 + V4
> Vo = 0.179v + 2.7v
> Vo = 2.879v
>
> The real output voltage represents the voltage that you would have if it was
> only one solarcell. The output current I is the sum of both solarcell's
> current:
>
> I = 6 mA + 16 mA
> I = 22 mA
>
> The resulting solarcell is 2.8v @ 22 mA (hence faster charging, more on this
> later)
>
> 3. Now we test series configuration. Again, as you can see in the schematic,
> this is much simpler. We now have two voltages V1 and V2, they are in series
> and the resulting output voltage Vo is:
>
> Vo = V1 + V2
> Vo = 3.5v + 2.7v
> Vo = 6.2v
>
> But now, we have the same problem we had with the voltages in parallel but
> with the current. We have two different currents, but not to worry, we
> already know the resistance of each solarcell, so:
>
> Rt = Ra + Rb
> Rt = 583 + 169
> Rt = 752
>
> Applying Ohm's Law:
>
> I = Vo/Rt
> I = 6.2v / 752
> I = 8.2 mA
>
> The resulting solarcell is 6.2v @ 8.2 mA (slower than A + B in parallerl but
> faster than A alone).
>
> So now we have:
>
> A: 3.5v @ 6 mA (11.5 sec)
> A + B series: 6.2 @ 8.2 mA (6 sec)
> B: 2.7v @ 16 mA (3.5 sec)
> A + B parallel: 2.8v @ 22 mA (2.5 sec)
>
> What can you guess from above?
> Right, the larger current charges faster, even though voltage is smaller.
>
> But then again, all of the above results are theoretical, in practice they
> vary. You were suposed to have 2.8v total, but in practice you had 2.4v,
> although it did charged faster because of the current enhancement.
>
> Now for the charging times, if you could see voltage vs. time in a graph you
> would see that a charging curve, as you get closer to the maximum voltage
> the voltage variations are smaller and much more longer in time. You start
> charging very fast but it keeps getting slower until you reach the top
> voltage. If the charging time was linear you would see the same time going
> from 1.1v to 1.2v than going from 1.4v to 1.5v.
>
> Hope this was useful, if you or anyone has any comments please let me know.
> See ya.
>
> ----- Original Message -----
> From: FCO Enr. <fco@t...>
> To: <beam@s...>
> Sent: Thursday, February 24, 2000 3:35 PM
> Subject: Solar Cell tests
>
> > greetings,
> >
> > I did some tests with some various solar cell configurations
> >  and here is some of the data I gathered as well as some questions
> >  for those of you who can explain this phenomena.
> >
> > First off, I tried various combinations to find the most efficient
> >  low light (my ambient light level) setup. The winner is surprising
> considering
> >  even my Solarbotics catalogue seems to point in the wrong direction.
> >
> > A - SC2422 (3.5v @ 6ma)
> > B - SC2433 ( 2.7v @ 16ma)
> > ( I also experimented with the SCPDs but I didn't write down and time
> >   the results so I won't include them).
> >
> > The goal was to see how fast the circuit could gain .01v in my ambient
> >  light. I did my best to avoid any movement of cells.
> >
> > A 11.5 seconds
> > A + B in series 6 seconds
> > A + B in parallel 2.5 seconds
> > B 3.5 seconds
> >
> > Now this is pretty odd considering it seems like wiring these
> > cells in parallel improved their low light capability (not by much
> >     considering the space it takes up).
> >
> > WEIRD: When the voltage in the circuit reached 2.2 something volts
> > I noticed it was takin MUCH longer.. from 2.23v - 2.24 it took
> > 1 minute 7 seconds!!! I looked at my meter again and it hasn't
> > budged from the 2.24v mark in over 2 mins!!
> >
> > I also noticed the times I stated above were between 1.4 and
> > ` 1.58v. It seems like the charging between 1.1v and 1.2 is almost two
> > times faster! Why does it vary depending on circuit voltage and why
> > did the voltage sort of plateau at 2.24v?
> >
> > Now the light level hasn't changed AT all and I tried again when it got
> > to 2+ volts the cycling was a LOT slower to get the same 0.01v
> > WHY? So this also means if I get the lowest rated trigger it would
> > improve low light capability DRASTICALLY!
> >
> > I would appreciate any feedback on this.
> >

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Fri Feb 11, 2000  3:32 pm
Subject:  [alt-beam] Hypersaturation, wavefront processors, -Nv/+Nv et al


THE Nv WAVEFRONT PROCESSOR PARADIGM

Not to be confused with the much more complex Wavefront processor used in
DSP arrays, Nvs are, in a very pure sense, logical wavefront processors
which transmit, inhibit, delay or generate wavefront transitions that mark
the boundaries of processes.

The Nv waveform processor paradigm can help to explain all possible process
states of an Nv loop including single, multiple, saturated and
hypersaturated states using the same terms of reference. To do this, it is
necessary to consider the signals in a Nv loop as dynamical "process
wavefronts" rather than static "process states". In that sense, a process
wavefront (any Nv output transition) will propagate through the Nv loop at
very high speed, changing the state of one or more Nv stages until the
wavefront propagation is inhibited. Not surprising, a wavefront propagates
through successive Nv stages if the phase polarity of the wavefront at the
Nv input is such that it causes a change of state in that Nv output.
Conversely, the wavefront is inhibited if the phase at the Nv input
re-enforces (is in phase with) the current state of the Nv. Before giving
examples of wavefront processing in Nv loops, it is useful to describe the
relationship between process states and patterns to the behaviour of signals
in Nv loops.
 
SINGLE PROCESS STATE

With a single process in a Nv loop, a single Nv is active at a time and each
Nv output produces a pulse in succession. The time constant (TC) of the
active Nv is independent of the other Nv time constants. Propagation of the
process from one Nv to the next is often described as "the end of one
process triggers the beginning of the next process". Simple and straight
forward in the single process case but that description is insufficient when
multiple processes are active in the Nv loop.

TWO PROCESSES IN A 6Nv LOOP EXAMPLE

For example, in a 6Nv loop 2 processes can be active at one time as long as
they are separated by at least one inactive Nv (exclusion principle). There
are several patterns used which describe one step in a sequence, for example
0,1,1,0,1,1. In that pattern the processes are completely independent of
each other, however since the process durations are also independent, the
next step may be 1,0,1,0,1,1 as Nv1 times out before Nv4 and triggers Nv2.
Note that this intermediate pattern has a different order of active and
inactive Nv and it's behaviour is quite different from other process states
with the same pattern. In the first example, the two processes may remain
independent. But this is not always the cases for example one that starts
with pattern 0,1,0,1,1,1,1 and/or where Nv1 has a time constant that is much
larger than the sum of the other Nv TCs. Then the sequence may progress as:

0,1,0,1,1,1
0,1,1,0,1,1
0,1,1,1,0,1
1,0,1,1,1,0

In accordance with the exclusion principle, the long Nv1 time constant will
be pre-empted. So in some cases two processes are independent and but
sometimes change in lockstep. In fact, 2 process pattern in a 6Nv loop with
significant differences in Nv TC may have a very complex development of
patterns or may simple converge on a lockstep pattern. Both the process
state or process pattern description are more or less useless to predict the
behaviour of 2 processes in an 6Nv or greater loop.

3 PROCESS/6Nv LOOP

According to the nNv/2 saturation rule, 3 processes in a 6Nv loop begets
saturation ie the maximum number of processes. But what does this tell us
about the behaviour of a saturated loop. No matter what significant
difference in Nv time constants, all Nv output pulses are in lockstep
because of the exclusion principle. The positive pulse width is set by the
shortest TC of Nv1,Nv3,Nv5 and the negative pulsewidth is set by the
shortest TC of Nv2,Nv4,Nv6. Huh?
So the most significant aspect of saturation is not "maximum process state"
but the loss of independent time constants. A bicore loop has only two Nvs
and with the maximum of 1 process would be considered to be saturated but
this process is completely independent as it propagates through each Nv and
is therefore the exception to the rule that in "saturated" loops processes
are not independent.

HYPERSATURATION IN NV LOOPS

This is the bugaboo of all processes in Nv loops. For example, a
hypersaturated 6Nv loop was described by Mark T. as:

"What happens is you get two processes "on" diametrically opposite neurons,
and two others between transitions from one neuron to another.  The pattern
looks like this...

0.5, 0.5, 1, 0.5, 0.5, 1

The phase angles are tightly locked:

and

"Fortunately it can only happen with absolutely concurrent signal injection
during a transition step in a saturated 6Nv, so it's rare and hard to get
to".

and it's usefulness seems restricted to cooking motor drivers.

Huh? Of course Mark just posted an abbreviated comment to the list but while
the information is concise it is not particularly useful to help us
understand the phenomenon.

Nv LOOPS AS A WAVEFRONT PROCESSOR ARRAY

When viewing Nvs as wavefront processors, the behaviour of processes
including hypersaturation in a Nv loop becomes clear. For a Schmitt inverter
ground referenced Nv loop,the following wavefront processing rule applies:

a wavefront propagates through an Nv, if the Nv output is the same polarity
as the wavefront polarity at the input, the propagation is inhibited if the
Nv output state is the opposite polarity as the wavefront polarity at the
input and a propagated wavefront is inverted at the output.

For example in a 6Nv loop with a single process state, the output state at
step one is  0,1,1,1,1,1,1, so that the wavefront at the output of Nv1 at
the end of step one goes positive and propagates through Nv2 whose output
was high.  The wavefront is transformed by the "invert" function and then
propagates as a negative wavefront through the Nv2 output before being
inhibited at Nv3 whose output is high. (1,0,1,1,1,1,1).  At the end of the
active Nv2 process, a new positive wavefront is generated which will
propagate through Nv3 etc.

WAVEFRONT SATURATION

In the example of a 6Nv loop,"saturation" can be described as a condition in
which all Nvs change state in rapid succession as a single wavefront
propagates around the loop. Half of the Nvs (ie Nv1, Nv3, Nv5) receive
positive input transitions and are triggered and the other Nvs (ie Nv2, Nv4,
Nv6) are reset with a negative input transition. The triggered Nv (eg Nv1)
with the shortest TC times out first and generates the next wavefront which
propagates rapidly (50-100ns) around the loop resetting Nv3 and NV5 and
triggering Nv2,4,6 until it arrives "in phase" at the input of the
initiating Nv1 at which point the wavefront propagation is terminated.  So
you can see why Nv3 and Nv5 process TCs are no longer independent. The next
wavefront is generated by one of the triggered Nv (eg Nv2) with the shortest
time constant. So transitions are generated by Nvs with the shortest time
constant in each of the odd/even numbered Nvs which sets the frequency and
duty cycle of the Nv output pulses in the normal "saturated" state.

Note that the saturated state is the normal condition for a 2Nv grounded
bicore loop which has only one odd and one even Nv and therefore is the
exception to the rule that "saturated" processes are not independent.

WAVEFRONT HYPERSATURATION

Hypersaturation can be introduced into even numbered Nv loops by injecting a
second wavefront at a time when a normal "saturation" transition wavefront
has propagated halfway around the loop such that two out of phase wavefronts
are present, simultaneously propagating out of phase around the loop.
Wavefront transitions arrive at the Nv input with a polarity that changes
the current state of the Nv, causing the Nv output to change after one gate
delay and continues inverted to propagate to the next Nv and so on around
the loop.

In fact hypersaturation is not rare at all since it is the normal startup
state for _odd_ numbered Nv loops (ie 3Nv or 5Nv cores). In odd numbered Nv
loops, the normal Nv/2 "saturation" state (ie 1.5 or 2.5 processes) cannot
exist or rather it is equal to the hypersaturated state because the
propagating wavefront will never be inhibited since it will always be 180
degree out of phase (the .5 process right?) when returning to the input of
the initiating Nv. Therefore only one wavefront propagates around an odd
numbered loop in the hypersaturated state. In fact, even numbered Nv
hypersaturated loops behave as a pair of odd numbered Nv loops in connected
series since the two uninhibited propagating wavefronts generate the same
frequency (f) at the outputs as a hypersaturated odd numbered Nv loop of
half the length ie f6Nv=f3Nv! (~12Mhz)

For a 1Nv loop (yes 1Nv), the hypersaturated state is the only possible
state and the output frequency is in the order of 30-40 Mhz depending on
logic family, layout, stray capacitance. Nv loops up to 6Nv, I have tested
all have hypersaturated frequencies in the megahertz range, much higher than
the 100KHz reported for other Nv loops.

INITIATING HYPERSATURATION IN A 6NVCORE

To initiate hypersaturation in a 6Nv loop, configure it first as a 5Nv loop
by bypassing one of the Nv stages, using a 1K in series with that stage
output for isolation. When powered up, the 5Nv core is in hypersaturation
and by removing the bypass, the hypersaturated state is transferred to the
6Nvcore almost doubling in frequency in the process.

KILLING HYPERSATURATION

While 3Nv loops (tricores) can be very useful since they will revert to a
single process state after suppressing the hypersaturated startup state.

Adding a 5K resistor between one Nv output and the coupling cap of the next
Nv, delays the high frequency wavefront transitions in the odd numbered
Nvloop and the hypersaturated state in the 3Nv loop quickly reverts to a
normal maximum one process (ie not saturated) waveform. The same suppression
can be achieved with a 1000pf capacitor from one Nv output to ground. Both
methods are useful to eliminate odd numbered Nv loop hypersaturation.
 

WAVEFRONT PROCESSORS AND WAVEFRONT PROCESSORS

I suggested the Wavefront Processor as a model for Nv neurons but the
analogy is not precise. Waveform processors are generally used in
asynchronous parallel signal processor 2-dimensional arrays connected in a
nearest neighbor topology. Data is processed by applying two terms (x and y)
at the top and left side of the array which propagate unaltered from top to
bottom and left to right of the array while leaving the result of the
processor function (m+xy) in each processor local memory. The two terms
applied ripple asynchronously through the array at high speed and drop out
of the array at the bottom and right boundary cells. The result is read
directly from the array elements and not from the boundary cells as might be
expected.

I will post another article which will describe Nv arrays with some more
interesting  topology as shown in the attached gif.

But here is a paraphrased snippet of a discussion of MIT's CAM-8 cellular
automation processor applications for inspiration and a little humor:

wavefront calculations:

calculations that can be laid out in an n-dimensional space in such a way
that we're only interested in the evolution of a wavefront through the
space. This can be viewed as a way of performing calculations  that aren't
uniform in space or in time. A wavefront calculation is laid out in
n-dimensions so that the direction of dataflow is always positive along one
of the dimensions, and then we simulate discrete steps by sweeping the
signal wavefront through this dataflow-dimension once. Since the
dataflow-dimension is virtual, it can be thought of as holding the
time-dependance information for an n-1 dimensional spatial calculation, and
so this is really just a generalization of static routing to arbitrary
space-time logic. duh?

wilf
 
 
From:  Bruce Robinson <Bruce_Robinson@t...>
Date:  Wed Feb 9, 2000  6:55 am
Subject:  [alt-beam] Re: Wilf's thought experiment (part 1)


Wilf Rigter wrote:
>
> Here is a little thought experiment: in an open ended 6Nv
> (74HC14) chain with LED indicators, what is the maximum
> number of processes (output low pulses/LED on) that can be
> active at a time? ...

> ... Longer chains of n Nv should be capable of maximum n/2
> processes but no more before saturating. A bottom up tree-like
> Nv structure would see a process propagate down the trunk before
> radiating along the branches. ...
 

> ... What about a top down tree with processes propagating down
> the branches toward the central neural chain (trunk). Add some
> logic such that two processes must be counted or be present at
> a junction where branches meet before processes can propagate
> any further. ...

> ... How about some memory (Nu) at the junctions so that the
> junction remembers the last process and "sensitizes" the
> junction to lower the propagation threshold.

Wild and wonderful ideas. Here is how some of them relate to human (and
other mammal) biology.

Our muscles are composed of thousands of fibers which slide past each
other when triggered by an impulse from a neuron (technically, a motor
neuron). Each muscle fiber has it's own neuron, and the neurons are
bundled together into nerves, which find their way to our spinal cord,
which is an extension of our brain. The muscle fibers are encased in
connective tissue that bundles together into tendons, which attach to
our bones.

Muscles can only pull (contract) and relax; they can't push. And a
muscle fiber will not remain contracted indefinitely. It needs to be
re-energized by pulses from the attached motor neuron (hundreds of times
a second). So how can we exert a steady pull? How can we vary the
intensity of our muscular efforts? Our nervous system can simultaneously
activate a few or a great many muscle fibers at varying pulse rates. The
effects average out to a smooth and variable pull.

So let's try to approximate this behaviour using BEAM type neurons:
nervous (Nv) and neural (Nu) to use the common BEAM terminology. Let's
begin with a simple pulse generator which produces a square wave. Say
1/10 second high and 1/10 second low. That's 5 complete high-low cycles
a second.

Now let's feed that pulse stream into a conventional Nv, causing it to
fire five times a second. How long does the Nv stay "on"? Well we can
vary it with a sensor, such as a photocell, or noise detector, or heat
sensor. The longest delay (or "on" period) should be no more than the
pulse length -- in this example 1/5 second. It could be much shorter. So
now we have a stream of "on" pulses of varying length, coming at the
rate of 5 per second. So what?

Let's feed the Nv output through a diode and into a Nu input. This will
slowly "charge" our Nu. The wider the pulses coming out of the Nv, the
faster the Nu will build up a charge. Eventually the Nu will reach the
trigger point and turn "on". Possibly we can use the Nu output to run a
motor, or run it in one particular direction, or somehow cause a robot
to turn in one direction.

But there's a problem with this idea. So long as our pulse generator is
running, we'll be feeding pulses, however small, into our Nu. Eventually
it is going to fire. What if we don't want it to fire if the incoming
pulses are very short? What if we only want the Nu to fire if the charge
is building up at a certain rate or higher? We can modify the Nu by
adding a large resistor that will slowly drain the charge from the Nu.
This means it can only fire if the incoming pulses build up a charge
faster than it can drain away.

The variable width pulses coming in are approximately like the signals
sent to the muscle in our nervous system. The drain on the Nu
approximately represents the tendency of our muscles to relax when not
activated. The Nu itself is an analog of a human motor neuron.

So what has this gained us? We've now got a circuit that uses a pulse
generator, a Nv, and a Nu, all to accompish what we normal do with one
Nv. This is progress?

Hang on. Let's say we want to influence our robot not just with light,
but also with noise. We want the robot to turn toward light, AND turn
toward noise. The brighter and louder, the stronger the tendency to
turn. We can easily accomplish this with our new type of circuit. We
just add a second Nv, and feed it's output into the Nu that we already
have. We don't need a second pulse generator either -- we can use the
one we've got. So what exactly happens here?

Presumably we have two sets of circuits, one to make the robot turn one
way, and one to make it turn the other way. Each circuit consists of a
pair of Nv's feeding into a Nu. One Nv in a pair is influenced by light,
and one by sound. Only one pulse generator needed to drive the whole
works.

The effects of the two Nv's in a pair are additive. Sound and light on
the same side of the robot make it respond more quickly. Sound on one
side and light on the other charge up the two opposing Nu's at about the
same rate. By tuning the Nv's we can alter the relative effect that
sound and light will have.

But wait, there's more. A robot that turned toward sound and light would
have a short life in my house in the winter. A good deal of my heat
comes from a wood stove. It pops and ticks as it heats up (noise) and
has a transparent ceramic door, which emits light AND heat. The robot
turns toward the noise and the light, and gets melted by the heat! So
what if I add a pair of heat sensors, simple temperature sensitive
resistors, each influencing a third Nv. These Nv's are INVERTED. They
produce an opposite output signal. So I can use these to DISCHARGE my
Nu's. Too much heat, on one side, and this counteracts the light and
noise detectors. This is the exact equivalent of human INHIBITOR
neurons, neurons that interfere with the normal reception of signals.

The beauty of this system is that I can keep adding Nv outputs to my Nu,
with only a diode to connect them. No need for AND gates and OR gates.
But I have one little problem. What happens if my hypothetical robot is
hit from all sides by a series of camera flashes (it's a famous little
robot) and surrounded by noise. If I have a pair of Nu circuits, one to
influence each side, they are both going to charge up at about the same
rate, and they are both going to fire at roughly the same time. Kind of
like trying to bend your arm and straighten it at the same time. Very
wasteful of energy. Very hard on H-bridges. Well, here's a little trick,
also taken from human physiology. When the Nu on one side fires, it
INHIBITS the Nu on the other side. So whichever one fires first, wins.
And if they both fire simultaneously, it's a tie and neither one wins.
They BOTH discharge.

And that is a more directed application of some of the ideas Wilf was
throwing at us. But wait, there's more ...

Up to this point, we used a typical Nu to accumulate charge from one or
more Nv's (or lose the charge to one or more inverted Nv's). The Nu has
a Schmitt inverter which "fires" when its threshold is reached. Let's do
something a little radical. Let's remove the Schmitt inverter and
replace it with an op-amp, say an LM324, which has been configured as a
voltage follower. What this means is that whatever voltage level appears
on the capacitor in the Nu circuit is reproduced at the output of the
op-amp (but without AFFECTING the charge on the capacitor). We can use
the op-amp output to (say) drive an H-bridge, or some other analog motor
driver. This means instead of the usual on-off output of the
conventional Nu, we get a variable output.

That's it for Part 1. Fairly advanced. Definitely something to try on
the breadboard first. Use Nv and Nu circuits to work a little more like
the human nervous system. And yes, it does work. Not the noise part,
just heat and light so far. And not in a completed robot (not for a
while), but on the breadboard for sure. My problem (as always) is there
never seems to be enough breadboard to try out all these ideas.

To quote the master, enjoy.

Bruce


From:  "Mark W. Tilden" <mwtilden@m...>
Date:  Fri Feb 4, 2000  8:08 pm
Subject:  [alt-beam] Re: The 240 microcore - was Bicore question


Hi.  If you try to "stuff" a 6Nv with more than three processes, you
get a four process "Hypersaturated" state where the pulses oscillate
around the core at rates in excess of 100kHz (.22uF couples, 1m resistors).

Fun, but tends to heat up motor drivers really fast.  Fortunately it
can only happen with absolutely concurrent signal injection during a
transition step in a saturated 6Nv, so it's rare and hard to get to.

Later.

markt.
 

 From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sat Jan 22, 2000  9:48 pm
Subject:  [alt-beam] FULL RANGE LED PUMP


Here is a Flashing LED circuit which has energy saving and range extending
features.

This circuit has some similarity to an FLED providing the same power saving
short pulses but has a greater operating range from >6.0 down to <1.2V.
 

FLEDPUMP Operating range 1.2V-6.0V   Typical pulse duration 100ms

 The oscillator shown is a standard bicore but can be any two outputs which
are 180 degree out of phase. This LED circuit is usable down to <1.2V well
below the forward voltage of the LED. When the two outputs switch state one
or the other LED pulses brightly for a short duration and remains off for
the rest of the time thereby saving (precious) power. This is ideal for
solar applications and can be used with positive or negative Nv neurons.

enjoy

wilf

 
 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Thu Jan 20, 2000  1:22 am
Subject:  [alt-beam] Re: LCD name tag


The original LCD circuit is Mark Tilden's (I think). The animated LCD is my
circuit but Lee did all the work of putting it together and the layout on
his web page.  My wife pointed out that a room full of beamers with animated
LCD name tags would probably cause some kind of emergent herd behaviour.  A
IR transmitter and PD receiver (simple) on each LCD would synchronize them
to make them all change at the same time.One of us, One of us....  Scare the
heck out of non-beamers, eh!

wilf
From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sun Jan 16, 2000  8:54 pm
Subject:  [alt-beam] Re: D1


Ok,ok here it is:

THE LEDPUMP

This simple circuit combines two dynamite circuits. An even simpler SIMD1
and a LED charge pump/flasher.
Despite the LEDPUMP's apparent simplicity, it is a major improvements over
original the D1 and PUMMER circuits.
The SIMD1 is a very simple D1 type SE which charges during the day and turns
on a flashing LED at night. In addition to the solar cell and capacitor (or
NiCd), it uses just 1 diode for isolation to prevent discharging a fully
charged cap  through the solar cell in the dark and another diode to hold
off a flasher/threshold detector which turns on at night. It just doesn't
get much simpler!
 
The second part of the design shown is the simplest of all LEDPUMP versions
and is used to drive LEDs from a single 1.5V battery  (SBolt notice) ie. for
the AQUAGUARD circuit, but works perfectly well from a solar charger and
supercap. In the attached circuit,  I used a coin super cap charged to 2V to
flash a LED once a second for 8hrs and it's still going. To optimize
performance, you must use a premium high brightness high efficiency LED. The
simplicity of design was emphasized to make it easy to freeform the circuit
into jewelry etc.

You can also use this design at much higher frequency (100kHz) to turn the
LED on continuously, I used 1M/100pf for the oscillator and 0.33 for the
chargepump cap. If you use a higher voltage solar cell and 5V super cap, the
single LED can be replaced with two LEDs in series. I have several other
versions which use one or two more components and are more efficient than
the basic LEDPUMP design shown. This includes replacing the diode in series
with the LED with a synchronous rectifier (2N3904 and 100K resistor) or
simply adding a 10K resistor in parallel with the diode to reduce the diode
forward voltage drop and precharge the cap to 0V before the active pulse to
increase brightness and efficiency.

The basic LEDPUMP (LED, CAP, DIODE) design can be used with low voltage
microcontrollers, and other micropower applications etc to increase LED
driving voltage.  Although it may not be obvious, since the LEDPUMP seems
like such a simple circuit, it is potentially my most important contribution
to date. Remember were you saw it first.

enjoy

wilf

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Thu Jan 13, 2000  6:02 pm
Subject:  [alt-beam] Re: BEAM LEGO was microcore experimentation kit


What about BEAM LEGO?

For example, put the Nv complete with trimpot and LED into a suitable block
with GND,V+, INPUT, OUTPUT, BIAS POINT contacts in such a way that the
blocks can be put side by side and interconnections made with a SOLARCELL,
NiCAD, SUPERCAP, PD SENSOR, DRIVER and MOTOR block. The default contact
arrangement should allow standard uCore walker to be assembled in BEAM
PLUG'nPLAY fashion. A JUMPER and PROTOTYPE block can be used to configure
experimental BEAM LEGO Bots.  In this way standard BICORE, PHOTOVORE and
other BEAM bots can be bundled into standard kits.

So what do you all think?

wilf
 

 From:  "Mark W. Tilden" <mwtilden@m...>
Date:  Thu Jan 13, 2000  8:01 pm
Subject:  [alt-beam] Re: BEAM LEGO was microcore experimentation kit


BEAM Lego is a good idea, but alas anything that smells of LEGO gets
a legal department up the wazzo.  So caution, experimentation only.

There's another problem theough.  Lego only assembles from bottom to
top, so it severely cramps the permutations possible for a successful Nv
design.  Nv is best when freeformed in 3space, and if you make some Nv-lego
mockups out of post-its, you'll see what I mean.

Later.

markt.


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Wed Jan 12, 2000  2:08 am
Subject:  [alt-beam] Re: BEAM VIDEO was Solar Powered Camera's


BEAM circuits are very similar to the older analog type video technology
still used in simple B/W TVs and 20 years ago all televisions used analog
beamlike circuits for decoding  video signal.

So it's not surprising that it is fairly simple to use BEAM circuit blocks
to convert video into digital or analog signal suitable for interfacing with
other beam circuits. In the example suggested by Dennison below, The video
signal is converted into a 2x2 matrix  which corresponds to the average
light level of a quadrant of a video frame. The attached block diagram shows
the general concept of such BEAM video decoder.

A composite video signal (ie a sugar cube camera output) is processed by a
sync separator to produce Horizontal and Vertical sync pulses as well as a
DC restored video signal. This circuit requires some 2N3904s and a few
passive components. The H and V sync signals each trigger a Hsync Nv and
Vsync Nv (74HC14) respectively which are adjusted to time out at a point
corresponding to the horizontal and vertical midpoint of the screen. The
signals are connected to one half of a 74HC139 (Z bridge) which generates 4
control signals corresponding to each screen quadrant. These 4 Q signals are
used with four 4066 analog gates to route the video signal to one of 4 Nu
(74HC14). The analog voltage on each Nu cap corresponds to the average video
signal of that quadrant This can be used to "influence" a central pattern
generator like a microcore. A digital signal can be generated with a one bit
A/D converter also know as a comparator or Schmitt trigger. If the video
level on the Nu cap is above the trigger  level of the comparator, a LED
turns on. A bright light moving from one quadrant to the next, will turn on
the corresponding LEDs indicating the relative position of the light.

This concept can be scaled up to a low resolution "gray scale" (or red
scale) monitor (ie 8 by 8 LED matrix) which can also be easily made with a V
and H chains of  8Nvs each buffered with HC240 LED drivers which can drive
64 LEDs in real time. The video signal is "sliced" by a comparator the
output of which drives the HC240 tristate enable lines.  No Nu stages are
needed to measure the average video  since your eyes will do a visual
integration of the LED light level. Any old video signals can be used for
experimenting with this concept including a camcorder or VCR video output.

regards

wilf



 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Fri Jan 7, 2000  8:52 pm
Subject:  [alt-beam] Re: SIMPLIFIED D1 CIRCUIT

Yes,

Much it can be more efficient.

to quote Jim Mullins:

>The only  problem that I anticipate is setting the
>"on" level of the D1. The range  of  coming on too
> soon versus not coming on fully is very small.

The original D1 using the 2N7000 gate threshold voltage as a detector gives
a "mushy" turn on point and no hysteresis and a significant amount of energy
wasted in the forward voltage drop when partially turned on.

Depending on the design, the 74HC14 leakage current near the threshold will
be reasonably small (of the order of the self discharge leakage rate of a
large super cap or battery). When the SIMD1 triggers at night, it snaps on
and the output signal can be used to control the 5 remaining 74HC14
inverters connected in parallel with the outputs used as a "power" switch.
Or the signal can be used as the tristate control of a HC240 or HC245 or be
used as a PNC input  for a microcore etc. to apply the stored energy to the
load. An example circuit of a SIMD1 charger / "dark" triggered PNC for a
microcore is attached.  Note the 100 ohm positive feedback resistor loading
the solar cell only after the SIMD1 turns on, can be adjusted to optimize
the  SIMD1 turn off point. The output diode is connected in place of the
usual PNC in a microcore circuit.

regards

wilf


 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Fri Jan 7, 2000  4:57 am
Subject:  [alt-beam] SIMPLIFIED D1 CIRCUIT


Hi Jim,

I hope this circuit will shine a little light on your D1 problems. Consider
using this simplified D1 (SIMD1) type solar charger /darkness trigger. It
uses 1/6 of a 74HCT14 with the remainder used for pummer, microcore, etc.
If the rest of the hex inverter 74HCT14 chip is not used, then a single
74HCT14 inverter chip may be used instead, which is about the same size as
the original 2N7000. The cap C1 can be a gold cap or if the current
requirements are not high (ie pummer), one of the higher voltage/higher
impedance coin type supercaps would be just fine. Alternately C1 can be
replaced with a suitable NiCad battery. At dawn and throughout the day the
SIMD1 will charge the cap/battery and then will turn on the circuit it
controls at dusk and stays on until the cap/battery is discharged. The D1
will trigger at the lower (+V/3) threshold of the Schmitt trigger and with a
74HCT14 that point may be as low as 10% Vmax open circuit of the solar cell.
The SIMD1 "snaps" on when the solar cell is dark and will only reset at a
much higher light level or when the cap/battery is deeply discharged because
of the Schmitt trigger hysteresis.  The diode (D1) can of course be replaced
with the more efficient ZVD circuit.

enjoy

wilf
 

From:  Wilf Rigter <rigter@c...>
Date:  Tue Dec 28, 1999  11:16 pm
Subject:  [alt-beam] BEAM SONICS


Hello everyone,
I have been corresponding with Bruce Robinson on the subject of analog counters and this has developed into the attached article and circuit.

So with my best wishes for the new year to all

enjoy!

wilf
 

BEAM SONICS 101
wilf rigter 12/99

Hello everyone,

Goodbye to BEAM silence in 20th and say hello to BEAM sonics in the 21th century!

The SONIC circuit is a sound processor  which generates a chirp if it receives several chirps (or other sound packets) from external sources like other chirpers or human whistles.

It's function is based on a concept by Bruce Robinson and it is one of those projects that is looking for a "killer application".

In the mean time this article is presented here for your enjoyment, for discussion and a test platform of related ideas eg adding sound sensing and sound processing to a beam bot.

The project combines several typical BEAM subsystems and components which have been used for many other applications. The circuit uses a single 74HC14 available from Solarbotics, etc. and a handful of other parts readily available from Radio Shack making it easy to get started. Unlike the SMART HEAD which required careful fine tuning to get results, the SONIC circuit component values are not particularly critical and you may substitute or adjust values to suit. This will change some circuit parameters but nothing's going to "hang up" and cause frustration.

As shown in the attached schematic, a electret microphone signal is increased by a factor of about 2000 with two AC coupled transistor amplifiers (Q1-2). The small coupling capacitors provide a high pass filter function  which strips off any low frequency "rumble" sound and vibration which could cause problems for example on a moving robot.

MICROPHONE AMPLIFIER

The microphone amplifier is a sound receiver, sensitive enough to pick up a low level sound, ie  chirper/beeper, 5 or 6 ft away. Clapping your hands or whistling can be easily be detected 15 or 20ft away. When the microphone detects a chirp or a whistle, the pre-amp output is a complex sound waveform with a mix of analog and clipped signals. This output signal is large enough to drive the following level detector stage.

SOUND LEVEL DETECTOR

The next section of the SONIC circuit uses a AC coupled Schmitt trigger (Nv neuron) as a threshold detector which processes the amplitude information of the incoming sound. Triggered by any sound pulse with an envelop above a minimum level, the Nv output is a clipped digital waveform with a duration and frequency of the incoming sound pulse.

SOUND DURATION DETECTOR

The following Nu neuron stage is a dual time constant integrator which sets a threshold for the minimum duration of and the minimum delay between sound pulses. The Nu filters clicks and noise pulses shorter than 10ms from the incoming sound. The Nu stage produces a single positive output pulse which is at least 10ms and as long as the duration of the incoming sound pulse.

Resistor RA, in series with diode D1 and in parallel with resistor RD, sets the Nu "attack" time ie the minimum required input pulse duration. The parallel resistor RD sets the Nu "decay" time which determines the minimum Nu output pulse duration and therefore the minimum delay between incoming sound pulses. Values of RA and RD are nominally 100K. In general, RA is equal or smaller than RD but values can be adjusted to suit.

CHARGE PUMP

The following charge pump (diode dump) circuit uses the positive edge of the Nu output pulse to transfer a single charge on the charge capacitor (CC) through D3. The charge on CC is reset on the negative edge of the Nu output pulse through D2. This way discrete pulses are transferred on the rising Nu output which can be counted by the following charge counter.

ANALOG  COUNTER

The analog charge counter ciruit is closely related to the classic CMOS oscillator.  It is used to accumulate discrete charges from the charge pump on capacitor CA until the voltage on CA crosses the input trigger level of the Schmitt trigger. When that happens the counter circuit output rapidly changes to the active state, and just like a standard CMOS oscillator, uses positive feedback from the non-inverting output to dump the charge on CA through the 74HC14 input protection diodes.  Next CA start to rapidly charge in the reverse direction through D4 and the 1M resistor with negative feedback from the invering output. When the voltage on CA crosses the lower trigger level, the active outputs are terminated and the charge on CA is again dumped through the 74HC14 input diodes and the counter is "reset" (CA charge is zero).

The number of charges required to trigger the charge counter is set by the ratio of the charge cap CC (0.1uF) and the accumulator cap (CA (1.0uF) as well as the Schmitt input threshold. In this SONIC circuit, that number is arbitrarily set to 6 which makes the circuit act as a divide by 6 counter, generating one output pulse for every six input pulses.

The counter divider ratio can be adjusted by changing the ratio of the two capacitor values. The charge counter active output pulse duration is set by the 1M resistor which can be changed to other values if required.

COUNTER MODULATING

The optional PD is a green LED or photodiode which provides a reverse bias leakage current to charge capacitor CA  causing  the counter to dynamically change divider ratio (modulus) with time and light level requiring fewer pulses to trigger in brighter light. This tends to make SONIC circuits  more active in brighter light. If used on bots this may be also used to influence group behaviour since the frequency of chirps in a group will increase exponentially with group size and light level.

SOUND TRANSMITTER

The beeper circuit is a conventional gated Schmitt trigger oscillator plus inverting buffer with a piezo element driven by the push-pull outputs at an equivalent 10Vpp signal level. The RC components may be adjusted to set the oscillator frequency to the piezo resonant frequency to maximize the sound volume.

APPLICATIONS

The charge counter generates complementary outputs used here to echo a sound chirp after hearing six incoming chirps but which can be used for many other things like halting or reversing a bot . With the PD installed, at low light level and with no input sound pulses, the charge counter self-generates a chirp after a relatively long time. (Who says you can't divide by zero!) In bright light the SONIC circuit self-generates chirps more frequently and triggers after fewer input sound pulses making the circuit  more active and contributing more to communal chirping.
Bots may be  halted when the level of communal chirping increases beyond a certain level in bright light, happy to bask in the light and chirp away.

In a colony of chirpers,  SONIC transmitters could be tuned to notes of the musical scale. I would expect some unusual emergent sounds to occur including the sponaneous generation of BEAM MUSIC (which perhaps only a Beamer could enjoy).

As I write this, the SONIC project is breadboarded on a workbench 20 ft away and with a couple of short whistles I get a nice "I'm alright, you're alright" chirp in response, so I know it's safe for me to recommend you build this circuit  yourself and end the silence of the bots .....

enjoy!

wilf


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sat Dec 18, 1999  5:35 pm
Subject:  [alt-beam] Re: chloroplast


Your wish is my command!

Here is a Light Compensated SE (LCSE or should that be lcse?) It should be
used with a solar cell with 7 to 8V max open circuit. The caps should have a
similar voltage rating. The value of the pot is about equal to the brightest
light resistance of the Light Dependent Resistor (LDR). The LDR points in
the same general direction as the solar cell for tracking light variations.
It is usually necessary to desensitize the LDR by partially masking it with
shrinktube or nail polish etc. Experimentation is required to get the right
setting of the pot. Interesting behaviours can result, ie the SE may charge
but not fire until a shadow passes over the LDR (fight or flight response?)
 



 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Fri Dec 17, 1999  10:14 pm
Subject:  [alt-beam] Re: chloroplast


Thanks to Lee Golden, here is a long overdue 1381 Chloroplast SE which is
equivalent of the famous 34164 Chloroplast circuit. The trigger voltage can
be adjusted up to 7V (or more) and the reset voltage is determined by the
suffix letter. For example, a 1381J resets at about 2.9 - 3.0V. The 1381 CSE
comes in two versions, one for efficient low current motors and the other
for cheap and nasty motors. The first circuit is simple and works well with
BGmicro and other efficient motors. The second circuit can be used for both
efficient motors but also for high current toy motors using a super cap for
supply. These cheap but inefficient motors cause a big voltage drop on the
super cap from their high current requirement which can cause the 1381 to
reset. BTW this also applies to the chloroplast circuit. This problem is
avoided with a diode and cap for isolation and filtering at the 1381
detector input. For currents over 500ma, use a mosfet with a lower Rds(on)
than the 2N7000.

regards

wilf


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sat Dec 4, 1999  5:18 pm
Subject:  [alt-beam] Re: bicore or microcore?


Just to make matters even more complicated, there are many networks that
will produce such bi-directional pulses suitable for driving motors. The
attached circuit is sort of unique although it may look familiar. It can
control 3 motors with 3 delays. It uses all non-inverting elements, in this
case a 74HC245 or better yet a 74AC245.  The novel oscillator outputs are in
phase but the high/low duty cycle can be independently adjusted with the two
10M resistors! The delay stages are "monocores", similar to slave bicores
but requiring only half the number of parts. The switching is clean and free
of oscillations. The 1M resistors are used for the delay and the 2M
resistors set the ON time.  Anyway the top waveforms show how the pulses
propagate and the bottom three waveforms show the voltage across the motors
for the connections shown.  When I have some time I will draw out a MS
bicore network. The "ganged" slaves are probably what is used in Tilden's
lamprey circuits.

enjoy

wilf



Brilliant Richard! and a good time resurrect the old servohead project.

The attached schematic works with unmodified hobby servos and can be used
with an umbilical connection to move the motor or the shaft with respect to
the base. In first case the umbilical requires a 2 conductor cable for power
and in the second case, the cable is 3 conductors for the eyes. The power
required for this circuit is a few ma but the servo continuously  draws
50-100ma and more when stalled. A 74HC240 can be used instead of the 74HC04
shown. In that case, up to 4 servos can be proportionally controlled with
analog voltages from a photo bridge or other source like microcore outputs
(hexapod), temperature (green house vent), differential sound level
(security camera aiming), potentiometer ( 2 wire remote control), etc).
 
 <<hservo1.gif>>
In the uCrawler V2.0,  I did what you suggested and replaced the circuit
inside the servo housing with the crawler circuit which also uses the servo
pot (P1) for feed back to pump the crawler legs. As shown in the attached I
changed the time constant from .3 ms to 30ms and that circuit will control a
head exactly as you described but power efficiency is not great (ie similar
to a bicore). A PS head version should be quite easy to do.

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Fri Nov 26, 1999  1:44 am
Subject:  [alt-beam] ChloroBug


Here is a new design which has the advantage of an adjustable turning "dead
band". After adjustment, the pot can be replaced with an equivalent fixed
resistor. The dead band means that, when the light on the PD bridge exceeds
a certain percent imbalance, the ChloroBug turns in the direction of the
brighter side but, once pointed to the light, the ChloroBug will move
straight towards it with both motors on. When going straight, this circuit
should be more efficient and twice faster than the previous photochlor SE
circuits which either "waggle" or use alternating PWM in which only one
motor is on at a time. Also note the optional 100pf cap for positive
feedback to make it lean a little more into the turns. A bumper feeler and
timer cap on each side of the pot could be added to steer away from
obstacles.

 <<pcse2.gif>>

 
 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Thu Nov 25, 1999  1:32 am
Subject:  [alt-beam] Photo Diode Simulator


Here is a little circuit idea that you can use as a cheap substitute for
photo diodes without sacrificing  sensitivity. Any of the four combinations
of clear, amber or green LEDs and NPN/PNP transistors will all work equally
well for beam applications  but are not suitable for high frequencies. They
are shown here in pairs for the photo bridge configuration.

enjoy

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Nov 23, 1999  6:19 am
Subject:  [alt-beam] Re: psh question #3


Sure thing Justin,

If you have four HC240s or two HC245s you can use this circuit : one 245
would replace the two 240s in series.

 <<pshaux1.gif>>
It generates two low outputs when the head is centered and one low in the
direction of continuous turning. I am curious how you will use these
signals. If it is a "head leads:body follows" design, I assume that you will
use some springs or a stop to tension the head rotation with respect to the
body allowing maybe 90-180 degree of freedom and generating error signals
until the body is facing the right way.  Alternatively you design or I could
suggest some circuits that do not require springs.

Have fun!

  Wilf Rigter mailto:wilf.rigter@p...
     tel: (604)590-7493
     fax: (604)590-3411

> -----Original Message-----
> From: BotDoc [SMTP:botdoc@y...]
> Sent: Monday, November 22, 1999 5:37 PM
> To: beam@s...
> Subject: psh question #3
>
> Thanks Wilf,
>    I am wondering if it is possible to be able to
> control 2 enable pins with this type of circuit.  What
> I am trying to do is have both of the enable pins on
> another IC low when the head is locked on, then when
> the head turns one direction it raises the voltage of
> one enable pin, turning that side off.  I am just
> trying to control the enable pins of the hemicore
> circuit I posted a while ago to make my walker
> phototropic, it turns just fine by toggling the
> enables.  It would be nice to put a head on it. The
> balancing and everything is fine with the head on the
> body, if I could only get them to communicate with
> each other.  Thanks again
> Justin
>
> =====
> A motor is a robot waiting to happen


 From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Mon Nov 22, 1999  6:43 pm
Subject:  [alt-beam] Re: psh question #2


I'm back!  Justin, you are correct about the psh motor outputs, that they
are steady state high or low when the head motor is actively "turning" but
the outputs oscillate in phase when the head is "locked" on.  I assume you
want to generate a steady state active low enable signal when the outputs
oscillate. One very simple way to do that is to detect that the current in
the motor drops to zero at that time.Since all the motor current flows into
the Vcc pin, a PNP transistor used to sense this current can provide both
indication of motor activity and the active low enable.

The schematic of your filter is one of the "linear amplifier" configurations
which is almost certain to oscillate on it's own. You can demonstrate this
with a slowly varying dc voltage (pot between 0V and +V) at the input and
see if the inverter oscillates when crossing the threshold. Another point to
remember is that using the 1.5K and the .1uf cap for a filter (Nu)
integrates high frequencies and generates an analog voltage across the cap
proportional to the duty cycle of the waveform. When that voltage is near
the threshold, it causes the inverter to go into the linear region,
oscillating just like the applying the dc voltage in the previous demo.

There are lot's of other solutions and I will whip up another one at lunch
~2hr from now.


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sat Nov 20, 1999  8:53 pm
Subject:  [alt-beam] Re: Cholroplast thingy


Hey Craig,

Yep, you have to use low leakage fet input opamps, especially if you use
LEDs for photocells together with small low leakage caps. I would change the
circuit slightly as shown in the attached to improve efficiency (kind of
important with solar engines). With 5V(min) you can easily drive the mosfet
gates. Not yet tested but uses fewer components, lower forward voltage. Note
the 0.001 caps are used with the clear LED type (low sensitivity)
photodiodes for filtering and snappy positive feedback. Exact cap values to
be determined empirically.

regards
 


 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Nov 16, 1999  2:41 am
Subject:  [alt-beam] 74xx240 problems and solutions


I discovered these problems while playing around with some new 74ACT240
chips that were not behaving the way they should. It is possible that
problems reported by others having difficulty in getting the PS head circuit
to work may be related. These problems are common to all beam circuits, so
the solutions can provide insight in how to deal with such problems.

Problem with high frequency oscillation in 74AC/ACT240 chips.

74AC/ACT logic has high output current characteristics and is recommended
for motor driver applications. But AC/ACT is also much faster logic and
there is a possibility that a circuit using AC and ACT240 (but not HC or
HCT) chips will oscillate uncontrollably at high frequency (HF) because of
the way that BEAM designs use these digital chips for quasi linear
applications. HF oscillation  causes high dynamic current consumption.  This
instability is a feedback problem caused by a combination of circuit layout,
stray capacitances and slow waveforms. It creates a feedback path for phase
shifted HF signals in the linear region. The HF problem has also been seen
odd number Nv cores like the tricore and in Nu circuits that do not use
Schmidt triggers such as the reversing circuits of HC240 walkers that use a
Nu connected directly to the tristate enable pins. For the PS head in
particular, the problem is more likely to occur when C1 and C2 are connected
series and when the Nv/Nu output oscillates the output to input stray
capacitance couples back through the series caps to the HLO input. Luckily,
for the Nv/Nu circuit the location of R2/C2 is interchangeable and swapping
positions of these two components breaks the feedback path. During my
investigation of HF oscillation I also discovered that a 74ACT240 chip made
by National Semiconductor sometimes had one output=input instead of
inverting it!!!!  probably caused by an internal latchup initiated by HF
oscillation.

Solution

The solution to both problems was to swap R2/C2 and adding a 1K damping
resistor R3. So if you have a problems with 74xx240 high frequency
oscillation or "non-inverted" inverting logic try adding damping resistors
between stages to reduce or eliminate the problem.

Problem with input threshold of HCT/ACT chips.

When using HCT or ACT logic family, the assumption of an input switching
threshold value of nearly +V/2 does not hold. Instead this logic uses a
threshold measured at 1.2V with Vcc=5V. Since the symmetry of the HLO
outputs depends on the threshold being near 1/2V+, this can result in a head
that continues turn in one direction unless the bridge is greatly unbalance.
 

Solution

This problem can be largely compensated for as long as the photo bridge uses
a +V reference of  2 times the threshold. Adding R4 and the 2 LEDs connected
to the HLO outputs is a unique way to form a 2V shunt regulator which is
sufficiently close to the required photo bridge reference voltage to make
the HLO symmetrical and has a big bonus besides.

Bonus

Connecting the 2 leds to the HLO outputs cause them to blink back and forth
like the FLED to attract attention when the SE has triggered and to show the
direction of head rotation when hunting a light. The penalty is a slight
increase in standby current rising from 2ma to about 5ma.

A winky head for all seasons

This neat SE ready/HEAD direction LED indicator circuit can be adapted to
the AC/HC logic version without connecting LDRs to the LED common point as
shown but connect the LDR straight to the +V/0V lines as was shown in the
original circuit .

Attached is a schematic for the PowerSmart head V2.0 , designed specifically
to address problems that may occur associated with using chips other than
the 74HC240. It also shows an example of using more commonly available 1M
trim pots and larger caps with no bad effect on performance.

The bottom line is that there is not one PShead design but a family of
flexible designs providing similar results while utilizing various available
resources.  I will add these new mutations of the PS head circuit to the
tutorial together with some ideas on Siamese heads, soon.

  Wilf Rigter
 

From:  Sean Rigter <rigter@c...>
Date:  Sat Oct 30, 1999  3:53 am
Subject:  [alt-beam] Re: Bicores...some technical questions


Hi Elmo,

Here is a simple animation of  a bicore schematic that uses a range of
colors between red and blue  to illustrate the principles of BEAM circuit
operation. In this example I used 5 colors representing: RED=V+,
ORANGE=3/4V+, YELLOW=1/2V+, GREEN=1/4V+, and BLUE=0V.  The changing colors
indicate the charging and discharging of the capacitor voltages at the
bicore  inputs and the rapid change in output (and input)  state when the
input voltage crosses the 1/2V+ switching threshold.   This should give you
some  idea how the voltages at the inputs affect the outputs of a 74HC240.
If this is useful, I will add a  set of 4 waveforms next to the schematic to
simulate an oscilloscope screen.

Of course this simple bicore simulation using Paint Shop Pro Animator is
just a start. Java applets with buttons to adjust  variable resistors or
light sources shining on simulated photo diodes  etc would give a much
better graphic simulation of beam circuit operation.  Would anyone be  be
willing to develop  this into an (open architecture) beam circuit simulator?

Next here are some answers to the questions you raised.:

Elmo wrote:

> Hi there everyone,

> So i thought i would post a few questions to the list to see who knows
> what.

> So here's what i want to find out:
>
> I am assuming that larger cap values in the basic bicore circuit
> increase pulse width and smaller resistor values will increase the
> frequency. Am i right?
>

These are two related ideas:

1. The frequency of both outputs  increases when the capacitor or resistor
values  decrease.
2. The period is the time for one high/low cycle.
3. Pulse width depends on your definition:  the "on" or "high" time of one
output is equal to the "off" or :low" time of the other output. They are
said to be complementary outputs.
4. Pulse width of the "on" time can be expressed in time units  but in beam
circuits, it is better defined as a percentage of the period ie  50%
pulsewidth = symetrical on/off time. This is also known as duty cycle.

>
> Would it be better to have a circuit that has a fixed frequency and
> variable pulse width or fixed pulse width and varible frequency?

fixed frequency with variable duty cycle is perfect for beam applications
 

>
> Is it better to drive a bicore circuit at higher frequencies or lower
> frequencies?

A bicore used for a walker must have a frequency or more precisely a period
which gives the right angle of rotation for the legs.
A bicore used for a head must have a frequency which is high enough to give
smooth rotation. The dutycycle determines the direction of rotation ie
25%=left, 75%=right and. 50% duty cycle stops the head rotation.
 

>
> Is the resitance of the motor meant to affect the oscillation or pulse
> width of the circuit?

Resistance of the motor should have no direct effect on frequency but may
provide feedback to decrease the pulse width when the motor is "loaded" in
the direction of rotation.

>
> Why are bicores built using high pass oscilators rather than then more
> common low pass?
>
> i.e.    High pass -||---|>o-     Low Pass  -R---|>o-
>                       |                       |
>                       R                       =
>                       |                       |
>                      gnd                     gnd
>

The bicore is a modern version of the ancient vacuum tube crosscoupled
astable multivibrator design which itself was named after a type of
mechanical vibrator used for example in Henry Ford's model T ignition coil.
 

>
> Most people seem to add extra inverters into the baasic circuit to
> increase the current output to the motors. Why do they add extra caps
> into these parts of the circuits rather than just adding extra inverters
> in paralell at the output of each of the main oscilating part of the
> circuit?

The caps you refer to could be part of a slave bicore or a monostable stage.
 
 

hope this helps
 
 

 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Oct 19, 1999  1:09 am
Subject:  [alt-beam] Re: Head Questions


 Evan Dudzik [SMTP:evandude@y...] wrote:

 >> Elmo <andrewe@i...> wrote:

 >>2) Can i build a standard 74HC14 type biocore for
 >> use in a head unit?

 >an HC14 cannot make a bicore (only two neurons in a
 >bicore)  for some reason, they seem to need to form at
 >least 3 neurons.

 Not at all:

 two HC14 Nvs with two resistors and two equal capacitors
 make a fine un-suspended bicore.

 two HC14 Nvs with one resistor and  two unequal capacitors
 (ie 0.1 uf and 0.33 uf) make a suspended bicore.

 three HC14 Nvs in a tricore loop have a tendency to oscillate
 at high frequency.
 
 >> 3) Why use a biocore at all for this application.
 >> Wouldn't a simple
 >> solar engine with phototropic abilities and a
 >> mechanism for inverting
 >> the output to the engine so it can go in reverse, be
 >> sufficient?

 >yes, but the bicore functions differently here... it
 >has the ability to turn VERY slow to one side or VERY
 >fast, depending on the difference in light on each
 >side.  this circuit you proposed would go in putts
 >that were always the same distance, so it would
 >continuously overshoot the light unless very lucky,
 >and when it was locked on to the light, it would still
 >swing a LOT. When a bicore is locked on, it just vibrates.

 If you really want to do this, try something like the attached
 untried but promising POPPER HEAD circuit. Reduce the
 storage cap to increase the pulse rate.

 enjoy
 



 

From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Sat Oct 16, 1999  8:40 pm
Subject:  [alt-beam] Quasi uCore


Hello again,

Here's another bit of circuit magic, this time a microcore design including
motor drivers that uses only non-inverting buffers like the AC/HC 245, 241
or 244 chips.  The Quasi uCore (QuCore) is the first microcore design that
does not require a 74xx14 or equal Schmitt trigger. When used with the AC
version, it can directly drive a BG micro type gear motor, which provides in
a single chip, the "almost complete" microcore 2 motor / 4 legged walker.

The secret is the use of non-inverting buffers with feedback capacitors  to
simulate Schmitt triggers. Like it's microcore predecessor, this circuit
will saturate and for now requires  manual pulse neutralizing to start a
single process by grounding one of the pull-up resistors at one of the
QuCore stage inputs. Like a microcore, the pulses are non-overlapping. This
is very useful for controlling a 2 motor 4 legged walker but also the two
motors of a single leg of a hexapod which require the typical leg motion of
UP, FORWARDS, DOWN, BACKWARDS. Like the microcore, the duration of each
pulse can be independently adjusted. Unlike the microcore, two stages use
ground and two stages use +V as reference for their input resistors. Also
unlike the micro core one output pair is active low and one pair is active
high. Anyway it is a unique design and may yet play a role in the evolution
of beam bots.
 
enjoy


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Tue Oct 12, 1999  8:11 pm
Subject:  [alt-beam] Re: Suspended Microcore?


Hi Richard,

Interesting idea!

One characteristic of the 2Nv suspended bicore is that both stages
simultaneously change state. The process is initiated when the voltage on
either inverter bias point crosses the threshold and the second inverter of
the bicore is "slaved" to the first inverter which generates an identical
but inverted process providing positive feedback to the first inverter to
speed up the transition. A good example of this is a 74HC240 (or a
74HC14!!!) bicore with unequal capacitors (ie 0.1 and 0.33) in which the
inverter with the smaller cap attached to it's input always initiates the
bicore transitions since the voltage at it's input always crosses the upper
and lower thresholds first.

This implies that multiple Nv suspended core must have an even number of Nv
stages for positive feedback. A hypothetical 4Nv suspended "quadcore"
(attached) would also have a controlling inverter with the other 3 stages
"slaved" and changing state at the same time. Therefore a 4 Nv suspended
bicore always saturates to produce processes initiated by whichever of the 4
stages has the smallest time constant but like a bicore, only multiples of
180 degree phase inverted signals are generated. If Photo Diodes were used
in such a network it would cause each process to be initiated by the stage
with the most light on the PDs with each subsequent stage inverting and
reinverting the process around the loop until it is applied "in phase" to
the input of the initiating stage.  Perhaps you can test these assumptions
and report back?
 <<quadcore.gif>>



From:  Sean Rigter <rigter@c...>
Date:  Tue Oct 12, 1999  4:09 am
Subject:  [alt-beam] Re: how exactly does a bicore work?


Yes!

The bicore head circuit uses Pulse Width Modulation so the motor "goes"
both ways. But with the head application the caps are small so the
voltage waveform is switching rapidly and  the motor's enertia makes it
move back and forth no more than a fraction of a turn. :It just vibrates
when locked on to a light source because the pulse in each direction is
the same width. if not locked on it slowly scans because of a small
mismatch in the left and right pulse width. The head turns towards a
light  because more light falls on one PD than the other and the
imbalance turns the motor towards the light. Like our own eys the PD
should be crossed over left to right.  For example, when a light falls
mostly on the left PD, it causes it's leakage current to increase more
that the right PD which makes the left  pulse shorter than the right
pulse and moves the motor smoothly towards the right.  This would make
the head photophobic and by crossing over the PD it becomes phototropic.
By making the caps a little larger the frequency (in low light) slower
and cause the head to visibly  shake.

The bicore wastes quite a bit of power in switching the motor current
without actually moving the head especially when the head is locked on.
So new circuits were designed for controlling a head which offer some
advantage:

The monocore head circuit applies a straight left or right signal to the
motor until the head is locked and then oscillates and the powersmart
head use a different power saving technique which turns of the motor
drive off when the head is locked on and the light falling on the PDs is
balanced.

regards

wilf

regards

wilf


From:  Sean Rigter <rigter@c...>
Date:  Sat Oct 9, 1999  2:03 am
Subject:  [alt-beam] Animated LCD name tag


THE ANIMATED LCD NAME TAG

The attached ANIMLCD schematic shows how it's done : It flashes the words ROBO
and then DOC for about 1 second each Any other
2 words within the limitations of the seven segment display can be shown. I
have build one and it works great!
Instead of the two bicore lines driving the static type LCD name tags, the
animated LCD adds the classic bicore "reversing"
circuit to generate 4 lines for controlling the LCD. How Beamish can it get?

The rule for displaying any two messages  is as follows:

1. segments which are "on" for both words are connected to the ON line
2. segments which are "off" for both words are connected to the OFF line
3. segments "on" in the first word and "off" in the second are connected to ON'
4. segments "off" in the first word and "on" in the second are connected to OFF'
5. the backplane terminal is connected to the OFF line

Sounds  simple but it takes a bit to work out all the segment connections. You
can check the connections for ROBO/DOC to see
how they follow the rule.

You may be interested in the reason for all the switching waveforms. It  is
that LCD segments must not be subjected to a DC
voltage or else they will die. That is why the "on" segments and backplane are
driven "out of phase" by the two  bicore
outputs which generates a 30 Hz AC voltage equal to 3V RMS between the "on"
segments and the backplane. An "off" segment is
connected to the same bicore output as the backplane and therefore the voltage
between an "off" segment and the backplane is
0V. The Bicore "reverser" switches the polarity of some segments to be "in or
out of phase" with the backplane signal
thereby turning those segments either on or off under control of the second
bicore. The two messages alternate at about 0.5
Hz rate displaying  each for about 1 second.

Next : more messages and  a low power LCD display for bicore/microcore
diagnostics!

enjoy

wilf
 


From:  Sean Rigter <rigter@c...>
Date:  Fri Oct 8, 1999  5:30 pm
Subject:  [alt-beam] Re: lcd name plates....


(Formatted this time and  with the GIF attached).

Ahh! Great idea Ian! Seven segment type numerical LCDs say from a broken
digital clock or calculator. If you are lucky
and the letters of your name can be "expressed" in seven segments then you can
use this display ( "W" is a problem!) .
Power consumption is virtually zero so it can be powered from 2  button cells
for a couple of years. For a brighter but
power hungry display that requires no bicore you can use the LED seven segment
displays but these do require resistors to
limit the current. (hey, laying a single seven seg display on it's side can
display a "W" !) The attached shows a typical
seven segment display. Connect the common "backplane" and the unused segment
terminals to one output of the bicore.
Connect the other segment terminals to the other bicore output. Make sure you
connect all unused bicore chip input pins
to ground or you'll drain the battery.  Just for starters :  next let's use the
HC240 tristate function pins  to  flash 2
different messages!

wilf


From:  Wilf Rigter <Wilf.Rigter@p...>
Date:  Wed Oct 6, 1999  8:08 pm
Subject:  [alt-beam] uCrawler V1.0


Sometimes you got to take one step back before leaping ahead as illustrated
in the attached article:

enjoy

wilf

MICRO CRAWLER V1.0 - A ONE MOTOR/TWO LEGGED WALKER
04/10/99 - WILF RIGTER

Hello and welcome to another BEAM article. This time I present a new
generation walker and a new feedback method. The Micro Crawler is really a
devolutionary step in walker design, in fact it is less of an insect and
more like a tidal pool creature crawling in the mud from whence it came
(more on that later). However it is also a drastic overall design
simplification and has some interesting emergent behaviour and as such is
perhaps worthy of consideration as a separate BEAM species. Besides,
uCrawler also includes a new leg centering method which I call the BEAM
feedback servo which has potential applications in higher order walkers.

The inspiration for this design came from the realization that rear legs of
a multi motor walker are often slaved and synchronized to the front legs and
in a sense are "idler" legs. The other example that turned on the lightbulb
was the simplicity of the single motor symet and in nature the lungfish or
mud hoppers provide an example.

The  uCrawler V1.0 is phototropic and will nicely crawl towards and follow a
bright light source. The other feature of the V1.0 is it's preference for
somewhat rough surfaces ie the sofa cushions and short fiber Persian carpet.
Future work will attempt to optimize the "feet" to make the crawler
compatible with smooth surfaces and additional work is required to add
reverse motion. As variations on the theme, ideas for sand  and amphibian
crawlers are also roiling on  the event horizon.

THE uCRAWLER BODY

The uCrawler v1.0 body is little more than a head and a tail consisting of
three parts:

1) A modified hobby servo with a pair of legs (or flippers) at the front of
the walker.
2) A long sloping PCB "tail" attached to the servo, containing photosensors,
the Servo Core, and the battery pack.
3) An idler wheel attached near the end of the tail supporting the battery.

The side and front view drawings illustrate the overall body layout.

 <<uCrawlerside.gif>>  <<uCrawlerfront.gif>>

THE IDLER WHEEL

The idler wheel turns the uCrawler into a bit of a hybrid using the best of
wheeled and legged creature worlds. Unlike most wheeled bot idler the
ucrawler wheel does not swivel and remains always fixed in-line with the
body.

The idler wheel serves two functions: it supports much of the weight and
acts like a resistance to the reaction of the leg motion which causes cute
but otherwise useless tail wagging behaviour. In a sense it is also like a
stabilizing fin or a tail rotor of a helicopter. The resistance to sideways
tail motion is the reason for not allowing the wheel to swivel.

In the prototype I used a soft rubber capstan idler wheel and bracket from a
walkman tape recorder bolted to the bottom at the end of the 6" tail.

THE STANDARD HOBBY SERVO

Many readers are already familiar with the hobby servo but I will include a
short description of it's design and operation. The unmodified servo
consists of a boxlike housing with two mounting ears, an output shaft and 3
pigtail wires for power and control signals. After removing four screws,
inside the housing we find a small PCB with the control decoder and driver
electronics, a small permanent magnet motor with a gear box and a feedback
potentiometer connected to the output shaft. The output shaft has a
mechanical stop attached which prevents the shaft from rotating more than
about 180 degrees. The servo is therefore designed for partially rotating
the output shaft like a bicycle steering wheel or as a powered joint for
robot arms or legs.

The hobby servo uses 0V and +3-6V power connected to the black and red wires
respectively and the electronic driver is controlled with pulse width
modulated (PWM) control signals on the white wire. (Important note: servo
wire color codes vary and using the wrong hookup can destroy the servo!
Always check for the correct color code for your servo) The PWM signals are
narrow positive pulses which are 1.5ms in width with a maximum deviation of
+/-0.25ms. This corresponds to the output shaft center position and up to
+/- 90 degree clock wise (CW) and  counter clockwise (CCW) rotation.  The
repetition rate of the PWM signals is usually between 20-100 pulses per
second. for smooth servo control When the pulses cease the servo remains in
the last position.

THE MODIFIED HOBBY SERVO

While it is possible to generate the required pulses using beam circuits, as
reported in a previous article, most beamers just rip the electronic guts
out of the servo and often remove the mechanical stops as well. Other
roboticists just remove the stops and sometimes the feedback pot in order to
convert the servo to a bi-directional continuous rotating gear motor for
driving wheels etc. with speed and direction controlled by PWM pulses from a
micro controller chip.

When servos are used for BEAM bicore or microcore walker applications, the
perpetual problem of centering the legs rears it's ugly head. Springs and
gravity are alright but by modifying the servo we have also removed the
excellent position feedback circuit which would be perfect for centering or
steering legs in a BEAM walker if it weren't for the need of generating the
precise control pulses.

SERVOS FOR BEAM WALKERS

Unlike most other servo applications, walkers require servos which
constantly "reciprocate" back and forth. Beam walkers use micro core or
bicore oscillators to apply a constantly reversing voltage across the motor
winding. The signals are applied without output shaft feedback and instead
gravity or springs are used to load (slow) the servo at the end of travel
like soft mechanical stops and  to coarsely center the legs. While it would
be possible to use BEAM circuits to generate the 1.5 ms pulses +/-0.25 ms,
it would require a fair bit of additional circuitry to what is supposedly
the simplest possible design. The uCrawler design gets around the problem by
dumping the PWM control circuit and putting a very simple BEAM like
oscillator in the position feedback loop. Before discussing the electronics
let's first look at the required servo mods.

HACKING SERVOS  - BEAM SERVO STYLE
 
The uCrawler modifies the Servo by removing the electronics PCB and by
connecting 2 wires to the motor terminals and 3 wires to the servo pot for a
total of 5 wires, to connect to the external control circuit. The uCrawler
circuit is so simple that a standard size version could be easily mounted
inside a standard servo housing and future revisions will do just that. When
using the smaller "micro" servo housing, used in the prototype, SMT
components would be required for an internal control board.

Since the servo pot is connected to the output shaft, the moving "wiper"
contact changes the ratio of resistance for the upper and lower terminals.
If the outside terminals of the pot are connected to +V and 0V, then the
voltage on the wiper contact is proportional to the rotation of the output
shaft and the legs connected to the servo.

"Great!", you say, "let's connect the pot to the bicore to center the legs!"
"Hmmm, sorry, but the resistance is only 5K and incompatible with the bicore
circuit" says I (and others before me)

So what is needed is a little adaptive circuit design which turns out to
utterly simple.

THE SIMPLEST BEAM SERVO

There is a very simple circuit which is basically a HC14 Schmidt trigger
circuit which uses the servo motor and potentiometer for feedback to create
the oscillation and side to side rotation. This circuit's operation is very
simple and easy to explain. The circuit shown in the EARLY SERVO1 drawing.

 <<earlyservo1.gif>>
Let's assume that the out