Mesa Card Basics

  • djdelorie
  • Away
  • Junior Member
  • Junior Member
More
24 Dec 2025 17:21 #340469 by djdelorie
Replied by djdelorie on topic Mesa Card Basics

You would normally choose a latch velocity low enough that the 1 ms (max) sampling uncertainty causes a minimal position error when probing.

I pondered this truth at one point recently, and did some experiments.  I wondered if the "signal lag" due to communications and HAL processing (I needed to add a noise remover[1] and mux[2] to my probe inputs, so I was at around 10ms of lag at the time, assuming each HAL component added at least one servo-loop of lag) was reducing precision here and causing the motion to continue past the actual probe point, and wondering how fast I could probe without destroying my toolsetter (testing delayed while toolsetter repaired) limited by this lag and deceleration limits.

My first findings were that the HAL lag was significant and I had to limit "fast" probing to 6in/m or so, which made me wonder: I have the axis accel limited to reduce overshoot at the tool[3], but is there a way to override that when probing or homing so I can stop faster?  Does homing use the joint accel limit instead of the axis accel?  Can accel be changed by gcode or HAL?

My second findings were thus: if I probe towards and capture the result, then probe away at the same speed and capture *that* result, and average them, I get results that are more consistent and less dependent on probing speed.  If this makes sense, one could drastically reducing probing time, but "probe slow enough" is just so much easier ;-)

Does it sound like I understand what's going on?  Is there any value in pursuing the dual-probe-average method?

Is HAL lag impacted by the order in which stuff is listed in the config files?  It would suck if I were calculating the probe signal just *before* reading the 7i76 ;-)


[1] Aluminum extrusion CNC with 7i76 here, and sometimes the ATC actions vibrate the frame enough to trigger the toolsetter.  Bad for normal operation, good for detecting failed tool releases ;-)
[2] I change the noise limits and/or disable the toolsetter based on the machine's XY position, as a "fix" for the above.
[3] the servos can stop on a dime, but the rest of the machine is limited by its strength and momentum.
[4] I really like the Mesa products, and really appreciate the work you folks have put into them :-)
 

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

More
24 Dec 2025 18:38 #340470 by PCW
Replied by PCW on topic Mesa Card Basics
There should be no more than 1 ms in hal/LinuxCNC lag at a 1 ms servo thread rate.
if the probe signal goes through multiple hal components, they need to be addf'ed to the
servo thread in processing sequence or you will add additional pipeline delays.


That is, the sequence should be:

hardware read
process-0
process-1
process-2
motion
hardware write

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

  • djdelorie
  • Away
  • Junior Member
  • Junior Member
More
24 Dec 2025 19:20 #340472 by djdelorie
Replied by djdelorie on topic Mesa Card Basics

if the probe signal goes through multiple hal components, they need to be addf'ed to the
servo thread in processing sequence or you will add additional pipeline delays.
 

Ah!  I think I guessed that order was significant, I didn't realize it was official.  Or at least "official".
That leads me to a follow-up HAL question (sorry for the thread drift).  Can I add the same component twice?  I mean, with different names, so I don't need one central "and2" with a dozen instances, I'd rather have each function/section add its own components as needed and in the right order.
If not, getting things in the right order across all components might be difficult.

Do the rest of my ponderings still apply, since I'm using dbounce and it delays the signal ?

Thanks!

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

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