Tool Offset for Z axis not working properly in 3.4.0beta2?
-
Can you update to 3.4 Beta 3 and test?
Can you post your full config.g and homing files? -
Updating to 3.4 Beta 3 didn't solve it. Here are the files.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Tue Feb 11 2020 11:45:16 GMT-0700 (Mountain Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Printer" ; set printer name ; Panel Due M575 P1 B57600 S1 ;Set baud rate Duet Board. ; Network M552 S1 ; enable network (static IP address: 192.168.1.3) M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes backwards - X (NEMA 23 Motor upgrade) M569 P1 S1 ; physical drive 1 goes backwards - Y (NEMA 23 Motor upgrade) M569 P2 S1 ; physical drive 2 goes backwards - Z (NEMA 23 Motor upgrade) M569 P3 S0 ; physical drive 3 goes forwards - E0 M569 P10 S1 ; physical drive 10 goes forwards - E10 M584 X0 Y1 Z2 E10 ; set drive mapping with Wire Control M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z80.00 E700.6 ; set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E600 ; set maximum instantaneous speed changes (mm/min) M203 X4500 Y4500 Z4500 E10000 ; set maximum speeds (mm/min) M201 X300.00 Y300.00 Z300.00 E500 ; set accelerations (mm/s^2 (default 1000 for XYZ) M906 X2000 Y2000 Z2000 I65 ; set motor currents (mA) and motor idle factor in percent M906 E800 I20 ; set motor currents (mA) and motor idle factor in percent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z for Delta Printer ; Endstops M574 X2 S1 P"!xstop" ; configure active-low endstop for high end on X via pin xstop M574 Y2 S1 P"!ystop" ; configure active-low endstop for high end on Y via pin ystop M574 Z2 S1 P"!zstop" ; configure active-low endstop for high end on Z via pin zstop ; Z-Probe M558 P5 C"!zprobe.in" H10 F120 T6000 ; set Z probe type to switch and the dive height + speeds (P5 selects switch for bed probing between the In/Gnd pins of the Z-probe connector) ;M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved with M500 P31 G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height M557 R30 S10 ; define mesh grid M208 S1 Z-10 ; allow movement down to (original Z=-2.5) ; Heaters ; Heated Bed M308 S0 P"bedtemp" A"Bed Temp" Y"thermistor" T100000 B4036 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit (H is heater number) M140 H0 ; map heated bed to heater 0 (H is heater Number) M143 H0 S210 ; set temperature limit for heater 0 to 120C (H is heater Number) 260C Max temp for silicone heater ; Deposition Head M308 S2 P"e1temp" A"Laser 1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bedtemp M308 S6 P"exp.thermistor6" A"Y Axis SMA AG" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bedtemp ; 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 S0 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"!fan2" Q100 ; create fan 2 on pin fan2 and set its frequency M106 P2 C"Laser Power" S0 H-1 B0.05 ; set fan 2 name and value. Thermostatic control is turned off. Blip time is set at .05sec full PWM (0.1 sec is default if field is empty). M950 F3 C"e1heat" Q100 ; create fan 2 on pin fan2 and set its frequency M106 P3 C"Deposition" S0 H-1 ;B0.05 ; set fan 2 name and value. Thermostatic control is turned off. Blip time is set at .05sec full PWM (0.1 sec is default if field is empty). ; Expansion Pins M950 P2 C"spi.cs2" ; Auto or not for E0 controller. Set by M42 P1 S0 or S1 in macros. P parameter is the GPIO port number, not the logical pin number. ; Tools M563 P0 S"FDM Tool" D0 H1 ; define tool 0 (Ommited F0 as no fan is setup) G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"Laser Tool" ; define tool 1 G10 P1 X2.0 Y-2.5 Z-35 ; set tool 1 axis offsets (spot size ~1.2mm) ; Deposition Tool2 M563 P2 S"Deposition Tool" ; define tool 2 G10 P2 X0 Y0 Z0 ; ; Miscellaneous T0 ; select tool 0 ; Custom settings M302 P1 ; allow cold extrusion M42 P1 S50 ; turn on light M501 ; Loads saved (M500) values at startup (calibration etc.) and overrides any similar commands earlier in config.g M42 P2 S1 ; Disables Wire Control on Bootup
Here is the homedelta.g file:
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Tue Feb 11 2020 11:45:16 GMT-0700 (Mountain Standard Time) G91 ; relative positioning ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working G1 H1 X400 Y400 Z400 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 ;*** Slow homing has been configured. Change F180 to F360 below when your configuration is working G1 H1 X20 Y20 Z20 F360 ; move all towers up once more (second pass) (14 June 2021 Original Values 10) G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred (Default -5) G90 ; absolute positioning G1 X0 Y0 F6000 ; move X+Y to the centre
-
Ok, so this is a multi tool delta printer?
Can you also please post the results of M122 and M98 P"config.g"?
What do you have in bed.g?
When you send T1 would changing the z by -35 mean the head would be below the current bed reference location or something?
-
Yes this is a multi-tool delta printer.
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0beta3 (2021-08-24 13:56:10) running on Duet WiFi 1.02 or later Board ID: 08DJM-9178L-L2MSD-6JTD0-3SN6K-TTHQR Used output buffers: 3 of 24 (17 max) === RTOS === Static ram: 23940 Dynamic ram: 75304 of which 124 recycled Never used RAM 12712, free system stack 184 words Tasks: NETWORK(ready,10.3%,227) HEAT(notifyWait,0.0%,326) Move(notifyWait,0.0%,340) MAIN(running,84.3%,441) IDLE(ready,5.4%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:17 ago, cause: software Last software reset at 2021-09-01 14:59, reason: User, GCodes spinning, available RAM 12664, 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 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 42.4, current 43.1, max 43.4 Supply voltage: min 24.1, current 24.1, max 24.2, 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 39673, standstill, SG min/max not available Driver 1: position 39673, standstill, SG min/max not available Driver 2: position 39673, standstill, SG min/max not available 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: 2021-09-02 14:05:13 Cache data hit count 671485677 Slowest loop: 8.05ms; fastest: 0.16ms 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 1.3ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, 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: 159.75ms; 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.26 WiFi MAC address dc:4f:22:6e:e2:a0 WiFi Vcc 3.39, reset reason Turned on by main processor WiFi flash size 4194304, free heap 27168 WiFi IP address 192.168.1.3 WiFi signal strength -45dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled
Yes this is correct - when sending T1 changing the z by -35 means the head would be below the current bed reference location.
I also tried reverting back to FW 3.3 and it still acts the same way.
-
@code7 said in Tool Offset for Z axis not working properly in 3.4.0beta2?:
Yes this is correct - when sending T1 changing the z by -35 means the head would be below the current bed reference location.
And are you able to position it such that it wouldn't be below the bed and see if it would work then?
-
I'm not exactly sure what you mean. If T0 is set, I read X0 Y0 Z5 on the display.
After sending T1, the display reads X2.0 Y-2.5 Z5.
-
Does it change to an expected value if you do a small Z movement?
What do you have in your toolchange files?
-
@phaedrux said in Tool Offset for Z axis not working properly in 3.4.0beta2?:
Does it change to an expected value if you do a small Z movement?
If I move down 1mm the display will indicate Z4.
For the toolchange files: tfree0.g, tpre0.g, tpost0.g are all empty and there are no other such files for the other tools.
I wasn't having this tool change problem previously and I haven't yet figured out what may have changed.
-
Can you step backwards in firmware versions to find the last time it worked?
3.3? 3.2.2? 3.1.1?
-
@phaedrux
I went back and checked my notes and it was actually working fine in 3.4.0 beta2. The only thing that I believe I've changed between now and then was the homedelta file as we've discussed in another post. I reverted those changes as well but it is still not offsetting the Z value of T1 properly. Are you able to replicate this on your side? -
You mean from here?
https://forum.duet3d.com/post/248771
The homedelta you posted above looks correct, so I don't think that is the difference.
So it was working in 3.4 beta 2 and now it's changed in beta 3? That's more helpful.
-
@phaedrux
It somehow stopped working a week or two into me using 3.4 beta2 then you had me update to 3.4 beta3 and it still isn't working. Maybe it has nothing to do with the FW after all. I'm just not sure what else could cause this behavior. Do you have any other ideas? -
@code7 said in Tool Offset for Z axis not working properly in 3.4.0beta2?:
Do you have any other ideas?
Unfortunately not. If you can identify a firmware version where it works as you expect then we have an idea of where to look in the changes between firmware that may be the cause.
-
I removed the G10 offsets for T1 from the config.g and added it to the T1 post file and it's working now.