Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Motion Control of a Voice Coil Actuator Using PCI-7342 and MID-7652 Servo Power Motor Drive

Hi all,
 
I a student working on a project wanting to control a linear voice coil actuator with the above motion control card and servo motor drive. I am wanting to implemented force control through load cell attached in series with the actuator. I have had a look through motion assitant and it seems to be only set up for position control. I was wondering if any one had any labview code or examples or this application.
 
 
Thanks
Darren
0 Kudos
Message 1 of 17
(9,292 Views)
Hi Darren,

You should actually be able to set this up using position control.  If your feedback is coming from a load cell, you can use that as an analog input for feedback.  The nice thing about the PID control is that it only looks at two inputs - the setpoint and the measured value.  Essentially, it doesn't matter that the feedback is not actually position; as long as you have some feedback mechanism, your output will try to achieve that setpoint, and the output to the motor will be based on that.  This motor output should determine the amount of torque that the motor produces, and the force will be proportional to this torque.
Regards,
Brandon M.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 17
(9,285 Views)

Hi Brendon,

Thanks for that I read up on some support material etc. Its seems theres a bit of example code on it too.Infact it edited some code so the operation will allow the acuator to move to a maximum target position and stop when the required force is achieved.

 On other issue I am having is the Linear Voice Coil Acuator has a nominal voltage rating of 33V. The servo amplifier MID7652 energises to 48V. After having looked at a range of example code I can't seem to find out how I can actually control the voltage I supply to the servo using Labview. If I control the voltage I can control the current and therefore the force limit. Any suggestions to this problem

 

Thanks alot for your help to date.

 

Darren

0 Kudos
Message 3 of 17
(9,275 Views)
Darren,

What example code are you using?  If you give the servo a position command, the voltage that is output will be proportional to the distance that this commanded position is from the present position.  You can also set output limits in Measurement and Automation Explorer (MAX).  If you go to the 7340 in MAX and select the subfolder for your Axis and then Control Loop Settings.

You should be able to obtain full voltage control using LabVIEW to command position moves and MAX to set the limits.
Regards,
Brandon M.
Applications Engineer
National Instruments
Message 4 of 17
(9,261 Views)

Thanx Brandon.

I am using the Monitoring Force Example code to using force control and position control.

Right so what about controlling the voltage outputted to the servo from the amplifier. It energises to 48V (+ Servo and -Servo) but I would only want it to supply 33V nominal. The servo amplifier does have DIP switches to set continuous and peak current limits however does this control the voltage output?  I noticed on MAX you can change the voltage limits from _+10V. Woudl this adjustment decrease the supplied voltage by the servo?

Cheers,

Darren

0 Kudos
Message 5 of 17
(9,255 Views)
Hi Darren,

I am assuming that the drive amplifies the signal from the 7340.  The signal coming from the controller is between -10V and +10V, and this value is multiplied by a gain in the drive.  So if the amplification is linear, and you set the unscaled limits and nominal voltage, then you have full control of the amplified signal, right?

Am I missing something?
Regards,
Brandon M.
Applications Engineer
National Instruments
Message 6 of 17
(9,247 Views)

Hi Brendon,

Sorry for the late reply was working on another part of this project.

So if I change the limits in MAX (_+ 10V) wouldnt that change th output voltage from the motion controler card? This would change the current the servo sources. Thats why they are called Torque limits? The Servo Amplifier energises to 44V the moment it is switched on but I only require 33V. However if I set the limits using the DIP switches will the voltage decrease according to the current the motor is drawing?

 

Sorry about the questions I am relatively new to motion control

 

0 Kudos
Message 7 of 17
(9,179 Views)
Daren,

Let's put aside the voltage limits and take a step back.  You really don't need to worry about the signal coming from the drive.  All that matters is that the motion controller is commanding a position, so it sends a pulsetrain to the drive.  The drive then determines how to regulate the voltage in order to obtain the current flow necessary to provide the necessary torque to try to achieve the position that has been commanded.

Maybe it would help to take a look at this link.

Have you actually tried setting this up?  I'm confident that it will work if you actually implement this, and from there, you can adjust the settings and tune the system as needed.
Regards,
Brandon M.
Applications Engineer
National Instruments
0 Kudos
Message 8 of 17
(9,159 Views)
Hi Brendon,
 
I put it together and tried using the example code Analog Feedback to allow it to servo on position. I have position feedback from an analog potentiometer. However, the control loop didn't seem to be tunned at all. I had a look at the NI documentation on Tuning Servo Motors. I implemented the instructions to initially auto tune the motor. However, the motor begin oscillating really frequently so I switched it off and thought I would consult you on the next step.
 
Because of the design of my mechanical system an increase in position corresponds to a decrease in voltage from the potentiometer and therefore a negative count. I was setting the step length as -100 counts but this wasn't working either.
 
Also thevoice coil actuator produces an outward movement, where the coil moves away from the field, with a negative driving voltage, and vice versa for a positive voltage. I have connected the positive to the positive terminal of the drive and the other to the negative terminal of the drive. Could this be effecting the accuracy of the system? When I unable the drive the motor is pulled back to its maximum position. I presumed that the motion control card would apply positive or negtive voltage in order to move the system to its appropriate position.
 
Or Should I just proceed to tunning the system manually by increasing the PID values seperately until the appropriate response is obtained?  Am I able to save the sep reponse and bode plots obtained from tunning the system in MAX at all.
 
I just want to thank you again for assisting me. I understand the questions and problems I am having are quite basic however I am quite new to motion control. Therefore any help you offer is valuable.
 
Regards,
Darren
 
 
0 Kudos
Message 9 of 17
(9,137 Views)
Daren,

It sounds like your connections are correct.  You definitely don't want to switch the connections, because then the PID loop will not work at all.  Most likely, regardless of the tuning parameters, if you had the connections reversed, the control loop would command the motor to travel towards the setpoint, but the motor would turn the wrong way.  This would cause the error to increase, and the motor would keep trying to travel faster in the wrong direction.

The oscillation suggests that the problem lies in the tuning parameters.  You probably just need a higher Kd.  I don't know which NI documentation you looked at, but this article is really good for a basic overview of PID, and this article is very thorough in explaining how to tune.

Take a look at these and let me know if they help.
Regards,
Brandon M.
Applications Engineer
National Instruments
0 Kudos
Message 10 of 17
(9,111 Views)