Heuristic (AI) calibration for delta printers on Smoothie

User avatar
626Pilot
ULTIMATE 3D JEDDI
Posts: 1717
Joined: Tue May 14, 2013 12:52 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby 626Pilot » Wed Mar 16, 2016 5:39 am

After reading this, which damn near made me break out in hives, I have decided not to implement a fix for S3D's awful G-code generation.

I'm not comfortable shipping such a substantial modification of the motion control sections of Smoothie for a bug that I can't even reproduce. However, if you send me G-code from S3D that causes this problem, which I would need to reproduce it, you would be in violation of the end-user license agreement. Their G-code is basically the ASCII version of bird flu. I will have nothing to do with that legal rat's nest, or the company that has (in my opinion) carelessly foisted it onto its own customers.

Even if they didn't threaten people who hand out S3D-generated G-code - and they have - I find it hard to motivate myself to lift a finger to help out this company. I can't see myself doing anything that could conceivably help them ship even a single unit of their slicer, or the tablets that run it.

To anyone who was waiting on me to implement this fix, I'm sorry. The legal and ethical considerations involved in this make me feel like I need to take a shower in scalding hot water. All I can say is, get KISSlicer, or Slic3r, or like, ANYTHING ELSE.

Credo
Plasticator
Posts: 10
Joined: Wed Mar 09, 2016 1:06 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby Credo » Wed Mar 16, 2016 3:24 pm

626Pilot wrote:After reading this, which damn near made me break out in hives, I have decided not to implement a fix for S3D's awful G-code generation.

I'm not comfortable shipping such a substantial modification of the motion control sections of Smoothie for a bug that I can't even reproduce. However, if you send me G-code from S3D that causes this problem, which I would need to reproduce it, you would be in violation of the end-user license agreement. Their G-code is basically the ASCII version of bird flu. I will have nothing to do with that legal rat's nest, or the company that has (in my opinion) carelessly foisted it onto its own customers.

Even if they didn't threaten people who hand out S3D-generated G-code - and they have - I find it hard to motivate myself to lift a finger to help out this company. I can't see myself doing anything that could conceivably help them ship even a single unit of their slicer, or the tablets that run it.

To anyone who was waiting on me to implement this fix, I'm sorry. The legal and ethical considerations involved in this make me feel like I need to take a shower in scalding hot water. All I can say is, get KISSlicer, or Slic3r, or like, ANYTHING ELSE.

I use S3D. I've used it for a while, I have to admit, some of the features really help with Delta's and bowden style extruders: Wipe Distance, Retract while wiping etc.. Do you have a suggestion on another slicing program that might work just as well/better?

caall99
Plasticator
Posts: 13
Joined: Fri Mar 11, 2016 11:07 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby caall99 » Wed Mar 16, 2016 6:06 pm

Hi 626Pilot!

So my under-extruding was a stupid mistake... I originally edited the steps/mm in the commented portion of the config...DOH! Was easily rectified! Lets hope it prints properly now!

I also raised the current from 1.0A to 1.2A. No noticeable difference. When I hold my finger on the extruder stepper motor gear, I feel it pulsating as its turning (turning quite slow using Repetier host manual control). I am using 1/32nd microstepping, I would expect the motion to be smooth, or smooth enough that I couldn't tell that its "stepping". The pulsating feels like its happening every time the shaft crosses a full step. Actually, I notice something similar on all my steppers (X,Y,Z,E)when they are traveling slowly. Changing the current did not effect this.

Your newest firmware.bin is definitely not allowing a successful G29 E. I can pass with your September 2015 version, but the March 2016 version results in this:

17:52:09.910 : [PR] Repeatability test: 10 samples (S)
17:52:09.910 : [PR] Acceleration (A): 90.0
17:52:09.910 : [PR] Debounce count (B): 0
17:52:09.910 : [PR] Smooth decel (D0|D1): False
17:52:09.910 : [PR] Eccentricity test (E): On
17:52:09.910 : [PR] Probe smoothing (P): 1
17:52:09.910 : [PR] Probe priming (Q): 0
17:52:09.910 : [PR] Feedrates: Fast (U) = 30.000, Slow (V) = 2.000
17:52:09.910 : [PR] 1 step = 0.00500 mm.
17:52:11.989 : [BH] Determining the probe-from height.
17:52:30.615 : [BH] Probe-from height = 326.675
17:52:43.850 : [BH] Bed height set to 329.320
17:53:07.201 : [PR] Test 1 of 10: Measured 575 steps (2.875 mm)
17:53:12.030 : [PR] Test 2 of 10: Measured 574 steps (2.870 mm)
17:53:16.811 : [PR] Test 3 of 10: Measured 571 steps (2.855 mm)
17:53:21.781 : [PR] Test 4 of 10: Measured 568 steps (2.840 mm)
17:53:21.781 : [PR] /!\ You already have more than 5 steps of range, which is awful.
17:53:21.781 : [PR] Check your wiring and belt tightness, or try some different settings.
17:53:21.781 :
17:53:37.735 : config override file deleted /sd/config-override, reboot needed
17:54:18.317 : No start signal detected - forcing start
17:54:18.349 : Begin file list
17:54:18.349 : system volume information/
17:54:18.349 : firmware.cur
17:54:18.349 : config.txt
17:54:18.364 : End file list
17:54:29.756 : [PR] Repeatability test: 10 samples (S)
17:54:29.756 : [PR] Acceleration (A): 90.0
17:54:29.756 : [PR] Debounce count (B): 0
17:54:29.756 : [PR] Smooth decel (D0|D1): False
17:54:29.756 : [PR] Eccentricity test (E): On
17:54:29.756 : [PR] Probe smoothing (P): 1
17:54:29.756 : [PR] Probe priming (Q): 0
17:54:29.756 : [PR] Feedrates: Fast (U) = 30.000, Slow (V) = 2.000
17:54:29.756 : [PR] 1 step = 0.00500 mm.
17:54:31.834 : [BH] Determining the probe-from height.
17:54:50.460 : [BH] Probe-from height = 326.675
17:55:03.664 : [BH] Bed height set to 329.290
17:55:27.026 : [PR] Test 1 of 10: Measured 575 steps (2.875 mm)
17:55:31.838 : [PR] Test 2 of 10: Measured 574 steps (2.870 mm)
17:55:36.761 : [PR] Test 3 of 10: Measured 568 steps (2.840 mm)
17:55:36.761 : [PR] /!\ You already have more than 5 steps of range, which is awful.
17:55:36.761 : [PR] Check your wiring and belt tightness, or try some different settings.

