LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

servo motor with position and torque control

Hi ,
 
I am doing a project for controlling position and torque with servo motor. I read tread "Torque control" and found out that the force and position control can be blended for required motion. I am using one servo motor for the movement.
I use PCI-7350 and UMI 7764.
I did tried to control position only with PID and suceeded. Then, I used analog feedback from load cell to control torque with PID and is fairly Ok. Each function is tried separately and I want to combine these two functions. What I want to achieve is to go the desired position with always maintaining the desired torque. Is it achievable with PID control?
 
Here is one more question. I would like to know whether I need two motor drives to perform this function or with only one drive with torque mode setting is all right.
I am using servo dynamics dyna drive brushless (815BL). I attached the manual.
Thank you for your time.
Please help me with any suggestion.
 
Myo
 
0 Kudos
Message 1 of 9
(14,838 Views)
Hello Myo,
 
I have some questions about your setup before I make some suggestions.  You mention PID control quite a bit, but are you referring to the onboard PID on the motion controller or are you using the PID VIs in LabVIEW to control the position/torque?  Also, what is your method of controling the torque with PID?  Possibly posting some screenshots of your code may help us put things together in one application.  Also, you should not need to have more than one drive to do this movement.
Carlton
CLA
0 Kudos
Message 2 of 9
(14,799 Views)

Hi Carlton,

Thank you for your reply. I used PID VI's in labview. I manually tuned in step response of (MAX) and used the optimal PID setting for controlling force (torque). Honestly, I didn't know that I can make use of onboard PID. I attached the screenshot of my VI blockdiagram.

If I don't need to use more than one drive, how could I achieve in controlling position and force? Can I use blend move in VI for that purpose?

One more problem is in force control, PID setting requires to be finetuned again whenever increasing applied force more than the test force in step response of MAX. How can I encounter it?

Thanks again.

Myo

 

0 Kudos
Message 3 of 9
(14,792 Views)
Hi Myo,

In order to control the torque throughout the move, you will need to configure the torque limits prior to performing the move in LabVIEW, as you have in the screenshot you attached.  This way, the torque will stay within the specified range throughout the move to desired position.  You do not need to have a blended move because you are really performing a single move while maintaining the specified range for torque throughout the move.

I also noticed that you are using the Clear Power Up Status VI, which should not be necessary.  I would remove this from the VI.  Also, it looks like you are comparing the set point for Desired Force to the value that you read from the ADC.  A better way to do this might be placing the Read ADC VI (and associated calculations/waveform graph) in line with the rest of the code, but within the while loop before the Read Per Axis Status VI.  This way, every time the small while loop containing the Read Per Axis Status executes, the value from the ADC will be read. 

For the most part, it looks like you are taking the right approach in this screenshot. 

I hope this is helpful.

Sherrie R
0 Kudos
Message 4 of 9
(14,752 Views)

Hi Sherrie R,

Thanks for your reply and advice. I found it very useful for my application.

Can I ask you one more thing? I used this VI to control torque only using analog feedback from load cell. But, if I want to control position only, I must get the feedback from encoder. In each control, I allowed Command Volt to a motor drive.

What I am confused is if I want to control both position and torque with one motor, is it possible? Therefore, I had a question about the blended move in previous message. If it is possible, how should I do?

Thanks again. 🙂

Myo

0 Kudos
Message 5 of 9
(14,693 Views)

Hello myo,

An option you have for a blended move is to run the application in position mode using the encoder as the main feedback signal, and continually check the load cell using the Read ADC VI that Sherrie mentioned.  With the 7350 you can change feedback on the fly, and by that I mean you can  switch between two feedback signals without disabling the axis.  Since you cannot use both feedback signals at the same time, you can monitor them both and determine which to use.  You can switch them by using the Config Axis Resources VI (refer to the Context Help for the details on using this VI).  You can also use a different control loop for each feedback, which you can set in MAX under the Control Loop settings.  On Control Loop 2, there is an option that is named "Control Loop Parameters Condition" that you can set to your analog feedback, while the Control Loop 1 settings are for your encoder feedback.

Carlton
CLA
0 Kudos
Message 6 of 9
(14,645 Views)

Hi Carlton,

Thank you for help. I will try as you suggested and feedback you if there is a problem.

Myo

0 Kudos
Message 7 of 9
(14,612 Views)

Hi Myo,

 

I happend to come across this discussion when searching for help with my application.  It seems very similar to yours. I am trying to run my motor with torque feedback. The control value is a TEDS voltage from TRT-100 torque cell. I want my motor to toggle states at a constant RPM if my DAQ voltage (Starting value is +5 V = 0 in-lb) is in between the upper (+6 V = 20 in-lb) and lower limits (+ 4 V = -20 in-lb).  I am trying to implement this in state machine logic. I am attaching the vi for your kind reference. Can you help me?

 

Thanks.

 

Sasi.

0 Kudos
Message 8 of 9
(14,044 Views)

Hello Friends,

 

I have some queries..

I am also working with PXI 7350 motion controller and UMI 7764 with AKD Servo Drive and AKM Servo Motor.

I want to measure feedback torque with different loads and also want to measure feedback current using labview.

but i got  continuous fluctuation in current value. please suggest me how to do it....

0 Kudos
Message 9 of 9
(10,913 Views)