homedelta ignores configured homed height?
-
So I've been running my Duet2 Wifi (FW v2.04 from Nov 2019) for close to 18 months now and beating my head against this problem on and off all along. Printer is a Kossel delta, and basically, when I use the home command, the printer already has to be homed for it to work correctly. Generally, I have to home the printer, cycle power to reset the Z height to the configured value, and home it again to get the correct height homed. I don't use a bed sensor, so it has to be correct right out of the home operation. When it's correct, everything works great, but otherwise ... PORBLEMS. This wasn't such a big deal before I changed to 0.9 steppers with lower detent torque, but now it's getting to be a pain.
Anyway, what happens is that if the printer is homed, all works correctly, but if the head is anywhere else in the build volume on power-up, the homing operation acts like wherever it started was the configured height set by M665, and then it runs up to the endstops and adds that distance on top of the M665 height. So if the configured height is (say) 200 and it homes from Z100 after power-up, it's going to home and then display the Z as 300. Needless to say, trying to print from there would be bad times.
What I want is for the homing operation to reset the Z height to the M665 height set in config.g. That's how it worked in Marlin on my previous control board. I just want to be able to home and re-home to my known correct height without a power cycle (and losing holding torque, thus risking the head moving and throwing it off again) between homes. I just can't for the life of me figure out how to do it. Adding M665 with just the H value to homedelta.g gives me a homing error, and per the reprap documentation you can't use M208 to set axis maxima on a delta because ???? ...
Anyway, help would be greatly appreciated! My homedelta and config file contents are below. To my knowledge there is nothing in my config override and (again) there's no bed leveling or Z probing going on. I do note that I might have used the configurator for the wrong version (2.03 is in the header), but again, everything but this seems to work fine. I've got the final centering move commented out in the homedelta because it just throws errors about not being able to get there.
Thanks!
; homedelta.g
; called to home all towers on a delta printer
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Fri Nov 22 2019 00:41:16 GMT-0500 (Eastern Standard Time)
; Updated by JP 11.23.19 to fix it.
; Upped the down move to 10mm to give more space for bearings to stabilize -- 4.15.21 JP
G91 ; relative positioningG1 H1 X400 Y400 Z400 F2500 ; move all towers to the high end stopping at the endstops (first pass)
G1 H2 X-10 Y-10 Z-10 F1800 ; go down a few mm
G1 H1 X15 Y15 Z15 F360 ; move all towers up once more (second pass)
G1 H2 X-5 Y-5 Z-5 F1000 ; move down a few mm so that the nozzle can be centred;G90 ; absolute positioning
;G1 X0 Y0 F1000 ; move X+Y to the centre; Configuration file for Duet WiFi (firmware version 2.03)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.2 on Fri Nov 22 2019 00:41:16 GMT-0500 (Eastern Standard Time)
; Updated by JP 11.23.19 -- Added PID tunes 3.6.21 - Updated PID tune for V6 and increased height
; 3.18.21 - Updated height for rebrace and slightly reduced E speed/accel - JP; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Kossel" ; set printer name
M665 R129.72 L295.36 B115 H224.9 ; Set delta radius, diagonal rod length, printable radius and homed height ; WAS L291.75 before cal [3.21.21 NOTE: this gives perfect flatness @ R127.25 but prints 1+% oversize] - 3.21.21 NOTE: WAS R127.25 but cal showed this printing sig convex; up'd to R128.22 which may still be slightly convex but with error < .025mm center-to-edge and likely better; 4.9.21 added 1.5 from R for new crgs; 4.15.21 upped height from 224.2 to .9 for new build
M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S0 ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E32 I1 ; configure microstepping with interpolation ; E WAS 16, changed to 32 in hopes this disables X16 interpolation - 4.6.21
M92 X200.00 Y200.00 Z200.00 E1818.00 ; set steps per mm ; E WAS 2727.00 before belt drive - 9.29.20 ; E WAS 909 at 16 microstepping; XYZ WERE 80 at 1.8+20T - 4.8.21
M566 X2400.00 Y2400.00 Z2400.00 E72.00 ; set maximum instantaneous speed changes (mm/min) ; E WAS 36 before belt drive - 9.29.20 ; upped motors to 2400 (40mm/s jerk) and dropped extruder to 72 from 108 as test - 4.7.21
M203 X36000.00 Y36000.00 Z36000.00 E6800.00 ; set maximum speeds (mm/min) ; E WAS 2400 before belt drive - 9.29.20 - Dropped to 6800 from 7200 3.18.21
M201 X9000.00 Y9000.00 Z9000.00 E330.00 ; set accelerations (mm/s^2) ; E WAS 120 before belt drive - 9.29.20 - dropped to 330 from 360 3.18.21 ; raised XYZ from 9k to 18k - 4.7.21; - and returned to 9k 4.16.21
M906 X1500 Y1500 Z1500 E750 I35 ; set motor currents (mA) and motor idle factor in per cent ; E WAS E900 before belt to pancake - 4.6.21 ; XYZ were 1200 before setup for 0.9s - 4.8.21 XYZ were 1000 and E was 550, but seems low (moire) - 4.16.21
M84 S60 ; Set idle timeout; Axis Limits
M208 Z0 S1 ; set minimum Z; Endstops
M574 X1 Y1 Z1 S1 ; set active high endstops; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 R85 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 B4138 R4700 ; set thermistor + ADC parameters for heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
M143 H1 S285 ; set temperature limit for heater 1 to 285CM307 H1 A388.8 C163.6 D9.3 V11.8 ; Tuned PID for hot end, from 3.6.21 tuning
M307 H0 A164.7 C945.5 D1.9 V11.7 B0 ; Tuned PID for bed, from 11.23.19 tuning; Fans
M106 P0 S0 I0 F25000 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Raised default 500hz to 31.5khz on PWM - 4.6.21; trying 25k since booster won't start at 31.5 - JP 4.15.21
M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; 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; Custom settings are not defined
-
@kiolia My Duet2/Ethernet on a Rostock Max V3.2 homes as expected from anywhere int he build volume.
homedelta.g:
G91 ; relative positioning G1 H1 X505 Y505 Z505 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 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
That looks very similar to your homing.
BUT I'm running firmware 3.2. I had problems with one motor not doing the second-part of homing when I was using older firmware.
I'm not suggesting diving into RRF 3 firmware immediately, maybe someone can suggest a RRF 2 version that might fix a homing problem on deltas.
m115 FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.2 ELECTRONICS: Duet Ethernet 1.02 or later FIRMWARE_DATE: 2021-01-05
-
@kiolia said in homedelta ignores configured homed height?:
; Endstops
M574 X1 Y1 Z1 S1 ; set active high endstopsYour endstops are configured as if they were installed on the low end of travel. X1 Y1 Z1. On a delta they are installed at the top, so should be configured as high end of travel. X2 Y2 Z2.
-
This post is deleted! -
@phaedrux Nailed it! Switching X1 Y1 Z1 to X2 Y2 Z2 in config.g was indeed the fix. Homing behavior is now exactly as expected. Thank you SO MUCH for the quick resolution, that's an end to a very long headache for me!
-
@alankilian Turns out it wasn't the homedelta at all, but thanks for checking this out and comparing against your config. Did you see benefits on your delta in going from V2.X to V3.X firmware? I've been through the release notes and didn't see anything that jumped out at me as a gotta-have, but release notes don't always tell the whole story!
-
If you're happy to stay on RRF2 you should at least update to the last release for bug fixes.
https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
RRF3 has some quality of life improvements but if you're happy with RRF2 there isn't an groundbreaking improvements to quality or anything like that.
-
@kiolia There was no reason for me to go to RRF3 on my delta.
It works just the same, maybe the steppers are a little bit noisier, but not much. (and it might be my imagination.)
-
@phaedrux Okay, thanks!