Problem with homing
I am confused by my homeall.g file. I have an inductive probe mounted on the hotend carriage and I want to use it for homing Z.
My X endstop is at 0, my Y endstop is at 290. homeall.g as these 3 lines to home Z :
G1 X47 Y20 F6000
but the position reading on the console is :
X: 47.000 Y: 290.000 Z: 2.490 E0: 0.0 E1: 0.0 E2: 0.0 E3: 0.0 E4: 0.0 E5: 0.0 E6: 0.0 Count 26960 19440 3984
as if the G1 command was executed in relative mode, hiting the Y endstop
What's wrong with the G90 inside homeall.g ?
Firmware Name: RepRapFirmware for Duet WiFi
Firmware Electronics: Duet WiFi 1.0
Firmware Version: 1.18.1 (2017-04-09)
WiFi Server Version: 1.03 (ch fork)
Web Interface Version: 1.15a
Check the Y parameter in your M208 S1 line.
M208 X320 Y290 Z300 S0 ; Set axis maxima
by the way, sending G90 followed by G1 X47 Y20 F6000 manually works as expected
PS : the geometry is CoreXY
This is really strange. This file works :
[[language]] ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Thu May 18 2017 22:03:21 GMT+0200 (Paris, Madrid (heure d’été)) ; Relative positioning G91 ; Lift Z G1 Z5 F6000 ; Course home X or Y G1 X-325 Y295 F1800 S1 ; Course home X G1 X-325 S1 ; Course home Y G1 Y295 S1 : Move away from the endstops G1 X5 Y-5 F6000 ; Fine home X G1 X-325 F360 S1 ; Fine home Y G1 Y295 S1 ; Absolute positioning G90 G90 ; Go to first bed probe point and home Z G1 X47 Y20 F6000 G30 ; Uncomment the following line to lift the nozzle after probing ;G1 Z5 F100
This file doesn't :
[[language]] ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Thu May 18 2017 22:03:21 GMT+0200 (Paris, Madrid (heure d’été)) ; Relative positioning G91 ; Lift Z G1 Z5 F6000 ; Course home X or Y G1 X-325 Y295 F1800 S1 ; Course home X G1 X-325 S1 ; Course home Y G1 Y295 S1 : Move away from the endstops G1 X5 Y-5 F6000 ; Fine home X G1 X-325 F360 S1 ; Fine home Y G1 Y295 S1 G90 G90 ; Go to first bed probe point and home Z G1 X47 Y20 F6000 G30 ; Uncomment the following line to lift the nozzle after probing ;G1 Z5 F100
Notice the only difference is :
[[language]] ; Absolute positioning
removed in the second file.
Anyway, only one G90 doesn't work for me.
I downgraded from 1.18.1 to 1.17e and the problem disappeared
That's really strange but it reminds me of a couple of similar threads. Can you tell me what the compatibility is set to in your config.g. That is to say, what comes after M555? Is it P1 (RepRap) as in the example in the Wiki or is it P2 (Marlin). I have a hunch…......
M555 P2 ; Set firmware compatibility to look like Marlin
I just upgraded from RAMPS / Marlin and thought it would be wise to have compatibility.
Ahh OK. That blows that theory then.
I have another question : is it normal behavior that G28 turns off heaters ?
In Marlin, you can preheat the nozzle without waiting (with M104) while homing and probing the bed.
Homing doesn't turn off any heaters for me and yes, M104 will do a heat without waiting. Maybe there is something in your homing file(s) that is overriding it?. e.g. selecting a (different) tool.
You can put the heating command at the start of your homing file. For example, I use my nozzle to probe the bed so I need any filament that has oozed out of the tip to be soft. So the start of my and home all has T0 (select a tool) then M104 S140 to start heating the nozzle. Then I home X and Y, then use M109 S140 to finish heating the nozzle before homing Z. Then finally I do M140 S0 to turn the heater off again.
Edit - but I start heating the bed before doing any of this and it continues to heat while homing is being carried out.
G28 stops heaters (and print actually) but G28 X0; G28 Y0; G28 Z0 doesn't. There something corrupted with that file.
Now Wifi stopped working :-(((
G28 with no parameters runs the home all file. G28 X, Y or Z will run the individual axis homing files. See here https://duet3d.com/wiki/G-code#G28:_Home
So, the problem must be in your homeall.g file. Of course homing will stop the print - what other behaviour would you expect?
G28 in the starting code of a part file abort the print. I have G28; G29 in my slic3r start g-code settings
Here is my start code for Slic3r. I use a diamond mixing hot end so have multiple tools but it might help you.
G28; home all
; layer_height =[layer_height]
G10 P0 S210 R210 ; Set tool 0 operating and standby temperatures
G10 P1 S210 R210 ; Set tool 1 operating and standby temperatures
G10 P2 S210 R210 ; Set tool 2 operating and standby temperatures
G10 P3 S210 R210 ; Set tool 3 operating and standby temperatures
G1 Y0 F9000 ; move to Y =zero
T0; select a tool 0
M109 S210 ; complete tool heating to 210 and wait.
M83; Set extruder to relative
And this is my homeall.g but note that I have a CoreXY. This file works so check mine against yours and see if you spot what is wrong with yours.
; Relative positioning
M906 X400 Y400 Z1200; Reduce motor currents to limit damage in the event of an endstop failure
; Lift Z
G1 Z5 F300
; Move towards X and Y axis endstops (first pass)
G1 X-380 Y-360 F3000 S1 ; S1 flag checks for end stop
G1 S1 X-323 ; Course home X
G1 S1 Y-335 ; Course home Y
; Go back a few mm
G1 X5 Y5 F600
; Move slowly to axis endstops once more (second pass)
G1 S1 X-10 F360 ; fine home x
G1 S1 Y-10 F360 ; fine home y
; Absolute positioning
G92 X-5; set x zero in 5mm to clear bed clamp
G92 Y-2; set y zero to be 2mm in from front to get it over the glass
; Go to centre of bed and home the Z axis
G1 X185 Y175 F12000 ; move quickly to centre
M109 S140 ; continue heating bed to 140 but this time wait
; Uncomment the following line to lift the nozzle after probing
G1 Z5 F300
G90 ; back to absolute
M906 X1800 Y1800 Z1800 ; set motor currents back to defaults
M104 S0; set hot end temp back to zero
;G1 X0 Y0 F6000 ; move to x and Y home
;G1 Z0 F180 ; move to Z home
Thank you. I was able to have a working homeall.g file by copying and tweaking the one in /sys-CoreXY