Probe Accuracy Test Macro [Issues]



  • @dc42

    Now that I have it probing, I was trying to write a single point, repeated probing macro to check accuracy of the probe and compare at different probing speeds to find an optimum.

    I'm having trouble with the code though. After homing I run the following:

    G30 P0 X0 Y180 Z-99999 F2000  
    G30 P1 X0 Y180 Z-99999 F2000  
    G30 P2 X0 Y180 Z-99999 F2000  
    G30 P3 X0 Y180 Z-99999 F2000  
    
    ...
    
    G30 P33 X0 Y180 Z-99999 F2000 
    G30 P34 X0 Y180 Z-99999 F2000 
    G30 P35 X0 Y180 Z-99999 F2000 S-1
    

    The first issue I had was that between probing commands, it was aggressively moving the print head in Y, to the point of skipping steps or jumping the belt. I found that removing the Z-99999 parameter stopped this, but it seems required to get the output data I want.

    I speculated that it was applying the probe offset over and over again, so I wrote in this line of code before probing:

    G31 P25 X0 Y0 Z2.38  
    

    Then I reassert the correct values at the end of the macro. This works, but it feels like a potential bug.

    I am also running into errors that my P values eventually get out of range. Am I limited to only ~30 probing points?

    If I then prune the routine down to 30 points, the console is truncating the response and losing data:

    b35ffef1-3eab-4b71-b2b3-05082c4e400b-image.png

    Is there some way I can output the data to a file instead? I see options for that in G29, but not G30.



  • For comparison, this is the routine I use:
    M291 P"Probe will be tested 10 times and return mean and standard deviation. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel.
    G28
    M401
    G30 P0 X151 Y161 Z-9999
    G30 P1 X151 Y161 Z-9999
    G30 P2 X151 Y161 Z-9999
    G30 P3 X151 Y161 Z-9999
    G30 P4 X151 Y161 Z-9999
    G30 P5 X151 Y161 Z-9999
    G30 P6 X151 Y161 Z-9999
    G30 P7 X151 Y161 Z-9999
    G30 P8 X151 Y161 Z-9999
    G30 P9 X151 Y161 Z-9999 S-1
    M402



  • I just figured it out by setting up a macro to do 10 sets of G0 Z5 and G30 S-1, then I'd change my feed rate with M558 and hit the macro again simply watching the the differences trigger heights. It's also what made me realize my inductive probe's response time of 500hz made up a large portion of the variance for the trigger height.



  • @dc42: Does it sound like a bug for the probe offset to be applied over and over on repeated G30 P3 X0 Y180 Z-99999 F2000 calls?

    Is the behavior different if you bracket those calls with M401 / M402?


  • administrators

    @CCS86 said in Probe Accuracy Test Macro [Issues]:

    @dc42: Does it sound like a bug for the probe offset to be applied over and over on repeated G30 P3 X0 Y180 Z-99999 F2000 calls?

    That doesn't sound right. Please post the complete macro file you are running, and your config.g file, and tell us which firmware version you are running.



  • @dc42 said in Probe Accuracy Test Macro [Issues]:

    @CCS86 said in Probe Accuracy Test Macro [Issues]:

    @dc42: Does it sound like a bug for the probe offset to be applied over and over on repeated G30 P3 X0 Y180 Z-99999 F2000 calls?

    That doesn't sound right. Please post the complete macro file you are running, and your config.g file, and tell us which firmware version you are running.

    I was originally on 3.0, and now on 3.01-RC4

    Unfortunately, I did not save the macro before modifying it. That is my fault.

    I did find one error in my code, in asking it to probe at X0, when my probe has a +12mm offset. I feel like the firmware should catch this more gracefully though. It appears that it ignores the endstop switch and the X0 minimum designation, and tries to aggressively get the probe to X0 anyway, which hard crashes into the machine limit and jumps the belts.

    Also, it appears that I can't probe more than 32 points before I am "out of range"

    f5cb5f29-c4cd-481d-8a66-404810d82659-image.png