I am sure this is not physical creeping of my probe, since on your older firmware I do not see any of this creeping. I would love to use your newest version as it seems like you have made some improvements, but unfortunately I can't pass the calibration on it. Do you mind taking a quick look? I will keep trying other firmware revisions that are newer than Sept 2015 and report back.

You are in fact THE REASON I bought into the Smoothie eco-system... Though I am using an AZSMZ Mini, I hope the Smoothieboard developers truly appreciate your contribution!

Thanks again!
Last edited by caall99 on Thu Mar 17, 2016 10:36 am, edited 1 time in total.

caall99
Plasticator
Posts: 13
Joined: Fri Mar 11, 2016 11:07 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby caall99 » Wed Mar 16, 2016 6:12 pm

Sorry for the spam, but here is my G29 E run with the January 29th commit of your fork:

18:08:45.175 : [PR] Repeatability test: 10 samples (S)
18:08:45.175 : [PR] Acceleration (A): 90.0
18:08:45.175 : [PR] Debounce count (B): 0
18:08:45.175 : [PR] Smooth decel (D0|D1): False
18:08:45.175 : [PR] Eccentricity test (E): On
18:08:45.175 : [PR] Probe smoothing (P): 1
18:08:45.175 : [PR] Probe priming (Q): 0
18:08:45.175 : [PR] Feedrates: Fast (U) = 30.000, Slow (V) = 2.000
18:08:45.175 : [PR] 1 step = 0.00500 mm.
18:08:47.206 : [BH] Determining the probe-from height.
18:09:05.879 : [BH] Probe-from height = 326.635
18:09:19.146 : [BH] Bed height set to 329.285
18:09:42.585 : [PR] Test 1 of 10: Measured 595 steps (2.975 mm)
18:09:47.476 : [PR] Test 2 of 10: Measured 596 steps (2.980 mm)
18:09:52.539 : [PR] Test 3 of 10: Measured 604 steps (3.020 mm)
18:09:52.539 : [PR] /!\ You already have more than 5 steps of range, which is awful.
18:09:52.539 : [PR] Check your wiring and belt tightness, or try some different settings.
18:09:52.539 :
18:10:05.978 : [PR] Repeatability test: 10 samples (S)
18:10:05.978 : [PR] Acceleration (A): 90.0
18:10:05.978 : [PR] Debounce count (B): 0
18:10:05.978 : [PR] Smooth decel (D0|D1): False
18:10:05.978 : [PR] Eccentricity test (E): On
18:10:05.978 : [PR] Probe smoothing (P): 1
18:10:05.978 : [PR] Probe priming (Q): 0
18:10:05.978 : [PR] Feedrates: Fast (U) = 30.000, Slow (V) = 2.000
18:10:05.978 : [PR] 1 step = 0.00500 mm.
18:10:29.307 : [PR] Test 1 of 10: Measured 577 steps (2.885 mm)
18:10:34.323 : [PR] Test 2 of 10: Measured 583 steps (2.915 mm)
18:10:34.339 : [PR] /!\ You already have more than 5 steps of range, which is awful.
18:10:34.339 : [PR] Check your wiring and belt tightness, or try some different settings.

The creeping is now positive!!! Whereas with the March 6th commit (I posted above) it was negative.

caall99
Plasticator
Posts: 13
Joined: Fri Mar 11, 2016 11:07 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby caall99 » Wed Mar 16, 2016 6:15 pm

Last spam... here I ran the G29 E one more time on the January 29th commit, BUT this time I ran M502 before running G29E... et VOILA!

18:12:45.553 : config override file deleted /sd/config-override, reboot needed
18:12:56.914 : [PR] Repeatability test: 10 samples (S)
18:12:56.914 : [PR] Acceleration (A): 90.0
18:12:56.914 : [PR] Debounce count (B): 0
18:12:56.914 : [PR] Smooth decel (D0|D1): False
18:12:56.914 : [PR] Eccentricity test (E): On
18:12:56.914 : [PR] Probe smoothing (P): 1
18:12:56.914 : [PR] Probe priming (Q): 0
18:12:56.914 : [PR] Feedrates: Fast (U) = 30.000, Slow (V) = 2.000
18:12:56.914 : [PR] 1 step = 0.00500 mm.
18:13:14.837 : [PR] Test 1 of 10: Measured 583 steps (2.915 mm)
18:13:19.681 : [PR] Test 2 of 10: Measured 583 steps (2.915 mm)
18:13:24.525 : [PR] Test 3 of 10: Measured 583 steps (2.915 mm)
18:13:29.385 : [PR] Test 4 of 10: Measured 583 steps (2.915 mm)
18:13:34.229 : [PR] Test 5 of 10: Measured 583 steps (2.915 mm)
18:13:39.089 : [PR] Test 6 of 10: Measured 583 steps (2.915 mm)
18:13:43.933 : [PR] Test 7 of 10: Measured 583 steps (2.915 mm)
18:13:48.777 : [PR] Test 8 of 10: Measured 583 steps (2.915 mm)
18:13:53.637 : [PR] Test 9 of 10: Measured 583 steps (2.915 mm)
18:13:58.715 : [PR] Test 10 of 10: Measured 583 steps (2.915 mm)
18:13:58.715 : [PR] Stats:
18:13:58.715 : [PR] range: 0 steps (0.0000 mm)
18:13:58.715 : [PR] mu: 583.000 steps (2.915 mm)
18:13:58.715 : [PR] sigma: 0.000 steps (0.000 mm)
18:13:58.731 : [PR] Repeatability: 0.0000 (add a little to be sure)
18:13:58.731 : [PR] This is your best score so far!
18:13:58.731 : [PR] This score is very good!


What is going on here??

caall99
Plasticator
Posts: 13
Joined: Fri Mar 11, 2016 11:07 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby caall99 » Thu Mar 17, 2016 10:40 am

And another update:

Even with running M502 before doing G29 E, I cannot get the newest March 2016 version to pass G29 E. I still experience a decaying creeping effect for my Z probe.

Credo
Plasticator
Posts: 10
Joined: Wed Mar 09, 2016 1:06 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby Credo » Thu Mar 17, 2016 12:44 pm

