Need Help: Mesa 5i25 w/ 7i76

More
24 Mar 2020 22:08 #161371 by Fisher
Hey guys, go easy on me here I'm a newb. I retrofitted this hardware on a cnc router and it mostly works. However, I am getting parts that are .050" oversize. I am also getting the following error message

hm2/hm2_5I25.0: SMART SERIAL PORT 0: Dolt not cleared from pervious servo thread. Servo thread rate probably too fast. This message will not be repeated, but the hm2_5i25.0.sserial.0.fault-count pin will indicate if this is happening frequently.

I configured the machine using pnc conf. I'll admit I'm pretty clueless. Obviously something is running too fast, I'm just having a hard time figuring out what exactly.

I just looked at the Computer response time in pnc conf. Its Actual Servo Period is 100,000 ns - I just caught that I'm short one 0 from the recommended 1,000,000 ns. I will try this first and report back.

Last time I configured mesa hardware using pnc conf I.used gecko drives and the stepper info was preprogramed. This time I'm using some Yako yka2811ma drives. I think this configuration is wrong. I can see the graph on their website for step time, direction hold etc, and its all listed in uSeconds. I'm not sure what the units in pnc conf are. Right now I have every value at 10,000 and it seems to work for the most part. - But then again my parts are .050 oversize. So obviously somethings not right.

Any help is greatly appreciated - there's obviously many variables at play. To me it seems like my computer response time actual servo period is set too fast, I'll add a zero to make it match the recommended servo period first and see if that clears the error. I should add that the aforementioned error was only poping up on some programs that seemed to use rapid moves. It also seems like my step driver values are not correct and perhaps missing steps resulting to the oversize parts.

My latency test looks like
servo thread (1ms) max interval = 1007283 (ns) Max Jitter = 21844 (ns) Last interval 989391 (ns)
Base thread (25us) max interval = 36535 (ns) Max Jitter = 14703(ns) Last interval 24697 (ns).

I've attached my pncconf file so you guys can all laugh at me ;) Cheers

Attachment not found

Attachment not found

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

More
24 Mar 2020 23:16 - 24 Mar 2020 23:17 #161377 by PCW
Replied by PCW on topic Need Help: Mesa 5i25 w/ 7i76
Things should get a lot better with a 1000,000 ns servo thread period

Step timings in LinuxCNC are measured in nanoseconds
(1000 ns = 1 usec)
Last edit: 24 Mar 2020 23:17 by PCW.

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

More
24 Mar 2020 23:35 - 24 Mar 2020 23:41 #161379 by Fisher
Replied by Fisher on topic Need Help: Mesa 5i25 w/ 7i76
I just changed the computer response actual servo period time in pnc conf to 1,000,000 ns. I opened the new machine config and attempted to home the machine and the steppers sounded really weird. I estopped the machine, changed it back to 100,000 and everything went back to "normal".

We need to look at base period jitter. Anything under 20000 is excellent - you could even do fast software stepping with the machine 20000 - 50000 is still good for software stepping and fine for us. 50000 - 100000 is really not that great but could still be used with hardware cards doing the fast response stuff. So anything under 100000 is usable to us. If the latency is disappointing or you get a bad hiccup periodically you may still be able to improve it

Thats from the mesa config wizard documentation, that's why I think I initially had it set to 100,000. In pncconf the only thing I can change is the computer response time actual servo period. Since I have it at 100,000 and the steppers seem to move fine there, I'm thinking that if the change to 1,000,000 it has to do with incorrect values in the stepper info for the axis.

Right now everything at 10000.

Stepper timing needs to be tailored to the step controller’s requirements. Pncconf supplies some default controller timing or allows custom timing settings . See wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Drive_Timing for some more known timing numbers (feel free to add ones you have figured out). If in doubt use large numbers such as 5000 this will only limit max speed

also from the mesa config wizard doc, I think that last sentence is why I just put everything on 10k and when it seemed to work I never went back to fix it. I've got the graphs from the manufacture concerning driver timing, but they are all in Useconds and I'm not sure what the base unit for the stepper info is in pnc conf. Or what these values would be if I did.

