Brickthus

Variable Pneumatic Steam Engine

Recommended Posts

From my original concept of Continuously Variable Pneumatics in this thread I have developed a variable pneumatic steam engine.

0_cvp_steam_eng1.jpg

There are two of the original CVP mechanisms in this model, with the driving wheel shaft connecting them together.

The two mechanisms share a dither motor by using belts (because they are 90 degrees out of phase).

The piston drives the wheels and also provides feedback to the valve position on its own side.

The driving wheel axle connects to the other driving axles with the usual steam engine rods.

The driving wheel axle is geared onto a valve gear axle above it. In the picture above, the timing of this axle is the same as that of the driving wheel axle because the black lever top left is vertical. The phase may be advanced or retarded as the black lever is pushed forward or backward.

The position of the valve gear axle moves the upper dark bley sliding rods on each side, which moves the valve levers by varying the sliding positions of the centres of rotation of the dither pulleys.

Given a continuous air supply, the wheels will rotate forward or backward in response to the position of the lever.

The variable phase gearing uses a pair of triangle frames and 16-tooth cogs, the frames pivoting about the valve gear axle.

The valve gear and feedback perform the same functions as the standard Walschaert's valve gear or Stephenson Link Motion on a real steam engine.

It's not actually the most efficient LEGO pneumatic steam engine, certainly not a patch on the V8 pneumatic engines doing 1500rpm, but it works in a real way and is reversible. I think its speed of rotation also has proportion with the extent of lever angle movement from the vertical, just like the reversing gear on a real steam loco. I will try different phases for the valve gear axle (real steam engines are more likely to have it at 90 degrees +/- delta to the driving wheel axle, rather than in phase +/- delta as you see it above).

The complex bit: The valve gear adds together a multiple of the differential of the piston position and the double differential of the piston position to set the valve position command for the piston. Therefore it solves a 2nd order differential equation, which I think might have sine and/or cosine solutions, given the way it works in practice. I'll have to look up the maths in a book to prove it.

If the mechanism were smaller then exchanging the wheels for BBB ones and lifting the bottom of the frame in front of them would allow the loco to run on L-gauge track. Obviously it wouldn't fit in the boiler without some shrinking work!

I used the small cylinders to fit better with the loading gauge of L-gauge trains. Positional accuracy with the small cylinders is more jumpy and more prone to deviation with variations in air pressure, but it has enough power to turn the wheels.

I have also added pictures of the original CVP mechanism with the small cylinder and my first attempt to control the 8421 crane jib height with the original mechanism (WIP) in the CVP folder.

Surely a pneumatic steam loco is one of the holy grails of combining LEGO Technic and trains!

More info here and pictures here.

PLMKWYT!

Mark

Share this post


Link to post
Share on other sites
From my original concept of Continuously Variable Pneumatics in this thread I have developed a variable pneumatic steam engine.

Cool! Your design leads me to a couple of questions:

  • You are using two dithering mechanisms which are out of phase, presumably to help with dynamic balance. Since these are belt driven, what is the chance of something slipping and changing the phase offset?
  • Have you plumbed your drive cylinders to be compression (push) only, or do they both push and pull timed with the rotation of the wheel?

PLMKWYT!

I followed most of the technical stuff, but you lost me here. :classic:

In this picture there seems to be a problem. The 2L dark gray support at the black input lever is tipping and coming off. This appears to be due to the fact that you have two pivots. One pivot axle is on the main structural longitudinal black beam and the other is on the dark gray support. It is not possible to pivot on the non-concentric axles which forces the whole support to tip when the input tips. Perhaps this is intentional and is designed simply to help hold the lever in it's prescribed position.

9_cvp_steam_eng5.jpg

Edited by Blakbird

Share this post


Link to post
Share on other sites
Cool! Your design leads me to a couple of questions:

  • You are using two dithering mechanisms which are out of phase, presumably to help with dynamic balance. Since these are belt driven, what is the chance of something slipping and changing the phase offset?
  • Have you plumbed your drive cylinders to be compression (push) only, or do they both push and pull timed with the rotation of the wheel?

