Just a thought. Try putting a slight restriction to the flow rate of the big end of the cylinder. I'm wondering if it has something to do with the larger end having more room to fill up quickly and then because air is springy it pushes out quicker than the rod end which fills slowly. If the above works, then I'd guess that the reason having separate tanks works is because when they're on a single line, air takes the path of least resistance and flows into the bigger chamber, separate tanks, the path is the same.
hi james really like your show, may i offer the advice of someone who has to deal with pneumatics on a daily basis While you are correct it is the surface area of the cylander on one side, on the opposite side it is the surface area of the cylander minus the surface area of the end of the pushrod. (also atmospheric pressure applied to the end of pushrod if you want to get technical). i would use proportional valves and go with pneumatic over hydraulic (water) if you want to completely eliminate creep. the valves open too quickly and allow for too much pressure differential applied too quickly, along with compressable fluid (air) is your problem. also the reason why you have gotten such strange results on your valve switches is that you are changing too many variables proving your prejudice and not testing an hypothesis. change one variable at a time it will be much easier to troubleshoot. also if you do decide to keep the solenoid activated valves and run with pneumatic over hydraulic you might have to deal with fluid inertia. all depends on how fast you want the transit to happen with accuracy.
did't you mean hydraulic over pneumatic. We had a robotic cell that feed a molded part up small amount each cycle for a robotic arm to grip. the up was controlled by oil. then when all the parts where fed, air was used as a fast retract.
As someone else noted, flyback diodes on the solenoid coils may reduce back EMF to a workable level to stop Arduino from freezing. The change in creep i think is more related to the changed methodology, rather than 1 vs 2 tanks. Pretty sure it'd be very hard to reach a desired target & have no creep in a pneumatic system with just single on-off actions like you were testing. At the most fundamental level, in order to achieve motion the pressure on the downstream side of piston Must be less than that upstream... simply closing everything up when target is reached leaves you with a pressure imbalance, which will naturally correct itself back to equilibrium. You can see this is solved in industrial electro-pneumatic positioners basically in software - they rapidly adjust & re-adjust pressures to both sides of cylinder as they get closer to target position. Can do same with your system, PID fixes everything!
What you are finding here is all the reasons why compressed air is not used widely in applications that require precission. There is just way too many variables to make it worth the hassle. Its great as an instant power source and easy to store, but very hard to control and highly inefficient. One of your problems could be caused by the hoses, as they expand under pressure, just by squeezing the hose with your fingers you should be able to move the piston. Another by air density changes due to temperature fluctuation while compressing/decompressing. A third by the pressure equalizing after letting go of the switches. A onehundreth by... But its an interesting experiment none the less. whats the fun in buying of the shelf gear anyway?.;)
Thanks - yes the main reason for the videos was to answer all the people who ask why I don't use pneumatics for robotics more. Also I have these massive cylinders now so... ;-)
Not sure if you have come across the solution yet, however I have an idea. When air is compressed it heats up and expands. Once you close the fill valves the air inside the cylinder will be cooling and contracting. Because the smaller side has a lower volume the contraction will be greater resulting in a lower pressure than the larger side. This also explains why separate tanks help.
@@kissingfrogs That, and since he's using compressed air that is rested or static (at least in the video) it is probably at room temp. As he releases it from the tank the expansion (and pressure drop) will cause it to drop in temperature. When it absorbs heat from the environment it will expand again. Lots of things going on here. There's a reason precision positioning systems are hydraulic and not pneumatic.
use some reverse polarity flyback diodes across the terminals on the numatic valves. I think the relay board probably has them built in but if they dont you will definitely need them there as well. they work by snubbing out the inductive spikes created when switching anything with a coil of wire involved.
@@kissingfrogs You never know. he seems to be much more experienced with code writing. typically people like that are not the most knowledgeable about builing your own circuits or modifying existing products in that manner. as he typically does not do that sort of thing on his channel. but thats just my guess. and would likely fix the problem if applied
Its not too critical with relays. It will eventually burn the relay contacts, after some years.. Different story if it was a semiconductor driving it..
@@SteveWrightNZ yeah im not talking about protecting what the relay is switching. they are built to handle arcing. however the semiconductors connected to their big inductive coils are not built to handle their spikes.
James, is that a new or used cylinder? Coming from an industrial environment. Seeing that creep on a used cylinder isn't uncommon. And it is usually related to a wore out seal on the piston of the cylinder. Thus letting air bypass the seal until the pressure is equal on both sides of the cylinder. Also, one other thing worth mentioning is with the valves. If they are piloted valves, restrictions in the exhaust on the valve will mess with how the spool shifts inside the valve. This is why some valve assemblies mounted on a manifold base have an option for a separate pilot source. These being less common of course. Also, in practice "real world" per say. There are many things that can contribute to a pneumatic cylinder drifting. In safety systems that require the cylinder stop and stay in place with no drift being tolerated. You can get what is called a rod lock. This is a braking device on the cylinder rod that locks it into position.
10000000x better than the last video!!! No crazy music and panning around 3D models much better format enjoyed this video much more than last thank you for listening to your audience !!!
Fantastic video! It's FAR more interesting to hear the intermediate R&D success and failures to create something that would otherwise be purchased. Open-ended projects like this would make amazing multi-domain subjects for schools.
How about using a regulator on the air coming from each tank? The idea is to have have lower pressure on the side with more surface area in the cylinder. This would provide pressure inversely proportional to the surface areas of each side of the cylinder.
I think, if you use a proper pressure regulator (*NOT* just a flow restriction (g-clamps)) on each end of the cylinder, and adjust them so that the end WITH the rod gets a higher pressure than the end WITHOUT the rod (doing a little math to find out what pressure over the smaller surface in the rod end gives the same amount of work as the lower pressure over the larger surface in the other end), it should work out fine.
I have that exact relay board and have done work with it before. I suspect you're arduino issues are simply from the magnetic coils in the relays, and the solenoids aren't making it worse (they are isolated like you said). The easiest way to make your demo setup more reliable would be to take out the blue jumper in the corner (to isolate the 5V powering the optoisolator inputs from the 5V powering the relay coils), then use a separate usb battery back to power the "JD-VCC" pin. Also remove the ground connection from the relay board to the arduino. So, on the main 10 pin header you sill just have the signals and the arduino vcc connected. The inputs only need to be pulled low (connected to an open drain output) to activate the optocouplers, so you don't need a common ground. This way the relay coils will be isolated from the arduino and you wont get EMF issues from them.
I am well experienced in this area. It ain't the relays. The relay board he is using already has diodes. The issue is the flyback from the solenoids themselves. He is using the same power supply on the solenoids as the Arduino, and it's causing a current drop on the Arduino. Flyback diodes on solenoids will fix it or use a separate power supply for solenoids.
@@JLTSoft Flyback diodes are definitely important, and yes the relay board has them, but they are not a cure all. He is actually using a separate battery pack for the arduino (16:00), and he explicitly said that the solenoids have separate power (including ground) in a patreon post. Basically, the issues you describe are probably correct, except it's the coils on the relays causing issues and not the coils on the solenoids. They are after all, very similar devices.
@@cpirius The only way the Arduino could be affected by the relays is if the power supply can't provide enough current. As I have said, I have used those exact same relay modules and never, ever had a problem with a 12 volt 1 amp power supply and firing all 4 relays at the same time, 10 times a second. If he is using less than that then yes, the current draw from the relays might be causing an Arduino reset. Still has absolutely zero to do with emf. I should know, I designed a production product called the MonsterShield that used these same modules with Arduino's and I literally sold hundreds of these for haunted houses and yard haunts for controlling complex pneumatic animatronics and used them in my own haunt. I even did up to 8 of these modules with 32 relays (albeit with a more powerful power supply)
This comment may be a year late. Use two pressure regulators. Set the lower surface area side higher then the larger side. Remember PSI is pounds per square inch. So the pressure difference would be at the same ratio as the two surface areas. Essentially you want the force on both sides to be the same. With this done there will be no creep. Example: if you have 1 psi on a 10sq.in surface and this is acting on a 1sq.in surface pushing into a sealed chamber. The sealed chamber would have 10psi inside it. All movement will stop once the sealed chamber reaches 10psi. I think this is why when you had two air sources, you didn't see any creep. One was higher in pressure then the other. And by luck it just so happened the lower surface area side was higher in pressure.
James please be sure your pneumatics are properly greased. It not only lubricates but it also seals. I don't see any signs of leaking, but I can see that your piston is jumping as the force applied overcomes the friction holding it in place. Also could you please tell me at what position the 2 sides have equal volume of gas? food for thought: the steel bar of the piston must be treated as a non compressible, you could demonstrate it as a liquid if you wanted to.
My curiosity was killing me, If you deliver 32.25% more pressure to the bar end, the actuator's seal would be center of the pistons travel. As at equal pressure the technical center is the 'average distance' between the piston seal and the volume of rod(32.25% of the cylinder's volume dynamically) which you could determine as simply as measuring as its length within the travel.
Instead of the output-reduction-thingamabob why do you not use the restrictors that are built in to the cylinder? It's the tiny screw besides both inlets. It restricts the flow going out. And on the output of the solenoid you have a silencer.
Im fairly certain the small amount of movement you're still seeing after using the two compressors is due to the momentum of the cylinder. And that (i think) would be why with the motion smoothing of the servo helped so much.
Try using smaller diameter piping that has harder/stiffer wall, the larger diameter pipe will act as a storage tank and will expand with pressure, the smaller diameter pipe will also restrict the flow for better control. Think of it like water pipe knock when you turn the tap off quickly, the momentum of the water that has to stop, air is similar but not as dramatic as it can compress and if the walls of the pipe is not rigid the it will expand slightly because of a pressure spike. Hope this might help point you in the right direction.
Is the creep because of leakage past the rod end rambar seal? Air rams are not really designed to be 100% sealed like a hydraulic cylinder, and to get the cost down the sealing is often er,a bit lacking. Normally, when you just wang it to the end stop (
Look at the air as electricity. The small tank of the compressor causes a quick drop of psi acting like a under voltage. The two tanks in parallel give you the current flow or volume to keep your psi high for a longer time. You compressor might turn on at 100 psi and turns off at 120 psi. Intern giving you a broad range of voltage or psi. Use a regulator on the output of the tank and turn you compressor setting higher. This should give you more constant levels of psi.
Just want to throw this in cause didn't see it in comments. Also remember the tubing itself can swell with pressure causing "sponge-ness" when compressed. This is even why high-end car brake lines are braided to prevent swelling. I would definitely try shortening all those lines and place solenoids as close as possible to the cylinder. No expert here, just a thought.
As stated below the surface area of the piston is smaller on the rod side because the rod takes up some of that area This is what causes the force imbalance.
You don't need 2 separate air sources, you need 2 different pressure regulators. Let me explain Lets assume that's a 1.5 inch cylinder, with a 0.75 inch ram, and your driving it with a typical air compressor output of 125 psi. one side of the piston will have a surface area of 1.77 square inches. the rod side of the cylinder will be the same, minus the area the rod takes up, thus it will have a surface area of 1.33 square inches. If you apply the same 125 psi to both sides, the rod side will have 165.9 pounds of force pushing one direction, while the other side will have 220.9 pounds of force pushing the opposite way. That's a ridiculous 55 pound difference. Since air is a compressable gas, after you close all the valves the piston will try to balance itself, it will creep over untill the two sides are at equilibrium. If you feed the ram side with 125 psi and the back side with 93.8 psi. both sides would be opposing each other at 165.9 pounds of force, and your creep will go away. Some things to note, changes in Air pressure = changes in cylinder force changes in air flow = changes in cylinder velocity always adjust the flow on the exhaust side of the cylinder (wierd jerky stuff happens otherwise) air is a compressable gas, your system will always have some "spring" in it, the more volume the more spring. To finally answer your question, your piston volume to air reservoir volume is less than idea, also your tanks are not the same size and the back end of the piston consumes more air (no rod, more volume.) so as you ran it, the pressure in the back side tank dropped faster, creating the more idea situation I just explained. to cure the "spring" issue, air-over-oil systems are used. air on one side of a piston, pushing out oil on the other through a metering valve. super accurate, super controllable, potentially super messy. oil is non compressable, and meters more predictable than air. You're on the right track, Try making a second proportional valve and segregate the 2 outputs, and feed it with the 2 different pressures I think you'll be pleasantly surprised. A 5/3 valve everyone keeps going on about is not going to give you the level of control you're looking for, not with pneumatics anyway, hydraulics are another story. and a couple snubber diodes should fix your arduino issues.
I agree with everything in your post, as I said in my own, but you've expressed it much better than I could. I have a question, though, and this is a genuine question, not a troll or attack. When he uses ONE air source, and supplies the same pressure to both ends of the piston, there is constant creep in a constant direction, until the piston tops out. When he uses TWO air sources, even with the SAME PSI in each .. there is no creep. This makes it seem like the actual pressure is not an issue, at all. It must be something to do with the air being in a circuit that can feed from one side of the cylinder to the other. It's just .. weird.
What I have done when trying to hold an air cylinder position is to put a pressure regulator on each port of the cylinder so I could adjust for the force difference. Either by turning down the pressure to the piston side or turning up the pressure to the rod side.
Have you considered cheesing your volume/surface area balance by shortening the tube to your high volume chamber and lengthening the tube to the low volume? It won't help for practical application but it will eliminate some variables for testing.
Really very interesting, it gives me a lot of idea for the control of hydraulic circuit! Can you tell us more about the program and the PID? Thank you.
James, Thank you for providing all these contents. So much to learn form them. Currently I am working on force control using a frictionless pneumatic cylinder. I needed some help on that, can we connect please?
surface area of one side of cylinder is 1, surface area of opposite side is 1 minus area of rod cross section. the volume of air in one side of the cylinder will be larger than the other. the volume of air the rod takes up makes a good deal of how fast it will pressurize and the surface area of work being done is smaller. cool experiment.
Hello James! Great job. You can make system more controllable by setting control valves without tubes - close as possible to cylinder. And use stell tubes. All actions in pneumo sistems have a speed limit - speed of sound. So if you control system close a solenoid - you have a time delay before pressure in cylender change - becaose you have relatively long line connecting control valve and cylinder. also - may be interesting to implement a position feedback sensor right in cylinder. Taht must be a ultrasonic rangefinder or something else. Measure range from cylinder bottom to piston... Anykind - very interesting video. Thanks a lot. Sorry my bad English.
Hey James! Your relay board has optoisolators, that should prevent the emf from getting back to the arduino. Remove the VCC to JD-VCC jumper and power it from an external source through the JD-VCC pin!
Put diodes in paralell in reverse so it is blocked when applying power and shorts out the back emf when power is off or use a resistor in parralell to take only the biggest spike. Diode would most likely be best (that is used in many cars directly in the relays ) Also you could use two more of that electric air valves just plumbed to the exhaust side of the other ones and have it to blok the air
Look at this picture for an example i.stack.imgur.com/IUn5v.png I have played a little with relays to check the back emf on a oscilloscope and without anything and just disconnecting i got about 70v spike on a 12v energized relay. With a diode in parallel i got almost nothing it was a 12 point something source and only gaimed about 0.07volt if not less and that is an extreme difference.
Could you try it with no input vaulves at all? Straight from the separate air sources to the cylinder ends with your proportional release on each. And then moving in one direction you just release pressure from that end. Would be interested to see how that works.
Maybe try to feed the lower side of the ram with air via a separate regulator set lower to account for the difference in surface area and force of the two directions this way they should also be able to be fed from the same air source as a regulator won't back fill a tank if it gets a pressure rise on it's input it would vent to atmosfear , I would try the following layout Compressor - regulator and split the line here to the separate sides of the ram but just before the lower side valve another regulator to lower pressure for that larger end this I think would eliminate creep and give equal force in both directions also giving a more forgiving and predictable control
It's unequal surface area not volume causing the creep. The rear side of the piston has a full circle to push against vs the donut shape on the front end
you would probably need to go with a closed loop system. instead of venting the air, you would have to connect it to the intake of your compressor. But than you would need a mechanism that would switch input and output hoses to move cylinder in opposite direction.
I think you need to accurately measure and PID control the pressure using two (both pressurise and relief) proportional valves on each side - 4 valves in total. Then another PID driving the two pressures from the position. Add recuperation valves for optimisation.
I'm not sure this solves the issue but would be interesting to see. Use a combined screw and pneumatic system. With a pneumatic thing between two screw valves. (parallel to them) and use the strength of the pneumatic arm with the accuracy of the screw valve to keep it in place against any creep etc.
Would putting the proportional valves between the solenoids and the cylinder help? They could hold the pressure and adjust to stop creep, If you used a servo on each to adjust the pressure.
Do you have a diode across the solenoid terminals? It might be the voltage spike caused by the inductance of the solenoids that kills the arduino. You can also put something like 10E resistor in series with the solenoids to reduce the peak current.
you have to keep in mind that air unlike liquid can be compressed so you will always have a bit of play in your system, but that's meaby good thing because your robot will not break from a fall or something
So do people agree that there would be less creep if the rod tapered down to a small foot print where it attaches to the piston or is it a function of both reduced volume and reduced effective piston surface area on the rod side.?
well the rod does take up some of the surface area on the right side... I think the creep might be a combination of the different surface area and the fact that the sides are not evenly pressurised after the movement, since there is overpressure on the one side, and slightly lower on the other due to the exaustion
What I think ist that when both valves are open, the pressure has more force on the left side. since there is pressure applied to the check valve it might be open just a bit, letting higher pressure air then the compressors out, further feeding the Left side. with 2 sources the pressure cannot backflow to the other side, and the effect would not take place
Is there any creep in the centre of the actuator and is the creep always in the same direction because it may be a problem with how the air is regulated before the solenoids
btw, if you had a Double Rod Air Cylinder (rod at both ends) the surface area would be the same. Also, more accurate if you use oil which is noncompressible. Make sure the seals are oil compatible. Definitely use the 5 way valves.
The Arduino lockups are because you don't have flyback diodes on the solenoid lines. When the solenoid is switched on or off, you can get a momentary burst of current flow because of the magnetic field collapsing... 2 ways to solve. First is to use diodes across the leads of each solenoid. Mkae sure the direction is correct. Second way is to use a separate power supply just for the solenoids. That will prevent the current draw from causing the polyfuse on the Arduino to reset.
Can I theoretically actuate one cylinder with the motion of another identical cylinder by linking their two air lines? Like if I manually move one cylinder halfway then the other would move halfway as well?
Are you not drawing to much power from the microcontroller that might kill it ? just wondering since if you draw more than 40 to 50 miliamps it might shut off i thought
There is a more unorthodox approach to pneumatic cylinders. you can supply a constant low pressure to one side of the cylinder to act as an air "spring" varying the opposing pressure will actuate the cylinder. this limits the potential force you can generate, but makes for a very fast response time, because you don't have to go from atmosphere up to system pressure every time, like when a typical air cylinder switches direction. Not sure how this would behave mid-stroke, Just food for thought.
there might be solution to feedback loop when having one air source coming also release one then if you can connect release the air and coming air as a feedback loop it might help even keeping in and out seperate with 1 release valve and one intake so pressure equals in cylinder
I'm not an expert, but I'm wondering if you can't approach it in another way. Air acts like a liquid, so if you know the total volume of the system, then break down the volume required for each movement, with pressure calculated into it. Could you not then use a solenoid to release the required amount of air to make the required movement? So you're controlling how the air goes in, as opposed to the air going out?
Very late to the game here but I thought Id share this. Ive seen through shaft cylinders that are made to equalize the volume difference between the two chambers. Wether theyre available in your required size I dont know. And the shaft poking out the other end might be a nuisance. But they might help you in this project. If its still on 😁
Do some of the Boston dynamic robots have pneumatic cylinders? That big dog thing has a 2 stroke motor running it must be running a compressor. The other great thing about those cylinders is they are so light
as James stated the big and old ones use highspeed hydraulic systems, which have a lot of negatives but are somewhat required for military service same goes for the combustion motor. The newer smaller and agiler versions use a special in house designed electronic actuator that is able to recycle mechanical energy to some degree. They never used any kind of pneumatic system for long since it is simply to unreliable for analog precision movement. Fine for binary stuff so :-D
Oh James, I got my cart in front on my horse. I went and bought some goodies to try this out and just realized the code on GitHub is for an encoder? Is there code for the potentiometer version you have above? Super cool, btw my Basset hound loves her RC dog walker & I owe it to your Wiper Servo code... I swapped a set of resistors in place of the pot to create a fixed resistance then changed to mapping to 0, 0 so when I let off the stick it automatically brakes :) I had to run each motor controller w/it's own independent Nano because I couldn't work out how to manage two channels and that timer in the code. Anyways, still catching up on all your videos, glad I found you. Best wishes.
It seems weird that the back EMF is killing the Arduino. The relays should provide isolation between the valve solenoids and the MCU. And the relay boards have diodes for the relays themselves and use optocouplers on the inputs, so the Arduino should be protected from the back EMF of the relays themselves, assuming you haven't tied the grounds together. Anyway, snubber diodes on the solenoid valves (or capacitors if they are AC rather than DC). Another thing to remember is that a lot of pneumatic valves are internally piloted; the solenoid just opens or closes a small bleeder valve, and the air pressure itself is used to switch the main valve. That's why the valve datasheets often specify a minimum as well as a maximum working pressure. I'm not sure what that minimum pressure is relative to, though. If it's the difference between the input port and the exhaust port, then trying to modulate the exhaust rate could create enough back pressure that the valve won't switch completely or reliably.
James Bruton Oh wow then that's really odd! Maybe putting a metal shield around the solenoid or Arduino can help. Ferrite cores like you did is also a good idea
@@jamesbruton I didn't see it in the video, but how close together are the components and wires? You might be getting a bit of cross talk via induction.
Could have been posted already but could you remove the two solenoids altogether, put a check valve on each side of the single source t-piece and have a bleed valve on each end between the check valve and cylinder controlled by two servos that you could open each one a bit to release the pressure in each side?
on second thoughts you may need the solenoids behind the check valve to prevent just venting the pressure from the tank when you open the valves, just have them setup almost like you had except have: ---> Solenoid (return blocked) -> Check Valve -> Vent T-Piece (vent to atmosphere) -> Cylinder Top Air Tank -> T-Piece --| ---> Solenoid (return blocked) -> Check Valve -> Vent T-Piece (vent to atmosphere) -> Cylinder Bottom on each side and then block the returns on the solenoid so that no extra air comes out when it is deactivated, the check valve should keep the pressure in the cylinder ends and then the vent lowers the pressure? Having the solenoids active linked to the "fully closed" position of each respective servo so the pressure is held and then pressure stops and vent opens to move either way? you could then even use it to balance the pressure if you had a pressure sensor on each side
Hi James great video your getting close but you might want to have a look at Fisher 3610JP they are old school now but all the parts are there at a size that can be seen
James: this old engineer enjoys your videos, but it is difficult to 'see' the system when it is on the bench. Good old white board system drawings often help understanding. Modeling the system via electrical analogs of mass/spring/damper with Ltspice would be one approach. (As well as instructive for the viewers.) Anyhow- very entertaining, and unique for UA-cam I suspect. You pack much into the videos and at a fairly accelerated rate,... pun intended. I commend your enthusiasm - it makes for a wild ride on this end. Cheers D
The creepage does not occure on 2 seperate air sources because it finds a position wherer the force acting on each side is equal. It still creeps but the one side is slowly compressed and the other one expands until the force on the piston is equal on both sides at which point it stops
But the surface area is still larger on one side, so why doesn't it creep in the same direction after each motion with two air sources like it does with one?
because there is no way for the air to move between the two sides of the cylinder. the only way to reach a stable position is to have a higher pressure on the side with less surface area, compared to the other side, which is impossible with a single tank.
yes but they can change pressure through moving the piston. when the piston moves to the right, the pressure in the right tank rises, as the volume gets smaller and the pressure in the left tank is getting smaller because the volume is getting higher
Awesome puzzles to solve. had to think a bit before i got the creep thing ... different surface areas on the piston (i think you say volume but mean surface area, i maybe wrong)
@@kissingfrogs It fundamentally different though because the creep is always in the opposite direction of the initial travel. With one air source it's always in the same direction and it creeps for much longer.
just wire up two suitable Digital pressure gauges into the microcontroller and balance them properly that way. bung up the higher side with a small drilled hole [Venturi effect] /make a generic ball bearing/marble/epoxy ball inside some larger tubing and have that lay flat on the smaller tubing under gravity for the side you want to shut off, make a generic flat flapper version, "So why does the creep go away" because you don't then have a direct path to both fluids in/out oc the simplest is to just calculate the lower pressure side volume and then bung up the higher pressure side to the same volume with a dummy static solid bung. same max volume in both sides = no trying to self equalise within reason
So why does the creep go away when I use two separate air sources for each side of the cylinder?
Maybe you just have a tiny leak somewhere. How are you checking for that by the way?
@@antondewinter3862 If it were a leak then it would keep moving for ever when air is locked rather than slowing down and stopping?
@@jamesbruton Yeah, fair. Although it might be a leak that only happens above a certain pressure but I'm not sure how likely that is.
Just a thought. Try putting a slight restriction to the flow rate of the big end of the cylinder. I'm wondering if it has something to do with the larger end having more room to fill up quickly and then because air is springy it pushes out quicker than the rod end which fills slowly.
If the above works, then I'd guess that the reason having separate tanks works is because when they're on a single line, air takes the path of least resistance and flows into the bigger chamber, separate tanks, the path is the same.
Isn’t it still one source of air but I think the
hi james really like your show,
may i offer the advice of someone who has to deal with pneumatics on a daily basis
While you are correct it is the surface area of the cylander on one side, on the opposite side it is the surface area of the cylander minus the surface area of the end of the pushrod. (also atmospheric pressure applied to the end of pushrod if you want to get technical). i would use proportional valves and go with pneumatic over hydraulic (water) if you want to completely eliminate creep. the valves open too quickly and allow for too much pressure differential applied too quickly, along with compressable fluid (air) is your problem. also the reason why you have gotten such strange results on your valve switches is that you are changing too many variables proving your prejudice and not testing an hypothesis. change one variable at a time it will be much easier to troubleshoot. also if you do decide to keep the solenoid activated valves and run with pneumatic over hydraulic you might have to deal with fluid inertia. all depends on how fast you want the transit to happen with accuracy.
Light oil is a better option for a lot of reasons, other than making a mess
This is correct. The "plug" in the middle does not have the same surface area, whiuch matters if you're feeding it the same PSI.
did't you mean hydraulic over pneumatic. We had a robotic cell that feed a molded part up small amount each cycle for a robotic arm to grip. the up was controlled by oil. then when all the parts where fed, air was used as a fast retract.
As someone else noted, flyback diodes on the solenoid coils may reduce back EMF to a workable level to stop Arduino from freezing.
The change in creep i think is more related to the changed methodology, rather than 1 vs 2 tanks. Pretty sure it'd be very hard to reach a desired target & have no creep in a pneumatic system with just single on-off actions like you were testing. At the most fundamental level, in order to achieve motion the pressure on the downstream side of piston Must be less than that upstream... simply closing everything up when target is reached leaves you with a pressure imbalance, which will naturally correct itself back to equilibrium. You can see this is solved in industrial electro-pneumatic positioners basically in software - they rapidly adjust & re-adjust pressures to both sides of cylinder as they get closer to target position. Can do same with your system, PID fixes everything!
"OpenDog is an ongoing project. I'm using it as a table" made me snort my tea through my nose more than I'd intended.
What you are finding here is all the reasons why compressed air is not used widely in applications that require precission. There is just way too many variables to make it worth the hassle.
Its great as an instant power source and easy to store, but very hard to control and highly inefficient.
One of your problems could be caused by the hoses, as they expand under pressure, just by squeezing the hose with your fingers you should be able to move the piston. Another by air density changes due to temperature fluctuation while compressing/decompressing. A third by the pressure equalizing after letting go of the switches.
A onehundreth by...
But its an interesting experiment none the less. whats the fun in buying of the shelf gear anyway?.;)
Thanks - yes the main reason for the videos was to answer all the people who ask why I don't use pneumatics for robotics more. Also I have these massive cylinders now so... ;-)
With compresed air and servopneumatics you can Achieve precissions up to +- 0.5 mm on cylinders
Not sure if you have come across the solution yet, however I have an idea.
When air is compressed it heats up and expands. Once you close the fill valves the air inside the cylinder will be cooling and contracting. Because the smaller side has a lower volume the contraction will be greater resulting in a lower pressure than the larger side.
This also explains why separate tanks help.
i like your thinking.
@@kissingfrogs That, and since he's using compressed air that is rested or static (at least in the video) it is probably at room temp. As he releases it from the tank the expansion (and pressure drop) will cause it to drop in temperature. When it absorbs heat from the environment it will expand again. Lots of things going on here.
There's a reason precision positioning systems are hydraulic and not pneumatic.
use some reverse polarity flyback diodes across the terminals on the numatic valves. I think the relay board probably has them built in but if they dont you will definitely need them there as well.
they work by snubbing out the inductive spikes created when switching anything with a coil of wire involved.
I cant help but think with all of Jame's experience he would have used flybacks once or twice before but as they say it pays to never assume
@@kissingfrogs You never know. he seems to be much more experienced with code writing. typically people like that are not the most knowledgeable about builing your own circuits or modifying existing products in that manner. as he typically does not do that sort of thing on his channel. but thats just my guess. and would likely fix the problem if applied
Its not too critical with relays. It will eventually burn the relay contacts, after some years.. Different story if it was a semiconductor driving it..
@@SteveWrightNZ yeah im not talking about protecting what the relay is switching. they are built to handle arcing. however the semiconductors connected to their big inductive coils are not built to handle their spikes.
James, is that a new or used cylinder? Coming from an industrial environment. Seeing that creep on a used cylinder isn't uncommon. And it is usually related to a wore out seal on the piston of the cylinder. Thus letting air bypass the seal until the pressure is equal on both sides of the cylinder. Also, one other thing worth mentioning is with the valves. If they are piloted valves, restrictions in the exhaust on the valve will mess with how the spool shifts inside the valve. This is why some valve assemblies mounted on a manifold base have an option for a separate pilot source. These being less common of course. Also, in practice "real world" per say. There are many things that can contribute to a pneumatic cylinder drifting. In safety systems that require the cylinder stop and stay in place with no drift being tolerated. You can get what is called a rod lock. This is a braking device on the cylinder rod that locks it into position.
10000000x better than the last video!!! No crazy music and panning around 3D models much better format enjoyed this video much more than last thank you for listening to your audience !!!
Well breakfast making machines aren't entirely serious
Fantastic video! It's FAR more interesting to hear the intermediate R&D success and failures to create something that would otherwise be purchased. Open-ended projects like this would make amazing multi-domain subjects for schools.
Did you try to actually put a Load on it? Might fix the creep :)
How about using a regulator on the air coming from each tank? The idea is to have have lower pressure on the side with more surface area in the cylinder. This would provide pressure inversely proportional to the surface areas of each side of the cylinder.
I think, if you use a proper pressure regulator (*NOT* just a flow restriction (g-clamps)) on each end of the cylinder, and adjust them so that the end WITH the rod gets a higher pressure than the end WITHOUT the rod (doing a little math to find out what pressure over the smaller surface in the rod end gives the same amount of work as the lower pressure over the larger surface in the other end), it should work out fine.
I have that exact relay board and have done work with it before. I suspect you're arduino issues are simply from the magnetic coils in the relays, and the solenoids aren't making it worse (they are isolated like you said). The easiest way to make your demo setup more reliable would be to take out the blue jumper in the corner (to isolate the 5V powering the optoisolator inputs from the 5V powering the relay coils), then use a separate usb battery back to power the "JD-VCC" pin. Also remove the ground connection from the relay board to the arduino. So, on the main 10 pin header you sill just have the signals and the arduino vcc connected. The inputs only need to be pulled low (connected to an open drain output) to activate the optocouplers, so you don't need a common ground. This way the relay coils will be isolated from the arduino and you wont get EMF issues from them.
I am well experienced in this area. It ain't the relays. The relay board he is using already has diodes. The issue is the flyback from the solenoids themselves. He is using the same power supply on the solenoids as the Arduino, and it's causing a current drop on the Arduino. Flyback diodes on solenoids will fix it or use a separate power supply for solenoids.
@@JLTSoft Flyback diodes are definitely important, and yes the relay board has them, but they are not a cure all. He is actually using a separate battery pack for the arduino (16:00), and he explicitly said that the solenoids have separate power (including ground) in a patreon post. Basically, the issues you describe are probably correct, except it's the coils on the relays causing issues and not the coils on the solenoids. They are after all, very similar devices.
@@cpirius The only way the Arduino could be affected by the relays is if the power supply can't provide enough current. As I have said, I have used those exact same relay modules and never, ever had a problem with a 12 volt 1 amp power supply and firing all 4 relays at the same time, 10 times a second. If he is using less than that then yes, the current draw from the relays might be causing an Arduino reset. Still has absolutely zero to do with emf. I should know, I designed a production product called the MonsterShield that used these same modules with Arduino's and I literally sold hundreds of these for haunted houses and yard haunts for controlling complex pneumatic animatronics and used them in my own haunt. I even did up to 8 of these modules with 32 relays (albeit with a more powerful power supply)
This comment may be a year late. Use two pressure regulators. Set the lower surface area side higher then the larger side. Remember PSI is pounds per square inch. So the pressure difference would be at the same ratio as the two surface areas. Essentially you want the force on both sides to be the same. With this done there will be no creep. Example: if you have 1 psi on a 10sq.in surface and this is acting on a 1sq.in surface pushing into a sealed chamber. The sealed chamber would have 10psi inside it. All movement will stop once the sealed chamber reaches 10psi. I think this is why when you had two air sources, you didn't see any creep. One was higher in pressure then the other. And by luck it just so happened the lower surface area side was higher in pressure.
Great job James! I really enjoy these type of videos where you bring us along in your R&D process.
Do you have back EMF Diodes on the coils of the valves?
James please be sure your pneumatics are properly greased. It not only lubricates but it also seals. I don't see any signs of leaking, but I can see that your piston is jumping as the force applied overcomes the friction holding it in place. Also could you please tell me at what position the 2 sides have equal volume of gas? food for thought: the steel bar of the piston must be treated as a non compressible, you could demonstrate it as a liquid if you wanted to.
My curiosity was killing me, If you deliver 32.25% more pressure to the bar end, the actuator's seal would be center of the pistons travel.
As at equal pressure the technical center is the 'average distance' between the piston seal and the volume of rod(32.25% of the cylinder's volume dynamically) which you could determine as simply as measuring as its length within the travel.
Instead of the output-reduction-thingamabob why do you not use the restrictors that are built in to the cylinder? It's the tiny screw besides both inlets. It restricts the flow going out. And on the output of the solenoid you have a silencer.
thats exactly what he already created...
So basically you 3D printed a table :p :)
Im fairly certain the small amount of movement you're still seeing after using the two compressors is due to the momentum of the cylinder. And that (i think) would be why with the motion smoothing of the servo helped so much.
Try using smaller diameter piping that has harder/stiffer wall, the larger diameter pipe will act as a storage tank and will expand with pressure, the smaller diameter pipe will also restrict the flow for better control. Think of it like water pipe knock when you turn the tap off quickly, the momentum of the water that has to stop, air is similar but not as dramatic as it can compress and if the walls of the pipe is not rigid the it will expand slightly because of a pressure spike. Hope this might help point you in the right direction.
Is the creep because of leakage past the rod end rambar seal? Air rams are not really designed to be 100% sealed like a hydraulic cylinder, and to get the cost down the sealing is often er,a bit lacking. Normally, when you just wang it to the end stop (
Look at the air as electricity. The small tank of the compressor causes a quick drop of psi acting like a under voltage. The two tanks in parallel give you the current flow or volume to keep your psi high for a longer time. You compressor might turn on at 100 psi and turns off at 120 psi. Intern giving you a broad range of voltage or psi. Use a regulator on the output of the tank and turn you compressor setting higher. This should give you more constant levels of psi.
Just want to throw this in cause didn't see it in comments. Also remember the tubing itself can swell with pressure causing "sponge-ness" when compressed. This is even why high-end car brake lines are braided to prevent swelling. I would definitely try shortening all those lines and place solenoids as close as possible to the cylinder. No expert here, just a thought.
As stated below the surface area of the piston is smaller on the rod side because the rod takes up some of that area This is what causes the force imbalance.
i recommend push to fit fittings (plastic), for proto typing it makes it a lot easier, and they work pretty well for permanent builds too.
You don't need 2 separate air sources, you need 2 different pressure regulators. Let me explain
Lets assume that's a 1.5 inch cylinder, with a 0.75 inch ram, and your driving it with a typical air compressor output of 125 psi. one side of the piston will have a surface area of 1.77 square inches. the rod side of the cylinder will be the same, minus the area the rod takes up, thus it will have a surface area of 1.33 square inches. If you apply the same 125 psi to both sides, the rod side will have 165.9 pounds of force pushing one direction, while the other side will have 220.9 pounds of force pushing the opposite way. That's a ridiculous 55 pound difference.
Since air is a compressable gas, after you close all the valves the piston will try to balance itself, it will creep over untill the two sides are at equilibrium.
If you feed the ram side with 125 psi and the back side with 93.8 psi. both sides would be opposing each other at 165.9 pounds of force, and your creep will go away.
Some things to note,
changes in Air pressure = changes in cylinder force
changes in air flow = changes in cylinder velocity
always adjust the flow on the exhaust side of the cylinder (wierd jerky stuff happens otherwise)
air is a compressable gas, your system will always have some "spring" in it, the more volume the more spring.
To finally answer your question, your piston volume to air reservoir volume is less than idea, also your tanks are not the same size and the back end of the piston consumes more air (no rod, more volume.) so as you ran it, the pressure in the back side tank dropped faster, creating the more idea situation I just explained.
to cure the "spring" issue, air-over-oil systems are used. air on one side of a piston, pushing out oil on the other through a metering valve. super accurate, super controllable, potentially super messy. oil is non compressable, and meters more predictable than air.
You're on the right track, Try making a second proportional valve and segregate the 2 outputs, and feed it with the 2 different pressures I think you'll be pleasantly surprised. A 5/3 valve everyone keeps going on about is not going to give you the level of control you're looking for, not with pneumatics anyway, hydraulics are another story. and a couple snubber diodes should fix your arduino issues.
I agree with everything in your post, as I said in my own, but you've expressed it much better than I could.
I have a question, though, and this is a genuine question, not a troll or attack.
When he uses ONE air source, and supplies the same pressure to both ends of the piston, there is constant creep in a constant direction, until the piston tops out. When he uses TWO air sources, even with the SAME PSI in each .. there is no creep. This makes it seem like the actual pressure is not an issue, at all. It must be something to do with the air being in a circuit that can feed from one side of the cylinder to the other. It's just .. weird.
What I have done when trying to hold an air cylinder position is to put a pressure regulator on each port of the cylinder so I could adjust for the force difference. Either by turning down the pressure to the piston side or turning up the pressure to the rod side.
Have you considered cheesing your volume/surface area balance by shortening the tube to your high volume chamber and lengthening the tube to the low volume? It won't help for practical application but it will eliminate some variables for testing.
Really very interesting, it gives me a lot of idea for the control of hydraulic circuit!
Can you tell us more about the program and the PID?
Thank you.
being surrounded by so many cool projects must be really fun, looking forward to the next video :)
James, Thank you for providing all these contents. So much to learn form them. Currently I am working on force control using a frictionless pneumatic cylinder. I needed some help on that, can we connect please?
surface area of one side of cylinder is 1, surface area of opposite side is 1 minus area of rod cross section.
the volume of air in one side of the cylinder will be larger than the other. the volume of air the rod takes up makes a good deal of how fast it will pressurize and the surface area of work being done is smaller.
cool experiment.
Can you experiment with making baffles to put inside the exhaust side of your proportional valves to muscle the sound?
Hello James! Great job. You can make system more controllable by setting control valves without tubes - close as possible to cylinder. And use stell tubes. All actions in pneumo sistems have a speed limit - speed of sound. So if you control system close a solenoid - you have a time delay before pressure in cylender change - becaose you have relatively long line connecting control valve and cylinder. also - may be interesting to implement a position feedback sensor right in cylinder. Taht must be a ultrasonic rangefinder or something else. Measure range from cylinder bottom to piston... Anykind - very interesting video. Thanks a lot. Sorry my bad English.
Hey James!
Your relay board has optoisolators, that should prevent the emf from getting back to the arduino. Remove the VCC to JD-VCC jumper and power it from an external source through the JD-VCC pin!
Put diodes in paralell in reverse so it is blocked when applying power and shorts out the back emf when power is off or use a resistor in parralell to take only the biggest spike.
Diode would most likely be best (that is used in many cars directly in the relays )
Also you could use two more of that electric air valves just plumbed to the exhaust side of the other ones and have it to blok the air
Look at this picture for an example
i.stack.imgur.com/IUn5v.png
I have played a little with relays to check the back emf on a oscilloscope and without anything and just disconnecting i got about 70v spike on a 12v energized relay.
With a diode in parallel i got almost nothing it was a 12 point something source and only gaimed about 0.07volt if not less and that is an extreme difference.
You can use a 3 position open center valve and a couple pilot operated check valves
Could you try it with no input vaulves at all? Straight from the separate air sources to the cylinder ends with your proportional release on each. And then moving in one direction you just release pressure from that end. Would be interested to see how that works.
Maybe try to feed the lower side of the ram with air via a separate regulator set lower to account for the difference in surface area and force of the two directions this way they should also be able to be fed from the same air source as a regulator won't back fill a tank if it gets a pressure rise on it's input it would vent to atmosfear ,
I would try the following layout
Compressor - regulator and split the line here to the separate sides of the ram but just before the lower side valve another regulator to lower pressure for that larger end this I think would eliminate creep and give equal force in both directions also giving a more forgiving and predictable control
The metal bar could have some holes and you could use something like a coil to lock a pin or unlock in certain positions for more strength.
It's unequal surface area not volume causing the creep. The rear side of the piston has a full circle to push against vs the donut shape on the front end
the creep could also be due to the tubing expanding and shrinking under pressure. with EMF, why not reversed diodes to clamp the EMF spikes?
you would probably need to go with a closed loop system. instead of venting the air, you would have to connect it to the intake of your compressor. But than you would need a mechanism that would switch input and output hoses to move cylinder in opposite direction.
I think you need to accurately measure and PID control the pressure using two (both pressurise and relief) proportional valves on each side - 4 valves in total. Then another PID driving the two pressures from the position. Add recuperation valves for optimisation.
I'm not sure this solves the issue but would be interesting to see.
Use a combined screw and pneumatic system. With a pneumatic thing between two screw valves. (parallel to them) and use the strength of the pneumatic arm with the accuracy of the screw valve to keep it in place against any creep etc.
Would putting the proportional valves between the solenoids and the cylinder help? They could hold the pressure and adjust to stop creep, If you used a servo on each to adjust the pressure.
I like the way it moved and then backs off a little bit (Creep). with the 2 tanks. Can you just use that to your advantage in the mechanics?
Have you thought of replacing the two solenoid valves with two of your servo controlled valves to create proportional ones ?
I think I'd need four since I have to let air in and out of each side of the cylinder
Did you put a reverse biased diode across the valve coils? To eliminate the back emf.
Do you have a diode across the solenoid terminals? It might be the voltage spike caused by the inductance of the solenoids that kills the arduino. You can also put something like 10E resistor in series with the solenoids to reduce the peak current.
you have to keep in mind that air unlike liquid can be compressed so you will always have a bit of play in your system, but that's meaby good thing because your robot will not break from a fall or something
So do people agree that there would be less creep if the rod tapered down to a small foot print where it attaches to the piston or is it a function of both reduced volume and reduced effective piston surface area on the rod side.?
well the rod does take up some of the surface area on the right side... I think the creep might be a combination of the different surface area and the fact that the sides are not evenly pressurised after the movement, since there is overpressure on the one side, and slightly lower on the other due to the exaustion
Yep - so why does it go away when I use two air sources?
What I think ist that when both valves are open, the pressure has more force on the left side. since there is pressure applied to the check valve it might be open just a bit, letting higher pressure air then the compressors out, further feeding the Left side. with 2 sources the pressure cannot backflow to the other side, and the effect would not take place
Is there any creep in the centre of the actuator and is the creep always in the same direction because it may be a problem with how the air is regulated before the solenoids
btw, if you had a Double Rod Air Cylinder (rod at both ends) the surface area would be the same. Also, more accurate if you use oil which is noncompressible. Make sure the seals are oil compatible. Definitely use the 5 way valves.
The Arduino lockups are because you don't have flyback diodes on the solenoid lines. When the solenoid is switched on or off, you can get a momentary burst of current flow because of the magnetic field collapsing... 2 ways to solve. First is to use diodes across the leads of each solenoid. Mkae sure the direction is correct. Second way is to use a separate power supply just for the solenoids. That will prevent the current draw from causing the polyfuse on the Arduino to reset.
Take a look at the way the Saab Draken hydraulics work, they did it completely without electronics.
Can I theoretically actuate one cylinder with the motion of another identical cylinder by linking their two air lines? Like if I manually move one cylinder halfway then the other would move halfway as well?
That maplin power supply just reminded me of my time in London.
Try to measure pressure on both sides, this will give You a lot of options to control this more accurately. Regards.
Use a encoder scale on the rod and just do a count on the power up so you can index the the length and its position
I have had lots of problems with resetting Arduino”s and relays. Putting a “snubber” over it seems to resolve it.
I wish more people would do their R&D. Great Video!
To stop the arduino from freezing. Just put a diode between negative and positive on each valve, with the diode facing towards positive
My inner Bevis and Butthead is on overdrive today. First SciManDan drops an innuendo and now James 'has loads of three ways" :)
Great progress with this
YES! he included the correction about the pressure vs area!^^
Are you not drawing to much power from the microcontroller that might kill it ? just wondering since if you draw more than 40 to 50 miliamps it might shut off i thought
Did you do any calculations when designing the dimensions of the fourbar you used to actuate the proportional valve? Or did you just eyeball it?
I just make it up as I go along
There is a more unorthodox approach to pneumatic cylinders. you can supply a constant low pressure to one side of the cylinder to act as an air "spring" varying the opposing pressure will actuate the cylinder. this limits the potential force you can generate, but makes for a very fast response time, because you don't have to go from atmosphere up to system pressure every time, like when a typical air cylinder switches direction. Not sure how this would behave mid-stroke, Just food for thought.
I really like these kind of videos. Great Video!
there might be solution to feedback loop when having one air source coming also release one then if you can connect release the air and coming air as a feedback loop it might help even keeping in and out seperate with 1 release valve and one intake so pressure equals in cylinder
I'm not an expert, but I'm wondering if you can't approach it in another way. Air acts like a liquid, so if you know the total volume of the system, then break down the volume required for each movement, with pressure calculated into it. Could you not then use a solenoid to release the required amount of air to make the required movement? So you're controlling how the air goes in, as opposed to the air going out?
if it is the volume difference why don't you use a longer hose on the side that has smaller volume?
Some non-return valves only work properly if kept in a certain orientation due to gravity.
Very late to the game here but I thought Id share this.
Ive seen through shaft cylinders that are made to equalize the volume difference between the two chambers.
Wether theyre available in your required size I dont know. And the shaft poking out the other end might be a nuisance. But they might help you in this project. If its still on 😁
Do some of the Boston dynamic robots have pneumatic cylinders? That big dog thing has a 2 stroke motor running it must be running a compressor. The other great thing about those cylinders is they are so light
The bigger ones are hydraulic.
as James stated the big and old ones use highspeed hydraulic systems, which have a lot of negatives but are somewhat required for military service same goes for the combustion motor.
The newer smaller and agiler versions use a special in house designed electronic actuator that is able to recycle mechanical energy to some degree.
They never used any kind of pneumatic system for long since it is simply to unreliable for analog precision movement. Fine for binary stuff so :-D
What about hydraulics?
When can we expect the flux capacitor finished?
Oh James, I got my cart in front on my horse. I went and bought some goodies to try this out and just realized the code on GitHub is for an encoder? Is there code for the potentiometer version you have above?
Super cool, btw my Basset hound loves her RC dog walker & I owe it to your Wiper Servo code... I swapped a set of resistors in place of the pot to create a fixed resistance then changed to mapping to 0, 0 so when I let off the stick it automatically brakes :)
I had to run each motor controller w/it's own independent Nano because I couldn't work out how to manage two channels and that timer in the code.
Anyways, still catching up on all your videos, glad I found you.
Best wishes.
It seems weird that the back EMF is killing the Arduino. The relays should provide isolation between the valve solenoids and the MCU. And the relay boards have diodes for the relays themselves and use optocouplers on the inputs, so the Arduino should be protected from the back EMF of the relays themselves, assuming you haven't tied the grounds together. Anyway, snubber diodes on the solenoid valves (or capacitors if they are AC rather than DC).
Another thing to remember is that a lot of pneumatic valves are internally piloted; the solenoid just opens or closes a small bleeder valve, and the air pressure itself is used to switch the main valve. That's why the valve datasheets often specify a minimum as well as a maximum working pressure. I'm not sure what that minimum pressure is relative to, though. If it's the difference between the input port and the exhaust port, then trying to modulate the exhaust rate could create enough back pressure that the valve won't switch completely or reliably.
For the back EMF from the coil. Use a simple diode in parallel with the coil. It will stop the current from going back in the arduino board!
It's already isolated by relays and on a separate power supply. So there's no direct connection.
James Bruton Oh wow then that's really odd! Maybe putting a metal shield around the solenoid or Arduino can help. Ferrite cores like you did is also a good idea
@@jamesbruton I didn't see it in the video, but how close together are the components and wires? You might be getting a bit of cross talk via induction.
Just add a diode in parallel with coils. I was doing the same thing and it was awfully annoying having Arduino stuck every few solenoid clicks.
I think a solinoid solinoid 5 2 valve would be useful to control the double acting cylinder
Could have been posted already but could you remove the two solenoids altogether, put a check valve on each side of the single source t-piece and have a bleed valve on each end between the check valve and cylinder controlled by two servos that you could open each one a bit to release the pressure in each side?
on second thoughts you may need the solenoids behind the check valve to prevent just venting the pressure from the tank when you open the valves, just have them setup almost like you had except have:
---> Solenoid (return blocked) -> Check Valve -> Vent T-Piece (vent to atmosphere) -> Cylinder Top
Air Tank -> T-Piece --|
---> Solenoid (return blocked) -> Check Valve -> Vent T-Piece (vent to atmosphere) -> Cylinder Bottom
on each side and then block the returns on the solenoid so that no extra air comes out when it is deactivated, the check valve should keep the pressure in the cylinder ends and then the vent lowers the pressure? Having the solenoids active linked to the "fully closed" position of each respective servo so the pressure is held and then pressure stops and vent opens to move either way? you could then even use it to balance the pressure if you had a pressure sensor on each side
Hi James great video
your getting close but you might want to have a look at Fisher 3610JP they are old school now but all the parts are there at a size that can be seen
hi james, some circuit diagram to crack nuts without breaking the product.
Can we control pneumatic cylinder which is connected to solenoid by using only arduino and relay
You need to add some Opto-isolators for those relay controls so you don't get that back EMF issue.
They are already isolated by relays and separate power
When you gonna finish the open dog project (make it walk)?
It's not easy to 'finish' but part 14 comes up in two weeks (or in one week for Patrons).
James: this old engineer enjoys your videos, but it is difficult to 'see' the system when it is on the bench. Good old white board system drawings often help understanding. Modeling the system via electrical analogs of mass/spring/damper with Ltspice would be one approach.
(As well as instructive for the viewers.) Anyhow- very entertaining, and unique for UA-cam I suspect. You pack much into the videos and at a fairly accelerated rate,... pun intended. I commend your enthusiasm - it makes for a wild ride on this end. Cheers D
Hey James,
I was watching Short Circuit tonight & thought ... Johnny 5 would be an amazing build!
Use crossed PO checks and servo controlled meter out flow control
The creepage does not occure on 2 seperate air sources because it finds a position wherer the force acting on each side is equal. It still creeps but the one side is slowly compressed and the other one expands until the force on the piston is equal on both sides at which point it stops
But the surface area is still larger on one side, so why doesn't it creep in the same direction after each motion with two air sources like it does with one?
because there is no way for the air to move between the two sides of the cylinder. the only way to reach a stable position is to have a higher pressure on the side with less surface area, compared to the other side, which is impossible with a single tank.
@@hansdietrich83 But the tanks are the same pressure - because they were charged connected together.
yes but they can change pressure through moving the piston. when the piston moves to the right, the pressure in the right tank rises, as the volume gets smaller and the pressure in the left tank is getting smaller because the volume is getting higher
@@hansdietrich83Pressure is let out of the right tank as the piston moves right, so the pressure doesn't rise there.
Create a split in the outlet to control the release better
You could just use a second valve for each side, isolating the dump tube.
Awesome puzzles to solve. had to think a bit before i got the creep thing ... different surface areas on the piston (i think you say volume but mean surface area, i maybe wrong)
That it - but why does it go away if I use separate air sources?
@@jamesbruton that is a good puzzle as it does seem to go away completely with two sources.
@@kissingfrogs It fundamentally different though because the creep is always in the opposite direction of the initial travel. With one air source it's always in the same direction and it creeps for much longer.
Colin Furze does loads with plumbing. Maybe another collaboration video might be an idea
just wire up two suitable Digital pressure gauges into the microcontroller and balance them properly that way.
bung up the higher side with a small drilled hole [Venturi effect] /make a generic ball bearing/marble/epoxy ball inside some larger tubing and have that lay flat on the smaller tubing under gravity for the side you want to shut off, make a generic flat flapper version, "So why does the creep go away" because you don't then have a direct path to both fluids in/out
oc the simplest is to just calculate the lower pressure side volume and then bung up the higher pressure side to the same volume with a dummy static solid bung.
same max volume in both sides = no trying to self equalise within reason