A couple of questions

Hey all,

We just recently went to a tournament, and after taking a look at other robots, asking around, and ultimately getting no clear answers, I’ve decided to come to the community!

So, first off. A lot of spatula robots have their spatulas up in the beginning of the match to stay within the size limits. One team that was using double acting pistons said that he accomplished that by pressurizing it and keeping it like that before the match. However, we use single acting pistons, and I was wondering if that was possible with our pistons, since we had to use a very crude and unreliable method to keep our spatula up before the match.

Second question. How many reservoirs should we use? We have 1 solenoid, 2 pistons, and 1 reservoir. The single reservoir seems to be able to last us a match, but is only able to probably score 150 points tops. Do you guys think we should add another reservoir or does the weight tradeoff make it not worth it?

If you are talking about keeping the spatula in the flat position, might I suggest rubber bands? If you are attempting to make the spatula flip open so the robot fits within 18" before the match, I suggest using rubber bands to hold it closed and then force open the spatula (using the pneumatics), and thereby releasing the rubber bands and the spatula flips back open. Sorry the explanation is a bit lacking, please ask questions, if wanted…

Truthfully, the best way to find out is to test it. There are many people who say that they know one way or another, but INMHO, it’s best to just test. If you happen to have extra cash on hand, buy an extra one from SMC. And don’t forget to buy the fittings. Plus it’s always nice to have spare parts, especially on pneumatics when they’re so vital to your success.

PHey android (haha) I will be having 4 pistons on my spatula ( mixing 2 singles and 2 doubles…) the doubles will help push the spatula down and the singles help the doubles raise…
Along with another piston for something else I will have 3 tanks of air… so 5 pistons and 3 tanks of air… hopefully I will not run out… might need to buy like 3 more…

I think you linked him the wrong fittings…
Those are the ones for the pistons he needs the orange ones… 2 for each tank extra…

Also can I jump pistons? Off one of the controllers? Like so I don’t need so many solenoids?

You can use T-tubes to allow air to flow from one solenoid. You would connect one output using one T-tube to the 2 double acting pistons,then you would need 3 T-tubes together to connect to the 2 double acting & 2 single acting.

From what I’ve found, 1-2 tanks are good for 2 pistons, 2-3 are good for 4 pistons, and so on. My pneumatic system has a tendency to leak a tiny bit, so I tend to like to stay on the higher side of those recommendations. Of course like edjubuh said, you just need to try it out, everybodies use/preferences are different.

Thanks for the reply. Our robot uses single acting pistons to close the spatula, and the spring inside the pistons to push it down flat. Therefore, we can’t use the pneumatics to force the spatula down. It’s naturally in the flat position. Basically, ideally, we’d have the pneumatics set in the open position before the match starts, but we can’t seem to be able to send anything to Digital Out during the preautonomous period, so we can’t get the pistons to extend before the match.

So if I was to steal the cables from my 2 Single action kits and just order 5 double pistons and 2 double solenoids? 2 tanks and enough fittings for all of those?

OK, I see a lot of people talking in this thread about putting things after their solenoids but before the piston, and based on my understanding of the way the pistons work THIS is why you run out of air so fast. When the solenoid opens, it fills anything after it with the air, then when you let go ALL that air is expelled. As such it is necessary to have as little tubing and connectors as possible between the solenoids and the pistons. On all our pistons we use the shortest piece of tubing we can fit between them and nothing else. This means less air is wasted and you get more out of your tanks.

You know that you can use a really long length of pneumatics tubing (attached to the reservoir end) instead of buying another reservoir to store more air if you are needing it?

Genius! :open_mouth:

Some recommendations:

As mentioned, keep the tubing between solenoids and pistons as short as possible.

Use the flow restrictors. They work beautifully. For a spatula, you likely aren’t going to be needing a lot of air for each action, so maybe use the flow restrictors and see what you can do with them.

If you only have 1 tank, I would try to only use air acting in one direction. Then use elastic for the other action. That way you will use much less air.

Out of curiosity, how many actions are you getting out of the pneumatics?

Currently I am using 2 pistons on my robot (air one direction only) with 1 tank, and am able to get probably 20 - 30 useful actions out of it.


I am getting about 4 actuations of 5 sacks, 5 actuations of 4 sacks, 3 actuations of 3 sacks, 5 actuations of 2 sacks, and 10 actuations of 1 sack. The rest of the actuations are useless, unable to pick up any sacks. At that point, I load 6 match loads and score them on the high goal. :smiley:

How are you keeping your spatula up at the beginning of the match? I can’t get the pneumatics to extend during the preautonomous period.

How long is the tubing between your solenoids and your pistons? and are you running at full 100 psi?

We run a splitter between our solenoid and pistons, so probably about 7" between each piston and the solenoid.
And yes, we run at 100 psi.

Like we mentioned before, that is your problem. I wouldn’t recommend using 1 solenoid for two pistons anyway. I don’t know how much of a difference it would make but you’re theoretically limiting the flow. You need to get that tubing between them shorter, ideally with no splitter at all in there, just a half inch of tubing between each solenoid and piston.

ah… could you add any rubber bands to assist the pneumatics?

The way I do it is to plug the tubing from the pistons into the port from the solenoid that is open by default. One will be letting air through at the beginning of the match, so make sure you get them plugged in this way around.

I hope this helped :slight_smile:


If you keep the solenoid right near the pistons to reduce air usage, you should only need 2 tanks assuming you don’t have any leaks. There is a team around me (929W) that uses 2 double acting pistons on their “shovel” device and they only use 2. They can easily score 180 per match without showing signs of air loss.

I do remember our pneumatic claw in gateway last year for worlds, it was single acting but with one tank and 2 pistons we ended up with about 30 strong actuations.

This should be possible, are you using EasyC or ROBOTC?

Can you post the code you used to try and do this, only the motors and joystick should be disabled, everything else should work.

Wait… but isn’t that the release port? o.O You can do that?

Here’s what I think is the most important part of the code:

void pre_auton()
	bStopTasksBetweenModes = true;
	SensorValue[s_picker] = 1;

This is the entire code I used (thanks for the gyroscope and field oriented control code :D)


Is it possible that the while loop in the preautonomous part could be causing problems?

No, this is your problem.

	bStopTasksBetweenModes = true;
	SensorValue[s_picker] = 1;
	bool picked = false;
	bLCDBacklight = true;
	int count = 0;
	int maxCount = 4;
	        SensorValue[m_backleft] = 0;
	        SensorValue[m_backright] = 0;

The code in red.

s_picker is digital 1 which as a number is 8.
m_backleft is motor port 9 which as a number is also 8.

So for some reason you use the motor port as a constant to SensorValue and reset your digital output back to 0.

You need to use nMotorEncoder if you were trying to zero the IMEs using motor port definitions, not SensorValue.