Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

switching pneumatic solenoid valves using USB 6008

Hi, 
I am a student working on a project in which I need to built a program to control/switch  pneumatic solenoid valves to oporate on a pneumatic cylinder using the USB 6008 I am very new to LabView and DAQ.

The solenoid has two ports, one for extending the stroke arm of the pneumatic cylinder and the other for collapsing the stroke arm.as the solenoids works off of a 12V supply I have bulilt a darlington pair as a firing circuit for it.


I have had built different programs but I'm only able to  send a signal to extend the stroke arm  and then manually switch the wiring to collaps the stroke arm. So I have problem building a program that sends a signal to my circuit in such a way that ports of the solenoids go ON and OFF after a certain time.

 

 

I really appreciate your help

Elmira

 

 

 

 

Elmira
0 Kudos
Message 1 of 7
(7,360 Views)

Elmira,

 

Do the solenoid valves vent the cylinder when they are de-energized or do you need to release the air some other way?

 

If you do not have datasheets for the valves, you can run simple tests by manually switching the power to the valves.

 

Be careful! If you break the circuit (disconnect the wires) while the solenoid is energized and you are touching the wires, you could get a nasty shock!  It probably would not kill you, but that is not an experiment you want to try.

 

Are ths solenoids rated for continuous operation or only intermittent operation?  Does the cylinder maintain its position if neither port is pressurized?

 

The reason for my initial question is that you need to know how many different states your system needs. It is possible that you have written code which is not trying to do what is actually required.

 

< Lecture mode = ON > The best way to get a program to work is to use a systematic process to design it before you code it.  First define what the program should do, including error conditions and users trying to make it do something beyond what you planned. Then break that description down into smaller parts until each part is simple enough that you know how to write code for it. Then write the code for each part.  Put all the parts together and the program works (well, it should be close).  < Lecture Mode = OFF >

 

When you are sure of your requirements, please post your code and tell us what it is supposed to do and what it really does.  Saying "it has a problem" does not help us help you.

 

Because this is a student project, you are expected to do the work so that you can learn. We will help you learn but will not do the project for you.

 

Lynn

0 Kudos
Message 2 of 7
(7,355 Views)

Dear Lynn,

 

Thank you for your replay.

Actually I'm not writing codes. I'm using VI and block diagram from Labview.

 

The solenoid has 1 input and 2 outputs that go to the cylinder. Basicaly we need to control the air that flows into and out of the cylinder to either move it or lock it in a position. So if I understand your question properly yes, the solenoid vents the air out of the cylinder.


I don't have datasheets for the valves, and I've been running simple tests by sending analog signal through analog ports of the DAQ  as well as tests with the digital port, they both work but I guess my question is how do I go about controlling this with motion? I might eventually need to have acceleration and position feed back from accelerometers into the controller but for now I am trying to just controll the movement with switches.

 

The solenoids are ratet for continues operation.

The cylinder chosen has a stoke length of 19.7” and a bore size of 1.6” capable of operating under 130psi, the different states of the cylinder are fully extended, fully collapsed and as many position in between as possible.

 

So I was hoping if you could give suggestions on controlling the solenoid i.e what blocks do you suggest to use in VI or are there any toturials related to similar works?

 


Elmira
0 Kudos
Message 3 of 7
(7,349 Views)

Elmira,

 

I am not sure I understand your system yet.  Do you have a pneumatic diagram showing how the cylinder and solenoid valve(s) are connected.  FRom your first post I though you had two valves but now it sounds like one.  Is this a servo valve system which allows continuous adjustment of the pressures on each end of the cylinder?

 

Wiring your block diagram in LabVIEW is sometimes called "writing code."

 

Can you give an example of the time and position profile you want and the voltages you need to apply to the solenoid(s) to get that profile?

 

Lynn

0 Kudos
Message 4 of 7
(7,344 Views)

Dear Lynn,

 

Thanks for the replay.

I'm gonna try to best describe my system this time;

I'm trying to creat pitch motion  using a pneumatic system including an air compressor, a solenoid valve and a cylinder.

The compressor is made by PowerFist and is capable of storing 5 gallons of air under a rated pressure of 125psi and can deliver 2.5cfm (cubic foot per meter) at 90 psi. The compressed air is sent directly to the solenoid valve. It operates using an electrical motor operating from a standard 110V power outlet.The cylinder has a stoke length of 19.7” and a bore size of 1.6” capable of operating under 130psi.

The solenoid valve used is  5-way 3-position. This means that there are five different ways the air flows inside the solenoid and the solenoid can set in three positions depending on the movement of the mechanical core inside. When air is transferred into the valve the mechanical core moves directing the air to the appropriate ports of the solenoid. The two outputs of the solenoid are sent directly to the pneumatic cylinder where extension and collapsing movements can be performed. the solenoid works off of a 12V supply so I'm using darlington pair transistor as the firing circuit .

 

Please see the attach for the pneumatic diagram.

 

Thank you

Elmira
0 Kudos
Message 5 of 7
(7,330 Views)

Elmira,

 

Your solenoid valve has two coils and three mechanical positions. There are four possible combinations of energizing the coils: (both off), (left off, right on), (both on), and (left on, right off).

 

My guess is that the (both on) condition holds the cylinder in position. The two cases where only one coil is energized provide motion and the (both off) case vents the system allowing the cylinder to move without pneumatic force.  Intermediate positions are determined by the time one coil is energized and how much resisting force exists in the load.

 

Regardless of the accuracy of my guess, you need to define what the software needs to do under each condition.  So extension will be defined in terms of which coils are energized. Similarly retraction is probably the opposite set of coils. You probably need a position sensor or if the motion is predictable enough, a timer, to determine when to stop a particular motion.

 

Once you have these definitions, then you can begin writing your program. I suggest that you learn about the state machine architecture because it is very appropriate for this kind of system and is easily modified when the requirements change.

 

Lynn

0 Kudos
Message 6 of 7
(7,322 Views)

Hi

 

Thank you Lynn.

Elmira
0 Kudos
Message 7 of 7
(7,320 Views)