Jump to content




S&S Space Shot model powered by compressed air

compressed air pressure space shot drop tower s&s valve electronics

  • Please log in to reply
10 replies to this topic

#1 TheSUCKCrew

TheSUCKCrew

    Way too old

  • 4095 posts

Posted 04 November 2015 - 11:22 AM

S&S Space Shot model powered by compressed air

Soon I’ll be attempting to build another tower ride. But not just any; this will be an S&S Space Shot, which will actually be powered by compressed air (which is, as far as I know, an unpaved path in k’nex world). The reason I decided to take this project on, is that I did some calculations and found out that itactually doesn’t take a lot of pressure to power this, meaning that leakage will be a relatively small problem. Also, pneumatics parts aren’t expensive at all and mechanically there isn’t that much going on to further complicate things.

 

The S&S Space Shot

The Space Shot is a tower kind of attraction, which makes use of compressed air to shoot riders into the air. Countless of these rides were installed throughout the world and they were ultimately the beginning of S&S Entertainments success, thanks to their incredible smoothness and reliability.

 

Scaling it down

When a model of an existing thrill ride is being made, the builder often finds himself battling against the laws of physics: You can scale a ride down as perfectly as possible but some physical principles, including gravity, do not always scale so well. This results in chair swing rides that do not swing out at all unless driven at insane speeds, or rollercoaster tracks that have an effective ride time of about 5 seconds. By analysing the underlying physical mechanism of a ride, it is possible to anticipate any scaling problems and maybe even adjust your system.

All of this can be applied to the Space shot. The trajectory of the ride exists of a damped oscillation, of which the equilibrium position actually moves down (due to leaking which may or may not be on purpose). I imagine that for some, that sentence might need some more explanation.

The system of this ride can be described by two tubes, one being the pressure tank and the other one being a tube with one end connected to the pressure tank and the other end open. In this second tube, which will be called the cylinder from now one, a piston is inserted. When the air pressure on one side of the cylinder is higher than the other side, it will try to compensate for this by moving towards the lower air pressure. In the following figure, schematics of the system are shown.

 

drptwrz.jpg

 

A)     In this setting, a valve (black bar at the top of the drawing) prohibits the pressurised gas in the pressure tank (left) to escape to the cylinder (right).

B)     Now, the valve is released. At this point, the pressure above the piston (the white box in the right cylinder) exceeds the atmospheric pressure underneath the piston, causing it to move downwards, pulling up the car, illustrated by the little white box attached to the wire.

C)     At this point, the movement of the piston has compensated for the over-pressure. The car however is still moving, and its momentum causes the piston to move even further, causing a vacuum in the system.

D)     Right now, the vacuum (which means the pressure is lower than the atmospheric pressure) inside the cylinder causes the piston to move upwards. This way, the riders experience a downwards force which is actually greater than the gravitational force alone (which explains the measurements done in this website, which say that the downwards acceleration exceeds g = -9.81 m/s^2).

E)      Again, the moving piston has compensated for the pressure difference, but the car’s momentum causes it to move even further, after which it ends up in situation B, and the cycle will go on like this.

Using this, one can now simulate the system for different variables (for instance length of tower, maximum pressure used, diameter of the cylinders etc. Using MATLAB, I created a script which plots the motion, speed, acceleration etc. through time, for certain set variables.

 

The essential ones are:

 

p_init, the initial pressure in the pressure tank
m_car, the mass of the car
m_counter, mass of the counterweight
R_cilinder, the radius of the cylinder
R_tank, the radius of the pressure tank
L_tower, the length of the tower

 

There are some principles in choosing the right values, but I won’t get into this much further. Imagine a case where certain variables are already given, for instance, you have chosen to make a 1.5 meter tall tower, the tubes you use will be 8mm and 18mm in diameter, the car has a mass of 0.4 kg and the counterweight weighs 0.3 kg. By trial and error (although this could also be programmed), you can then find out that using an initial pressure of 1.3 bar will cause the following oscillation, which is perfect because it reaches the 1.5 m top just fine! The graphs according to the script are shown below.

 

plot_example.jpg

 

Below you can see graphs that are based on measurements on a real Space Shot, which experiences friction and pressure drop due to leakage. These were found on the previously mentioned website and were measured on the Space Shot in the Linnanmäki Amusementpark using accelerometers.

 

avp.gif

 

As you can see, it doesn't look much like the previous graphs that were simulated. This is due to friction and leaking that were not taken into account. By adding a leak-parameter (which is given in Pa/sec for convenience) and an airresistance-parameter. Adding these into the program and changing them around a bit (which isn’t quite scientific, but hey…) shows how the simulation can actually very closely describe the motion of the real thing.

 

example_leakandresist.jpg

 

Compare the Position vs. Time graph of the real thing, to the Height vs. Time graph of the simulation.

As you can see, the settings shown above actually allow a life-like motion of the ride. It now takes around 3 sec to reach the top, which is very comparable to the real thing. And this was, ultimately, the goal of this entire analysis.

 

 

 

Implementation

The things I bought are a 12V solenoid valve, which is basically just an “air-switch”, a barometric pressure sensor which connects to an Arduino and a 12V air pump which runs at 0.5A. These parts arrive in a few weeks so I’ll be experimenting with them then.

The construction will exist of a standard kind of drop tower (much like the Power Tower 2.0), only in the center there will be two PVC tubes which will function as cylinder and pressure tank. I’ll have to experiment a bit with building a piston and stuff like that, but if all goes well it should be a very simple build.

The ride program should be as follows:
Due to minor leaking, the car will always be at the bottom if you wait long enough, so when the program begins the car is always at the bottom. The solenoid valve is closed, and the air pump is started, which pressurizes the pressure tank until the pressure sensor measures the right pressure is reached. Then the pump stops, and when desired, the valve is opened and the car is set in motion. When the car has returned, the process repeats.  
 

That's it! I plan on finishing the electronics soon after the pneumatics parts arrive. During christmas break I hope to be able to build the tower and implement all the pneumatics.
If you're interested in this project, please subscribe because the updates wont be very frequent and I wouldn't want you to miss anything. 

If you have questions, remarks, or maybe even some better resources than I did, please tell me! 
Also, a few assumptions were made about the S&S Space Shot. There isn't much information available on the internet, so if I said anything wrong, please correct me! 
 

Greetings,

Suck


Edited by TheSUCKCrew, 04 November 2015 - 11:35 AM.


  • Old_Hag likes this



#2 pkiknex25

pkiknex25

    Ello!!!

  • 8238 posts

Posted 04 November 2015 - 12:11 PM

Sounds great! Glad to see that you've already worked some of the science behind this ride. I look forward to this.



SSCoasters Staff
The SSCoasters Forum Rules

cincinnatibearcats07sp-1.jpg

GigaSonic XLC, Déjà Vu, Werewolf, WildSide, Thunderhawk, Kaibutsu, Diamondback, Couloir

SVengeance|Voyage|LightningRod|Goliath(SFGAm)|OutlawRun|Fury325|RF2|Taron|StormChaser|Orion|

Coaster Count: 300


#3 BGTKing

BGTKing

    Administrator

  • 7516 posts

Posted 04 November 2015 - 05:49 PM

Really looking forward to this!




#4 maarten12

maarten12

    Medium-Gump

  • 2917 posts

Posted 05 November 2015 - 02:52 AM

I'm liking this a lot Bart! It's good to see you have prepared this so well (with MatLab B) ) and I'm pretty sure you'll make this thing work. The only question I have is how you're going to attach the cables to the piston inside the cilinder, won't there be a lot of leakage if you drill a holl in the top of the cilinder?



Posted Image


#5 Old_Hag

Old_Hag

    Lead Engineer

  • 2205 posts

Posted 05 November 2015 - 11:47 PM

Wasn't expecting this level of analysis at all. Can't wait to see how this turns out!




#6 TheSUCKCrew

TheSUCKCrew

    Way too old

  • 4095 posts

Posted 09 November 2015 - 10:00 AM

 

I'm liking this a lot Bart! It's good to see you have prepared this so well (with MatLab  B) ) and I'm pretty sure you'll make this thing work. The only question I have is how you're going to attach the cables to the piston inside the cilinder, won't there be a lot of leakage if you drill a holl in the top of the cilinder?

 

 

That is indeed a most practical concern, that I'll be figuring out as soon as I have some PVC piping and stuff. I think that if I use a hole which fits rather tight and use a thick lid, the leaking can be minimized to an acceptable level. I will be using fishing line with the lowest stretch I can find.

 

 

