Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Quantization trajectory for slow speed

I use a DC servo with a 7344  board , a torque amplifier and 2000 count/rev encoder.

 

I need to control the servo at different speed from 20000 count/sec to 2 count/sec.

For this I use MAX servo tune trajectory function for tuning the servo.

For high speed and medium the velocity error is correct (after some optimisation of PID   parameter and use Kv instead of Kd). If the speed decrease to 100 count/sec it is necessary to change PID parameters .

But at slow speed under 10 count/sec it is not possible to find PID parameter for a smooth motion : the servo alternatively move and stop same as a stepper motor.

 

1)  In the servo PID loop  the trajectory generator and the error position are floating point value or integer ?,

    in this case I think it is impossible to a have a smooth motion for slow speed.

 

2)    Any idea to smooth motion for 1 or 2  count/sec speed ?.

 

 

Thanks

 

Jean Francois

0 Kudos
Message 1 of 8
(4,388 Views)
 

Hi,

The board return an Integer for Error position and trajectory.

You can found on links below diffrenent information about use and configure motion board :

http://zone.ni.com/devzone/conceptd.nsf/webmain/FCEB9A6DDC453A4386256842007E65CB?opendocument 

https://forums.ni.com/t5/Motion-Control-and-Motor-Drives/stepper-accuracy-in-velocity-mode/m-p/23575...

http://zone.ni.com/devzone/devzone.nsf/webcategories/69771825AE23E98E86256786000BEA02 

http://zone.ni.com/devzone/devzone.nsf/webcategories/92AE54895BD745038625684000500A32 

http://zone.ni.com/devzone/devzone.nsf/webcategories/7C65E64B69CAFA0886256DB300649C71 

Regards,

Christophe S.
Account Manager East of France І Certified LabVIEW Associate Developer І National Instruments France

0 Kudos
Message 2 of 8
(4,370 Views)

Hi

 

Thanks for your reply .

 

About some links my question is only for servo, for stepping motor the precision of speed motion is limited incremental displacement.

I agree for the board return values for following error trajectory and velocity are all integer .

My question is about the internal processing of the board not the return value.

My problem is not the velocity return by the board but the real speed of the servo display with an external analog sensor.

If trajectory generator process from integer value the and error position is 0 or 1 at slow speed and the output DAC can take only discrete value from 0 to Kp at first approximation . (Kp must be over the static torque in this case)

And the servo speed in this case oscillate from 0 to the 1/rise time of servo and act same as a stepper motor.

 

Best regards

 

Jean Francois

0 Kudos
Message 3 of 8
(4,355 Views)
The board use an Integer for Error position and trajectory an the internal processing?
 
I know that your problem are not the velocity returned by the board, but if the board don't send a good voltage, we can have the good speed for the motor.
But if you have have a speed problem with your motor, Maybe that your amplifier is not rather powerful.
 
Regards,

Christophe S.
Account Manager East of France І Certified LabVIEW Associate Developer І National Instruments France

0 Kudos
Message 4 of 8
(4,350 Views)

Hi

 

The powerful amplifier is correct 0.1 A/V for a 0.8 A servo (DAC limited 8V) and same tension, and I have a good response at middle and high speed.

My problem is only for constant velocity mode in the 100-2 counts/s range.

In this case the output DAC have discrete pulse on the scope proportional to Kp (and motion of the servo too) and If I decrease Kp the servo don’t move at correct speed.

 

Regards

 

Jean Francois

0 Kudos
Message 5 of 8
(4,346 Views)
Hi,
 
You need configure your PID (with Kp value) for have the good response for a constant velocity.
But for midlle and high speed, you need reconfigure the board with another PID value.
 
Regards,

Christophe S.
Account Manager East of France І Certified LabVIEW Associate Developer І National Instruments France

0 Kudos
Message 6 of 8
(4,335 Views)

Hi Christophe,

 

I agree with you and I do this.

 

But I think the only solution to have a constant velocity without any acceleration is to have the same increment for each pid loop, if trajectory generator and the error position are integer

The minimal increment is 1 and minimal constant speed without any acceleration on theory is 1/control loop update period it gives 200 counts/ s for a 5 ms loop update, this very far to the board specification for servo : 1count/s.

And if I want to change the velocity on the fly from 20000 to 200 count/s it’s necessary to change the pid loop update period on the fly, I don’t know if it’s possible.

 

I think the only one solution for constant true velocity motion under 200 counts/s, in accordance with the board specification, is a firmware update with an internal floating trajectory generator.

 

Best regards

 

Jean Francois

0 Kudos
Message 7 of 8
(4,327 Views)

djef25 a écrit:

 

....

 

I think the only one solution for constant true velocity motion under 200 counts/s, in accordance with the board specification, is a firmware update with an internal floating trajectory generator.

 

Best regards

 

Jean Francois

Thanks

 



Sorry, but for this moment we have no plan for firmware update with an internal floating trajectory.

Perhaps, in the future.

 

Best regards,

 

Christophe S.
Account Manager East of France І Certified LabVIEW Associate Developer І National Instruments France

0 Kudos
Message 8 of 8
(4,319 Views)