I followed most of the technical stuff, but you lost me here. :classic:

In this picture there seems to be a problem. The 2L dark gray support at the black input lever is tipping and coming off. This appears to be due to the fact that you have two pivots. One pivot axle is on the main structural longitudinal black beam and the other is on the dark gray support. It is not possible to pivot on the non-concentric axles which forces the whole support to tip when the input tips. Perhaps this is intentional and is designed simply to help hold the lever in it's prescribed position.

9_cvp_steam_eng5.jpg

The phase of the two dither cranks doesn't matter, though there may be an optimum relative phase to be discovered. The idea is that the dither is much faster than the response of the cylinders and valves, so that it evens out the pressure to both sides of the cylinder alternately without provoking inadvertent movement of the cylinders.

The cylinders each push and pull, with air pressure on either side (like a Class 9F steam loco, 4 pressure strokes per wheel revolution).

The 2L dark grey bit keeps the lever in range because it cannot "fall over" by more than a certain amount when the lever is pushed. It's not an official way to limit lever travel but the limit stops the gears disengaging by pushing the lever too far. About +/-20 degrees is the usable range, which is quite adequate. A proper limiter would be in the next mod package! There is a fair bit of torque in the gears, which could move the lever on its own. I might use a worm gear in the cab, like some real steam engines use. That could also be motorised with PF.

PLMKWYT is the acronym Please Let Me Know What You Think - you understood without realising it! :classic:

Mark

Share this post


Link to post
Share on other sites

Do I understand this correctly that the CVT is used mainly to change the timing of the two driving cylinders and therefore be able to regulate speed and direction? I am certain that you are aware of that this is also possible to achieve with a differential, like in http://www.brickshelf.com/cgi-bin/gallery.cgi?f=45669 or http://lego.roerei.nl/steam-engine/steam-engine.htm

Anyway, you are on to something really nice and sophisticated. Congratulations!

PS. A second order (homogeneous) differential equation with constant coefficients that contains A) function y and its second derivative y'' will have trigonometric solutions B) derivative y' and second derivative y'' will have a sum of a constant and an exponential function as solution C) function y, derivative y' and second derivative y'' will have either sum of two exponential functions, product of exponential function with trigonometric function or product of exponential function with linear function, depending on the roots of the characteristic polynomial. The way you describe the situation, I would guess that the differential equation is of type B or C, i.e. no pure trigonometric solutions.

Share this post


Link to post
Share on other sites
Do I understand this correctly that the CVT is used mainly to change the timing of the two driving cylinders and therefore be able to regulate speed and direction? I am certain that you are aware of that this is also possible to achieve with a differential, like in http://www.brickshelf.com/cgi-bin/gallery.cgi?f=45669 or http://lego.roerei.nl/steam-engine/steam-engine.htm

Anyway, you are on to something really nice and sophisticated. Congratulations!

PS. A second order (homogeneous) differential equation with constant coefficients that contains A) function y and its second derivative y'' will have trigonometric solutions B) derivative y' and second derivative y'' will have a sum of a constant and an exponential function as solution C) function y, derivative y' and second derivative y'' will have either sum of two exponential functions, product of exponential function with trigonometric function or product of exponential function with linear function, depending on the roots of the characteristic polynomial. The way you describe the situation, I would guess that the differential equation is of type B or C, i.e. no pure trigonometric solutions.

Yes, I was aware of the worm-on-diff method, but I wanted to do something different. The lever method also fits well with the steam loco concept.

Thanks for the maths explanation. That'll help when I look it up. I wonder if Walschaert or Stephenson did these equations when they designed their original valve gear schemes? Not often we get to do serious maths with LEGO! I'll look for the design intent as well as what the equation is telling me, to see if the two will meet in the middle!

Mark

Share this post


Link to post
Share on other sites

As for the differential equation, I think the thing is that the equation is non-homogeneous due to the harmonic excitation from the dithering process. The homogenous part of the solution will only give transient solutions (the exponential functions mentioned before with negative exponents), but the non-homogeneous part will give a stationary solution similar to the external excitation. That means that if the excitation is harmonic (i.e. trigonometric), the stationary response will also be harmonic. (This is usually known as the method of homogeneous and particular solutions). Anyway, this explains your observations.

