LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I output voltage based on actuator's position read from position transducers?

Hello

 

 

I have an actuator that extends at about 0.7 seconds for the entire stroke of 12 inches.

 

We read the Position transducer at 0 to 5 Volts. Meaning when I read 5 Volts the actuator is fully extended.

 

 

I want to set the voltage for load output based on the position of the actuator.

 

How can I read the position voltage and at the same time out put different load voltage based on that position.

 

Example: for position  0 I may need to have 2 volts which equal 4000 lbs.  At a  position of about 2 volts I may want to output only 1 volt or 2000 lbs (Based on a 10k Load cell)

 

 

 

Please see sample trace of a similar test.

 

Thanks

JCollado
0 Kudos
Message 1 of 5
(2,811 Views)

You have to provide a bit more details.  Do you use a DAQ device to input the voltage from the position transducer?  If so, does it also have analog outputs?  WHich make / model is it?

 

How did you code your acquisition?  Are you getting all your data samples from a single buffered read or are you reading the data within a loop inside your code?  What granularity are you looking for between the position and the voltage output?  In other words, do you want to adjust the output voltage for each and every position transducer data that is taken?

 

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

Hello

 

Actually I have not created any vi for this yet.

 

I don't get to work with labview Much and I'm not really sure how to start on this function.

 

The output doe snot need to be for each single point of the position.  The current dos program they are using only has about 25 outputs at different points.

 

So if the position is at position 1.5  the output may be 1 volt and stays there until the next change  maybe at position 2.0.

 

 

If the position is between 1.5 and 2 then the output should be 1 volt.  This of course in real time.  We were thinking of using a card PCI-6221.

 

 

The rate can be 5K

 

Thanks

JCollado
0 Kudos
Message 3 of 5
(2,803 Views)

The basic function is to generate a signal that can be used to control the load in the
closed-loop fashion during the endurance/life cycle test of a hydraulic
actuator. As the actuator-under-test (AUT) is cycled between the fully
retracted and the fully extended position the application will output a continuous
signal that follows the contour of the specified load vs. stroke curve. That
signal when fed into the command  input of the servo controller of the
load servoactuator coupled with the AUT allows reproducing any theoretical or
field recorded load profile.

 

the application continuously acquires the AUT position and stroke direction and based on that
measurement generates a DC signal of the magnitude a scaled equivalent of the
load value defined for that position by the actuator load vs. stroke curve.

 

   The load vs. stroke curve approximated by straight-line segments can be loaded into the program from
file or entered manually as a list of each load curve segment end point
coordinates. Any new curve entered manually can be saved as a file and later
edited and re-used.

JCollado
0 Kudos
Message 4 of 5
(2,790 Views)

Since you have the curve as a list of points/segments, it is relatively easy to implement a table lookup.  If the curves are monotonic, the Threshold 1D Array could find the index of the desired load value from the position measurement. For multivalued or hysteretic curves it is somewhat more complicated but the same idea, applied to the appropriate segment of the curve would work. Put the data in a 2D array (or two 1D arrays of equal lengths).  Row 0 contains the position values and Row 1 has the voltage values requied to provide the specified load at that position.  Index out Row 0 and apply the Threshold function. Use the output to index the same column in Row 1 for the voltage.

 

Lynn

Message 5 of 5
(2,783 Views)