AC servo running slow at 0V analog

More
17 Sep 2018 02:18 #117635 by thang
My AC servo is MRJ3, i'm using analog speed mode to control position, my AC servo still running at 0VDC(because of mV). I tried using automatic offset function but it doesnt help much. this problem happen to all over AC servos that are running by analog speed, How do you guys solve this when you use AC servo at analog speed mode? Here is mrj3 manual: dl.mitsubishielectric.com/dl/fa/document...030038/sh030038l.pdf

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

More
17 Sep 2018 03:04 #117639 by PCW
The drives should not be enabled unless LinuxCNC is running and the feedback loop is operating. When the PID feedback loop is running the drive cannot drift.

This is really the first thing that should be done when setting up s servo drive (giving linuxcnc control of the drive enable)

The drives enable should be controlled by LinuxCNC/motions joint.N.amp-enable-out pin
(2.8) or axis.N.amp-enable-out (2.7). This is a safety issue.
The following user(s) said Thank You: thang

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

More
17 Sep 2018 03:57 #117640 by thang
I just realize this problem is solved by PID loop itself. I set up wrong side of encoder that make my motor go uncorrect. Thank for your answer anyway.

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

More
17 Sep 2018 09:19 - 17 Sep 2018 10:31 #117645 by thang
how do we control speed and acc in this type system? I cant find out where "MAX_VEL" and "MAX_ACC" should be used in this system.

more detail:
+ Servo motor is running at 3000r/m at 10 V.
+ Analog min/max output is +-10V.

and this is my config:

File Attachment:

File Name: config.txt
File Size:3 KB

I guess i have to compute something like OUTPUT_SCALE, OFFSET... but i'm not understand
Attachments:
Last edit: 17 Sep 2018 10:31 by thang. Reason: adding more information

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

More
17 Sep 2018 14:02 #117656 by PCW
The velocity and acceleration setting are specified in the ini file:

linuxcnc.org/docs/devel/html/config/ini-config.html

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

More
18 Sep 2018 08:01 #117698 by thang
After many hours read document this is what i tried :

System infor:
+ AC servo run with 3000 r/m at +-10V
+ Encoder_input for linuxcnc: 4000 ppr
+ Joint type: angular with max_velocity 95 deg/s
+ gear_ratio: 10
My config:
+ I setup my driver become 95*gear_ratio*60/360 = 158 r/m at +-10V
+ Input_scale = 4000*gear_ratio/360 = 111.1111
+ MAX_OUTPUT = 10
+ OUTPUT_SCALE = 95/10V =9.5
+ OUTPUT_OFFSET = 0
result:
+ Analog voltage cmd from linuxcnc is around 9.4V, my servo shows 9.8V
+ Velocity in linuxcnc show 95-100 deg/s

Are they all right? Is there anything more i have to do for this system except tuning PID? I also recommend we should put some examples in document, it's really unclear for users

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

More
18 Sep 2018 14:27 - 18 Sep 2018 14:28 #117719 by PCW
You dont actually have to change those settings at all (PID tuning will compensate for the scaling), however,
you can simplify initial tuning of velocity mode drives by setting the OUTPUT_SCALE to machine units per second at 10V.
(how fast the machine moves with 10V applied)

If you do this (normalize the units) the PID output= velocity command will be in machine units per second.
This means you know that FF1 = 1.00 so the main part of PID tuning is done.

For smart serial devices you must also set the MAX_LIMIT and MIN_LIMIT numbers to
+OUTPUT_SCALE and -OUTPUT_SCALE
Last edit: 18 Sep 2018 14:28 by PCW.
The following user(s) said Thank You: thang

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

More
04 Oct 2018 10:02 #118435 by thang
There are somethings i disturbance when i use velocity mode:
+ Should i use auto tuning function of AC servo driver as 1st close loop?
+ Using max velocity to tuning ?
About tuning PID, first i increased maximum P without oscilation, then i set FF1 but this is the best result i got ( i was using auto tuning inside driver). Any recommend for me to increase accuracy?
Attachments:

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

More
05 Oct 2018 12:32 #118471 by andypugh
A little bit of D might kill that oscillation. (and I mean a tiny bit, start with 0.0000001 and take out the zeros one by one)
Otherwise it looks like the P is too high.

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

More
05 Oct 2018 15:17 #118475 by thang
After decreasing servo-thread from 1ms to 250us, making some changes, i got better result but i'm still not satisfied. I will try your recommend in tomorrow.

But i still want to refer your experience, should i use auto tuning inside AC servo driver for 1st close loop? I use this for tuning torque then i use 2nd close loop on linuxcnc to control position, I dont want to manual tuning torque because i cant estimate it, my machine is an arm robot

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

Time to create page: 0.219 seconds
Powered by Kunena Forum