control position for servo motor
TRANSCRIPT
![Page 1: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/1.jpg)
Control position for servo motor Ac withTI Dsp f28335. (Id and Iq model) (http://processors.wiki.ti.com/index.php/TMS320C2000_Motor_Control_Primer)
It is the original speed control with a fourth pid for position control. And a second qep2 module to have the real position count. http://tbirobotics.com/download/---> HVPM_Sensored-SIVA.c
![Page 2: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/2.jpg)
The problem is that motor spins abruptly. Motor damages. Ever have overshoot at end profile. I add a little low pass filter to init more smoothly ( not a fast 0 to 1). Now motor does not damage. (see clear blue line)
![Page 3: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/3.jpg)
The same before in matlab figure. All are real time measures. The PID works bad. Impossible to get better adjusting parameters.
![Page 4: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/4.jpg)
People use S-curve instead of 0-1 transitions for comanded position control motor. This is an example that uses Adept robots.
![Page 5: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/5.jpg)
EXAMPLE 1: Maxon motor. EPOS_Application_Note_Position_Regulation_with_Feed_Forward_En.pdf
![Page 6: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/6.jpg)
EXAMPLE 2: ParkerServoFundamentals.pdf
![Page 7: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/7.jpg)
EXAMPLE 3a: Delta Tau. PMACTUNINGPRO.pdf This model use discrete formulation, how uses dsp.
![Page 8: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/8.jpg)
EXAMPLE 3b: Delta Tau.Turbo PMAC User Manual.pdf Observe the two parameters Kvff and Kaff. Gains of speed and acc profiles.I will use these parameters.
![Page 9: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/9.jpg)
EXAMPLE 4: KollmorgenKollmorgen AKD_User_Guide_(Parameter_Command-Fieldbus)_en-us Rev G.pdf
![Page 10: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/10.jpg)
Alternative 1a: Jacques Richalet propose use PFC.The trajectory of reference is
![Page 11: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/11.jpg)
Alternative 1b: Jacques Richalet propose for motor control a cascade of three PFC.
![Page 12: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/12.jpg)
Now for motor position control I generate 3 profiles on Pc at real time. I send by usb. I inject them on the three pid loops.
![Page 13: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/13.jpg)
If I only use the position profile (newpi_iq.Kff = 0 ; newpi_spd.Kff= 0), I have a delay between comanded position and real position ( blue lines)
![Page 14: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/14.jpg)
If I use the three profiles (newpi_iq.Kff = 1.8 ; newpi_spd.Kff= 0.58), the delay between commanded and real position is minimal.
![Page 15: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/15.jpg)
The problem is than with short cicles, the robot-slide have a real limit of 60 pieces for minute, to work with precision and smoothly.
![Page 16: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/16.jpg)
If the s-curve is shorter, then the control is not good. At the end of movement, the slide have oscilations ever different. The movement is not smoothly neither precise.
![Page 17: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/17.jpg)
Now the pi that I use is from Ti motor library. Pag 5 of DMC MATH.pdf
![Page 18: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/18.jpg)
Pag 2 of DMC MATH.pdf modified to incorporate Kff
![Page 19: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/19.jpg)
Pag 2 of DMC MATH.pdf modified to incorporate Kff
![Page 20: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/20.jpg)
Pag 1 of file NEWPI.HThe macro is not complicated for pi
![Page 21: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/21.jpg)
The use of pi macro is very simple.file HVPM_Sensored-SIVA.c
![Page 22: Control position for servo motor](https://reader036.vdocuments.us/reader036/viewer/2022062313/55854a81d8b42a2d498b4640/html5/thumbnails/22.jpg)
To Jacques:The macro for PFC which would it be?Will be complicated?The profiles will be derived from exponentials?