Home (second pass) not working on Firmware 3.4
-
We have an axis (called "V") which has 4 independent lead screws to level it (4 end stops) The sequence we use to level it is shown below:
1: G91 ; relative positioning
2: G1 H2 V5 F1000 ; lift V relative to current position
3: G1 H1 V-740 F600 ;move V down until the endstop's are triggered (single pass)
4: G1 H2 V10 F400 ; go back a few mm
5: G1 H1 V-100 F260 ; move V slowly down until the endstop's are triggered (second pass)
6: G92 V0 ; set zero dimension
7: G90 ; absolute positioningThis has worked well with Firmware version 3.2.2
With version 3.4 Line 5 is ignored (the second homing pass does not work)
All other parts of the code seem to work, but its a single pass home sequenceHas anyone any idea why??
"Upgrading" to 3.4 has introduced a problem.
-
@kj3d Is this with a stand alone or SBC based setup?
-
@gloomyandy Its running in stand alone mode.
RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v1.01 or later (standalone mode)
Board ID: 08DJM-956BA-NA3TJ-6JKDG-3SS6M-TUBAV
Used output buffers: 3 of 40 (17 max)
=== RTOS ===
Static ram: 149788
Dynamic ram: 93076 of which 88 recycled
Never used RAM 115880, free system stack 192 words
Tasks: NETWORK(ready,193) ETHERNET(blocked,110) HEAT(blocked,303) CanReceiv(blocked,834) CanSender(blocked,371) CanClock(blocked,360) TMC(blocked,53) MAIN(running,1105) IDLE(ready,19)
Owned mutexes:
=== Platform ===
Last reset 00:00:15 ago, cause: software
Last software reset at 2021-07-29 15:32, reason: User, GCodes spinning, available RAM 115916, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
MCU temperature: min 39.5, current 40.2, max 40.3
Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0
Driver 0: position 0, standstill, reads 19223, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position 0, standstill, reads 19223, writes 14 timeouts 0, SG min/max 0/0
Driver 2: position 0, standstill, reads 19223, writes 14 timeouts 0, SG min/max 0/0
Driver 3: position 0, standstill, reads 19223, writes 14 timeouts 0, SG min/max 0/0
Driver 4: position 0, standstill, reads 19224, writes 14 timeouts 0, SG min/max 0/0
Driver 5: position 0, standstill, reads 19227, writes 11 timeouts 0, SG min/max 0/0
Date/time: 2021-07-29 15:32:46
Slowest loop: 4.79ms; fastest: 0.05ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 2.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, 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 -1 -1 -1 -1 -1 -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
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 2.35ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
HTTP sessions: 1 of 8- Ethernet -
State: active
Error counts: 0 0 1 0 0
Socket states: 5 2 2 2 2 0 0 0
=== CAN ===
Messages queued 80, send timeouts 0, received 79, lost 0, longest wait 1ms for reply type 6018, free buffers 48
- Ethernet -
-
Can you please share your config.g and the actual homing file you're calling? Also the results of M122 when using 3.4 please.
Does it work in 3.3?
-
@kj3d said in Home (second pass) not working on Firmware 3.4:
RepRapFirmware for Duet 3 MB6HC version 3.2.2
According to this line you are still running 3.2.2?!
Nevertheless, I would raise the V-axis more before doing the second slow homing. The endstops might still be triggered. -
Please see Config.g below
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"REDACTED" ; set printer name ; Network M551 P"REDACTED" ; set password M552 P0.0.0.0 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 (set direction) M569 P0.0 S1 ; X (first X) M569 P0.1 S1 ; Y M569 P0.2 S1 ; Z M569 P0.3 S1 ; Extruder M569 P0.4 S0 ; U (second X) M569 P1.0 S0 ; V M569 P1.1 S0 ; W M569 P2.0 S1 ; A M569 P2.1 S1 ; B ; set drive mapping M584 X0.0:0.4 Y0.1 Z0.2 E0.3 V1.0:1.1:2.0:2.1 P7 R0 M350 X16 Y16 Z16 E16 U16 V16 W16 A16 B16 I1 ; configure microstepping with interpolation M92 X357.19 Y80.00 Z84.80 E420.00 U357.19 V3320.00 W3320.00 A3320.00 B3320.00 ; set steps per mm M566 X600.00 Y600.00 Z400.00 E120.00 U600.00 V400.00 W100.00 A100.00 B100.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z1000.00 E1200.00 U6000.0 V600.00 W600.00 A600.00 B600.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z200.00 E250.00 U500.00 V200.00 W200.00 A200.00 B200.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z1000 E800 U800 V1000 W1000 A1000 B1000 I90 ; set motor currents (mA) and motor idle factor in per cent M84 S60 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 U0 V0 W0 A0 B0 S1 ; set axis minima M208 X1170 Y1040 Z150 U1170 V670 W670 A670 B670 S0 ; set axis maxima ; Endstops M574 X0 S1 P"io1.in+io4.in" ; configure active-high endstop for low end on X via pin io1.in M574 Y0 S1 P"io2.in" ; configure active-high endstop for low end on Y via pin io2.in M574 Z0 S1 P"io3.in" ; configure active-high endstop for low end on Z via pin io3.in ;M574 U0 S1 P"io4.in" M574 V0 P"1.io0.in+1.io1.in+2.io0.in+2.io1.in" ;M574 W0 P"1.io1.in" ;M574 A0 P"2.io0.in" ;M574 B0 P"2.io1.in" ; Z-Probe M950 S0 C"io7.out" ; create servo pin 0 for BLTouch M558 P9 C"^io7.in" H15 F600 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X5 Y38 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X5:1040 Y38:980 S5 ; define mesh grid ; Heaters M308 S0 P"1.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin temp0 e3d =B4725 C7.06e-8 M950 H0 C"out2" T0 ; create bed heater output on out2 and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H0 R0.084 C209.256:209.256 D32.90 S1.00 V24.1 B0 I0 M307 H1 R2.429 C140.000:140.000 D5.50 S1.00 V0.0 B0 I0 ; Fans M950 F0 C"out4" Q500 ; create fan 0 on pin out4 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out5" Q500 ; create fan 1 on pin out5 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out7" Q500 ;M106 P2 S0 H-1 ; Tools M563 P0 D0 H1 F0 ; 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 ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M106 P2 S255
-
Please see below contents of "V" homefile (homev.g)
G91 ; relative positioning G1 H2 V5 F1000 ; lift V relative to current position G1 H1 V-740 F600 ;move V down until the endstop's are triggered (single pass) G1 H2 V10 F400 ; go back a few mm G1 H1 V-100 F260 ; move V slowly down until the endstop are triggered (second pass) G92 V0 ; set zero dimension G90 ; absolute positioning
-
M122 B0 response is listed below for version 3.3
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956BA-NA3TJ-6JKDG-3SS6M-TUBAV Used output buffers: 3 of 40 (18 max) === RTOS === Static ram: 150904 Dynamic ram: 92188 of which 0 recycled Never used RAM 111100, free system stack 200 words Tasks: NETWORK(ready,28.0%,254) ETHERNET(notifyWait,0.3%,117) HEAT(delaying,0.0%,349) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,908) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.6%,93) MAIN(running,63.3%,1096) IDLE(ready,0.7%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:00:17 ago, cause: software Last software reset at 2021-07-29 15:32, reason: User, GCodes spinning, available RAM 115916, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 130 MCU temperature: min 32.6, current 34.1, max 34.3 Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, reads 32437, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 32437, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 32438, writes 14 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 32438, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 32438, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 32441, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2021-07-30 10:35:52 Slowest loop: 4.76ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.4ms, write time 0.0ms, max retries 0 === Move === DMs created 125, 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 -1 -1 -1 -1 -1 -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 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === CAN === Messages queued 178, received 89, lost 0, longest wait 1ms for reply type 6018, peak Tx sync delay 4, free buffers 49 (min 48), ts 89/88/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 8.66ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0
-
@kj3d does the problem occur in 3.3 too, or only in 3.4?
-
I have just tried Ver 3.3 (updated both motherboard and the two expansion boards to 3.3) I can confirm that the fault with homing is affecting both 3.3 and 3.4 - the config and homing files have not been changed between testing the versions.
In summary the homing behaves as expected (two pass homing) in version 3.22 and fails after the single pass in vesion 3.3 and 3.4
I can confirm that the firmware update between versions was checked with m122 to see that both the motherboard and expansion boards had all updated to the same version.
As you can see from the config.g file in the previous post the 4 stepper motors for the v axis are controlled by the expansion boards (board 1 two motors and end stops, board 2 two motors and endstops.
The bed temp sensor is taken from expansion board 1 but the heater for the bed is from the main board - this seems to work well. When I tried to have the heater and temp sensor (for the bed) on the main board the long (screened and twisted) cable to the temp sensor was picking up too much noise hence moving the temp sensor to expansion board 1.
-
It is in both 3.3 and 3,4 - but not 3.22
-
Thanks for the reply - the 10mm lift has been enough in previous versions of the software, the endstops are optical - hence quick response.
-
@kj3d I think this is related to https://forum.duet3d.com/topic/23785/homing-sensors-not-working-correctly-with-rrf3-3-0-stable which is already on my list for investigation.
-
Thanks for that - Its a little disappointing, as the other features in the latest release are great . The problem also affects the homing on the X plane on that printer as that uses two stage homing with dual motors, so it affects two out of 4 of my axis
Regards
-
@kj3d if you read the other thread you will see that the user inserted some G4 P100 delay commands between homing moves to work around the problem.