MESA 7I76e configuration - X-Axis travel overshoot

More
29 Sep 2020 13:32 #184287 by Xpertmill
Hello everyone,

i have a problem on my X-Axis on an open loop stepper machine. The faster I drive the more inaccurate is the positioning of the axis. At 300 mm/ min the error is 0.1mm at 600 mm/min the error is over 1 mm.

The z axis can be positioned nearly without any error. I already checked the backlash. I checked the scale value. Everything seems to be fine.

My suspicion now is in the HAL config. Since i am using a 7i76e card, the pncconf has created a PID controller for the position.

Could someone please check if there is the problem? I have attached my ini and hal.
Attachments:

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

More
29 Sep 2020 13:40 #184289 by tommylight
Try omitting these lines for all axis in the hal file
setp pid.x.maxerror .0005
to
#setp pid.x.maxerror .0005
save and restart LinuxCNC.

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

More
29 Sep 2020 15:20 #184300 by Xpertmill
Unfortunately this has not solved the problem. When I remove the X-axis then begins to oscillate and the error still remains.

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

More
29 Sep 2020 15:54 #184303 by PCW
Sounds like something global is wrong (servo thread frequency wrong maybe)
That is, oscillation is not possible with P=1000 and servo thread rate = 1KHz

What is you host hardware?

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

More
29 Sep 2020 16:00 #184304 by Xpertmill
The host hardware is Elitebook G850 from HP with I3 processor. I know that laptops are not optimum for realtime. But since we want to use this machine for research in weightlessness during a parabolic flight campaign (3D printing in space), we almost had to take the laptop for space reasons.

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

More
29 Sep 2020 16:54 #184308 by PCW
You could lower the P term to say 500 to see if that eliminates the oscillations,
but something global is wrong. A P term of 1/servo-period means that a calculated
position error is corrected by the next servo thread, and you need a P term of >
2/servo-period to sustain oscillations.

A halscope plot of the following error vs velocity might shed a bit more light on what's
going on. Also a DPLL pre-sample time of -50 usec is probably too aggressive for a host
with poor latency, you might try -250 or so so see if it makes any difference.

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

More
01 Oct 2020 17:12 #184498 by Xpertmill
Thank you all for your help!

I finally could identify the error. The motors we use have an integrated controller. The power lines for this motors are quite long and have thin wires inside. What seems to happen is that at higher speeds there is a voltage drop at the power input of the motors and motor controller doesn´t work properly anymore.

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

Time to create page: 0.116 seconds
Powered by Kunena Forum