To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.technicOpen lugnet.technic in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Technic / 14545
14544  |  14546
Subject: 
Re: Brickfest Pneumatic Master and new Pneumatic Gate Circuits
Newsgroups: 
lugnet.technic
Date: 
Wed, 24 Aug 2005 22:18:20 GMT
Viewed: 
4649 times
  
In lugnet.technic, Mark Bellis wrote:
In lugnet.technic, Kevin L. Clague wrote:
In lugnet.technic, Mark Bellis wrote:

[SNIP]
I figured that if you're going to write an article for BrickJournal on pneumatic
basics up through sequencers, you would probably want to talk about the simplest
gates, the single output gates.  If not, I'll write up a followup article that
talks about them.

I'm looking into alternative gate designs and I'd like to have a good library of
them on my Brickshelf to then use as a resource for article pictures.  This
includes N-input gates of each type, as I intend to draw the module that can be
continually added to a gate to add another input.  I have found this for the AND
gate, based on the sketches you posted the other day.

My AND gate uses 3+3++4 switches and yours uses 2+4++4, so the number of
switches is equal.  The only difference is that for more than 3 switches you
need 2 cylinders and it's also awkward to put more than 2 on a limb.

I mechanically link the two pistons together so they act as though they were one
larger piston, also I mechanically link the four switches.  This eliminates any
issue with racing between the two pistons and their switches.

Could you explain in detail how your AND gate works.  I'll try once again to
acheive complete comprehension, but I have not gotten there yet.  I assume this
is why I'm having a tough time reaching a common understanding.


Well, any gate design that leaks the source pressure is a broken.  It seems like
you use leak to sometimes mean pressurized. For example here:  In my mind, all
leaks are bad.

one output or the other is always
pressurised and there is never a state where both outputs leak.

Do you mean both outputs are pressurized?

No, I omitted to say that there is also never a state where both outputs are
pressurised.  There is also never a state (except during switch transitions)
where either output to he cylinder is stoppered (i.e. leads only to a tube with
an antenna in the end).

If your two pistons expand and contract independently, then there must be a
problem of racing between the two, unless somehow the switches are
interconnected to eliminate this race.


[SNIP]
My four switch AND-gate minimizes pressure loss by having the minimum number of
hoses inherint in the gate.

You are using the input hose pressures as the object that has a state (B and
!B).  You have to include the switches that derive those pressures from either
the air supply or the atmosphere.  I think that requires two B switches in
addition to the four A switches, one to take the supply input to the middle
port, one to send the B signal to the bank of 4 and a link between the same port
of the two switches.  Therefore the total is 6 switches, the same as my 3+3 AND
gate.

I'm not sure that I agree with your prespective here.

If I have an electronic AND gate, and I drive voltages into its two inputs, when
I count the number of transistors in the gate, I do not count the transistors in
the devices driving those inputs.

I perceive the actual pressure available to the differential pair inputs A as
comparable to the voltage input to a gate. Who cares how it is created?

Minimally one switch is required to provide B and NOT B.  Also minimally one
switch is required to provide A and NOT A. This leaves two switches external to
the gate that drive the ganged pistons and switches within the gate.

If I were to create a pneumatic adding machine using a half pneumatic adder, the
RCX could drive two separate motors, each controling a pneumatic switch that has
pressure directly from the compressor into their center inputs.  The outputs of
each switch are hooked to the half adder.  The RCX can use the motors to convert
electronic 1's and 0's to the proper combinations of pressure and release
(leak). I do not consider these two pneumatic switches as part of the half
adder.  Do you?

One thing I was trying to do when  designed it was to make A and B have the same
number of switches, which is why I got 3+3 instead of 2+4.

On this aspect of gate design, can you compare and contrast your AND gate and
mine?  Should I be concernted about minimal pressure loss?  How do your gates
minimizing this?

In gate design it's all about density and tubes.  Denser gates mean shorter
tubes, which makes for less air wastage.  More flex and less rubber reduces air
storage in hoses and reduces air wastage.  Therefore you will need less
compressor power for a model, or get better performance out of the compressor
you have.

I certainly understand that the smaller the total volume of the entire pneumatic
circuit, the better.  Ballooning certainly adds to that volume.


Pressure loss is a bigger concern if you're driving load-bearing cylinders with
it.  If so, you either need a buffer (1 cylinder + 1 switch to make a no-leak
version of the gate output, as with your Quad 242 pages) or flex tubes and as
little rubber hose as possible.  I've almost declared war on the balloon effect
as it wastes compressor power by leaking more air when you move switches.