I've managed to swap out my probe for FSRs on my Kossel Pro last night. However, I'm having some sever issues with false triggers. For example, when running a G32 with a heated bed, the FSRs might trigger at some point, even if the extruded isn't actually touching the bed. This obviously throws off the tramming procedure - needless to say the G32 fails even though it goes through the procedure 20 times.

Should FSRs be more reliable than this? I'm not having a good time here :(

Any help would be greatly appreciated.
Thank you in advance,

~C.

User avatar
Xenocrates
ULTIMATE 3D JEDDI
Posts: 1519
Joined: Wed Sep 23, 2015 2:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby Xenocrates » Thu Mar 17, 2016 3:27 pm

They should be.

Do you have the interface board? Because if so, it should have sensitivity adjustments (reduce sensitivity so it just eliminates false positives, but no further)
You may also want rubber disks/washers or felt pads for it as well. If you have major trouble, Mhackney would be the best person to ask.
Machines:
Rostock Max V2, Duet .8.5, PT100 enabled E3D V6 and volcano, Raymond style enclosure
Automation Technology 60W laser cutter/engraver
1m X-carve router

Sic Transit Gloria Mundi
01-10011-11111100001

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Thu Mar 17, 2016 3:57 pm

Been going over code and playing with my printer... Haven't found much yet (just been updating configs and making sure firmwares are the latest and greatest).

One thing that I did notice while trying to track down why after a simple G30 probe resulted in M114 returning numbers that were higher then I expected (after the probe returned)

https://github.com/626Pilot/Smoothieware/blob/edge/src/modules/tools/zprobe/ZProbe.cpp#L463
Looks like return_probe is doubled up at this point.

New code (that does decel) is above and is what gets used now.

Looking at smoothie edge the same code is there. It looks like a copy/paste error. My guess is line 463 can just be removed.

Not exactly an end of days kinda bug. Just results in the probe moving up twice as far as it moved down (still don't know why its not right though - as in its not back in the same place as before the probe - still looking into that)

chris.

Credo
Plasticator
Posts: 10
Joined: Wed Mar 09, 2016 1:06 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby Credo » Thu Mar 17, 2016 5:33 pm

Xenocrates wrote:They should be.

Do you have the interface board? Because if so, it should have sensitivity adjustments (reduce sensitivity so it just eliminates false positives, but no further)
You may also want rubber disks/washers or felt pads for it as well. If you have major trouble, Mhackney would be the best person to ask.


Thanks. I do have the board - it's the kit that everyone said to get from Ultibots. I've printed "spacers" that sit on top of the FSRs where I have them mounted. Essentially, the bed is sitting on 3 points - it should be pretty much the only load-bearing points for the bed.

I'll try adding a few jumpers to the board to decrease sensitivity, maybe that will help.

Hopefully this gets fixed, I've yet to get a perfect (or even near-perfect) first layer print.

Thanks,

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Thu Mar 17, 2016 8:32 pm

PyjamaSam wrote:...trying to track down why after a simple G30 probe resulted in M114 returning numbers that were higher then I expected (after the probe returned)...


Ok. So here is the rundown of the issue I have found.

Run the following gcode (make sure the gcode is actually right for your machine :-))

Code: Select all

G28
G0 Z40 F9000
M114
G30
M114

Expected results

Code: Select all

Machine Homes
Machine Moves to Z 40mm
ok C: X:0.0000 Y:0.0000 Z:40.0000 E:0.000
Z:21.0700 C:4214
ok C: X:0.0000 Y:0.0000 Z:40.0000 E:0.000

Experienced results

Code: Select all

Machine Homes
Machine Moves to Z 40mm
ok C: X:0.0000 Y:0.0000 Z:40.0000 E:0.000
Z:21.0700 C:4214
ok C: X:0.0000 Y:0.0000 Z:61.0700 E:0.000


The Z is out by exactly the probe move distance.
Not a coincidence. With the change to the decelerating probe code in your fork this bug showed up. Even though I am not using the decelerating option.

The culprit is the switch to calling coordinated_move inside return_probe. The old code moved the probe back to the original position in the same manner as it moved down. It doesn't actually update the Z position while moving. It just drives the steppers. When the probe triggers (or runs out to some point) the probe then is moved back up (again not updating the position, but moves the same number of steps). So after all this we end up in the same position as before the probe ran.
And everything is well.

With the use of coordinated_move we are moving the axis differently on the way back up then we did on the way down. Now when we stop cause the probe triggered we are still at our original position from before the probe happened. And then we go to move back up but this time when coordinated_move happens it adds the distance we moved down onto our current position (of course when the move has finished)
And all is not well.

Soo.. The end result. The machine thinks its at a higher Z then it really is.

Presently I don't know enough about the internals of the positioning system in smoothie to sort out a permanent fix. But using the stock smoothie edge return_probe method (remember I am not actually using deceleration) lets me perform multiple G30 commands without a G28 in between to reset the axis.

Long winded I know, but this bug has been... well... bugging me for a bit.

@626Pilot: If you need any more info let me know. I'll keep trying to sort out a fix for this, but I suspect you'll be able to deal with it faster.

Now on to the next bit of testing...

chris.

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Thu Mar 17, 2016 9:06 pm

Ok..

G29...

Base G29 E works fine.

Code: Select all

SENDING:G29 E P0
[PR]    Repeatability test: 10 samples (S)
[PR]      Acceleration (A): 100.0
[PR]    Debounce count (B): 0
[PR]  Smooth decel (D0|D1): False
[PR] Eccentricity test (E): On
[PR]   Probe smoothing (P): 1
[PR]     Probe priming (Q): 0
[PR]             Feedrates: Fast (U) = 100.000, Slow (V) = 5.000
[PR] 1 step = 0.00500 mm.
[PR] Test  1 of 10: Measured 953 steps (4.765 mm)
[PR] Test  2 of 10: Measured 953 steps (4.765 mm)
[PR] Test  3 of 10: Measured 953 steps (4.765 mm)
[PR] Test  4 of 10: Measured 953 steps (4.765 mm)
[PR] Test  5 of 10: Measured 953 steps (4.765 mm)
[PR] Test  6 of 10: Measured 953 steps (4.765 mm)
[PR] Test  7 of 10: Measured 953 steps (4.765 mm)
[PR] Test  8 of 10: Measured 953 steps (4.765 mm)
[PR] Test  9 of 10: Measured 953 steps (4.765 mm)
[PR] Test 10 of 10: Measured 953 steps (4.765 mm)
[PR] Stats:
[PR]   range: 0 steps (0.0000 mm)
[PR]      mu: 953.000 steps (4.765 mm)
[PR]   sigma: 0.000 steps (0.000 mm)
[PR] Repeatability: 0.0000 (add a little to be sure)
[PR] This is your best score so far!
[PR] This score is very good!

