MESA 5i23 7i44 7i49 7i37 8i20

More
05 Nov 2015 20:03 - 05 Nov 2015 20:40 #64817 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
Thank You. Axis is reversed OK. :)

But, I have next problem.
My machine have 3 linear axis. All three axis have the same motors and same commutation parameters in HAL. (poles, resolver scale, angle...) But each axis have different load... :huh:

X axis is driven by rubber (toothed) belt to nut on ball screw. This axis is move OK. I was tuned PID regulator by halscope to excellent move. Speed 4000 mm/s, accel. 1500mm/ss, no overruns, no oscillating. OK

Y and Z axis is drived directly (without belt) from motor shaft to ball screw via the Oldham couple.
These two axis extremely oscillating during running. If motor dont run then screw no oscillating.
PID parameters is: P=1 I=0 D=0...

My question is:
Can me help (firmly) change these parameters in HAL?

setp bldc.0.scale 16777216
setp bldc.0.lead-angle 0
setp bldc.0.encoder-offset 12582912

Thank :)

P.S. screens from PID and halscope evening soon as possible.
Last edit: 05 Nov 2015 20:40 by kenny.

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

More
05 Nov 2015 20:38 #64819 by andypugh
The bldc parameters should be identical for every motor / drive combination.
You need to be absolutely sure that the motor wires are wired in exactly the same way, as swapping any two power cables will reverse direction, and switching resolver wires will put in a 90 or 180 degree position shift.

The PID numbers will change according to load and gear ratio, but that is all that should change. At the very least the numbers will need to be lower proportional the gear ratio, then change again to compensate for mass and weight. The Z axis wil almost certainly benefit from some pid.bias. When you have an approximate tune jog the motor up and note the pid.output when stopped, then jog it down and note the pid.output and set the pid.bias to the average of the two values.
The following user(s) said Thank You: kenny

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

More
05 Nov 2015 20:57 #64822 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
Thank You.
This afternoon I'll try it. :)

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

More
04 Dec 2015 08:15 #66358 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
Hi Andy,
my servos still have problem.
During motors on, movement extremly oscillation around actually position.

Axis X have belt and pulleys 2:1 and ball screw 10mm (thread pitch) (30mm diameter). 1 turn on the motor is 5mm move on the axis
Axis Y is directly connected (via Oldham couple) to ball screw 5mm pitch (30mm diameter). 1 turn on the motor is 5mm move on the axis
Axis Z is directly connected (via Oldham couple) to ball screw 5mm pitch (10mm diameter). 1 turn on the motor is 5mm move on the axis

1 st screenshot is axis X. This is OK, peak in start movement is caused by belt tension. (It is OK).
2nd and 3rd screen is illustrated oscilation during movements on the asis Z and Y.
These oscillation are minimals of the possible via PID tuning. Two weeks working afternoon to night... ;)

Maybe motors has high velocity, high voltage constants. (?) And servo loop is unstable and oscillating.
PID loop in Mesa is torque mode (?) is possible limiting voltage for speed (rpm) motors? Software decelerate motor?
Attachments:

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

More
04 Dec 2015 13:50 #66379 by andypugh

These oscillation are minimals of the possible via PID tuning. Two weeks working afternoon to night... ;)


That can't be entirely true, as with zero in all the PID numbers there will be no oscillation, but the position following will be terrible.

If you look at the parameter errorI you might be able to see if it is an I-term oscillation or a P-term oscillation.

You could try setting a limit in maxerroI if it is an I-term oscillation, and if you need such a big I for steady-state position accuracy.

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

More
04 Dec 2015 15:11 #66385 by PCW
Replied by PCW on topic MESA 5i23 7i44 7i49 7i37 8i20
Since you are running a torque mode drive you need good bandwidth for the velocity loop (The D term)
You can improve the performance considerably by raising the servo thread rate (which will allow a higher D
term which will in turn allow a Higher P term)

1 KHz is typically quite a bit to slow (I would use at leas 4 KHz, this does require a decent CPU)

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

More
04 Dec 2015 22:13 #66416 by andypugh
By the way. Setting up my new system (6i24, 7i49, 7i44, 8i20) I have realised that you don't necessarily need the bldc component.

The motor I am setting up is 4-pole with a 2-cycles-per-turn resolver. That means that the hm2_5i24.0.resolver.00.angle pin is perfectly suited to driving the 8i20.angle pin.

If you find that the two numbers are always the same in your config, then you can remove the bldc components.
Or, if there is a fixed-offset of 0.3333 of a turn, you can try switching some motor wires to find the config that works.
I got lucky, I think. With 6 ways to wire the motor and 6 ways to wire the resolver, it just worked the first time.

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

Moderators: PCWjmelson
Time to create page: 0.127 seconds
Powered by Kunena Forum