I'm still confused on terminology...  The purpose of the 1 cylinder plus one
switch in Quad242, is to make sure that the muscle pistons actually have
differential pair pressure inputs.  The inputs to the cylinder+piston have one
point in the cycle of the state machine where neither port has pressure. If that
cylinder was weight bearing it would collapse due to load. Since the
cylinder+piston have no outside forces on it, friction will make it hold state.
It indeed buffers, but I don't think it is for the reasons you are outlining.

Another thing was to avoid any gate being transparent.  This means, similarly to
electronic flip-flops, that the input can't go through to the output without a
proper change of state.  In a transparent electronic D-type flip-flop, if the D
input changed, the Q and !Q outputs would change with it.  In a non-transparent
flip-flop the change of Q and !Q has to wait for the data at D to be clocked
into the flip-flop, such that it changes state.  This avoids logic races in
electronic flip-flops and it was also something I wanted to avoid in pneumatics,
in order to be sure of the next state of the system at all times and prevent
movement into an undesirable or lock-up state.

I understand transparent latches, but I'm not sure I understand how that concept
relates to here.

Can you tell me on my four switch, two output AND gate, how it might allow for
undesirable transparency.

If B (the pressure) changes, the output will change instantaneously, without a
propagation delay of moving a switch.  If A changes, the switches have to move.
In fact if you include the switches that derive B and !B there is no
transparency, since B must move its switches too.

Yes, and if you consider this in your entire state machine design you can avoid
transparency completely, without having to design protection into the gate.

Another featurge of my designs is that the input need not necesarily be a
pneumatic function.  All that is required is something that moves a set of valve
switches, so it could be a motor or hand input.  I've not yet tried adding
machines but I could make one on the same basis as a binary full adder from an
electronics book, using and AND gate and an XOR gate for each of two half adders
and and OR gate for the summation.

This is a given in my AND, and XOR gate design, and very doable with my OR gate
design.

I have made a half adder based pneumatic/electronic adding machine, and a full
adder based pneumatic/elecronic adding machine.  This was was published in
"Mindstorm Masterpieces", a book I coauthored.  I used a clock mechanism to save
the carry from bit column to bit column (I pressurized the input switch that
drove the carry piston, and then depressurized it before I changed the inputs.)

I'm sure my most recent gate designs would work even better as a full adder.
Smaller part count, means much cheaper when talking pneumatics.

There's a thing - I'd like to see whether synchronous logic could be done, but
it'll need a lot of switches!  A synchronous system will clock in the results of
the current state in order to calculate its next state at a regular time
interval.  The interval must be longer than the maximum propagation delay of the
combinational logic in the system.  Elecronics designers prefer synchronous
systems as they have fewer race conditions.  We haven't quite got as far as
parallel combinational logic paths causing a race condition yet, but it would
happen when we have enough switches!

It depends on how you implement it.  I guess I'm a switch and piston miser.

I've used a technique comparable to a Master/Slave flip flop to create
synchronous logic.  In the case of a master/slave, the master latch latches on
one edge of the clock, and the slave on the other edge of the clock.

If your gate pistons are not weight bearing, then you can simulate edge
sensetive logic, by splitting your logic into two pressure domains.  Pressure
into the two domains is mutally exclusive.  Every other gate gets pressure from
one pressure domain, and their neighbors get pressure from the other pressure
domain.  Switching pressure from domain to domain acts like an oscillating
clock.  Unfortunatly, half your pneumatic air volume is released every switch.

I have made a caterpillar using this technique and it works quite well.  As is
the issue with any clocked logic, you have to know how long you must apply
pressure to a give domain before you move it to the other domain.  I always
played "Kevin the human oscillator" for that one.

It is what drove me to derive asynchronous logic design.


Don't blame me, I'm just an electronics engineer :-)

No blame for any reason!


I'm a computer engineer, so I have similar understanding.  I'm just trying to
understand why you feel six switches are neccessary to make a "differential
output" AND gate.

Surely your B and !B are derived from switches too?  That makes it more than 4.

For the most part, the muscle pistons are also timing pistons.  Typically my
circuit is made of only single switch/single output AND gates.  There are lock
up problems when a piston does not complete its transition due to outside
forces.

Ah, that is what I sought to avoid by using differential systems.