But I noticed

Code: Select all

Probe smoothing (P): 1
When I had

Code: Select all

comprehensive-delta.probe_smoothing    0
in my config file.

I then tried G29 E P0 which is where things started to get interesting.
Running that command didn't give me a probe smoothing of 0 as I expected. It just ran as if I never added the P0 option.
So... G29 E P2

Code: Select all

SENDING:G29 E P2
strategy #2 is not loaded
Bingo. The new subcode dispatching is breaking the P option. Looks like we'll need to pick a new letter for the smoothing option.

Also noticed that when passing in to G29 you can set smoothing to 0 (which then gets limited back to 1 further down in the code), but when set via the config file you can only set it as low as 1

Based on where the probe smoothing is used (and how its used) the minimum needs to be 1.
A fixup in measure_probe_repeatability (removing the limiting to 0 check and replacing it with a 1, and removing the duplicate check back for 1) should be enough to deal with that issue.

Onward and upward.

chris.

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Thu Mar 17, 2016 9:37 pm

Ok. G32 looks to get away scott free...

Code: Select all

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 102.200
[PK]      Endstop offsets: {0.000, -2.268, -3.497}
[PK] Radius offsets (ABC): {0.000, 0.000, 0.000}
[PK]  Angle offsets (DEF): {0.000, 0.000, 0.000}
[PK]     Virtual shimming: {0.000, 0.000, 0.000}, vector={0.000, 0.000, 1.000}, d=0.000, Disabled
[PK] Depth (Z) correction: Disabled

Code: Select all

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 102.200
[PK]      Endstop offsets: {0.000, -2.268, -3.478}
[PK] Radius offsets (ABC): {0.000, 0.000, 0.000}
[PK]  Angle offsets (DEF): {0.000, 0.000, 0.000}
[PK]     Virtual shimming: {0.000, 0.000, 0.000}, vector={0.000, 0.000, 1.000}, d=0.000, Disabled
[PK] Depth (Z) correction: Disabled

Code: Select all

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 102.200
[PK]      Endstop offsets: {0.000, -2.275, -3.477}
[PK] Radius offsets (ABC): {0.000, 0.000, 0.000}
[PK]  Angle offsets (DEF): {0.000, 0.000, 0.000}
[PK]     Virtual shimming: {0.000, 0.000, 0.000}, vector={0.000, 0.000, 1.000}, d=0.000, Disabled
[PK] Depth (Z) correction: Disabled

Code: Select all

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 102.200
[PK]      Endstop offsets: {0.000, -2.262, -3.477}
[PK] Radius offsets (ABC): {0.000, 0.000, 0.000}
[PK]  Angle offsets (DEF): {0.000, 0.000, 0.000}
[PK]     Virtual shimming: {0.000, 0.000, 0.000}, vector={0.000, 0.000, 1.000}, d=0.000, Disabled
[PK] Depth (Z) correction: Disabled


After a few runs things converged to basically the same numbers.

Seems to be working for me. So time to move on to G31... The big momma.

chris.

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Thu Mar 17, 2016 10:04 pm