Update: 
By now, all the necessary parts have been ordered. It took a lot of research to find anything suitable, especially for the pressure sensor. 

 

First of all, I bought a simple pressure pump that is intended for fish tanks, blood pressure monitoring devices etc. Although I'm not certain whether it will provide the pressure needed, it only set me back about 2$ so it will at least give me a starting point. Furthermore, it runs at 5-12 V and is rated at 500 mA. Such a lower input would definitely simplify the electronics a lot. 

 

For the solenoid valve, I've chosen for a piece that finds its applications mostly in hydraulics but it can be used for pneumatics (compressed air) as well. It cost me 3.50$,

It has push&lock connectors for the air tubes, greatly simplifying the installation, and runs at 12 V. It is rated at 5 W, so I think a small relay should easily allow me to control the valve.

 

As for the pressure sensor, there was a lot of research to do. Most sensors available were either really expansive, or they didn't deliver the desired output voltage. This is because most industrial sensor make use of a wheatstone bridge, which gives output voltages in the range of a couple of millivolts. With the somewhat specific pressure range needed, this meant I had to dig quite deep into what's available. This afternoon, I came across the MPX5700, which uses an input of 5 V and outputs a linear relation of P vs. Vout, with P inbetween 25 and 700 PSI, and Vout inbetween 0 and 5V. This device cost me 8$, but on the plus side has all the necessary circuitry embedded so it can be connected to the arduino directly. Also, it has a tube connector which again simplifies installation. 

 

If I'm lucky, at least all the electronics work as expected, so I can start focusing solely on the air-tight pistons and cable systems etc.

But like always with electronics, I'm expecting some challenges to overcome, haha. 

 

-Suck





#7 ThisIsGabe

ThisIsGabe

    Electrical Engineer

  • 177 posts

Posted 09 November 2015 - 08:59 PM

I can't wait to see how this turns out!

Just remember not to over pressurize your PVC ;)



Cedar Point Ride Ops
2013 - Maverick
2014 - Cedar Downs and Cadillac Cars Supervisor

I'm building a thing! http://www.sscoaster...m-launch-16194/


#8 TheSUCKCrew

TheSUCKCrew

    Way too old

  • 4095 posts

Posted 20 November 2015 - 07:04 PM

^ Cool, me neither! I don't think I will, the pressure pump that I will use is rated at a maximum of 1.6 Bar, so I think I'll survive hehe. 

 

Some of the components have arrived. These included some connection pieces and tubing, but also.... the pressure sensor!

I've been doing some testing by connecting it to a seringe, and it's a lot of fun to play with. It is also quite accurate and right now I'm just playing around, trying to think of all the uses this thing could have.

 

IMG_20151121_004126.jpg

 

The sensor itself

 

IMG_20151121_004043.jpg

 

The setup with the seringe. As you can see, I'm totally Keeping It Simply Stupid. Due to extensive research into presssure sensors, I found a perfect one so that no additional components are needed; just one wire to GND, one wire to 5V, and one to Analog Input. Btw, I managed to find out that I'm able to blow 0.12 Bar of over-pressure. My roommate, however, reached a stunning 0.14 Bar. Science! :)

 

I also decided to do some of the coding and ended up finishing the entire sequence in about 15 minutes. The code is pretty much self-explanatory.

float solenoid_pin = 2;
float pump_pin = 3;
float ready_led_pin = 4;
float launch_button_pin = 5;
float p_sensor_pin = A0;

float p_init = 140; //kPa
float p_tolerance = 10; //pressure will be p_init +/- tolerance
float launch_delay = 5000;

float pressure; //pressure is given in kPa
int level = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(solenoid_pin, OUTPUT);
  pinMode(pump_pin, OUTPUT);
  pinMode(ready_led_pin, OUTPUT);
  pinMode(launch_button_pin, INPUT);
}

void loop() {
  
  switch(level){
    case 0:  //sequence begin, is built up
      pressure_read();
      pressure_control();
      if(pressure < p_init + p_tolerance && pressure > p_init - p_tolerance){ //if desired pressure is reached, go to next case
        level++;
        Serial.print("Current pressure is: ");
        Serial.print(pressure);
        Serial.print(" kPa. Now turning on launch light, waiting for button press.");
        Serial.println();
      }
    break;

    case 1: //pressure is maintained, waits here for launch
      pressure_read();
      pressure_control();
      digitalWrite(ready_led_pin, HIGH); //a led indicating that launch is now possible is switched on
      if(digitalRead(launch_button_pin) == HIGH){ //if button is pressed, go to next level
        digitalWrite(ready_led_pin, LOW);
        level++;
        Serial.println("Button pressed, launch initiated.");
      }
    break;

    case 2: //open valve, shot down pump
      digitalWrite(solenoid_pin, HIGH);
      digitalWrite(pump_pin, LOW);
      delay(launch_delay); //after a defined delay, close valve en restart cylce
      digitalWrite(solenoid_pin, LOW);
      level=0;
      Serial.println("Delay over, launch cycle restarted.");
    break;
  }
}

// Reads pressure sensor input, converts digital signal to pressure in kPa
void pressure_read(){
  float sensorValue = analogRead(p_sensor_pin);
  float voltage = sensorValue * 0.004887586;
  pressure = (voltage - 0.2100) * (700.00/4.3000);
}

// Makes sure pressure lies in between the tolerances of the desired pressure
void pressure_control(){
  if(pressure > p_init + p_tolerance){
    digitalWrite(pump_pin, LOW);
  }
  if(pressure < p_init - p_tolerance){
    digitalWrite(pump_pin, HIGH);
  }
}

So far, this project promises to be pretty easy. Again, problems might turn up while manufacturing the pressure tank and piston.

I'll let you know when the rest of my parts have arrived!

 

-Bart


Edited by TheSUCKCrew, 20 November 2015 - 07:06 PM.




#9 Jogumpie

Jogumpie

    Living through the great Gump hiatus...

  • 13586 posts

Posted 22 November 2015 - 05:23 PM

Definitely keep us up to date. I'm enjoying this thread. Even so much that I read through that whole coding and enjoyed it too. ;)




SSCoasters Administrator
The SSCoasters Forum Rules
DD_signature.jpg
YoutubeButton.pngFacebookButton.png


#10 TheSUCKCrew

TheSUCKCrew

    Way too old

  • 4095 posts

Posted 27 November 2015 - 04:39 PM

Coolcool!

 

I received the solenoid valve, still waiting for the pump though. I will be getting myself some PVC tubing soon, so I can start testing as soon as the pump arrives.

The valve isn't giving me any trouble; plug and play electronics so far.

 

Since this project completely lacks any sensors, I though I might figure something out for this as well. I thought it would be fun to fabricate an analog height sensor, which gives an accurate location of the car at any point of the tower. 

I already had some resistance wire laying around, so I did some calculating and testing and found the following setup:

 

resistance_wire.jpg

 

It works like this; two resistance wires of 8ohm/m run all the way up the tower, one of them is connected to GND, the other one is connected with +5V through a 100ohm resistor. The car has a metal piece which connects the two wires at the height where the car is. This means that the total resistance that that the current endures, is that of 2*heightofcar*ohm/m. The 5V is then divided between the 100ohm and the wires in the tower, which now act like a variable resistor. The voltage at the point between the resistor and the wires is then given by: U = Utotal * (height * ohm/m)/(height*ohm/m+R_resistor). This curve for U vs. height is almost linear and has a range of 0V to ~1V. 

This voltage is measured using the Arduino's analog input. By calling AnalogReference(INTERNAL), the measuring range is change from 0-5V to 0-1.1V, meaning that the 1024 measurement steps are now optimally used. This means that the accuracy would, in theory, be about 1.5 mm.

 

I have made a little test setup, unfortunately it is impossible to fotograph because the resistance wire is so thin but it works fine, and would be a fun (and easy) feature to add later on!

 

Greetings,

Bart





#11 Kevkillerke

Kevkillerke

    Mr. circus

  • 1658 posts

Posted 28 November 2015 - 08:09 AM

Nice way to know your height! Very accurate as well, good job.



Posted Image
Click > Spirit Bomb/Blue Fire!/Double O/Kirnu < Click
SSC award 2014: Best SlimTrack Coaster
Eruption
Posted Image






Also tagged with one or more of these keywords: compressed, air, pressure, space, shot, drop, tower, s&s, valve, electronics