Share this post


Link to post
Share on other sites

Very nice model! I'm intrigued ... I would love to see a short video

The two mechanisms share a dither motor by using belts (because they are 90 degrees out of phase).

What happens if you remove the dithering? Does it just lock up?

The complex bit: The valve gear adds together a multiple of the differential of the piston position and the double differential of the piston position to set the valve position command for the piston. Therefore it solves a 2nd order differential equation, which I think might have sine and/or cosine solutions, given the way it works in practice. I'll have to look up the maths in a book to prove it.

Not sure I quite understand what you mean here -- what do you mean by differential and double differential of position?

cheers, enjoying your work!

Richard

Share this post


Link to post
Share on other sites
Very nice model! I'm intrigued ... I would love to see a short video

What happens if you remove the dithering? Does it just lock up?

Not sure I quite understand what you mean here -- what do you mean by differential and double differential of position?

cheers, enjoying your work!

Richard

Yes, without the dithering it moves only as pneumatics usually move. Dithering is a standard technique in industrial hydraulics.

Unfortunately the maths varies between A-level and degree level! I don't relish it quite as much as the modelling!

The air pressure in a pneumatic cylinder can only affect the acceleration of the piston:

Pressure = Force per unit Area

Force = Mass x Acceleration

We are applying an air pressure (acceleration) but what we want is the absolute position of the piston.

The position is the double differential of the acceleration with respect to time.

Therefore the cylinder is a double differentiator because it turns pressure into position.

We measure position and feed it back to the valve.

The valve is a double integrator because it uses position to control pressure.

This diagram is the control diagram for the system. there are two similar systems in the steam engine.

"S" is an integrator (LaPlace), "1/S" is a differentiator.

The position is used to drive wheels. The drive is sinusoidal.

A steam engine takes a multiple of the signal 90 degrees out of phase with the piston, to feed it back to the valve gear.

90 degrees out of phase from a sine wave is a cosine wave, which is the single differential of a sine wave. (+ or - cosine used depending on direction; the differential of sine in an equation is -cosine)

A steam engine also takes a negative multiple of the piston position to feed it to the valve gear.

180 degrees out of phase from a sine wave is minus a sine wave, which is the double differential of a sine wave.

Hence multiples of the single and double differential of piston position are used to determine the next valve command.

The Fibonacci series (1,1,2,3,5,8,13,...) works the same way because the two previous results are used to find the next one (albeit with multiples of 1, and not using sine waves). Believe it or not, my colleague's 8-year old child's maths homework said "find the equation of the series"! They definitely wanted engineering dads to get involved :-)

Mark

Share this post


Link to post
Share on other sites

Hmmm, I wonder if it is applicable to treat the valve as a pure double differentiator? My argument is that the valve has so small interval where it is linear due to the construction with a tiny hole that opens and closes. I would rather see the valve like something of bang-bang type which is either open or closed. However, I agree that the piston is acting like an integrator. Note that I call the valve a double differentiator since (as you have explained) P=C1*m/A*d2x/dt2 and opposite (double integrator) with the piston. Moreover, multiplication with 's' usually means differentiation since if L{f(t)}=F(s), then L{f'(t)}=sF(s)-f(0-) (however, we can ignore the initial value), i.e. multiplication of the Laplace transform F(s) with s. In the same way, multiplication with '1/s' usually means integration. The mathematical details are anyway not important, what is more important is if the valve of your CVP is lying so "on the edge" that it is only operating in the linear part of the valve characteristics?

Share this post


Link to post
Share on other sites
Yes, without the dithering it moves only as pneumatics usually move. Dithering is a standard technique in industrial hydraulics.

Unfortunately the maths varies between A-level and degree level! I don't relish it quite as much as the modelling!

The Fibonacci series (1,1,2,3,5,8,13,...) works the same way because the two previous results are used to find the next one (albeit with multiples of 1, and not using sine waves). Believe it or not, my colleague's 8-year old child's maths homework said "find the equation of the series"! They definitely wanted engineering dads to get involved :-)

