Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   pneumatic programming (http://www.chiefdelphi.com/forums/showthread.php?t=44079)

stephenthe1 15-02-2006 15:46

pneumatic programming
 
hi, my team is having some problems using pneumatics, and we can't seem to figure out what the problem is. The problem is that we can only shift or fire the pistons in one direction. here is my code:

if (p1_sw_trig == 1)
{
relay1_fwd = 1;
relay1_rev = 0;
}
else if (p1_sw_top == 1)
{
relay1_fwd = 0;
relay1_rev = 1;
}
else
{
}

that's all there is to the code for shifting. The thing is, if we start the piston in the retracted position, we can click the trigger on port one to fire it. however pressing port one to return it to the old position won't do anything. we're also having this one-directional problem with another piston used in our launching mechanism. Pressing both buttons on the joystick one cause the bot to make a clicking sound on one of the elctronic devices, but nothing happens. Do you know anything about what could cause this? Most of our problems arise from my programming errors hehe; but it doesn't seem feasible that is the problem in this case. could it be a wiring problem we're not aware of? thanks a bunch
-Team Lugnut (1008)

Tom Bottiglieri 15-02-2006 15:48

Re: pneumatic programming
 
What kind of solenoid is it?

Greg Marra 15-02-2006 16:03

Re: pneumatic programming
 
My understanding of pneumatics is that you either want them on (a one and a zero) or off (two zeros). Your code should read:

Code:

if (p1_sw_trig == 1)
{
relay1_fwd = 1;
relay1_rev = 0;
}
else if (p1_sw_top == 1)
{
relay1_fwd = 0;
relay1_rev = 0;
}
else
{
}

All that flipping the relay fwd and backward does is reverse the polarity of the electricity which, in this case, does nothing. You want to simply turn OFF the signal by sending two zeros.

Tom Bottiglieri 15-02-2006 16:06

Re: pneumatic programming
 
Quote:

Originally Posted by Greg Marra
All that flipping the relay fwd and backward does is reverse the polarity of the electricity which, in this case, does nothing. You want to simply turn OFF the signal by sending two zeros.

At least, that's the way our pneumatics code works.

You are using a single acting solenoid then. This type of solenoid could be compared to a pushbutton switch, with an 'NC' and 'NO' output. It will stay closed until you apply power, and close again once power is lost.

A double (or latching) solenoid only requires a momentary flow of electricity to either side, and will switch to the side with the applied current. This could be comapred to a toggle switch.

If Stephen is using a single solenoid, it would only open when either button is pushed (per code posted.)

stephenthe1 16-02-2006 11:48

Re: pneumatic programming
 
thanks so much for your help. the problem turned out to be most likely electrical, since replacing the relay controllers that control the pneumatics worked fine. (idk what they're called). programming wasn't the problem for once!
-Stephen

Greg Needel 16-02-2006 12:01

Re: pneumatic programming
 
Now i am not a programmer but i just thought i would post a reminder that when using a double acting solenoid with 1 spike relay you need to solder diodes into the electrical path so you can control the cylinder in both directions. Since you will be revercing the voltage to have the opposite effect the diodes prevent both ports from opening at the same time.


All times are GMT -5. The time now is 01:33.

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