DIY Delta Auto Calibration Problem
richardmckenna last edited by
I've just built a large delta with the smart effector and I'm trying to run auto calibration but seem to be having an issue.
I run G32 which then homes all 3 axis and then moves down to probe the bed which it seems to do fine. Once complete my XYZ coordinates all show as 9999.90 in DWC and Panel Due and I get
G32 Calibrated 6 factors using 10 points, deviation before 6.500 after nan
Pretty sure "nan" is not supposed to be there. When I enter M665 and M666 I get the following.
M665 Diagonal 360.220, delta radius nan, homed height nan, bed radius 150.0, X nan°, Y nan°, Z 0.000°
M666 Endstop adjustments Xnan Ynan Znan, tilt X0.00% Y0.00%
Any help would be great bed config and homedelta below
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 09 2018 15:07:18 GMT+0000 (Greenwich Mean Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M665 R216 L360.22 B150 H457 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them ; Network M550 P"Kossel MAX" ; Set machine name M551 P"snakes: ; Set password M552 S1 ; Enable network M587 S"TNCAPE212AD" P"98FEA769BB" I10.0.0.10 J10.0.0.1 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S0 ; Drive 0 goes forwards M569 P1 S0 ; Drive 1 goes forwards M569 P2 S0 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X200.00 Y200.00 Z200.00 E817.14 ; Set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; Set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; Set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; Set accelerations (mm/s^2) M906 X1000.00 Y1000.00 Z1000.00 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; Set minimum Z ; Endstops M574 X2 Y2 Z2 S1 ; Set active high endstops ; Z-Probe M558 P5 R0.4 H5 F1200 T6000 ; Set Z probe type to effector and the dive height + speeds M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P100 X0 Y0 Z-0.1 ; Set Z probe trigger value, offset and trigger height M557 R150 S20 ; Define mesh grid ; Heaters M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B3950 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4388 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M106 P0 S1 I0 F500 H T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 S"E3D V6" D0 H1 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; Automatic power saving M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss ; Custom settings are not configured ; Miscellaneous M501 ; Load saved parameters from non-volatile memory
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 09 2018 15:07:18 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working G1 S1 X365 Y365 Z365 F1800 ; move all towers to the high end stopping at the endstops (first pass) G1 X-5 Y-5 Z-5 F1800 S2 ; go down a few mm ;*** Slow homing has been configured. Change F180 to F360 below when your configuration is working G1 S1 X10 Y10 Z10 F180 ; move all towers up once more (second pass) G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F6000 ; move X+Y to the centre
; bed.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Dec 11 2018 18:55:20 GMT+0000 (Greenwich Mean Time) M561 ; clear any bed transform G28 ; home all towers ; Probe the bed at 6 peripheral and 3 halfway points, and perform 6-factor auto compensation ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g. G30 P0 X0 Y149.9 H0 Z-99999 G30 P1 X129.82 Y74.95 H0 Z-99999 G30 P2 X129.82 Y-74.95 H0 Z-99999 G30 P3 X0 Y-149.9 H0 Z-99999 G30 P4 X-129.82 Y-74.95 H0 Z-99999 G30 P5 X-129.82 Y74.95 H0 Z-99999 G30 P6 X0 Y74.9 H0 Z-99999 G30 P7 X64.87 Y-37.45 H0 Z-99999 G30 P8 X-64.87 Y-37.45 H0 Z-99999 G30 P9 X0 Y0 H0 Z-99999 S6 ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
Danal last edited by
M665 R216 L360.22 B150 H457
Your starting M665 is pretty close to physically impossible.
B150 = Bed Radius 150mm.
R216 = Delta Radius 215mm. This is the HORIZONTAL distance from rod-joint to rod-joint.
It is almost impossible for R to be that much larger than B radius. The towers would have to be very distant from the edge of the bed. And if they were that distant, the effector wouldn't be able to reach all of the bed with the diagonal rod length specified. Etc, etc.
Assuming your rod length and bed radius are correct, try starting with a delta radius of in the area of 155 to 165. Auto-cal will set the final accurate number of this for you. (Although I can't remember sitting here if a 6 factor sets R... it may take a 7 or 8 factor...)
You may want to run auto-cal several times. If R is not changing, generate a 7 or 8 factor file. Once you've set that, you can run the 6 factor on a "before every print" basis.
That's right, in the M665 command R plus B cannot exceed L. Typically, R is about half of L, and B is a little lower than R. So if L is the measured length of the rods between bearing centres, and the nozzle really can reach all points within distance B from the centre, you must have R set too high.
richardmckenna last edited by
Thanks both, yes I measured the delta radius from the center of the effector which obviously I now realise is wrong. Measuring from ball to ball centers I get a distance of 200mm which now meets the requirements of R+B <= L.
I'm now able to calibrate and I'm pleasantly surprised how accurte my build seems to be. However it has highlighted a problem with my cariage design which pops the ball connection off slightly at the extreams of the bed radius. Reducing my bed radius slightly fixes that temporaraly, so they will be the first thing I re-print with more clearance when I've tuned the heaters.
Very exciting, I've nearly finished my large delta build