Mark

Nice work from the 8yo's teacher! I would guess that a number of the undergrads I teach couldn't do that without prodding.

Dang, I'm supposed to be writing a paper at the moment, and you've got me stuck thinking about this :) I'm with you now, wasn't sure if you were talking about the temporal behaviour of the engine. I'm trained as an engineer, but I'm now a mathematician so this is good fun for me. In fact I'm feeling like it would be fun to create a computational model of this thing - first the CVP feedback loop, then the engine. However I don't have enough pneumatics parts to work out model parameters (e.g. I have no compressor or large actuators or studless valves -- will have to convince my wife to get me an 8049 next year)

So ... are you up for some experiments?

A start would be measuring the force produced by your valve arrangement for a constant input pressure over its full positional range, you could just measure the force produced by a big or a small actuator.

Anyway, let me know what you think :classic:

cheers,

Richard

Share this post


Link to post
Share on other sites
Hmmm, I wonder if it is applicable to treat the valve as a pure double differentiator? My argument is that the valve has so small interval where it is linear due to the construction with a tiny hole that opens and closes. I would rather see the valve like something of bang-bang type which is either open or closed. However, I agree that the piston is acting like an integrator. Note that I call the valve a double differentiator since (as you have explained) P=C1*m/A*d2x/dt2 and opposite (double integrator) with the piston. Moreover, multiplication with 's' usually means differentiation since if L{f(t)}=F(s), then L{f'(t)}=sF(s)-f(0-) (however, we can ignore the initial value), i.e. multiplication of the Laplace transform F(s) with s. In the same way, multiplication with '1/s' usually means integration. The mathematical details are anyway not important, what is more important is if the valve of your CVP is lying so "on the edge" that it is only operating in the linear part of the valve characteristics?

The valve integrates twice by turning lever position into pressure, hence two 1/s blocks.

The piston differentiates twice by turning pressure into position, hence two s blocks.

The valve multiplies the pressure by the pressure of the compressor, which can destabilise the system if it gets too high (pushing the valve out of its linear region). The region is not quite linear. I think it approximates to a sine curve from -90 to 90 degrees as the circular track within the rubber piece reveals more of the round port in the casing. The long levers are an attempt to use this region, with the lever length fitting with the dither crank length of 0.5M so that the dither covers only the full linear range when the input vs. feedback sliding beams are aligned.

The feedback and fast dither exploit parts of he non-linear range. As long as part of the dither travel is in the linear range, the average pseudo-PWM output will have some usable linearity. In that sense the dither extends the linear range of the valve, which is the only reason why the system works at all, because the linear region of the valve is so small!

Nice work from the 8yo's teacher! I would guess that a number of the undergrads I teach couldn't do that without prodding.

Dang, I'm supposed to be writing a paper at the moment, and you've got me stuck thinking about this :) I'm with you now, wasn't sure if you were talking about the temporal behaviour of the engine. I'm trained as an engineer, but I'm now a mathematician so this is good fun for me. In fact I'm feeling like it would be fun to create a computational model of this thing - first the CVP feedback loop, then the engine. However I don't have enough pneumatics parts to work out model parameters (e.g. I have no compressor or large actuators or studless valves -- will have to convince my wife to get me an 8049 next year)

So ... are you up for some experiments?

A start would be measuring the force produced by your valve arrangement for a constant input pressure over its full positional range, you could just measure the force produced by a big or a small actuator.

Anyway, let me know what you think :classic:

cheers,

Richard

Wish I had the time! :sceptic: I'm glad this system in its simplest form uses just 2 valves and 1 cylinder, making it accessible to anyone with an 8049 set!

If you'd like to make a Matlab model, a few variables:

The Pressure is 20psi. Some people use up to 60psi for engines but I recommend no higher than 25psi for significant periods, and 30psi max for any model that is not free-running.

The dither motor turns at about 240rpm. This is deliberately faster than the control loop response time. System performance is impaired if it gets too slow.

