Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use "Configure Motion Completion Criteria"

I am trying to direcly create a feedback loop on a servo using Flexmotion VI's.
 
I have configured the axis to look at a specific ADC input as primary feedback, but cannot find a way to tell it the goal voltage or when the move has :"completed".  The configure "Motion Completion Criteria" permits me to set a deadband around a specified value, but I cannot find how to load that desired value into the feedback path.  Is there a way to link this?
 
Thanks!
0 Kudos
Message 1 of 9
(4,935 Views)
Please have a look at the attached document.

Best regards,

Jochen Klier
National Instruments Germany
Message 2 of 9
(4,925 Views)
I have read through the document and things follow fairly easily with the exception of the last page.
 
[The name of "Target Poistion", "Velocity, and "Accel/Decel" in MAX and LabView will have different meanings depending on the type of analog feedback used.]
 
I understand if a velocity or acceleration sensor is used, the meanings of "Velocity", "Position", etc. change.  The next page gives an example of loading target value.  It describes a velocity sensor linked to what seems to be the ADC channels. 
 
How does the controller distinguish between velocity and acceleration with a voltage -digital bit signal?  I feel as though I am perhaps misreading or misinterpreting something.  It seems that the ADC channels would not be able to distinguish one sensor from another if all it was given was a voltage source.  For my application, I wish to feedback a voltage signal corresponding to load (from load sensors).  I therefore have no idea what configuration that corresponds to (I feel inclined to guess position, is that correct?). 
 
Next question,  If I can relate load to digital bit values, and use that as target value feedback, will the displacement values also be returned?  Do I configure those as secondary feedback?
 
I am sorry to be such a bother, but I am new with this setup.
 
 
0 Kudos
Message 3 of 9
(4,905 Views)
Oh,
 
and also thanks for the article.  That helped answer a lot of questions I was having!
0 Kudos
Message 4 of 9
(4,905 Views)
HI RWA,
 
It sounds like you are well on your way to understanding the world of Analog feedback!
 
The motion controller does not distinguish if you are using a velocity or acceleration feedback sensor.  All the controller knows is that you are working with an analog feedback of some sort, rather than an encoder.  Measurement and Automation explorer shows what it calculates as the 'velocity' and 'acceleration' even if these terms do not directly related to your feedback type.  These values are basically the first and second derivatives of your feedback.
 
For a Load cell, the feedback will be a value that relates to the force measured.  If you tell the motion controller to go to a particular "position" (or force), the controller will push the motor until it sees that it is maintaining that target force.  In other words, we apply force on the motor until our feedback from the load cell matches our target.  If the PID loop is tuned correctly, the controller should then hold the desired load.
 
Without any sort of encoder, we will not be able to measure position or displacement.  If we were to add this type of feedback, you are correct: It would be configured as secondary feedback.
 
It's kind of complicated, but hopefully my ramblings have helped!
 
Robert
0 Kudos
Message 5 of 9
(4,896 Views)
I understand that I can control the motor using the Load Cells.  Just convert the desired load into the corresponding voltage (from the amplifier) and then convert that into the digital bit signal, and the motor should jog to that load.
 
Questions that I have using this method:
 
1:  Am I able to vary the velocity by which the axis moves?  If I link the ADC signal to the target Position, does the meaning of "velocity" also change?  The stepper should move faster if there is a larger difference between the desired load and actual load, and slower as it approaches.  It seems as though I will have no control over the axis velocity if I configure it to the ADC.
 
2.  The displacement of the Axis should be returned.  Under normal operation (I guess using the position encoder on the stepper motor itself) the displacement is known (in steps).  If the axis is configured to have ADC as the source, can the axis position, or displacement be returned?
 
3.  Should this operate in open loop or closed loop mode?  Because I need the time by which this works (as well as the displacment and load values at those times), I am assuming that I have to run this as an open loop inside a while loop.
0 Kudos
Message 6 of 9
(4,886 Views)
Hi again,
 
You might want to take a look at the chapter on Torque control within the user manual.  It sounds like it is precisely what you are trying to do.  In the Motion version 7.0 User Manual, this is chapter 13, page 8.  This program monitors Force while controlling position.
 
Regarding Open loop vs closed loop, Open loop means no feedback.  Closed loop uses feedback.  For a servo operation (the kind of motor you seem to be using), the choice is moot, because all servo operations require feedback.
 
Dfinitely check on the manual, it gives code and everything.
 
Hope this helps,
0 Kudos
Message 7 of 9
(4,863 Views)

Thanks for responding,

The motor that I am using is a stepper, so the feedback does matter for my application.  And I don't see how controlling the Torque would affect my application, since I am concerned with the linear force from the actuator (not the force in the motor itself). 

 

I've set up a trial program and linked the ADC channels as primary feedback.  Next I tried to input a "load" into the load target position (which I still think is configured in steps).  So....I'm still in a rut. 

 

0 Kudos
Message 8 of 9
(4,859 Views)
Hi RWA,
 
If you are using a stepper, the mode is definitely closed loop.  Open loop would ignore any feedback.  Thats said, analog feedback will only work if the feedback has a linear relationship with position.  If your feedback is force, and you're operating a stepper motor, the control loop will have to execute in software.  This means that you will accomplish loop rates of no greater than about 150 to 250 Hz.
 
Regarding torque, I often make the comparison between torque and force because either way the feedback relates to what the motor is currently doing.  i.e., not where it is or how fast it is going, but how much torque / force it is generating.
 
Can you reply to this message with a description of your application?  With a description I may better be able to see what you should do...  (i.e. Are you trying to move to a particular position without exceeding a particular amount of force?)
 
- Robert
0 Kudos
Message 9 of 9
(4,853 Views)