servo dac offset
31 Oct 2015 18:59 #64548
by bkt
servo dac offset was created by bkt
For first time Install brushless servo drive on linuxcnc .... for star I have setting pid on linuxnc to 0,0,0 and on drive from factory. Drive have your one close loop and send feedback encoder signal to linuxcnc. I use mesa 7i77.
When run linuxcnc the encoder show a little running offsett ..... I try to eliminate it on drive whit drive function .... on pncconfig its seems ok .... but I see these offsett only on encoder running. Than I try to use dac offset .... it seems to work fine ... the running offset stop .... , I press ok button and finish the config. But in .ini and .hal file not see any reference about dac offset ....
These offset is very little (these axis is set as angular) but in 60ser become 1 degree .... I see it on mechanical device when running linuxcnc, when not running,
I try to insert it by hand but nothing happens and when launch linuxcnc I see the running offset again .....
I think the problem not is linuxcnc .... but not knows what I see ....
When run linuxcnc the encoder show a little running offsett ..... I try to eliminate it on drive whit drive function .... on pncconfig its seems ok .... but I see these offsett only on encoder running. Than I try to use dac offset .... it seems to work fine ... the running offset stop .... , I press ok button and finish the config. But in .ini and .hal file not see any reference about dac offset ....
These offset is very little (these axis is set as angular) but in 60ser become 1 degree .... I see it on mechanical device when running linuxcnc, when not running,
I try to insert it by hand but nothing happens and when launch linuxcnc I see the running offset again .....
I think the problem not is linuxcnc .... but not knows what I see ....
Please Log in or Create an account to join the conversation.
31 Oct 2015 22:29 #64554
by PCW
Replied by PCW on topic servo dac offset
Small velocity offsets are normal in velocity mode servos and cause no harm.
If you exactly zero them, you will find that the drive will still drift at a different temperature...
If the offset is small (say less than .25% of full speed) They don't cause significant
errors once the feedback loop is closed. Because you can never really get 0 velocity
from a analog servo drive, its important that the drive enable is controlled by
linuxcnc so the drive is not enabled when linuxcnc is not running (and the position PID loop closed)
This is also important for safety reasons
If you exactly zero them, you will find that the drive will still drift at a different temperature...
If the offset is small (say less than .25% of full speed) They don't cause significant
errors once the feedback loop is closed. Because you can never really get 0 velocity
from a analog servo drive, its important that the drive enable is controlled by
linuxcnc so the drive is not enabled when linuxcnc is not running (and the position PID loop closed)
This is also important for safety reasons
The following user(s) said Thank You: bkt
Please Log in or Create an account to join the conversation.
01 Nov 2015 00:14 #64557
by bkt
Replied by bkt on topic servo dac offset
ok It's right ... the drive must controll by linuxcnc ..... in my case from linuxcnc and drive there are safety plc (servo on, alarm, etc etc ... i/o from drive to Lcnc or vice versa) but now I'm in test mode .....
I think If unpluged Lcnc from drive and send the right servo on signal, Fw and ccw enable and 0V from system the motor shaft must be in stop ...but thse not happen ..... PCW is really normal these situation? (note that: the servo has a function to compensate these offset and I use it more time .... from display function I see these offset... I think 3 mVolt .... but if servo is in on state the offset start .... ).
Regards
Giorgio
I think If unpluged Lcnc from drive and send the right servo on signal, Fw and ccw enable and 0V from system the motor shaft must be in stop ...but thse not happen ..... PCW is really normal these situation? (note that: the servo has a function to compensate these offset and I use it more time .... from display function I see these offset... I think 3 mVolt .... but if servo is in on state the offset start .... ).
Regards
Giorgio
Please Log in or Create an account to join the conversation.
01 Nov 2015 00:27 - 01 Nov 2015 00:34 #64558
by PCW
Replied by PCW on topic servo dac offset
Its absolutely expected (and harmless) that analog velocity modes servos will drift if
enabled but with 0 input
There is really no such thing as 0 input with analog
This never happens in an operating system since the PID loop is closed when running and the drive is
disabled when in machine off or E-Stop states, that is if you see drift with LinuxCNC in the machine-off state,
it means your drive enables are not connected properly (externally and in HAL)
BTW I would _not_ enable the drives anti-drift logic, its unnecessary and will hurt low speed performance
(Some drives will auto disable if the input voltage is below some minimum, you dont want this)
enabled but with 0 input
There is really no such thing as 0 input with analog
This never happens in an operating system since the PID loop is closed when running and the drive is
disabled when in machine off or E-Stop states, that is if you see drift with LinuxCNC in the machine-off state,
it means your drive enables are not connected properly (externally and in HAL)
BTW I would _not_ enable the drives anti-drift logic, its unnecessary and will hurt low speed performance
(Some drives will auto disable if the input voltage is below some minimum, you dont want this)
Last edit: 01 Nov 2015 00:34 by PCW.
Please Log in or Create an account to join the conversation.
01 Nov 2015 00:34 #64559
by cmorley
Replied by cmorley on topic servo dac offset
the dac offset entry in the pncconf test is just for assisting while testing.
The open loop test does not use PID so minimizing drift is done by hand.
Chris M
The open loop test does not use PID so minimizing drift is done by hand.
Chris M
Please Log in or Create an account to join the conversation.
01 Nov 2015 01:23 #64560
by PCW
Replied by PCW on topic servo dac offset
To try and get an idea how important a 3 mV offset is in a +-10V servo system,
lets do a little bit of arithmetic:
For example lets say the servo was driving a linear axis 1:2 with 5 mm pitch ball screw
and further say the servo motor has a 3000 RPM maximum speed (1500 RPM at the ball screw)
(so 125 mm/s or 7500 mm/m rapids)
If we have a 3.333 mV offset this is a velocity offset of 1 RPM at the motor or 1/2 RPM at the ball screw
1/2 RPM is a .042 mm/s speed error. Assuming we have a P gain of 20, it will take a .0021 mm error
to correct for this offset, probably below the error budget by quite a bit and maybe lower
than the encoder resolution
lets do a little bit of arithmetic:
For example lets say the servo was driving a linear axis 1:2 with 5 mm pitch ball screw
and further say the servo motor has a 3000 RPM maximum speed (1500 RPM at the ball screw)
(so 125 mm/s or 7500 mm/m rapids)
If we have a 3.333 mV offset this is a velocity offset of 1 RPM at the motor or 1/2 RPM at the ball screw
1/2 RPM is a .042 mm/s speed error. Assuming we have a P gain of 20, it will take a .0021 mm error
to correct for this offset, probably below the error budget by quite a bit and maybe lower
than the encoder resolution
The following user(s) said Thank You: bkt
Please Log in or Create an account to join the conversation.
01 Nov 2015 16:49 #64572
by bkt
Replied by bkt on topic servo dac offset
@PCW than if I have these derive ... is all normal .... ok... but if connect Lcnc and try to move these axis in jog mode i have follow error isn't for these fact .... Is only for bad pid regulation on Lcnc.
In these case I have 2 close loop. 1 In drive and the second in Lcnc .... Tuning well in drive I do the tuning in Lcnc ..ok These are some particular rules for make these dual loop? (these are some link with explanation to make these particular tuning ...etc etc)
regards
Giorgio
In these case I have 2 close loop. 1 In drive and the second in Lcnc .... Tuning well in drive I do the tuning in Lcnc ..ok These are some particular rules for make these dual loop? (these are some link with explanation to make these particular tuning ...etc etc)
regards
Giorgio
Please Log in or Create an account to join the conversation.
01 Nov 2015 22:04 #64581
by PCW
Replied by PCW on topic servo dac offset
Getting following errors when first setting up a servo system is expected and normal
John Thornton has a nice velocity mode drive tuning tutorial here:
gnipsel.com/linuxcnc/tuning/servo.html
John Thornton has a nice velocity mode drive tuning tutorial here:
gnipsel.com/linuxcnc/tuning/servo.html
Please Log in or Create an account to join the conversation.
02 Nov 2015 01:02 #64585
by bkt
Replied by bkt on topic servo dac offset
i think i make a first big error .... in 7i77 with default jumper i connect a-/a--b-/b---z-/z...... but If i understand well ... if jumper is in default setting I should have connect only a b z signal from feedback encoder ... is right these??
Please Log in or Create an account to join the conversation.
02 Nov 2015 01:07 #64586
by PCW
Replied by PCW on topic servo dac offset
Default 7I77 jumpering is for differential encoders (A, /A, B, /B, Z, /Z)
I would _ALWAYS_ use differential mode as single ended is very susceptible
to noise from the drives
I would _ALWAYS_ use differential mode as single ended is very susceptible
to noise from the drives
The following user(s) said Thank You: bkt
Please Log in or Create an account to join the conversation.
Time to create page: 0.114 seconds