Obvously the piston areas are unequal, but that is sorted out by moving the null position of the red-blue beam offset in the original system.

I think there's data on pneumatics on the web somewhere.

As I say above, the linear region of the valve is so small that the dither (using parts of the non-linear region) is the only thing that makes the system work!

This is like PWM for an electric system, taking x% of the time at full power and y% of the time at no power to make an average of z%. In this case we take x% of full valve travel at on end, y% of linear valve travel and z% of other-end valve travel to make a% of the supplied air pressure. This is like an op-amp with a slow slew rate, taking its time to go through a linear region between saturation at either end. It's also like over-driving an amplifier e.g. when playing an electric guitar, so that the waveform is clipped at both ends.

That probably means we would need to solve a differential equation in three regions! I'm not really a glutton for punishment but these equations just seem to crawl out of the plastic! I finally make the step to a linear system and what happens? A load of maths descends on the problem! *huh*:classic:

What I would like to see is this system being used in MOCs. Even better in a set, though that is a long way off if it ever happens.

I've made the steam engine from the basic system, and it's not the most efficient pneumatic engine. That is what I expected.

I'm working up a steering mechanism, which is one of the most appropriate mechanisms to be controlled by this system, given that it needs to stop anywhere.

I have ambitions for a flight simulator platform, or maybe a gymbal, with 3 or 4 systems at the corners doing realistic hydraulic motion.

A similar application is helicopter rotor pitch control, needing at least 3 systems and some addition logic for the collective and differential pitches.

Mark

Edited by Mark Bellis

Share this post


Link to post
Share on other sites

The valve integrates twice by turning lever position into pressure, hence two 1/s blocks.

The piston differentiates twice by turning pressure into position, hence two s blocks.

Well, I don't agree, since if x(t) is the position of the lever, then its acceleration a is the double derivative of x(t), i.e. a=d2x/dt2. As you stated before, the pressure is proportional to the force and thus also the acceleration. In other words, to transform an insignal x (position) to an outsignal P (pressure), two differentiations are needed (i.e. two 's'-blocks). Then again, details are not important. What I am interested in is as you describe a PWM type of control of the airflow. I tried to make a speed controller for my 60 degree V6 engine by using a gear house with a worm gear and a 24t gear to gently control the lever position of the valve. However, the result was not satisfactory, it was way too sensitive. Best would of course be a dedicated valve that could change the flow, but I have small hopes that this will ever appear. Actually, when I am wishing, why not also give us a standalone PWM controllor for the PF system (similar to the one in the LiPo battery)?

Share this post


Link to post
Share on other sites

Do you have a video of it working as if it does not work then its not worth thinking about how it works (not to sound rude mate)

Share this post


Link to post
Share on other sites
Do you have a video of it working as if it does not work then its not worth thinking about how it works (not to sound rude mate)

Does it not work just because there's no video? :hmpf_bad:

This is the principle that anyone can throw a few pieces together and take a picture!

Well I'm not James May! I don't do bad engineering on telly!

My personal integrity means that what I share is appropriate to the readiness of the technology.

  • * The original mechanism works well and there is a
of it.
* It also works using the small cylinder, but is more jumpy than with the larger cylinder. There are pictures of that.
* The steam engine works but is not very reliable yet. It works well enough for a few pictures, and for others to try it. How could it work better? By understanding the principles. This takes time (unfortunately too much maths in this case).

A set of reliability improvements would be required before making a video. A few extra components, such as extra crank bits on the dither, supported in beams, to stop the cranks falling off the axles next to the pulleys would be a good start. That might facilitate a video, when I'm ready, when I have time, when the technology readiness supports it (i.e. guaranteed >90% chance of working for 10 minutes at a time, including reversing). No-one has done closed loop stop-anywhere pneumatics before. It takes time to develop it. A video without proper understanding would be a sham, and bad engineering.

I think the cart is before the horse. The how-it-works always comes before the video, otherwise I would have nothing to put in the script!