Running G31 H O Q R gives me the following (ya ya I realize my printer isn't exactly a thing of square and triangle beauty)

Code: Select all

>>> G31 H O Q R
SENDING:G31 H O Q R

[HC] Heuristic calibration in progress. Press Reset to abort.
[HC] /!\ PROBE CRASH DANGER /!\ Don't press buttons, send commands, or access the SD card.

[HC] /!\ At start of method, kinematics are:

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 101.488
[PK]      Endstop offsets: {0.000, -0.357, -1.049}
[PK] Radius offsets (ABC): {0.000, 0.712, 0.712}
[PK]  Angle offsets (DEF): {-1.163, -0.038, -2.458}
[PK]     Virtual shimming: {0.836, -0.746, -1.307}, vector={0.017, 0.014, 1.000}, d=0.293, Enabled
[PK] Depth (Z) correction: Disabled

[HC] /!\ And, cur_set is:

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 101.488
[PK]      Endstop offsets: {0.000, -0.357, -1.049}
[PK] Radius offsets (ABC): {0.000, 0.712, 0.712}
[PK]  Angle offsets (DEF): {-1.163, -0.038, -2.458}
[PK]     Virtual shimming: {0.836, -0.746, -1.307}, vector={0.017, 0.014, 1.000}, d=0.293, Enabled
[PK] Depth (Z) correction: Disabled

[HC]             Data source: Probe
[HC]            Active tests: [Endstops (H), mul=1.00] [Delta Radius (O), mul=1.00] [Tower Angle Offset (Q), mul=1.00] [Virtual Shimming (R), mul=1.00]
[HC]          Inactive tests: [Arm Length (P), mul=1.00]
[HC] Set geom during/after (J): During
[HC]    Keep last settings (K): False
[HC]       Annealing tries (E): 50
[HC]              Max temp (U): 0.350
[HC]   Binary search width (V): 0.050
[HC]       Overrun divisor (W): 2.000
[HC]           Eval metric (X): Mean
[HC]      Zero all offsets (Y): False

[HC] Baseline kinematics updated.
[HC] Keeping existing kinematics.
[HC] Depth-mapping the print surface...

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 101.488
[PK]      Endstop offsets: {0.000, -0.357, -1.049}
[PK] Radius offsets (ABC): {0.000, 0.712, 0.712}
[PK]  Angle offsets (DEF): {-1.163, -0.038, -2.458}
[PK]     Virtual shimming: {0.836, -0.746, -1.307}, vector={0.017, 0.014, 1.000}, d=0.293, Enabled
[PK] Depth (Z) correction: Disabled

[DM] Geometry hasn't changed since last depth map - keeping it!


[PD]                                    0.225
[PD]
[PD] [  --  ]     0.075      0.070      0.025      0.090      0.170    [  --  ]
[PD]
[PD] [  --  ]     0.070      0.005      0.015      0.020      0.110    [  --  ]
[PD]
[PD]   0.095      0.105      0.030      0.000      0.000      0.095      0.150
[PD]
[PD] [  --  ]     0.090      0.090      0.145      0.070      0.100    [  --  ]
[PD]
[PD] [  --  ]     0.040      0.085      0.090      0.085      0.140    [  --  ]
[PD]
[PD]                                   -0.005
[PD]
[PD] Best=0.000, worst=0.225, min=-0.005, max=0.225, mu=0.047, RMS=0.074, sigma=0.057, energy=0.097

[HC] Generating carriage positions for a printer with this configuration.

[HC] Starting test configuration: Arm length=186.780, delta radius=101.488

[HC] ***** Simulated annealing pass 1 of 1 in progress *****
[HC] Existing calibration has energy 0.097

[HC] Reticulating splines...
[HC] Try 0 of 50, energy=0.055 (want <= 0.010)
[HC] Try 5 of 50, energy=0.081 (want <= 0.010)
[HC] Try 10 of 50, energy=0.074 (want <= 0.010)
[HC] Try 15 of 50, energy=0.054 (want <= 0.010)
[HC] Try 20 of 50, energy=0.061 (want <= 0.010)
[HC] Try 25 of 50, energy=0.061 (want <= 0.010)
[HC] Try 30 of 50, energy=0.056 (want <= 0.010)
[HC] Try 35 of 50, energy=0.055 (want <= 0.010)
[HC] Try 40 of 50, energy=0.058 (want <= 0.010)
[HC] Try 45 of 50, energy=0.053 (want <= 0.010)

[HC] End of annealing pass (energy=0.053)
[HC]
[HC] Applying best found kinematics.
[HC] Heuristic calibration complete (energy=0.050)

[PK] Current kinematic settings:
[PK]           Arm length: 186.780
[PK]         Delta radius: 101.559
[PK]      Endstop offsets: {0.000, -0.300, -1.034}
[PK] Radius offsets (ABC): {0.000, 0.641, 0.641}
[PK]  Angle offsets (DEF): {-1.242, -0.042, -2.492}
[PK]     Virtual shimming: {0.836, -0.746, -1.307}, vector={0.017, 0.014, 1.000}, d=0.293, Enabled
[PK] Depth (Z) correction: Disabled

[HC] Checking calibration...
[DM] Depth to bed surface at center: 900 steps (4.500 mm)

[PD]                                    0.235
[PD]
[PD] [  --  ]     0.075      0.070      0.025      0.080      0.140    [  --  ]
[PD]
[PD] [  --  ]     0.070      0.010      0.010      0.010      0.090    [  --  ]
[PD]
[PD]   0.095      0.100      0.035      0.000     -0.005      0.075      0.110
[PD]
[PD] [  --  ]     0.090      0.100      0.150      0.070      0.090    [  --  ]
[PD]
[PD] [  --  ]     0.045      0.090      0.090      0.075      0.130    [  --  ]
[PD]
[PD]                                    0.015
[PD]
[PD] Best=0.000, worst=0.235, min=-0.005, max=0.235, mu=0.044, RMS=0.070, sigma=0.054, energy=0.092

[HC] If you're satisfied with the results, type M500 to save.
[HC] If your results are worse than last time, you might have to run this a few times!
I ran things a few times (well more like 10 or so) without any issues.

I need to try G31 A next, but it looks as if the beast that is the bulk of the purpose of this fork is working well enough that it didn't turn my delta into a cartesian.

chris.

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Thu Mar 17, 2016 10:20 pm

Ok last post for the evening.

G31 A works well enough (though in my experience I still have to tweak the file manually). But for now I'll call it working.

Code: Select all

>>> G31 A
SENDING:G31 A

[DC] Depth-mapping calibration in progress. Press Reset to abort.
[DC] /!\ PROBE CRASH DANGER /!\ Don't press buttons, send commands, or access the SD card.

[DC] Probing bed for depth correction...
[DM] Geometry hasn't changed since last depth map - keeping it!

[DM] Probing at circle's edge for extrapolation...

[DM] Complete output, with extrapolated points (numbers in brackets):

[PD]                                    0.275
[PD]
[PD] [-0.248]     0.070      0.080      0.050      0.115      0.190    [ 0.296]
[PD]
[PD] [-0.013]     0.035      0.005      0.030      0.030      0.140    [ 0.158]
[PD]
[PD]   0.000      0.045      0.015      0.000      0.015      0.120      0.145
[PD]
[PD] [ 0.035]     0.005      0.050      0.135      0.070      0.110    [ 0.038]
[PD]
[PD] [ 0.041]    -0.065      0.025      0.060      0.065      0.140    [ 0.140]
[PD]
[PD]                                   -0.050
[PD]
[PD] Best=0.000, worst=0.296, min=-0.248, max=0.296, mu=0.048, RMS=0.098, sigma=0.085, energy=0.099

[DC] Surface transform saved to SD card.
[DC] Checking calibration...
[DM] Depth to bed surface at center: 939 steps (4.695 mm)

[PD]                                   -0.005
[PD]
[PD] [  --  ]     0.000      0.000      0.000      0.000      0.000    [  --  ]
[PD]
[PD] [  --  ]     0.005      0.000      0.000      0.005      0.000    [  --  ]
[PD]
[PD]   0.000      0.000      0.000      0.000     -0.005     -0.005      0.000
[PD]
[PD] [  --  ]     0.000      0.000     -0.005     -0.005     -0.005    [  --  ]
[PD]
[PD] [  --  ]    -0.005     -0.005      0.000      0.000     -0.005    [  --  ]
[PD]
[PD]                                    0.000
[PD]
[PD] Best=0.000, worst=0.005, min=-0.005, max=0.005, mu=-0.001, RMS=0.002, sigma=0.002, energy=0.003

[DC] /!\ IMPORTANT /!\ Type M500 to save!


Gonna get my hotend back assembled (took an opportunity to clean it and such while all this probing was going on) and see how everything tracks on its first few layers tomorrow evening.

For reference my config file for all this testing is as follows: https://gist.github.com/pyjamasam/00888a9a313143a56859

If anybody has any questions please let me know. I'll do my best to answer them.

chris.

caall99
Plasticator
Posts: 13
Joined: Fri Mar 11, 2016 11:07 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby caall99 » Fri Mar 18, 2016 5:32 pm

PyjamaSam,

Thank you for all your research and troubleshooting! I hope you and 626Pilot can work together to resolve these bugs. I am no expert at programming, but plan to look at the code as well, to at least follow along. Otherwise... I will patiently await for the next GitHub commit!!

Thanks!

oodanner
Noob
Posts: 1
Joined: Wed Mar 16, 2016 10:03 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby oodanner » Sun Mar 20, 2016 2:22 am

Just so you know it isn't one user and you may already understand that I'm having the same problem with the downward creep of the probe during a G29 E as well. When I go back to the Sept. 2015 firmware which is what I'm running now it works fine. Looking forward to a fix as your firmware improvements are much appreciated!

PyjamaSam are you saying that you have fixed the G29 E issue or are you working on something else in the code?

User avatar
626Pilot
ULTIMATE 3D JEDDI
Posts: 1717
Joined: Tue May 14, 2013 12:52 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby 626Pilot » Sun Mar 20, 2016 3:27 am

Alright, I got my probe fixed up!

PyjamaSam wrote:https://github.com/626Pilot/Smoothieware/blob/edge/src/modules/tools/zprobe/ZProbe.cpp#L463
Looks like return_probe is doubled up at this point.

Good catch! I changed my code (decelerate_on_trigger block) to use the 'reverse' option as well, and deleted the extraneous call. I have verified that G30 works now.

The "Z-probe creeping down" bug was because I was averaging the get_stepped() from all three axes in wait_for_probe(). I changed it to sampling only the Z axis. This mostly rolls back the earlier code I added to that method, although I'm still saving the value before the axis is commanded to stop. It has been fixed, and I'm sorry for the trouble.

Code: Select all

00:20:53.275 : [PR]    Repeatability test: 30 samples (S)
00:20:53.275 : [PR]      Acceleration (A): 100.0
00:20:53.275 : [PR]    Debounce count (B): 0
00:20:53.288 : [PR]  Smooth decel (D0|D1): False
00:20:53.288 : [PR] Eccentricity test (E): On
00:20:53.288 : [PR]   Probe smoothing (P): 1
00:20:53.288 : [PR]     Probe priming (Q): 0
00:20:53.288 : [PR]             Feedrates: Fast (U) = 60.000, Slow (V) = 3.000
00:20:53.288 : [PR] 1 step = 0.00625 mm.
00:21:00.464 : [BH] Determining the probe-from height.
00:21:13.624 : [BH] Probe-from height = 352.013
00:21:21.138 : [BH] Bed height set to 354.969
00:21:37.872 : [PR] Test  1 of 30: Measured 473 steps (2.956 mm)
00:21:41.458 : [PR] Test  2 of 30: Measured 472 steps (2.950 mm)
00:21:45.044 : [PR] Test  3 of 30: Measured 472 steps (2.950 mm)

...

00:23:14.688 : [PR] Test 28 of 30: Measured 472 steps (2.950 mm)
00:23:18.274 : [PR] Test 29 of 30: Measured 472 steps (2.950 mm)
00:23:21.859 : [PR] Test 30 of 30: Measured 472 steps (2.950 mm)
00:23:21.859 : [PR] Stats:
00:23:21.859 : [PR]   range: 1 steps (0.0063 mm)
00:23:21.869 : [PR]      mu: 472.200 steps (2.951 mm)
00:23:21.869 : [PR]   sigma: 0.400 steps (0.002 mm)
00:23:21.869 : [PR] Repeatability: 0.0063 (add a little to be sure)
00:23:21.869 : [PR] This is your best score so far!
00:23:21.869 : [PR] This score is very good!


PyjamaSam wrote:Bingo. The new subcode dispatching is breaking the P option. Looks like we'll need to pick a new letter for the smoothing option.

Or not. I like how the simulated annealing args are HOPQR, and I don't feel like breaking that up. I find that new code (use P to send to a different strategy) useless in this context, as people are not downloading my fork so they can not use it, so I disabled it. Thanks for finding the bug.

User avatar
626Pilot
ULTIMATE 3D JEDDI
Posts: 1717
Joined: Tue May 14, 2013 12:52 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby 626Pilot » Sun Mar 20, 2016 3:50 am

NEW VERSION
____________________

Right-click, save as.

Changes:
  • Merged in a few minor changes from upstream.
  • Bugfixes mentioned above.
  • Corrects ZProbe.probe_pin in ConfigSamples/Smoothieboard.delta/config to assume the probe is wired normally closed, which is the safe way to do it. Any time you edit this value, test your Z-probe with M119 to make sure it's reporting correctly.
  • Also in that file, changed temperature_control.hotendnd.p|i|d_factor to values that are more realistic for an E3D v6 or Kraken hot end, and added P/I/D values for the heated bed. (These are the default values, and will be overridden by whatever's in config-override.)

caall99
Plasticator
Posts: 13
Joined: Fri Mar 11, 2016 11:07 am

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby caall99 » Sun Mar 20, 2016 11:43 am

Thanks for the update! Unfortunately i am still having the probe creeping issue even with smoothing and priming 3 times.

PyjamaSam
Prints-a-lot
Posts: 20
Joined: Wed Dec 23, 2015 4:55 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby PyjamaSam » Sun Mar 20, 2016 2:34 pm

oodanner wrote:PyjamaSam are you saying that you have fixed the G29 E issue or are you working on something else in the code?

No sorry. I was just working through testing all the code that this fork specifically introduced. The issues I was finding I was fixing as I went, but they were never submitted to 626Pilot other then me posting in these forums. I haven't noticed the probe creeping issues with my printer so I didn't happen upon a way to fix them.

626Pilot wrote:The "Z-probe creeping down" bug was because I was averaging the get_stepped() from all three axes in wait_for_probe(). I changed it to sampling only the Z axis.

Hmm... That STEPPER macro is actually THEKERNEL->robot->actuators.

It's used with the AXIS as the array accessor a lot. I.e. steps = STEPPER[Z_AXIS]->get_stepped(); (And I think its incorrect to reference with "axis" notation)

Should it not in fact actually be Alpha, Beta, and Gamma? This is how the steppers are referenced in the config file for either a cartesian or delta printer. The ZProbe code (which I realize you didn't completely write) makes it confusing because it references the steppers using axis notation.

Are we not trying to count how far each stepper moved to get us down to probe trigger height?
Seams like in this change we are only now counting the Gamma stepper (Z_AXIS is defined as 2). Should we not continue to count all three? I guess technically a single stepper should be moving the same as the other two steppers. (If it isn't you have a much bigger issue). When moving straight down (in the Z axis) all three steppers should be driving the same.

All my rambling here is me just trying to see how this keeps the probe from creeping down.

626Pilot wrote:Good catch! I changed my code (decelerate_on_trigger block) to use the 'reverse' option as well, and deleted the extraneous call. I have verified that G30 works now.

I still see the call to coordinated_move in return_probe. Is there a missing commit? This would seem to still exhibit the issue with the effector reporting it's 1 probe height higher (in Z) then it really is after a probe (this post - which may have gotten lots in my spam of posts details it)

chris.

User avatar
626Pilot
ULTIMATE 3D JEDDI
Posts: 1717
Joined: Tue May 14, 2013 12:52 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby 626Pilot » Sun Mar 20, 2016 4:59 pm

PyjamaSam wrote:Are we not trying to count how far each stepper moved to get us down to probe trigger height?
Seams like in this change we are only now counting the Gamma stepper (Z_AXIS is defined as 2). Should we not continue to count all three? I guess technically a single stepper should be moving the same as the other two steppers. (If it isn't you have a much bigger issue). When moving straight down (in the Z axis) all three steppers should be driving the same.

I put in some debug printfs, and the three axes always reported the same number of steps.

I still see the call to coordinated_move in return_probe. Is there a missing commit?

No, the change is there and I verified that G30 works correctly. https://github.com/626Pilot/Smoothiewar ... e.cpp#L445

coordinated_move() is in return_probe because it has to be. Nothing would happen otherwise.
Last edited by 626Pilot on Sun Mar 20, 2016 5:06 pm, edited 1 time in total.

User avatar
626Pilot
ULTIMATE 3D JEDDI
Posts: 1717
Joined: Tue May 14, 2013 12:52 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby 626Pilot » Sun Mar 20, 2016 5:02 pm

caall99 wrote:Thanks for the update! Unfortunately i am still having the probe creeping issue even with smoothing and priming 3 times.

Have you tried using a debounce argument, like G29 B100? What kind of probe is it? I was using a microswitch probe, and it was messed up. I have a flying extruder platform, and before I had a counterweight system, there were a few times when the firmware crashed during debugging and the switch got driven into the platform under 3 pounds of extruders. It had deformed the plunger, and repeatability was very bad. I replaced it a few days ago, and now I'm getting this:

Code: Select all

>> G29 E S30

13:47:03.983 : [PR]    Repeatability test: 30 samples (S)
13:47:03.983 : [PR]      Acceleration (A): 100.0
13:47:03.983 : [PR]    Debounce count (B): 0
13:47:03.996 : [PR]  Smooth decel (D0|D1): False
13:47:03.996 : [PR] Eccentricity test (E): On
13:47:03.996 : [PR]   Probe smoothing (P): 1
13:47:03.996 : [PR]     Probe priming (Q): 0
13:47:03.996 : [PR]             Feedrates: Fast (U) = 60.000, Slow (V) = 3.000
13:47:03.996 : [PR] 1 step = 0.00625 mm.
13:47:15.745 : [PR] Test  1 of 30: Measured 492 steps (3.075 mm)
13:47:19.408 : [PR] Test  2 of 30: Measured 492 steps (3.075 mm)
13:47:23.071 : [PR] Test  3 of 30: Measured 492 steps (3.075 mm)
13:47:26.733 : [PR] Test  4 of 30: Measured 492 steps (3.075 mm)
13:47:30.398 : [PR] Test  5 of 30: Measured 492 steps (3.075 mm)
13:47:34.063 : [PR] Test  6 of 30: Measured 492 steps (3.075 mm)
13:47:37.729 : [PR] Test  7 of 30: Measured 492 steps (3.075 mm)
13:47:41.394 : [PR] Test  8 of 30: Measured 493 steps (3.081 mm)
13:47:45.087 : [PR] Test  9 of 30: Measured 493 steps (3.081 mm)
13:47:48.780 : [PR] Test 10 of 30: Measured 494 steps (3.088 mm)
13:47:52.450 : [PR] Test 11 of 30: Measured 494 steps (3.088 mm)
13:47:56.121 : [PR] Test 12 of 30: Measured 494 steps (3.088 mm)
13:47:59.794 : [PR] Test 13 of 30: Measured 494 steps (3.088 mm)
13:48:03.444 : [PR] Test 14 of 30: Measured 494 steps (3.088 mm)
13:48:07.112 : [PR] Test 15 of 30: Measured 494 steps (3.088 mm)
13:48:10.756 : [PR] Test 16 of 30: Measured 494 steps (3.088 mm)
13:48:14.424 : [PR] Test 17 of 30: Measured 495 steps (3.094 mm)
13:48:18.091 : [PR] Test 18 of 30: Measured 494 steps (3.088 mm)
13:48:21.756 : [PR] Test 19 of 30: Measured 494 steps (3.088 mm)
13:48:25.424 : [PR] Test 20 of 30: Measured 494 steps (3.088 mm)
13:48:29.087 : [PR] Test 21 of 30: Measured 493 steps (3.081 mm)
13:48:32.750 : [PR] Test 22 of 30: Measured 493 steps (3.081 mm)
13:48:36.412 : [PR] Test 23 of 30: Measured 492 steps (3.075 mm)
13:48:40.073 : [PR] Test 24 of 30: Measured 492 steps (3.075 mm)
13:48:43.733 : [PR] Test 25 of 30: Measured 492 steps (3.075 mm)
13:48:47.392 : [PR] Test 26 of 30: Measured 492 steps (3.075 mm)
13:48:51.049 : [PR] Test 27 of 30: Measured 491 steps (3.069 mm)
13:48:54.707 : [PR] Test 28 of 30: Measured 491 steps (3.069 mm)
13:48:58.366 : [PR] Test 29 of 30: Measured 491 steps (3.069 mm)
13:49:02.045 : [PR] Test 30 of 30: Measured 491 steps (3.069 mm)
13:49:02.045 : [PR] Stats:
13:49:02.046 : [PR]   range: 4 steps (0.0250 mm)
13:49:02.054 : [PR]      mu: 492.767 steps (3.080 mm)
13:49:02.054 : [PR]   sigma: 1.146 steps (0.007 mm)
13:49:02.054 : [PR] Repeatability: 0.0250 (add a little to be sure)
13:49:02.056 : [PR] This is your best score so far!
13:49:02.056 : [PR] This score is average.

It does seem to oscillate up and down, but it doesn't just keep going down further and further.

Now, with debounce turned on:

Code: Select all

>> G29 E S30 B100

13:52:47.309 : [PR]    Repeatability test: 30 samples (S)
13:52:47.309 : [PR]      Acceleration (A): 100.0
13:52:47.309 : [PR]    Debounce count (B): 100
13:52:47.324 : [PR]  Smooth decel (D0|D1): False
13:52:47.325 : [PR] Eccentricity test (E): On
13:52:47.325 : [PR]   Probe smoothing (P): 1
13:52:47.326 : [PR]     Probe priming (Q): 0
13:52:47.326 : [PR]             Feedrates: Fast (U) = 60.000, Slow (V) = 3.000
13:52:47.326 : [PR] 1 step = 0.00625 mm.
13:53:02.715 : [PR] Test  1 of 30: Measured 489 steps (3.056 mm)
13:53:06.392 : [PR] Test  2 of 30: Measured 488 steps (3.050 mm)
13:53:10.069 : [PR] Test  3 of 30: Measured 488 steps (3.050 mm)
13:53:13.747 : [PR] Test  4 of 30: Measured 488 steps (3.050 mm)
13:53:17.422 : [PR] Test  5 of 30: Measured 488 steps (3.050 mm)
13:53:21.101 : [PR] Test  6 of 30: Measured 488 steps (3.050 mm)
13:53:24.779 : [PR] Test  7 of 30: Measured 488 steps (3.050 mm)
13:53:28.459 : [PR] Test  8 of 30: Measured 489 steps (3.056 mm)
13:53:32.136 : [PR] Test  9 of 30: Measured 489 steps (3.056 mm)
13:53:35.814 : [PR] Test 10 of 30: Measured 489 steps (3.056 mm)
13:53:39.493 : [PR] Test 11 of 30: Measured 489 steps (3.056 mm)
13:53:43.172 : [PR] Test 12 of 30: Measured 489 steps (3.056 mm)
13:53:46.826 : [PR] Test 13 of 30: Measured 490 steps (3.062 mm)
13:53:50.479 : [PR] Test 14 of 30: Measured 490 steps (3.062 mm)
13:53:54.134 : [PR] Test 15 of 30: Measured 490 steps (3.062 mm)
13:53:57.787 : [PR] Test 16 of 30: Measured 490 steps (3.062 mm)
13:54:01.417 : [PR] Test 17 of 30: Measured 489 steps (3.056 mm)
13:54:05.045 : [PR] Test 18 of 30: Measured 489 steps (3.056 mm)
13:54:08.697 : [PR] Test 19 of 30: Measured 488 steps (3.050 mm)
13:54:12.324 : [PR] Test 20 of 30: Measured 488 steps (3.050 mm)
13:54:15.975 : [PR] Test 21 of 30: Measured 488 steps (3.050 mm)
13:54:19.598 : [PR] Test 22 of 30: Measured 487 steps (3.044 mm)
13:54:23.222 : [PR] Test 23 of 30: Measured 487 steps (3.044 mm)
13:54:26.847 : [PR] Test 24 of 30: Measured 487 steps (3.044 mm)
13:54:30.491 : [PR] Test 25 of 30: Measured 487 steps (3.044 mm)
13:54:34.136 : [PR] Test 26 of 30: Measured 487 steps (3.044 mm)
13:54:37.782 : [PR] Test 27 of 30: Measured 487 steps (3.044 mm)
13:54:41.427 : [PR] Test 28 of 30: Measured 487 steps (3.044 mm)
13:54:45.071 : [PR] Test 29 of 30: Measured 487 steps (3.044 mm)
13:54:48.711 : [PR] Test 30 of 30: Measured 487 steps (3.044 mm)
13:54:48.711 : [PR] Stats:
13:54:48.711 : [PR]   range: 3 steps (0.0188 mm)
13:54:48.722 : [PR]      mu: 488.233 steps (3.051 mm)
13:54:48.722 : [PR]   sigma: 1.023 steps (0.006 mm)
13:54:48.722 : [PR] Repeatability: 0.0188 (add a little to be sure)
13:54:48.722 : [PR] This is your best score so far!
13:54:48.722 : [PR] This score is average.

This is with the bed heated to 70C. The range is often smaller when the bed heat is off. I think the EM field of the Onyx, which is enough to make my magnetic arms "sing" when the effector is near the bed, may be inducing a little current in the probe wire. Using debounce makes it so that transient current spikes are less likely to count as a trigger.

User avatar
Aflac
Printmaster!
Posts: 146
Joined: Thu May 28, 2015 11:32 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby Aflac » Tue Mar 22, 2016 11:11 pm

Hi, i am trying to run the calibration but i have run into a snag.
I get through the G29 ok, but when I do the G32 it stops very quickly. any ideas what i should change?

SENDING:G32

[IC] Iterative calibration in progress. Press Reset to abort.
[IC] /!\ PROBE CRASH DANGER /!\ Don't press buttons, send commands, or access the SD card.

[IC] Resetting kinematics.

[PK] Current kinematic settings:
[PK] Arm length: 330.770
[PK] Delta radius: 128.500
[PK] Endstop offsets: {0.000, 0.000, 0.000}
[PK] Radius offsets (ABC): {0.000, 0.000, 0.000}
[PK] Angle offsets (DEF): {0.000, 0.000, 0.000}
[PK] Virtual shimming: {0.000, 0.000, 0.000}, vector={0.000, 0.000, 1.000}, d=0.000, Disabled
[PK] Depth (Z) correction: Disabled


[IC] Iteration 1 (max 20)
[DP] do_probe_at(): steps=0 - this is much too small - is probe_height high enough?

User avatar
626Pilot
ULTIMATE 3D JEDDI
Posts: 1717
Joined: Tue May 14, 2013 12:52 pm

Re: Heuristic (AI) calibration for delta printers on Smoothi

Postby 626Pilot » Wed Mar 23, 2016 12:43 am

That means it measured less than 100 steps (or something like that) of Z travel between descending and triggering. It should be seeing many hundreds of steps, if not thousands, because one step is only a few microns.

Is it an endstop probe, or something else?
What is probe_height set to in your config, and how far do you observe the probe descending and returning?
If you jog it down to triggering point, then jog it up 5mm, then type G30, what happens?


Return to “Smoothieboard and variants”

Who is online

Users browsing this forum: No registered users and 1 guest