Solved Homing problems
-
Hi,
i use a duet 2 wifi on my delta and since yesterday i have a problem with homing amongst other things:
This is what my homedelta.g looks like:
; homedelta.g
; called to home all towers on a delta printer
;
; generated by RepRapFirmware Configuration Tool v2 on Tue Feb 26 2019 21:31:01 GMT+0000 (Greenwich Mean Time)
G91 ; relative positioningG1 H1 X550 Y550 Z550 F1800 ; move all towers to the high end stopping at the endstops (first pass)
G1 X-10 Y-10 Z-10 F1800 H2 ; go down a few mm
G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass)
G1 Z-20 F600 ; move down a few mm so that the nozzle can be centred
G90 ; absolute positioning
G1 X0 Y0 F600 ; move X+Y to the centreBut instead of moving up, down, up, down it stays up the second time and throws an error saying it can't move to position.
It makes no sense.
-
@capmjk Can you enter those GCODE commands one-at-a-time into the console and tell us what happens at each step?
Here's my working homedelta.g
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Mar 09 2021 13:21:24 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H1 X505 Y505 Z505 F3000 ; move all towers to the high end stopping at the endstops (first pass) G1 H2 X-5 Y-5 Z-5 F3000 ; go down a few mm G1 H1 X10 Y10 Z10 F300 ; move all towers up once more (second pass) G1 Z-5 F3000 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F3000 ; move X+Y to the centre
-
@capmjk You probably need an H2 on the 3rd G1 (G1 H2 Z-20 F600). It makes it ignore the endstops so that you can move off of them.
-
@capmjk you should increase the "second pass travel" a bit. It's the third line in your macro:
G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass)
Your first move after hitting the endstop is 10mm down, afterwards 10mm up. I think it will be better to move 11-12mm up, for proper endstop ativation.
-
@capmjk said in Homing problems:
i use a duet 2 wifi on my delta and since yesterday i have a problem with homing amongst other things:
Has anything changed recently? If you haven't changed the config or firmware, I would suspect something electrical or mechanical.
-
@phaedrux thats the weird point:
I haven't changed anything. Booted up the printer after a month of pause and nothing works anymore.Did a firmware update and got it working one time normally, then homing problems again.
@theolodian good spot, but strange that it worked for 2 years until now without the missing H2.
Main problem is:
G28
Error: G0/G1: target position not reachable from current positionWhich doesn't make sense because it worked until yesterday and the target position for that move is x0 y0 which it should be after homing anyway
-
Add a move to drop the effector after homing. That error usually means that one of the towers can't move high enough to reach that XY point.
-
@phaedrux Homing works but there are other persisting problems:
For unknown reasons the printer now sometimes marks x and y as something other than 0 when homing. Also after power off, homing is not setting z height to the defined homed after homing but instead sets homed height to the position it was when power was restored basically up to doubling homed height.I never had this problem in the past i did not need to set z0 after every powerloss or emergency shutdown.
-
To help further we will need to see some more information.
config.g, homedelta.g, bed.g, config-override.g, slicer start gcode
Also the results of sending M122 and M98 P"config.g"
-
Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Feb 26 2019 21:31:01 GMT+0000 (Greenwich Mean Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Delta Settings M665 L440.000 R227 H434.70 B185.0 ; Set delta radius, diagonal rod length, pr. radius and homed height M666 X0 Y0 Z0 A0.00 B0.00 ; Put your endstop adjustments here, or let auto calibration find them ; Network M550 P"Anycubic Predator" ; Set machine name M551 P"6154" ; Set password M552 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 M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S0 ; Drive 3 goes forwards M584 X0 Y1 Z2 E3 ; Drive Mapping M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X80.00 Y80.00 Z80.00 E402.25 ; Set steps per mm M566 X1000 Y1000 Z1000 E1000 ; Set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z12000.00 E10000 ; Set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z3000.00 E3000.00 ; Set accelerations (mm/s^2) M906 X1200.00 Y1200.00 Z1200.00 E1000.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Retraction M207 S4.0 F5000 R-0.025 T2500 Z0.5 ; Firmware retraction ; Axis Limits M208 Z0 S1 ; Set minimum Z ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z1 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P5 C"e0stop" H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds G31 P500 X0 Y0 Z16.5 ; Set Z probe trigger value, offset and trigger height M557 R115 S20 ; Define mesh grid G29 S1 ; Load the heightmap ; Bed Heater M308 S0 P"bedtemp" Y"thermistor" T100000 B4300 C0 ; Set thermistor + ADC parameters for heater 0 M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 A137.8 C533.3 D1.5 V24.3 B0 ; Disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; Map to H0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C ; Hotnend Heater M308 S1 P"e0temp" Y"thermistor" T100000 B4300 C0 R4700 ;PT100 Temperature Sensor M307 H1 R2.925 C140.8 D8.36 S1.00 V24.1 ; Autotuned PID parameters M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S245 ; Set temperature limit for heater 1 to 240C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 1 value. Thermostatic control is turned on ;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 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 S"Hotend1" D0 H1 F0:2 ; Define tool 1 G10 P0 X0 Y0 Z0 ; Set tool 1 axis offsets G10 P0 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured ;M572 D0 S0.1 ; Pressure Advance ;M591 D0 P2 C4 S1 ; Activate filament sensor M404 N1.75 D0.4 ; Set for print monitor M592 D0 A0.07772 B-0.00029 ; Nonlinear extrusion. Set parameters for extruder drive 0 ; Miscellaneous M501 ; Load saved parameters from non-volatile memory
; config-override.g file generated in response to M500 at 2022-02-04 15:29 ; This is a system-generated file - do not edit ; Delta parameters M665 L440.000:440.000:440.000 R227.398 H434.408 B185.0 X-0.143 Y0.142 Z0.000 M666 X0.641 Y-0.168 Z-0.473 A0.00 B0.00 ; Heater model parameters M307 H0 R0.258 C533.300:533.300 D1.50 S1.00 V24.3 B0 I0 M307 H1 R2.429 C140.000:140.000 D5.50 S1.00 V0.0 B0 I0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Feb 01 2022 11:56:19 GMT+0100 (Mitteleuropäische Normalzeit) G91 ; relative positioning G1 H1 X505 Y505 Z505 F3000 ; 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 F600 ; move all towers up once more (second pass) G1 H2 X-25 Y-25 Z-25 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
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later Board ID: 0JD0M-9P6B2-NJ4S4-6J9F6-3SJ6N-1A2GK Used output buffers: 3 of 24 (13 max) === RTOS === Static ram: 23876 Dynamic ram: 74664 of which 12 recycled Never used RAM 15864, free system stack 134 words Tasks: NETWORK(ready,13.7%,244) HEAT(delaying,0.0%,314) Move(notifyWait,0.1%,313) MAIN(running,85.8%,441) IDLE(ready,0.3%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:05:05 ago, cause: power up Last software reset at 2022-02-04 15:15, reason: User, GCodes spinning, available RAM 15864, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Step timer max interval 0 MCU temperature: min 30.2, current 35.7, max 36.1 Supply voltage: min 23.9, current 24.1, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 65090, standstill, SG min/max 0/214 Driver 1: position 65089, standstill, SG min/max 0/223 Driver 2: position 65089, standstill, SG min/max 0/191 Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2022-02-04 19:57:33 Cache data hit count 4294967295 Slowest loop: 9.85ms; fastest: 0.15ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 3.8ms, write time 2.1ms, max retries 0 === Move === DMs created 83, maxWait 110763ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 8, completed moves 8, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 25.86ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.25 WiFi MAC address e0:98:06:22:e6:1d WiFi Vcc 3.37, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24792 WiFi IP address 192.168.178.38 WiFi signal strength -39dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 4 0 0 0 0 0 0 0
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Warning: the height map was loaded when the current Z=0 datum was not determined probing. This may result in a height offset. Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 436C
-
@capmjk said in Homing problems:
Warning: the height map was loaded when the current Z=0 datum was not determined probing. This may result in a height offset.
Do not load the heightmap in config.g
@capmjk said in Homing problems:
G29 S1
Remove this from config.g. The best place to load the heightmap is in your slicer start gcode after the auto calibration or at least after establishing the Z0 point with a single G30 at the center of the bed.
Can you post your bed.g? How are you doing the auto delta calibration?
-
; bed.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 08 2019 07:52:58 GMT+0100 (British Summer Time) M561 ; clear any bed transform G28 ; home all towers ; Probe the bed at 6 peripheral and 6 halfway points, and perform 6-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 Y169.9 H0 Z-99999 G30 P1 X147.14 Y84.95 H0 Z-99999 G30 P2 X147.14 Y-84.95 H0 Z-99999 G30 P3 X0 Y-169.9 H0 Z-99999 G30 P4 X-147.14 Y-84.95 H0 Z-99999 G30 P5 X-147.14 Y84.95 H0 Z-99999 G30 P6 X0 Y84.9 H0 Z-99999 G30 P7 X73.53 Y42.45 H0 Z-99999 G30 P8 X73.53 Y-42.45 H0 Z-99999 G30 P9 X0 Y-84.9 H0 Z-99999 G30 P10 X-73.53 Y-42.45 H0 Z-99999 G30 P11 X-73.53 Y42.45 H0 Z-99999 G30 P12 X0 Y0 H0 Z-99999 S6 ; 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 M500
I only had to do a g30 in the past when i changed something like a nozzle. But now it seems i need to set x,y,z manually to zero after every startup.
i got rid of the G29 S1 although its strange that is has been in there for ages without a prior problem.
-
@capmjk said in Homing problems:
its strange that is has been in there for ages without a prior problem.
You just updated your firmware though did you not?
@capmjk said in Homing problems:
I only had to do a g30 in the past when i changed something like a nozzle. But now it seems i need to set x,y,z manually to zero after every startup.
I'm not sure how you managed to escape having to home the towers after a power cycle? The axis are marked unhomed at power on.
-
@phaedrux
in the past when the printer homed it set the height after homing to homed height (the one in the config). Now it seems the printer thinks on power on he is homed, then adds the height he travels upwards while homing the first time and adds it ontop.
Then of course he ends up at z=600-800 something and can't travel anymore because he is higher than the maximum z-height i have configured. -
@capmjk said in Homing problems:
Now it seems the printer thinks on power on he is homed,
I am not sure whether you updated, because config says RRF version 2, and M122 tells your firmware is 3.3. Your endstops may have been S0, which is not valid in 3.3 any more, you need to use S1 with a !, please check https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_M574 first statement, if the endstops behave opposite now.
-
At first power on does the DWC think the printer is homed?
If you send M119 to check the endstop status does it think they are triggered when not actually depressed?
Have you re-run a delta auto calibration since we solved the original homing problem?
Have you removed the G29 S1 from config.g yet?
-
@phaedrux
No it tells me that no axis is homed.
M119 tells me that all endstops are working properly.
I have to run a delta calibration after every boot at the moment, else it doesn't print correctly.Have removed G29 S1 from config.g.
Still weird stuff. Have to zero x and y every time after boot. Its driving me mad even though its only 2 quick commands.
The problems arose before i updated the firmware, came out of the blue.
Well yesterday of my belts ripped so i replaced all of them. I think my printer just punishes me for organizing a second one and buying a duet 3 for the new one.
-
@capmjk update:
calibration now also needs to be done after every bootup. else the heightmap is wrong
-
@capmjk said in Homing problems:
; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop
M574 Z1 S1 P"zstop"I wonder why M574 sets the endstops to low end. IMO it should be X2, Y2, Z2.
-
@joergs5 thats true. I changed it but i wonder why it worked for so long.
OK now i got a different problem. Now it ALWAYS sets height after homing to the original homed height but does not save the z- value after g30