<<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