This is proper engineering. the technology is new to LEGO. It takes time, behind the scenes. It's not done on stage. It's not the Strictly Brick Factor talent show! :tongue:

LEGO is about hands-on, each person trying it out for themselves. I have posted that amount of information so people can try it for themselves and help in its development.

The video of the original mechanism demonstrates the principles working.

This steam engine is just 2 of them together. Each mechanism drives a wheel crank. Because the cranks are at 90 degrees to each other, each pushes the other over top dead centre, back into a region where it can apply force again, just like a real steam loco.

I showed it working to UK AFOLs a few weeks ago. It worked till the dither motor batteries ran out :classic: Unfortunate that you saw it at the end of the day with flat batteries!

This is far from the only LEGO engineering I'm doing at the moment. I have to make Power Function hybrid trains work too, to facilitate the transition from 9V to PF! This involves lots of electronics.

Mark

Share this post


Link to post
Share on other sites

I saw this thread a while ago but only just got around to reading it carefully. Very nice creation. Your explanation is quite detailed as usual, but I probably need to build this myself to fully appreciate how it works.

I guess the next challenge is to try and fit this mechanism into the Emerald Night. :tongue:

In fact I'm feeling like it would be fun to create a computational model of this thing - first the CVP feedback loop, then the engine. However I don't have enough pneumatics parts to work out model parameters (e.g. I have no compressor or large actuators or studless valves -- will have to convince my wife to get me an 8049 next year)

One interesting way to approach this might be to try to find a linear model directly from observed states of all the elements involved. Hankel operator/H-infinity methods can be used to do this and are supposed to be fairly robust against small nonlinearities.

I have ambitions for a flight simulator platform, or maybe a gymbal, with 3 or 4 systems at the corners doing realistic hydraulic motion.

I was thinking of this too, like a more advanced version of the plane in the 8891 idea book.

Share this post


Link to post
Share on other sites
Does it not work just because there's no video? :hmpf_bad:

This is the principle that anyone can throw a few pieces together and take a picture!

Well I'm not James May! I don't do bad engineering on telly!

My personal integrity means that what I share is appropriate to the readiness of the technology.

  • * The original mechanism works well and there is a
of it.
* It also works using the small cylinder, but is more jumpy than with the larger cylinder. There are pictures of that.
* The steam engine works but is not very reliable yet. It works well enough for a few pictures, and for others to try it. How could it work better? By understanding the principles. This takes time (unfortunately too much maths in this case).

A set of reliability improvements would be required before making a video. A few extra components, such as extra crank bits on the dither, supported in beams, to stop the cranks falling off the axles next to the pulleys would be a good start. That might facilitate a video, when I'm ready, when I have time, when the technology readiness supports it (i.e. guaranteed >90% chance of working for 10 minutes at a time, including reversing). No-one has done closed loop stop-anywhere pneumatics before. It takes time to develop it. A video without proper understanding would be a sham, and bad engineering.

I think the cart is before the horse. The how-it-works always comes before the video, otherwise I would have nothing to put in the script!

This is proper engineering. the technology is new to LEGO. It takes time, behind the scenes. It's not done on stage. It's not the Strictly Brick Factor talent show! :tongue:

LEGO is about hands-on, each person trying it out for themselves. I have posted that amount of information so people can try it for themselves and help in its development.

The video of the original mechanism demonstrates the principles working.

This steam engine is just 2 of them together. Each mechanism drives a wheel crank. Because the cranks are at 90 degrees to each other, each pushes the other over top dead centre, back into a region where it can apply force again, just like a real steam loco.

I showed it working to UK AFOLs a few weeks ago. It worked till the dither motor batteries ran out :classic: Unfortunate that you saw it at the end of the day with flat batteries!

This is far from the only LEGO engineering I'm doing at the moment. I have to make Power Function hybrid trains work too, to facilitate the transition from 9V to PF! This involves lots of electronics.

Mark

Mark, your a far more technical person than me :) I work better with videos than pictures sadly, but I did see your other stuff work at Steam and it is very very interesting. What I solve with programming, you solve with engineering, which is very impressive.

Now go make a viedeo (joke)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.