Thanks for the help. Any thoughts regarding the error message its throwing? I see smart serial 0 in pncconf but the only thing I see that I'm using on it is limit switches. Sorry I'm so lost on this / thanks for the help guys

Edit, I see where you say that all times are in Nanoseconds, thanks thats helpful. So I'm looking at it like my actual servo period is too short, and my step motor timing is too long. I think.
Last edit: 24 Mar 2020 23:41 by Fisher.

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

More
24 Mar 2020 23:42 #161380 by tommylight
Servo period = 1000000
Then fix the step time and step space.
That is not something you can play with, without knowing exactly what it is used for and what it does.
Base period is for software stepping, but why would you need a base thread with a Mesa board ?
The following user(s) said Thank You: Fisher

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

More
24 Mar 2020 23:43 - 24 Mar 2020 23:45 #161381 by PCW
Replied by PCW on topic Need Help: Mesa 5i25 w/ 7i76
A servo thread of 1000,000 is standard and does not affect
the step timing so there is no real advantage to making it faster
(and 100,000 is too fast for the 7I76 as you can see)

If you have step generation problems at a 1000,000 servo thread
that is a separate issue.

If you fix the servo thread rate and post your hal and ini files here
I can try to see whats wrong

BTW your hal/ini files are not accessible, its better to attach them to the post rather then provide a link
Last edit: 24 Mar 2020 23:45 by PCW.
The following user(s) said Thank You: Fisher

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

More
25 Mar 2020 00:19 #161383 by Fisher
Replied by Fisher on topic Need Help: Mesa 5i25 w/ 7i76
Ok again, thanks for your help and patience. I understand these values are important, and have been trying to follow the guides. I think that the stepper configuration is the problem. When I change the servo thread to 1,000,000 and try to test tune the x axis, with the 10,000 value that had previously worked, the steppers will move but won't hold position. They kind of tick around.

File Attachment:

File Name: Omni-324.hal
File Size:10 KB

File Attachment:

File Name: Omni-324.ini
File Size:4 KB


Thats the current .ini and hall for the latest config with the servo thread at 1,000,000.

Thats the diagram I'm trying to decipher. I played around with the values in test tune but couldn't get anything to work. It seems like it takes about 4.5us if I'm reading that correctly for the step time. The other values I'm not even going to guess. Thanks for your help, and let me know if these are even the correct .hal and .ini files. Cheers
Attachments:

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

More
25 Mar 2020 00:42 #161386 by PCW
Replied by PCW on topic Need Help: Mesa 5i25 w/ 7i76
At first glance all the P terms are wrong (probably a leftover from the 100,000 ns servo thread setting)

They should all be 1000
The following user(s) said Thank You: Fisher

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

More
25 Mar 2020 00:43 #161387 by tommylight
In the HAL file, delete these lines

setp pid.x.maxerror .0005

setp pid.y.maxerror .0005

setp pid.z.maxerror .0005
The following user(s) said Thank You: Fisher

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

More
25 Mar 2020 01:10 #161388 by Fisher
Replied by Fisher on topic Need Help: Mesa 5i25 w/ 7i76
@PCW I'm not even sure what the P terms are - I'm assuming position. The only place I see to change P value in pncconf is with in the axis settings. However, its under the servo PID settings which are greyed out for me and I can only edit the stepper values. I see in the .ini that the x axis has a p value = 10000, I'm getting I should change that to a 1000 I'm just not sure where to do it in pncconf. I could edit the text of the .ini, but I think pncconf warned me that any manual changes to the .ini would be written over if pncconf was used to further edit that config. LMK the best way to change the p = 1000, I'm assuming on all axis.

@tommylight I'll give that a try but I'm not understanding what those lines are doing. Obviously setting p, (again not sure what that is) and I'm curious about the maxerror.

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

More
25 Mar 2020 01:40 #161389 by tommylight
Edit the ini file with a text editor, set P (proportional) to 1000 for all axis and delete the maxerror lines.
That should get you a working system, then you can tune the rest, like velocity and acceleration.
The following user(s) said Thank You: Fisher

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

Time to create page: 0.221 seconds
Powered by Kunena Forum