Homeall behavior going crazy?
-
Hi all, I'm currently setting up a V-Core 3.
I'm experiencing some weird behavior with the homeall function.
The single homex.g, homey.g, homez.g scripts work fine.
But I'm loosing my mind over homeall.g.It started while debugging the script after realizing the Y endstop is being ignored and the duet is trying to crash the endstop into the wall (when running homey.g it works as intended!)
So I began commenting out more and more lines in homeall.g to find out what might be responsible.
But then things just gone mad. It seems like my homeall.g contents have nothing to do with what the printer actually does when pressing the Home All button in Web UI.
I commented out all lines except these two:G91
G1 H1 X-625 Y605 F3600But the printer will do a second XY check as well as a full Z check.
How...? I'm lost. Does Home All work different than I expect? -
Hi,
The home all button executes homeall.g
Please post, using the </> tag, all four of your homing files as well as your config.g file
Thanks.
Frederick
-
@jbjhjm said in Homeall behavior going crazy?:
But the printer will do a second XY check as well as a full Z check.
How...? I'm lost. Does Home All work different than I expect?Where are you editing these files? The homing files must be in the system folder. Perhaps you're editing a different file than the firmware is actually using?
-
Hi, here's a screenshot of my system dir, think the files are in the right place.
homex/y/z.g files see fine, homeall is not.
I should also mention I'm running a Duet3 MB6HC with Firmware 3.3.Here are the file contents:
homex.g
G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-625 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-625 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homey.g
G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y605 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F6000 ; go back a few mm G1 H1 Y605 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homez.g
; BLTouch M280 P0 S160 ; Precautionary alarm release M280 P0 S90 ; Ensure the pin is raised G91 ; relative positioning G1 H2 Z15 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X150 Y150 F10000 ; go to first probe point G30 ; home Z by probing the bed
homeall.g (as said before most lines are commented out atm)
; BLTouch ;M280 P0 S160 ; Precautionary alarm release ;M280 P0 S90 ; Ensure the pin is raised G91 ; relative positioning ;G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-625 Y605 F3600 ; move quickly to X and Y axis endstops and stop there (first pass) ;G1 H2 X20 Y-20 F600 ; go back a few mm ;G1 H1 X-625 Y605 F260 ; move slowly to X and Y axis endstops once more (second pass) ;G90 ; absolute positioning ;G1 X150 Y150 F10000 ; go to first probe point ;G30 ; home Z by probing the bed ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
config.g
G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; CoreXY G29 S1 ; Set Units to Millimeters ; Motors M569 P0.0 S0 D3 ; Z motors run backwards M569 P0.1 S0 D3 ; Z motors run backwards M569 P0.2 S0 D3 ; Z motors run backwards M569 P0.3 S1 D3 ; Y goes forwards M569 P0.4 S1 D3 ; X goes forwards M569 P0.5 S1 D3 ; Ext goes forwards M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation ;Step sizes M92 X80.00 Y80.00 Z800.00 ; set steps per mm M906 X1000 Y1000 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; speed limit configuration M566 X400.00 Y400.00 Z6.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) // same as M205 but with mm/min M203 X10800.00 Y10800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z100.00 E3600.00 ; set accelerations (mm/s^2) ; define axis limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X310 Y300 Z300 S0 ; set axis maxima ; define endstops M574 X1 S1 P"io0.in" ; configure active high endstops M574 Y2 S1 P"io1.in" ; configure active high endstops M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Lead screw positions M671 X-4.5:150:304.5 Y-4.52:305:-4.52 S5 ; define positions of Z leadscrews or bed levelling screws M557 X20:280 Y20:280 P5 ; define 5x5 mesh grid ; configurate heat bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out1" T0 ; create bed heater output on out5 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S110 ; set temperature limit for heater 0 to 110C ;; Run Bed PID Tune!! Below is an example for a 300x300 bed ;; M307 H0 A303.1 C356.7 D1.4 S1.00 V24.0 B0 ; define fans M950 F0 C"out7" Q100 ; create fan 0 on pin out7 and set its frequency M106 P0 C"Hotend Fan" S0 H1 L0.5 T40:70; set fan 0 name and value. H1 = Thermostatic control ON | H-1 = OFF | L0.5 = minimum 50% | T = temperature range M950 F1 C"out8" Q100 ; create fan 1 on pin out8 and set its frequency M106 P1 C"Layer Fan" S0 H-1 L0.5 ; set fan 1 name and value. Thermostatic control is turned off ; tech fans M308 S10 Y"mcu-temp" A"MCU" ; configure sensor 10 to represent MCU temp M308 S11 Y"drivers" A"Drivers" ; configure sensor 11 to represent Drivers temp ;M950 F10 C"out4" Q100 ; create fan 10 on out4 (1st PWM slot) ;M106 P10 H10:11 L0.15 X1 B0.3 T40:70 ; assign fan 10 to sensors 10 and 11 | B = run x seconds on full power | L + X = min/max bounds ; define tool M563 P0 D0 H1 F1 ; 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 ; hotend heater and temperature sensor M308 S1 P"temp1" Y"pt1000" A"Hotend" ; register hotend temperature sensor M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S250 ; set the maximum temperature in C for heater ; define extruder / hotend M92 E830 ; set extruder steps per mm, 0.9 angle/step (LDO Pancake) M906 E800 ; set extruder motor current (mA) and idle factor in per cent ;; Run Heater PID Tune!! ;; M307 H1 A751.5 C196.6 D4.7 S1.00 V23.9 B0 ;; BLTouch M950 S0 C"io5.out" ; Create a servo pin on io2 M558 P9 C"io5.in" H8 F320 T18000 A5 ; set Z probe type to unmodulated - dive height increased from 5mm, Feed rate increased from 240. ; Z offset calibrated using guide https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/#testandcalibrate G31 P25 X-28.00 Y-13.00 Z4.79 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed ; Filament M404 N1.75 D0.4 ; Filament width and nozzle diameter T0 ; Pressure Advance ; M572 D0 S0.10
-
Well since it is a CoreXY machine can you jog the X and Y axes correctly from the DWC?
Frederick
-
@fcwilt jep, manual movement as well as homing the axes one by one works fine. Only the homeall does behave weird.
-
@jbjhjm can you try this code in homeall.g
M98 P"homex.g" M98 P"homey.g" M98 P"homez.g"
-
@pcr said in Homeall behavior going crazy?:
M98 P"homex.g" M98 P"homey.g" M98 P"homez.g"
Works as expected, all three scripts are run.
But what's notable: When I skip adding the line for homez, it will still home Z, as if the line was there.
Is it possible that the duet tries to auto-fix axes that are not calibrated within homeall? -
@jbjhjm yes!
if you press homeall and for example you home X and Y in the homeall script then RRF will run homez.g if its there
-
@pcr alright that explains why commenting out things had no effect, it just auto-switched to the single axis homing scripts