From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using multiple channels on NI-9474 to control a electromagnetic valve

Hello, 
I´m using a c-daq 9178 and a NI 9474 card to control an electromagnetic valve. To fully open the valve, you need at least 2.5 A. I need to operate the valve in the full range, so I must be able to set a current between 0 – 2.5 A. Since one channel of the NI 9474 can only deliver 1 A max, I need to use three channels of the NI 9474 card. So, this is where my problems start. If I use three times the “DAQmx Create Channel.vi”(ini_valve_output_control.PNG) the 3 channels start at different times (tek00024) and because of the Duty Cycle behavior I don’t get the current I need (tek00023).

After analyzing this behavior I implemented a delay of 2 ms and 4 ms in the first two “DAQmx Create Channel.vis”. This solved my issue at the beginning, but when I operated the valve for some time, it looked like the the different currents from each channel shifted and I got the same problem again that I don’t have the desired current.

Problem here is, that you can’t predict the shifting. Since the valve opening angle is set by a corresponding current. Means no current -> Valve closed. 2.5 A -> Valve completely open. Furthermore, the valve is used to set the system pressure. Therefore, because of shifting in the current I have a different system pressure. 

Download All
0 Kudos
Message 1 of 7
(2,454 Views)

Attached you can find the VI

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

Hi Ruediger,

 

somehow I gave the same advice someone else some days ago:

Why don't you use a MOSFET as an amplifier (or a SSR or any other circuit capable of driving 2.5A) and use just one CTR output? No hazzle to synchronize 3 outputs…

 

Btw. what is the purpose of that WHILE loop? Use a feedback node for the DAQmx reference and remove the loop…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 3 of 7
(2,448 Views)

 Hi GerdW,
thanks for the fast response. Yeah that was probably my supervisor. 
For me it's about understanding how it works, why in this case it doesn't work. If I have a look into the manual I can see that increasing current works easily by wiring the channels in parallel. Having done that I can say, that this is not the case. How would I have to continue if I want to make work, using just the NI 9474?

 

Thanks for your help! 

0 Kudos
Message 4 of 7
(2,444 Views)

Hi Rüdiger,

 

setup a task containing 3 DO channels (plain DO, no CTR).

Switch those DO each 100ms and check with your scope how synchronous they switch…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 7
(2,430 Views)

Hi GerdW,

thanks again for your reply!
I tried this one, and the current looks way better. But now I have the problem, that the current is oscillating on a bigger time constant, this causes my system pressure to oscillate as well. So I think Counter is the better way to go. You have any other idea how I can approach this topic just using the NI-9474?
Is it in general possible to ensure that the 3 counter work simultaneously for the whole time? Because in my first post I stated, that in the beginning I had the 3 counters working simultaneously but over time they lost synchronisation.. 

Thanks again for your help   

0 Kudos
Message 6 of 7
(2,416 Views)

Hi Rüdiger,

 

using an external amplifier with just one CTR channel will solve all your problems...

 

An oscillating current is no problem of the NI9474: it basically is operating as a switch. The current is determined by the power supply and your valve.

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 7 of 7
(2,406 Views)