Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI USB-6229 making unused output channels floating

Solved!
Go to solution

Hello!

 

 

I have a NI USB-6229 DAQ-card and I want to generate a current (I'm using shunting resistors) and injecting it into a network of resistors. While doing this I also want to measure 6 potentials at some of the nodes on the network. This procedure is then repeated four times and for each new measurement set I want to change the current injection node.

I have managed to make a flat sequence version that works kind of "semi-automatic", i.e.. I  manually move the connector for the current injection but,

now I would like to have the program doing this for me. The problem I face then is that I have to connect all of the analog output channels to my network and I can't make them floating. So to make them floating I need to make the voltage over the temporarily "unused" shunting resistors go to zero. I was thinking about making a while loop that regulates the voltage, but then how do I exit the loop while still having it regulating the voltage?

Is there perhaps a standard solution to this problem?

 

Thanks in advance!

/
Emanuel

0 Kudos
Message 1 of 5
(3,053 Views)

Emanual,

 

Floating is not the same as zero.  I am not sure I understand exactly what you want.

 

Diodes or relays or analog switches can isolate parts of a circuit from other parts by changing voltages.

 

As you have noticed, the sequence structure is very inflexible. This is one reason why many LV programmers avoid them.  The while loop with a case structure inside can be used to implement a state machine.  This is the closest to a standard solution you will find.  You do need to customize it to your requirements.  Look at the examples which come with LV and search the Forum for many, many posts on the topic.

 

Lynn

0 Kudos
Message 2 of 5
(3,045 Views)

Thank you for the fast response Lynn!

 

Hmm.. perhaps I was a bit unclear.

I attach a picture of what I'm trying to measure.

What I meant was that I want the voltage drop over the shunting resistors to be zero, so that no current flows through them.

What happens here?

1. I inject the current I1

2. I measure all potentials at the nodes (where there are shunting resistors I measure between them and the network)

3. I inject the current I2

4. I measure all potentials at the node

and so on four times.

I am seeking a way to make U_R = 0 by pulling U_comp up. The source for U_comp is AO2 on my DAQ which I use to inject the third current, but at the first (and second) measurement it should be floating. The same goes for all AO that are not currently in use.

I shall look at the posts on state machines.

problem.JPG

0 Kudos
Message 3 of 5
(3,034 Views)
Solution
Accepted by topic author EmGu

That is much more clear.  Thank you.

 

If all your applied voltages, including the voltages applied to generate the currents I1 and I2, are positive, then you could use diodes to rpovide the isolation.  You are already set up to measure the voltages, so it should be feasible to compensate for the diode voltage drops.

 

Another approach would be to operate the voltages in potentiometric mode to make the currents zero. Let me define some terms using your diagram: V1 = voltage applied to create current I1. V1n = voltage at input to network in the I1 branch circuit when current I1 is flowing. From Ohm's law I1 = (V1 - V1n)/Rshunt.  Similarly V2 and V2n refer to the voltages related to current I2.  To set I2 = 0, V2 = V2n.  Of course the voltage at V2n will depend on the voltages and currents elsewhere in the network.

 

To get to the operating points you want will require an iterative process.  Let's look at the case where I1 = 1 and all other currents are zero.  The procedure might look something like this: 

1. Apply V1. Set all other voltages to zero.

2. Measure V1, V1n, V2, V2n,... 

3. Calculate all currents.

4. Calculate all voltages to change the currents to the desired values, using the assumption that the V[i]n voltages do not change.

5. Apply voltages calculated in step 4.

6. Repeat from step 2 until the new voltages calculated in step 4 are close enough to the values from the previous iteration.

 

If the network is linear, and the values are not too extreme, this will probably work.  If it does not, you may need to analyze the network to see if its admittance matrix is singular or the range of values is too wide.

 

A state machine would be a good program architecture to implement an algorithm like this.

 

Lynn

Message 4 of 5
(3,025 Views)

Thanks again Lynn!

 

Diods.... why didn't I think of that?

 

0 Kudos
Message 5 of 5
(2,992 Views)