|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
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
|
||||
|
||||
|
Re: Programming multi positioning
Quote:
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
|
|||
|
|||
|
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
|
||||
|
||||
|
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
|
|||
|
|||
|
Re: Programming multi positioning
Any solenoids will let you have variable positions, you just need a double and a single
|
|
#6
|
|||
|
|||
|
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. |
|
#7
|
||||
|
||||
|
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
|
||||
|
||||
|
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.
|
|
#9
|
||||
|
||||
|
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. |
|
#10
|
||||
|
||||
|
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 |
|
#11
|
||||
|
||||
|
Re: Programming multi positioning
Quote:
Quote:
|
|
#12
|
|||||
|
|||||
|
Re: Programming multi positioning
Please check out considerable and very good discusison on this topic:
Technical / Pneumatics / Mulit-postioning with pnuematics this year? |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
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 |