Feedback loop following error

More
28 Nov 2021 21:36 #227847 by bobi4ko23
Hello, I have a MESA 7i96 card connected with 7i85 extension. I got the pins working all right, and the x and y axis working to my satisfaction (they use open loop steppers and i close the loop using linear encoder scales). However, i have a different motor mounted on the z-axis (the motor is a closed loop stepper, i think the proper term is hybrid stepper, i.e it sends the number of steps it made back to the driver). It was working fine but after connecting the Z-axis linear encoder scale i got following error. I have been tinkering with the PID parameters for 2 hours but nothing solves the issue.

The problems im facing:
1.I order the axis to move 5 mm and it moves 5.005 and i get following error.
2. I order the axis to move 20 mm and it moves around 11 (not exact same number each time) and i get following error.

The PID parameters i used are:
Ferror = 40.0                  (Ferror and min_ferror i just set so that it doesn't show the error but to no prevail)
Min_ferror = 10.0
P = 5.0
I = 0
D =  0.02
FF0 = 0
FF1 = 0.95
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 0

Any advice in the right direction is very appreciated.

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

More
30 Nov 2021 14:05 #228013 by andypugh
How does the position feedback connect in to the PID loop?

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

More
01 Dec 2021 13:48 #228124 by bobi4ko23
The position feedback of the motor is connected directly to the drive, and the position feedback from the linear scales connects directly to the 7i85 MESA board

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

More
01 Dec 2021 21:45 - 01 Dec 2021 21:48 #228154 by chris@cnc
1. I would to set FF1 = 1. I had no success with any other value. 
2. Check that all your parameter set right. Sometime happen type errors or double setup. 
Easy way type in terminal
"halcmd show pin *error"
All error pin will be list, and you could compare the right value.
3. Switch back to stepgen feedback and compare in halshow stepgen feedback  and encoder feedback.
Maybe, there is some calculation error between ENCODER_SCALE and STEP_SCALE.
Good luck
Last edit: 01 Dec 2021 21:48 by chris@cnc.

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

More
02 Dec 2021 22:30 #228232 by bobi4ko23
I set FF=1. The "halcmd show pin *error" command shows not apparent problems in syntax. I measured the difference between the stepgen-fb and encoder-fb and the difference is in nanometers (so i don't think that's the issue). I don't know what to do at this point? HELP!

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

More
02 Dec 2021 23:43 #228238 by PCW
Replied by PCW on topic Feedback loop following error
Set the following error limits wider (So you don't get a following error)
and plot the error with halscope

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

More
03 Dec 2021 11:10 #228275 by andypugh

The position feedback of the motor is connected directly to the drive, and the position feedback from the linear scales connects directly to the 7i85 MESA board

I was asking about the connections inside HAL. 

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

More
03 Dec 2021 12:29 #228278 by bobi4ko23
Here are my are HAL and INI files. I set the margins of the following error to way too big for the jogging i do. I move it 5 mm and i still get error, if the min_error is 10mm it shouldn't trigger right? 

Any glaring mistakes in the files?
Attachments:

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

More
03 Dec 2021 14:17 #228284 by bobi4ko23
Is it also possible that the backlash in the system does something?

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

More
03 Dec 2021 14:52 #228286 by PCW
Replied by PCW on topic Feedback loop following error
For initial tuning, I would set the following error limits very large
(both at 25 mm or so) so they never trip unless you get a runaway
and then set all pid maxerrors to 0

setp pid.x.maxerror 0
setp pid.y.maxerror 0
setp pid.z.maxerror 0

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

Time to create page: 0.114 seconds
Powered by Kunena Forum