Control AC servo by analog signal use PID

More
03 Apr 2018 15:31 #108313 by thang
I'm trying to control position an AC servo by analog voltage signal.

My system has: Driver + AC servo configured speed control, 1 combo MESA 5i25+7i74+7i83 for analog signal output.

I'm using PID to control position and connect Hal pin like:
joint.0.motor-pos-cmd -> pid.0.cmd/pid.0.output ->hm2_5i25.0.7i83.0.0.analogout0
hm2_5i25.0.encoder.00.position ->pid.0.feedback->joint.0.motor-pos-fb
There is an error when i manual tuning PID, exactly tuning P, motor always run overshot commanded position then run back, changing P will change motor speed when motor run back. Are there anyone have experience about this bug ?

Here is my configure file:

File Attachment:

File Name: 5i25_dorna_pid.ini
File Size:5 KB

File Attachment:

File Name: 5i25_dorna_pid.hal
File Size:3 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
03 Apr 2018 17:01 #108325 by PCW
This is not really a bug, in fact it is expected if FF1 is too high.

If you are using velocity mode control, one of the the most important PID tuning parameters
is FF1. This tutorial has a good outline of velocity mode tuning:

gnipsel.com/linuxcnc/tuning/servo.html
The following user(s) said Thank You: thang

Please Log in or Create an account to join the conversation.

More
04 Apr 2018 15:41 #108383 by thang
it worked, great.

Which way i should to do to tuning all parameter, tuning P -> I -> D -> FFn or P -> FFn -> I ->D ?

Please Log in or Create an account to join the conversation.

Time to create page: 0.171 seconds
Powered by Kunena Forum