One of my asynchronous design goals was to avoid problems due to "process
variation".  No two pistons expand/contract at the same rate.  No two switches
require exactly the same force to switch.  Furthermore by definition pistons are
assymetric. The area of the expansion piston face is bigger than the area of the
contraction piston face. Furthermore when the piston is set at the midpoint of
the piston head throw, the volumes on each side of the piston faces is
different.

My asynchronous design technique was invented to work around all the design and
process variation assymetries.

But the moment you use gate pistons as muscle pistons, and the load exceeds the
force produced by the gate pistons, your run the risk of locking up your state
machine (whether you use differential pressure gates or single pressure output
gates.)

The other side of the coin is that if you do not use your muscle pistons as
timing pistons, then you are back to assymetries in pistons making your walkers
walk funny.

I'd say I've been ignoring the ballooning affect, and need to reconsider this in
my designs.

My designs are slower than I want, so maybe I need to declare war on balooning
too.

On the first of your gates, are you feeding pressure A into the cylinder and
also through a B switch to the AB port?

This A pressure could just as easily be directly from the pump.  Pressure never
goes through that switch unless there is pressure at the A input.

Yes, you're gating the incoming pressure, not the position of a switch.  I think
it's dangerous to feed a pressure to a gate input and also to a cylinder.  This
is because movement of the gate will reduce cylinder pressure, possibly causing
parasitic movement, or cylinder movement could affect the gate input and hence
its output, causing it and the gate output cylinder (two different functions) to
be run in parallel.  This is like electronic gates feeding into each other with
an LED hung off the connection - a big no-no in electronics!

Generally I do not feed pressure to the input of the piston and to the input of
the gate at the same time.  I did in my exmaples, but as I said, in those cases
the pressure into the switches could just as easily come from the compressor,
the sum affect is the same.

Hmmm...  my goal when making a walker, is to have all the pistons be muscle
pistons with as few timing only pistons as possible.  Timing only pistons create
delays that slow walking. By combining timing and muscularity in the same piston
you can compensate for their assymetries.  For example, when I tried to use a
central timing circuit for SSC1 (the kind of design I think you are talking
about) without any synchronization of the legs, one leg group lifted and dropped
very nicely, and the other did not.

Here is a central timing circuit:
   _   _
A / \_/
    _
B _/ \_/

  0123456

A and B's expansion controlled one leg group lift.  A and B's contraction
controlled the other leg group's drop.  The assymetries between expansion and
contraction caused the lift/drop of one leg group different than the lift drop
of the other leg group.

I had to instrument both the lift and drop of all the legs in each leg group to
make sure I eliminated these assymetries.

Also, you seem to be addressing hose pressures as the objects that have a state.
I have always used valve positions as the objects that have "0" and "1" states.

Do you want to only look at gate outputs, or are you willing to also look at the
nets that come out of them.

The switch state alone cannot tell you the pressure at either differential
output.  You must know the inputs to be able to truly tell.

I'm assuming the input to a gate is only ever pressure derived from the air
supply ("1") or a leak to the atmosphere ("0").  The gate output is the same,
expressed as a differential pair, never an intermediate state.

The input pressures don't matter since all of them are derived from switches,
the states of which are known.  You must include the switches that derive the
pressures from the air supply or atmospheric leak, even if the're half way down
a robot's leg!!!

I still don't see why.  Pressure to the gates is like voltages to electronic
gates,  who cares where they come from, as long as they meet specs.  I really
seem to be missing something.


It seems these different ways of looking at it are the cause of cross-purpose
conversation.  I wasn't on about glitches earlier!

It is certainly an interesting cross-purpose conversation.  I really appreciate
the different perspectives you bring to the conversation.  I just wish I
understood your perspectives better.


This is fun!

Kev

Mark

Kevin



Message has 1 Reply:
  Re: Brickfest Pneumatic Master and new Pneumatic Gate Circuits
 
I think this diagram should explain the differences: (URL) is the N-input differential output AND gate, developed from your sketch. I've used 2 switches for A, to gate the supply so that it doesn't leak. This gives 2+4++4 switches for an N-input (...) (19 years ago, 25-Aug-05, to lugnet.technic)

Message is in Reply To:
  Re: Brickfest Pneumatic Master and new Pneumatic Gate Circuits
 
(...) I'm looking into alternative gate designs and I'd like to have a good library of them on my Brickshelf to then use as a resource for article pictures. This includes N-input gates of each type, as I intend to draw the module that can be (...) (19 years ago, 24-Aug-05, to lugnet.technic)

32 Messages in This Thread:











Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR