Go to Post yesterday we completed our bot mechanically and let me tell you.... i was jumping up and down like a 12 year old girl going to a boy-band concert - Leav [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 21-02-2005, 13:56
doyler doyler is offline
Rookie / Programmer
#0900 (Infinity)
Team Role: Programmer
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Durham
Posts: 87
doyler is an unknown quantity at this point
Programming multi positioning

How would I program a multi positioning pnumatic piston connected to a spike for an arm and using no sensors, controlled by joystick buttons
__________________

Last edited by doyler : 21-02-2005 at 14:05.
  #2   Spotlight this post!  
Unread 21-02-2005, 16:10
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 741
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Re: Programming multi positioning

Quote:
Originally Posted by doyler
How would I program a multi positioning pnumatic piston connected to a spike for an arm and using no sensors, controlled by joystick buttons

Pneumatics are all-or-nothing type devices; they're either in or out. That's why you've got a relay attached to a solenoid.

If you want multipositioning, try a motor.

Jon
mentor
Team236
  #3   Spotlight this post!  
Unread 21-02-2005, 17:47
doyler doyler is offline
Rookie / Programmer
#0900 (Infinity)
Team Role: Programmer
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Durham
Posts: 87
doyler is an unknown quantity at this point
Re: Programming multi positioning

Can't you somehow make them multi positioning by using a single and double solenoid, and then stop it where you want it?
__________________
  #4   Spotlight this post!  
Unread 21-02-2005, 18:46
krhs_programmer's Avatar
krhs_programmer krhs_programmer is offline
Programmer, Engineer, exDriver
#1247 (R.O.K.S.)
Team Role: Programmer
 
Join Date: Dec 2004
Rookie Year: 2003
Location: Sutton, NH
Posts: 23
krhs_programmer is an unknown quantity at this point
Re: Programming multi positioning

not to give away any thing but our team has soleniods we bought that let the piston move at variable speeds and it's not an in or out thing. Programming it to be connected to the analog joystick was a pain though.
  #5   Spotlight this post!  
Unread 21-02-2005, 19:26
doyler doyler is offline
Rookie / Programmer
#0900 (Infinity)
Team Role: Programmer
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Durham
Posts: 87
doyler is an unknown quantity at this point
Re: Programming multi positioning

Any solenoids will let you have variable positions, you just need a double and a single
__________________
  #6   Spotlight this post!  
Unread 26-02-2005, 18:36
ak_Knight ak_Knight is offline
Gee
#1219 (Iron Eagles)
 
Join Date: Jan 2004
Location: Toronto
Posts: 5
ak_Knight is on a distinguished road
Re: Programming multi positioning

Yes, you are correct. Our team uses a multi positioning pneumatic system. We have a single and a double solenoid. The double solenoid is used to determine direction of movement. The exhaust from the double is handled by the single, thus allowing multi positioning.

Our system is simple and effective, you need three spikes which are accompanied by 3 joy stick buttons. The buttons attached to the double solenoid simply handle the direction. The button attached to the single, is the trigger button. The longer you hold the “trigger” button the longer the piston actuates. The shorter you hold it, the shorter the piston actuates.

If you need further explanation, feel free to ask.
__________________
<--Gee-->
Emery Robotics
  #7   Spotlight this post!  
Unread 26-02-2005, 18:57
Jeffrafa's Avatar
Jeffrafa Jeffrafa is offline
Robotics Addict
AKA: Jeff Lewis
FRC #1425 (Error Code)
Team Role: Mentor
 
Join Date: Dec 2003
Rookie Year: 2004
Location: Wilsonville, OR
Posts: 165
Jeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant futureJeffrafa has a brilliant future
Re: Programming multi positioning

Multi-positioning is possible, as has been said. It can be done using two solenoids (controlling direction with one and exhaust with the other), or it can be done much more simply using a 3-position solenoid valve which springs to an all ports blocked position when neither solenoid valve is actuated. We have done this successfully and easily on both last year's and this year's robots. It can also then be done using only one spike instead of two.

I would defenitely not try to control this type of system with an analog imput from a joystick or whatever, but instead by digital imputs, since pneumatics are an on/off type device as has been mentioned earlier. The best way to control them is just with a three position switch (I'd tell you single pull double throw or whatever, but electronics and switches aren't my thing). Just have the switch actuate the cylinder each direction by pushing it one way or the other, then have the center positon leave the solenoid idle and stop the ram wherever it is. When done with a three position, dual solenoid valve wired to a single spike programming is easy - forward on the spike is one direction, reverse is the other, and idle is stopped. When done with two spikes and two solenoid valves things get a little more complicated because you need one spike to control the direction and you need the other to control whether or not the cylinder is actually moving.

One thing to note as far as multi-positioning with pneumatics is that the holding force is not all to impressive. When the cylinder is held in the center of its stroke it can be pushed in or pulled out rather easily, not to say it isn't a good way to have control over your device, just don't expect it to be rock solid when stopped anywhere along its travel.
  #8   Spotlight this post!  
Unread 26-02-2005, 19:25
bombadier337's Avatar
bombadier337 bombadier337 is offline
1337 U53R
AKA: Shaver
None #1541 (MidloCANics)
Team Role: College Student
 
Join Date: Feb 2005
Rookie Year: 2005
Location: Richmond VA
Posts: 123
bombadier337 is just really nicebombadier337 is just really nicebombadier337 is just really nicebombadier337 is just really nice
Send a message via AIM to bombadier337
Re: Programming multi positioning

Alright, 1541 built had a very simple method for controlling multi-positioning. We wired the double solenoid using one spike and some diodes. I think it was shown in the RC reference how to do it. Then, we wired the single solenoid into the spike. Basically here's how it works. When the joystick is pushed forward a given amount (we said if p2_y>240) then it turns relay7_fwd to 1. When that happens, it turns the double solenoid to the extend position. Then, the air from the exhaust ports on the double solenoid are combined and we plugged those into our festo single solenoid. Basically, when relay7_fwd=1, it turns on the single solenoid, allowing the exhaust to flow out. When relay7_fwd does not equal one, the double solenoid stays in the same state, but the single solenoid is off. This allows it to multi-position. It works the same in reverse, because the single solenoid doesn't care which terminal receives pos/neg. Hope that answers any questions, I'll try to find where the manual is with the wiring diagram for the single spike solution for a double solenoid. It works beautifully.
__________________
Midlothian High School - Team 1541
2005 Radioshack Innovation in Control - NASA/VCU Regional
2005 Rookie Inspiration - NASA/VCU Regional
  #9   Spotlight this post!  
Unread 26-02-2005, 19:43
Fourevilmonkies's Avatar
Fourevilmonkies Fourevilmonkies is offline
Code monkey
#1369 (Minotaur)
Team Role: Programmer
 
Join Date: Feb 2005
Rookie Year: 2005
Location: Florida
Posts: 11
Fourevilmonkies is an unknown quantity at this point
Send a message via AIM to Fourevilmonkies Send a message via Yahoo to Fourevilmonkies
Re: Programming multi positioning

There is one thing you may want to take into consideration and its the fact this takes up alot of air. I was going to attempt to make a multi position cylinder for a loader however to become rock solid you need to have air going in both ways. I'm rather new to the concept of the solinoid switches but I believe that one double solinoide can do the job for you. So you can set it where one button controlls the out movement of the solinoid and the other can control the in movement of the solinoid. The idea is to let one solinoid let air in untill you reach deired hieght (in my case) where you can stop and have both solinoids pushing air in keeping the cylinder rock solid. All of this is hypothetical to me at the moment but eventually I will test this to see if this works unless someone else has.

I would imagine the code would look a little something like this

if (button1 == 1){
relay1fwd = 1;
relay1rev =0;
{
else if (button1 == 0){
relay1fwd = 1;
relay1rev = 1;
}

This is a very generic idea of how the code for the relays should look.

And if the above looks choppy well during posting I relized that one double solinoid should do the trick.
__________________
Come one guys, I just want to make you go pop.
  #10   Spotlight this post!  
Unread 26-02-2005, 19:48
bombadier337's Avatar
bombadier337 bombadier337 is offline
1337 U53R
AKA: Shaver
None #1541 (MidloCANics)
Team Role: College Student
 
Join Date: Feb 2005
Rookie Year: 2005
Location: Richmond VA
Posts: 123
bombadier337 is just really nicebombadier337 is just really nicebombadier337 is just really nicebombadier337 is just really nice
Send a message via AIM to bombadier337
Cool Re: Programming multi positioning

You need two. If you just have one double, one side will always exhaust and then other will let air into the cylinder. There unfortunely isn't a way to turn the double solenoids "off", you can only change the direction of the airflow.
here's our code

if(p2_y>240)
{
relay7_fwd=1;
relay7_rev=0;
}
else if(p2_y<15)
{
relay7_rev=1;
relay7_fwd=0;
}
else
{
relay7_fwd=0;
relay7_rev=0;
}

please note that used the wiring method described in my previous post
__________________
Midlothian High School - Team 1541
2005 Radioshack Innovation in Control - NASA/VCU Regional
2005 Rookie Inspiration - NASA/VCU Regional
  #11   Spotlight this post!  
Unread 26-02-2005, 20:15
thoughtful's Avatar
thoughtful thoughtful is offline
Registered User
FRC #1219 (Emery Iron Eagle)
Team Role: Alumni
 
Join Date: Nov 2003
Location: Toronto,Canada
Posts: 291
thoughtful is a splendid one to beholdthoughtful is a splendid one to beholdthoughtful is a splendid one to beholdthoughtful is a splendid one to beholdthoughtful is a splendid one to beholdthoughtful is a splendid one to beholdthoughtful is a splendid one to behold
Re: Programming multi positioning

Quote:
Originally Posted by Jeffrafa
Multi-positioning is possible, as has been said. It can be done using two solenoids (controlling direction with one and exhaust with the other), or it can be done much more simply using a 3-position solenoid valve which springs to an all ports blocked position when neither solenoid valve is actuated. We have done this successfully and easily on both last year's and this year's robots. It can also then be done using only one spike instead of two.

I would defenitely not try to control this type of system with an analog imput from a joystick or whatever, but instead by digital imputs, since pneumatics are an on/off type device as has been mentioned earlier. The best way to control them is just with a three position switch (I'd tell you single pull double throw or whatever, but electronics and switches aren't my thing). Just have the switch actuate the cylinder each direction by pushing it one way or the other, then have the center positon leave the solenoid idle and stop the ram wherever it is. When done with a three position, dual solenoid valve wired to a single spike programming is easy - forward on the spike is one direction, reverse is the other, and idle is stopped. When done with two spikes and two solenoid valves things get a little more complicated because you need one spike to control the direction and you need the other to control whether or not the cylinder is actually moving.

One thing to note as far as multi-positioning with pneumatics is that the holding force is not all to impressive. When the cylinder is held in the center of its stroke it can be pushed in or pulled out rather easily, not to say it isn't a good way to have control over your device, just don't expect it to be rock solid when stopped anywhere along its travel.
Team 1219 has been able to make our pneumatic system using a double and a single solenoid. This system is very stron, it is able to lift even more than one tetra. I think it all depends on the piston you are using, our piston is huge so it can easily hold any position.

Quote:
Originally Posted by krhs_programmer
not to give away any thing but our team has soleniods we bought that let the piston move at variable speeds and it's not an in or out thing. Programming it to be connected to the analog joystick was a pain though.
Can you please let us know where you bought these, thankyou.
__________________
.:Bringling Brains to Life:.

03,04,05-Team 1219 Captain
2003 Rookie all Start @ GTR
2005 Galileo Semi-Finalist & Alliance captain
06-Team 1219 Mentor
2006 Radio Shack Innovation in control @ Waterloo
  #12   Spotlight this post!  
Unread 26-02-2005, 21:03
Unsung FIRST Hero Woodie Flowers Award
Chris Fultz Chris Fultz is offline
My Other Car is a 500 HP Turbine
FRC #0234 (Cyber Blue)
Team Role: Engineer
 
Join Date: Jan 2002
Rookie Year: 1942
Location: Indianapolis, IN
Posts: 2,837
Chris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond reputeChris Fultz has a reputation beyond repute
Re: Programming multi positioning

Please check out considerable and very good discusison on this topic:

Technical / Pneumatics / Mulit-postioning with pnuematics this year?
__________________
Chris Fultz
Cyber Blue - Team 234
2016 IRI Planning Committee
2016 IndyRAGE Planning Committee
2010 - Woodie Flowers Award - Championship
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming - Getting Started Mark McLeod Programming 80 16-04-2008 23:37
Organizing a programming team. scitobor 617 Programming 7 28-01-2005 19:18
'Fix It Window' and Programming.... JMac Programming 19 25-01-2005 18:57
Programming and Electronics — Getting Started Sidney San Martín Technical Discussion 7 12-01-2005 15:25
Robot Programming Education phrontist Programming 11 03-05-2004 07:32


All times are GMT -5. The time now is 00:16.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi