@phaedrux said in Duet Wifi - G29 causes extremely rapid Z movement and head crash:
Are you running a G30 before doing G29?
Bingo. That fixed it.
Thanks for the help. Got a new heightmap generated and printing away.
@phaedrux said in Duet Wifi - G29 causes extremely rapid Z movement and head crash:
Are you running a G30 before doing G29?
Bingo. That fixed it.
Thanks for the help. Got a new heightmap generated and printing away.
@veti said in Duet Wifi - G29 causes extremely rapid Z movement and head crash:
@lowracer said in Duet Wifi - G29 causes extremely rapid Z movement and head crash:
G1 S1 Z250 F7000 ; move Z towards the switch until it triggers
you move your bed up by 250mm? why
Thanks for the response.
Original Ultimaker 2+ (UM2+) behavior (no BLTouch) has the bed "zero" to the bottom of the case before printing and after print is completed. Moving it 250 sends down it to where it will trip the Z endstop at the bottom of the cage.
;G30 ; home Z by probing the bed
you disabled your probing of the bed. so no wonder the probe is not deploying.
The problem described in the original post occurs when issuing a G29 command from the web interface. I was not aware these homing scripts get called by the G29 command.
I commented out that G30 because I do not want "homing" behavior to include probing the bed. I have that done in the startup script in the GCODE of the file being printed, e.g.:
G28 XY ;Home XY
M561 ; Clear any bed transform that might be in place
G1 X104.5 Y130 ; Move Probe to middle of bed
G30 ; Do a single probe
G29 S1; load heightmap
G1 Z20.0 F6000 ; Move Z to 20
Flashed firmware up to 2.03RC1, G29 still exhibits the same behavior. Here are the homing files as requested:
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:32 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
;G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 X-228 F9200 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F6000 ; go back a few mm
G1 S1 X-228 F360 ; move slowly to X axis endstop once more (second pass)
;G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:29 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
;G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 Y228 F9200 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-5 F6000 ; go back a few mm
G1 S1 Y228 F360 ; move slowly to Y axis endstop once more (second pass)
;G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning
;homez.g
G91 ; relative mode
G1 S1 Z210 F7000 ; move Z towards the switch until it triggers
;G1 S2 Z-5 F100 ; move Z back 5mm
;G1 S1 Z10 F100 ; move Z slowly towards the switch until it triggers
G90 ; back to absolute mode
; homeall.g
; called to home all axes
;home Z to max extent (bottom of enclosure) first
G91 ; relative mode
G1 S1 Z250 F7000 ; move Z towards the switch until it triggers
;G1 S2 Z-5 F100 ; move Z back 5mm
;G1 S1 Z10 F100 ; move Z slowly towards the switch until it triggers
G1 S1 X-228 Y228 F9000 ; move quickly to X and Y axis endstops and stop there (first pass) (was F1800)
G1 X5 Y-5 F7200 ; go back a few mm
G1 S1 X-228 Y228 F360 ; move slowly to X and Y axis endstops once more (second pass)
G90 ; absolute positioning
G1 X110 Y110 F7200 ; go to first probe point (approx center of bed)
;G30 ; home Z by probing the bed
; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 S2 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning
Here's a dropbox link to the video of the G29 operation in action (7.78MB .mp4):
https://www.dropbox.com/s/u8qfz1u7khgt8f5/G29 UM2%2B Duet Wifi.mp4?dl=0
Reflashing firmware did not fix the problem, unfortunately.
I'm suspecting something scrozzled the firmware. Will try re-flashing new firmware tonight to see if that fixes it.
Those linked tests work, M401 & M402 behave as expected, G30 properly extends the probe, raises the bed slowly and detects the bed with the probe, then stops.
To clarify, this printer is working and has been working very well to make prints, always using BLTouch probe before printing. It's just that the G29 is behaving oddly. And it hasn't always been this way because I'm using G29 S1 in the startup GCODE of each print to load up a heightmap generated from a previous G29 some time ago.
Thanks for the tips. I re-tried the G29 with the speed and probing settings suggested. Now it goes slowly enough that I can see more detail of what is happening.
During the slow rising of the bed, the BLTouch lights up red and is not extending its metal probe as it usually does at the beginning of a print.
Also, simultaneously with the Z axis motion, the Y axis is moving ever so slowly to the left.
I'm running an Ultimaker 2+ upgraded to Duet Wifi and BLtouch Classic. G29 soon after install of the Duet board worked correctly and generated a heightmap which I've been using for some months now. Generated lots of good prints with no issues.
Recently, I decided to generate a new heightmap, but upon sending G29, this causes the bed to rise at a lightning fast pace until it impacts the hotend, at which point I feel compelled to do an Emergency Stop.
Any ideas what could be going on?
M115 reports: FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.02(RTOS) ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2018-12-24b1
@veti said in Nozzle too low by 1mm after Z homing - any ideas?:
@lowracer said in Nozzle too low by 1mm after Z homing - any ideas?:
G31 X22 Y-21 Z1.582 P25
change the z offset to increase by 1mm
G31 X22 Y-21 Z2.582 P25
First thing I tried. Didn't have any effect. The problem is solved, have done several prints all perfect first layer without any slicer adjustments.
I think what happened is that the crossbar that holds the Y axis in place had slipped out of joint, throwing the XY gantry out of level. Once I snapped that bar back in, no more problem. Going to mark this one solved. Thanks for the help everyone.
I should also report that I have run this procedure (https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height) about twenty times, consistently coming up with very similar results around 1.6mm, and averaged these runs to come up with the value in the G31 command for Z offset.
Here's the screenshot of the heightmap:
![alt text](
Just started a print after having the machine turned off for a few hours. Z on first layer showed 1.08. It was printing about a millimeter too high. Removed the +1mm Z offset "band-aid" from the GCODE, and have got a perfect first layer. No idea why it is working now.
I appreciate the help. Will post up again if the problem recurs.
Yes, I have done the G29 to establish a height map file and load the resulting heightmap.csv from a startup script in Simplify3D:
M907 E1000 ; BONDTECH Extruder Only
G28 XY ;Home XY
M561 ; Clear any bed transform that might be in place
G1 X104.5 Y130 ; Move Probe to middle of bed
G30 ; Do a single probe
G29 S1; load heightmap
G1 Z20.0 F6000 ; Move Z to 20
G1 X20 Y10 F3000 ; bring extruder to front
G92 E0 ; zero the extruded length
G1 Z10 ; lower
G1 E19 F200 ; purge nozzle quickly
G1 E26 F60 ; purge nozzle slowly
G92 E0 ; zero the extruded length again
G1 E-5.5 F400 ; retract
G1 X190 Z0 F9000 ; pull away filament
G1 X210 F9000 ; wipe
G1 Y20 F9000 ; wipe
G1 E0 ; feed filament back
Here's the homing macros:
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:29 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 X-228 Y228 F4800 ; move quickly to X and Y axis endstops and stop there (first pass) (was F1800)
G1 X5 Y-5 F6000 ; go back a few mm
G1 S1 X-228 Y228 F360 ; move slowly to X and Y axis endstops once more (second pass)
G90 ; absolute positioning
G1 X110 Y110 F7200 ; go to first probe point (approx center of bed)
G30 ; home Z by probing the bed
; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 S2 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioning
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:32 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 X-228 F7200 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F6000 ; go back a few mm
G1 S1 X-228 F360 ; move slowly to X axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:29 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 Y228 F7200 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-5 F6000 ; go back a few mm
G1 S1 Y228 F360 ; move slowly to Y axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:32 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G90 ; absolute positioning
G1 X110 Y110 F7200 ; go to first probe point (approx center of bed)
G30 ; home Z by probing the bed
; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 S2 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioning
UPDATE: Problem is SOLVED. Y Axis crossbar was out of joint.
I have a new Duet Wifi installed as an Ultimaker 2+ upgrade.
M115 reports: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.02(RTOS) ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2018-12-24b1.
Authentic BLTouch classic is handling the Z axis homing & bed compensation, seems to work fine, got a few tree frogs here to prove it.
...Except that when a print starts, it starts with the nozzle desiring to go 1mm below(!) the bed surface.
I have a workaround right now in that Simplify3D lets me raise that initial Z by 1mm in the gcode and I have a perfect first layer every time, but this is a Band-Aid. Would like to find out why this is happening and correct it. Any ideas?
Here's the obligatory config.g:
; Configuration file for Duet WiFi (firmware version 1.21)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Fri Mar 15 2019 21:53:32 GMT-0700 (Pacific Daylight Time)
; General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P1 ; Set firmware compatibility to look like RepRapFirmare
; Network
M550 PCharlie_Brown ; Set machine name
M551 P[redacted] ; Set password
M552 S1 ; Enable network
M552 P192.168.1.125 ;
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
; Drives
M569 P0 S0 ; Drive 0 (X) goes backwards
M569 P1 S1 ; Drive 1 (Y) goes forwards
M569 P2 S0 ; Drive 2 (Z) goes backwards
M569 P3 S1 ; Drive 3 (E0) goes forwards
M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
M350 E16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z400 E537 ; Set steps per mm
M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z980 E1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z500 E1000 ; Set accelerations (mm/s^2)
M906 X1250 Y1250 Z1250 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S15 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X223 Y223 Z205 S0 ; Set axis maxima
; Endstops
M574 X1 Y2 S1 ; Set active high endstops
; Z-Probe
M307 H3 A-1 C-1 D-1 ; release heater 3 for use by probe
M558 P9 H5 F1200 T8000 ; https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_BLTouch
; explanation of M558 parameters: https://reprap.org/wiki/G-code#M558:_Set_Z_probe_type
G31 X22 Y-21 Z1.582 P25 ; https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_BLTouch
M574 Z1 S2 ; Set endstops controlled by probe
M557 X15:208 Y15:208 S20 ; Define mesh grid
; Heaters
M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
M305 P0 X201 ; Configure thermocouple for heater 0 (Bed)
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 X200 ; Configure thermocouple for heater 1 (Hotend)
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
; Fans
M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H-1 ; Set Case LEDS PWM signal inversion and frequency. 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
M501 ; https://forum.duet3d.com/topic/3055/having-trouble-setting-the-z-offset/6
; Automatic saving after power loss is not enabled
; Custom settings are not configured
I have an Ultimaker 2+ that I converted to Duet Wifi + BLTouch. Enjoying the upgrade so far but lamenting the loss of the UM2+ standard LCD display and rotary control knob. Yes I know there's the PanelDue, but as my son remarked, the aesthetics of the machine are spoiled if you don't have the stock LCD working.
I know there's code in C++ for the UM2 LCD menu system running under Marlin firmware. I also realize there'd be an electrical interface challenge in getting this to connect to the Duet.
Anyone working on this or even thought about it? Lots of aging UM2 machines out there crying out for a 32bit upgrade.