Tower clash in bed calibration - firmware update - fisher delta
-
Hi,
I have just upgraded my duet 0.6 firmware from 1.23 to 1.26.1
Before the upgrade mesh bed compensation worked fine, I set the grid to 65 mm radius and 20 mm spacing either in the web UI or config.g or the end of bed.g:M557 R65 S20
Then run
G29 S0
Now the first thing the head does is slowly move over to the Z tower until it hits it!
Also it looks like auto calibration has broken, G32. I guess I need to adjust my bed.g?
Any idea how I fix that please?
-
@racitup The plot thickens.
I tried running the web config tool and not only does it fail with an error, it also lists the firmware version as 1.21. Maybe version 1.26.1 is not compatible?
-
@racitup I have managed to get a new set of configs from the tool, but I'm still seeing the same problem. It appears to be a bug.
When I run G32, the head slowly vectors to the Z tower. The Z tower drive barely moves. Here's my bed.g. I just re-ordered the points to be in XYZ order.
The reason I think this is a bug is that manually moving the head with the buttons works fine.
; bed.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v3.4.0 on Mon Jan 29 2024 11:54:44 GMT+0000 (Greenwich Mean Time) M561 ; clear any bed transform ; Probe the bed at 3 peripheral and 0 halfway points, and perform 3-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 X-56.21 Y-32.45 H0 Z-99999 ; X tower G30 P1 X56.21 Y-32.45 H0 Z-99999 ; Y tower G30 P2 X0 Y64.9 H0 Z-99999 ; Z tower G30 P3 X0 Y0 H0 Z-99999 S3 ; centre ; 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) G29 S1 ; load the saved height map from mesh bed compensation; must be run AFTER G32
-
-
Bug reported here:
https://github.com/Duet3D/RepRapFirmware/issues/953 -
@racitup Configurations created for RRF v1.21 should work with 1.26.1, however these haven't been tested for a while, and I've had problems with the Fisher default configuration (I run a Fisher with a Maestro board).
Could you post your config.g? The probing speed is set by M558 F parameter in config.g, and the dive height H and travel speed T are also important. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m558-set-z-probe-type
You may also not have set your homed height in M665. When you home X Y and Z at the top of the towers, what does it report the Z value as? When probing starts, there should be a travel move (at speed M558 T#) from the current Z height to Z height M558 H# above the bed, and then probing happens at speed M558 F#.
Though you have posted a bug report, I think it is (a) not a bug and (b) even if it was, never going to be fixed, because RRF 1.x and 2.x are not developed any more.
See https://docs.duet3d.com/User_manual/Tuning/Delta_calibration for info on Delta calibration.
For reference, here's my config.g, though it is for RRF 3.x so not directly usable:
; Configuration file for Duet Maestro (RRF 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Jul 30 2019 15:07:02 GMT+0100 (British Summer Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M550 P"FisherIan" ; Set machine name M665 L161.282:161.282:161.282 R81.878 H174.458 B75.0 X0.008 Y0.270 Z0.000 M666 X0.525 Y0.205 Z-0.730 A0.35 B-0.15 ;M665 L160:160:160 R81 B75 H173.674 ; Set delta radius, diagonal rod length, printable radius and homed height ;M666 X0.909 Y-0.405 Z-0.504 ; Put your endstop adjustments here, or let auto calibration find them ;M575 P1 S1 B57600 ; enable PanelDue M918 P1 E4 F2000000 ; configure direct-connect display ; Network M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M584 X0 Y1 Z2 E3 ; Set drive mapping M569 P0 S0 ; Physical drive 0 goes backwards M569 P1 S0 ; Physical drive 1 goes backwards M569 P2 S0 ; Physical drive 2 goes backwards M569 P3 S1 ; Physical drive 3 goes forwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X87.49 Y87.49 Z87.49 E419.00 ; Set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; Set maximum instantaneous speed changes (mm/min) M203 X15000.00 Y15000.00 Z15000.00 E9000.00 ; Set maximum speeds (mm/min) M201 X4000.00 Y4000.00 Z4000.00 E4000.00 ; Set accelerations (mm/s^2) M906 X800.00 Y800.00 Z800.00 E1200.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z-0.2 S1 ; Set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P5 C"e0stop" H5 F120 T12000 A5 ; Z probe connected to E0 endstop input G31 P500 X0 Y0 Z-0.2 ; Set Z probe trigger value, offset and trigger height M557 R75 S20 ; Define mesh grid ; Heaters ; 12V bed heater test ; M308 S0 P"bedtemp" Y"thermistor" T100000 B3988 ; configure sensor 0 as thermistor on pin temp0 ; M950 H0 C"bedheat" T0 Q50 ; create bed heater output on out0 and map it to sensor 0 ; M307 H0 R0.313 K0.220:0.000 D9.48 E1.35 S1.00 B0 ; RRF 3.5b2 12V tuning ; M307 H0 A215.5 C661.6 D5.8 S1.00 V11.6 B0 ; RRF 3.1 tuning ; M140 H0 ; map heated bed to heater 0 ; M143 H0 S120 ; set temperature limit for heater 0 to 120C M140 H-1 ; Disable heated bed M308 S1 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 R7.165 K1.568:0.014 D3.51 E1.35 S1.00 B0 V18.8 ; RRF 3.5b2+ 19V tuning ; M307 H1 R2.369 K0.923:0.004 D7.08 E1.35 S1.00 B0 V12.1 ; RRF 3.5b2 12V tuning ; M307 H1 R7.046 K1.519:0.006 D3.58 E1.35 S1.00 B0 V18.7 ; RRF 3.4 RC2 tuning ; M307 H1 R6.870 C61.3:54.6 D3.61 S1.00 V18.8 ; RRF 3.3 tuning ; M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on ; M950 F1 C"fan1" ; M106 P1 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ; Tools M563 P0 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 saving after power loss is not enabled ; Custom settings ;M301 H1 P12 I0.4 D80 W180 B300 ; Set nozzle heater PID parameters (from RepRapPro config)
homedelta.g
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Jul 30 2019 15:07:02 GMT+0100 (British Summer Time) G91 ; relative positioning G1 H1 X184 Y184 Z184 F1800 ; move all towers to the high end stopping at the endstops (first pass) G1 H2 X-5 Y-5 Z-5 F1800 ; go down a few mm G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass) G1 Z-5 F12000 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F12000 ; move X+Y to the centre
bed.g (called by G32)
; bed.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Jul 30 2019 15:07:02 GMT+0100 (British Summer Time) M561 ; clear any bed transform G29 S2 G28 ; Probe the bed at 3 peripheral and 0 halfway points, and perform 3-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 Y74.9 H0 Z-99999 G30 P1 X64.87 Y-37.45 H0 Z-99999 G30 P2 X-64.87 Y-37.45 H0 Z-99999 G30 P3 X0 Y0 Z-99999 S3 ; 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) G91 ; relative positioning G1 Z5 F360 ; lift Z by 5mm G90 ; absolute positioning G1 X0 Y0 F5000
And the file I use for 9 point calibration
; bed9factorG32.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Aug 06 2019 23:29:51 GMT+0100 (British Summer Time) M561 ; clear any bed transform G28 ; home all towers ; Probe the bed at 12 peripheral and 3 halfway points, and perform 12-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 Y74.9 H0 Z-99999 G30 P1 X37.45 Y64.87 H0 Z-99999 G30 P2 X64.87 Y37.45 H0 Z-99999 G30 P3 X74.9 Y0 H0 Z-99999 G30 P4 X64.87 Y-37.45 H0 Z-99999 G30 P5 X37.45 Y-64.87 H0 Z-99999 G30 P6 X0 Y-74.9 H0 Z-99999 G30 P7 X-37.45 Y-64.87 H0 Z-99999 G30 P8 X-64.87 Y-37.45 H0 Z-99999 G30 P9 X-74.9 Y0 H0 Z-99999 G30 P10 X-64.87 Y37.45 H0 Z-99999 G30 P11 X-37.45 Y64.87 H0 Z-99999 G30 P12 X0 Y37.4 H0 Z-99999 G30 P13 X32.39 Y-18.7 H0 Z-99999 G30 P14 X-32.39 Y-18.7 H0 Z-99999 G30 P15 X0 Y0 H0 Z-99999 S9 ; 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)
-
@droftarts Thanks for the info.
It turns out I had deployprobe.g and retractprobe.g in sys which was causing the problem. I'm now testing with 1.26.1 but appears to be working okay.
I'll have a look into M558...
I have calibrated and saved the M665 and M666 using M500 and 4 point bed calibration (and the heaters)
-
@racitup Okay, no problem. Your issue has been marked as closed. In future, it would be good to have a conversation here on the forum before raising an issue, particularly as we have no plans to continue development or fix bugs in RRF 1.x or 2.x.
Ian
-
-
-
@droftarts I remember dimly that I fell in the same trap with a Duet2 controller.
Downloaded the latest rrf2.x zip-file and unpacked it on the SD-card, not knowing, that it included these two files.Would it count as debugging if they would no longer be part of the zip-file?
-
@o_lampe I don't think we've ever included deployprobe.g and retractprobe.g in a firmware release, or indeed anything in the sys file. If you start with a factory or blank SD card and use the SD_Card_Contents.zip from https://github.com/Duet3D/Duet-2-Hardware/tree/master/Duet2/SD Card Contents you don't get those two files, though confusingly you get a homedelta.g that must be deleted if you are running a cartesian or coreXY machine.
Ian