RRF3.4.0-Problem Z axis move bad
-
hi
I have a problem with my z axis on RRF3.4.0
i have 2 lead screw on left middle bed and right middle bed
Some time when i do a zhoming or G32 or G29 ,once lead screw (it will be the first or the second)don't stop or don't move correctly
G29 do a bad map because one lead screw don't move or have a bad moveconfiguration hardware
due3 6HC > 1xd(X can40)>1xd(Y1can41))>1xd(Y2can42))>1xd(Z1can43)>1xd(Z2can44)>distribution board>toolboard (E0 can23)>toolboard (E1 can22)>toolboard (E2 can21)>toolboard (E0 can20)config.g
; configuration file for Duet 3 (firmware version 3) ;; General preferences M111 S0 ;debugging off G21 ;Work in mm G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet3" ; set printer name M669 K0 X1:0:0 Y0:1:0 Z0:0:1 ; select Cartesian mode G4 S1 ;Wait for expansion boards to start M555 S1 ;firmware mode 1-RRf 2-marlin ;Network ;M552 S1 ;enable network ;M586 P0 S1 ;enable http ;M586 P1 S0 ;disable ftp ;M586 P2 S0 ;disable Telnet ; Drives XYZ M569 P40.0 S0 R0 T2.6:2.6:2.6:2.6 ; physical drive 40.0 goes forwards X MOONST T2.6:2.6:2.6:2.6 aa:bb:cc:dd Minimum driver step pulse width, step pulse interval, direction setup time and direction hold time, in microseconds M569 P41.0 S0 R0 T2.6:2.6:2.6:2.6 ; physical drive 41.0 goes forwards Y1 MOONS M569 P42.0 S0 R0 T2.6:2.6:2.6:2.6 ; physical drive 42.0 goes forwards Y2 MOONS M569 P43.0 S0 R0 T2.6:2.6:5:5 ; physical drive 43.0 goes forwards Z1 BRAKE MOTOR T2.6:2.6:5:5; last T2.6:2.6:10:15 M569 P44.0 S0 R0 T2.6:2.6:5:5 ; physical drive 44.0 goes forwards Z2 BRAKE MOTOR ; Extruder M569 P23.0 S1 ; TO0LBoard "T0" physical drive 23.0 goes forwards E1 toolboard M569 P22.0 S1 ; TO0LBoard "T1" physical drive 22.0 goes forwards E1 toolboard M569 P21.0 S1 ; TO0LBoard "T2" physical drive 21.0 goes forwards E1 toolboard M569 P20.0 S1 ; TO0LBoard "T3" physical drive 20.0 goes forwards E1 toolboard ;Coupler ChangeTools M569 P0.1 S1 ;Coupler ChangeTools axe C (duet 6hc) M915 C S3 F0 H200 ;Stall detection coupler (endstop axe C) ;Drive Configuration M584 X40.0 Y41.0:42.0 Z43.0:44.0 C0.1 E23.0:22.0:21.0:20.0 ; set drive mapping M350 E16:16:16:16 I1 ; configure microstepping with interpolation M350 X16 Y16 Z16 E16:16 I1 M350 C8 I0 M92 X256 Y256 Z320 C100 E415:415:415:415 ; set steps per mm- M566 X300 Y300 Z30 C2 E120:120:120:120 ; set maximum instantaneous speed changes (mm/min)- M203 X10000 Y10000 Z300 C5000 E1200:1200:1200:1200 ; set maximum speeds (mm/min)- M201 X400 Y400 Z100 C300 E250:250:250:250 ; set accelerations (mm/s^2)- M906 C900 E1500:1500:1500:1500 I60 ; set motor currents (mA) and motor idle factor in per cent M84 S60 ; Set idle timeout ; Axis Limits M208 X0 Y-40 C0 S1 ; set axis minima/maxima Z0 M208 X830 Y800 Z400 C260 S0 ;leadscrew M671 X0:760 Y460:460 S5 ; Endstops M574 X2 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in M574 X1 S1 P"!io0.in">capteur meca 3fils) M574 Y1 S1 P"io1.in" ; configure active-high endstop for low end on Y via pin io1.in M574 Z2 S2 ; configure active-high endstop for low end on Y via pin io1.in- M574 Z2 S2 zprobe-M574 Z1 S1 P"io2.in" ; Z-Probe switch M558 K0 P5 C"^!io5.in" H5 F300 T8000 ; disable Z probe but set dive height, probe speed and travel speed1 -11sm244-T-M558 ONRON ou switch satndard- -irsensor M558 K0 P8 C"^io5.in" H5 F400 T6000 G31 K0 P1000 X0 Y60.2 Z0.3 M557 X100:700 Y100:700 P8 ; define mesh grid ;Z-Offset: If nozzle is too close to bed _reduce_ offset (negative number becomes more negative) ; If nozzle is too far away, _increase_ offset (negative number becomes less negative) ;TOOLCHANGE Zprobe offset M558 K1 P8 C"^io3.in" H5 F100 L0 T4000 G31 K1 P1000 x820 Y430 Z0 ;DOCK switch for toolchange parking verification M950 J1 C"23.io0.in" ;Gpin4 = Tool 0 Dock switch (on Toolboard 23);Gpin 1= T0 dock switch on 6hc M950 J2 C"22.io0.in" ;Gpin3 = Tool 1 Dock switch (on Toolboard 22);Gpin 2= T1 dock switch on 6hc M950 J3 C"21.io0.in" ;Gpin2 = Tool 2 Dock switch (on Toolboard 21);Gpin 3= T2 dock switch on 6hc M950 J4 C"20.io0.in" ;Gpin1 = Tool 3 Dock switch (on Toolboard 20);Gpin 4= T3 dock switch on 6hc ;ALARMS for STEPPER DRIVER Moons RS06-P-A ;X axis fail (CAN40) M950 P5 C"40.io1.in" ;Create a Pin number 10 on XD Board (CAM 40)for servo alarm.the alarm is active low so invert the input and enable the pullup to prevent spurious alarm caused by noise M950 J6 C"40.io2.out" ;Create a Gpio Pin Number 11 on 1XD(CAM40) for alarm reset M581 P5 T5 S1 R0 ;Invoke trigger 5 when a active to inactive edge is dectected on imput 5 and to trigger at any time ;Y1 axis fail M950 P7 C"41.io1.in" ;Create a Pin number 12 on XD Board (CAM 41)for servo alarm.the alarm is active low so invert the input and enable the pullup to prevent spurious alarm caused by noise M950 J8 C"41.io2.out" ;Create a Gpio Pin Number 13 on 1XD(CAM41) for alarm reset M581 P7 T6 S0 R0 ;Invoke trigger 6 when a active to inactive edge is dectected on imput 7 and to trigger at any time ;Y2 axis fail M950 P9 C"42.io1.in" ;Create a Pin number 14 on XD Board (CAM 42)for servo alarm.the alarm is active low so invert the input and enable the pullup to prevent spurious alarm caused by noise M950 J10 C"42.io2.out" ;Create a Gpio Pin Number 15 on 1XD(CAM42) for alarm reset M581 P9 T7 S0 R0 ;Invoke trigger 7 when a active to inactive edge is dectected on imput 9 and to trigger at any time ; HEATERS ;BED M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M140 H0 ; map heated bed to heater 0 M143 H0 S180 ; set temperature limit for heater 0 to 180C M307 H0 A188.2 C3722.6 D17.2 S1.00 V24.2 B0 ; enable bang-bang mode for the bed heater and set PWM limit M307 H0 A188.2 C3722.6 D17.2 S1.00 V24.2 B0 ;Extruder 0 (T0) CANbus 23 M308 S1 P"23.temp0" Y"pt1000" ; configure sensor 2 as thermistor on pin 23.temp0 M950 H1 C"23.out0" T1 ; create nozzle heater output on 23.out0 and map it to sensor 2 M143 H1 S340 ; set temperature limit for heater 2 to 290C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ;Extruder 1 (T1) CANbus 22 M308 S2 P"22.temp0" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin 22.temp0 M950 H2 C"22.out0" T2 ; create nozzle heater output on 22.out0 and map it to sensor 2 M143 H2 S300 ; set temperature limit for heater 2 to 290C M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ;Extruder 2 (T2) CANbus 21 M308 S3 P"21.temp0" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin 21.temp0 M950 H3 C"21.out0" T3 ; create nozzle heater output on 21.out0 and map it to sensor 2 M143 H3 S300 ; set temperature limit for heater 2 to 290C M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ;Extruder 3 (T3) CANbus 20 M308 S4 P"20.temp0" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin 20.temp0 M950 H4 C"20.out0" T4 ; create nozzle heater output on 20.out0 and map it to sensor 2 M143 H4 S300 ; set temperature limit for heater 1 to 290C M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; FANS ;T0 fan M950 F0 C"23.out1" Q500 ; T0-part cooling fan M106 P0 C"T0 partcooling fan" S0 B0.1 H-1 ; Default off.bootstart for 0.1s (B0.1);thermostatic control off M950 F1 C"23.out2" Q500 ; T0-Hotend cooling fan M106 P1 C"T0 hotend fan" S1 H1 T40 ; Default ON. Thermostatic control above 40°C ;T1 fan M950 F2 C"22.out1" Q500 ; T1-part cooling fan M106 P2 C"T1 partcooling fan" S0 B0.1 H-1 ; Default off.bootstart for 0.1s (B0.1);thermostatic control off M950 F3 C"22.out2" Q500 ; T1-Hotend cooling fan M106 P3 C"T1 hotend fan" S1 H1 T40 ; Default ON. Thermostatic control above 40°C ;T2 fan M950 F4 C"21.out1" Q500 ; T2-part cooling fan M106 P4 C"T2 partcooling fan" S0 B0.1 H-1 ; Default off.bootstart for 0.1s (B0.1);thermostatic control off M950 F5 C"21.out2" Q500 ; T2-Hotend cooling fan M106 P5 C"T2 hotend fan" S1 H1 T40 ; Default ON. Thermostatic control above 40°C ;T3 fan M950 F6 C"20.out1" Q500 ; T3-part cooling fan M106 P6 C"T3 partcooling fan"S0 B0.1 H-1 ; Default off.bootstart for 0.1s (B0.1);thermostatic control off M950 F7 C"20.out2" Q500 ; T3-Hotend cooling fan M106 P7 C"T3 hotend fan"S1 H1 T40 ; Default ON. Thermostatic control above 40°C ; TOOLS ;T0 M563 S"T0" 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 ;T1 M563 S"T1" P1 D1 H2 F2 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ;T2 M563 S"T2" P2 D2 H3 F4 ; define tool 2 G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets G10 P2 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ;T3 M563 S"T3" P3 D3 H4 F6 ; define tool 3 G10 P3 X0 Y0 Z0 ; set tool 3 axis offsets G10 P3 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ;TOOLS OFFSET ; estimed offset for : ; Copperhead-tool >>> Z-74.6 G10 P0 X0 Y70 Z-62 ;TO Z-60.4 G10 P1 X0 Y70 Z-62 ;T1 G10 P2 X0 Y70 Z-62 ;T2 G10 P3 X0 Y70 Z-62 ;T3 ; Custom settings are not defined ; cancel ringing at 50Hz ;M593 F45 ; deselect Tools T-1 ;Filament sensor type "switch" M591 D0 P2 C"23.io1.in" S1 ; filament monitor connected to E0 endstop for T0 ; 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
M122
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0 (2022-03-15 18:57:24) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TJ-6JTDA-3SD6P-9A96T Used output buffers: 1 of 40 (21 max) === RTOS === Static ram: 151000 Dynamic ram: 67864 of which 208 recycled Never used RAM 131456, free system stack 158 words Tasks: SBC(ready,0.6%,436) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,258) CanReceiv(notifyWait,0.1%,772) CanSender(notifyWait,0.0%,356) CanClock(delaying,0.0%,339) TMC(notifyWait,7.9%,92) MAIN(running,91.3%,923) IDLE(ready,0.1%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:39:22 ago, cause: software Last software reset at 2022-03-29 11:50, reason: User, GCodes spinning, available RAM 131596, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 135 MCU temperature: min 39.8, current 40.4, max 40.5 Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, 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 Events: 0 queued, 0 completed Driver 0: standstill, SG min n/a, mspos 8, reads 4100, writes 0 timeouts 0 Driver 1: standstill, SG min n/a, mspos 528, reads 4100, writes 0 timeouts 0 Driver 2: standstill, SG min n/a, mspos 8, reads 4100, writes 0 timeouts 0 Driver 3: standstill, SG min n/a, mspos 8, reads 4099, writes 0 timeouts 0 Driver 4: standstill, SG min n/a, mspos 8, reads 4099, writes 0 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 4099, writes 0 timeouts 0 Date/time: 2022-03-29 12:30:19 Slowest loop: 321.91ms; fastest: 0.03ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 6, maxWait 996922ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 206, completed 206, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 2], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 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, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" 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 === Filament sensors === Extruder 0 sensor: ok === CAN === Messages queued 11234, received 74543, lost 0, boc 62 Longest wait 3ms for reply type 6013, peak Tx sync delay 3834, free buffers 50 (min 44), ts 6161/6130/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 4, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 24989/24989 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x2b880 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server v3.4.0 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 39.36, max time between full transfers: 56.6ms, max pin wait times: 49.0ms/3.8ms Codes per second: 0.04 Maximum length of RX/TX data transfers: 4326/1088
Z1
m122 b43 Diagnostics for board 43: Duet EXP1XD firmware version 3.4.0 (2022-03-15 08:59:26) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 5556, free system stack 43 words Tasks: Move(notifyWait,0.0%,111) HEAT(notifyWait,0.1%,115) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,75) CanClock(notifyWait,0.0%,64) MAIN(running,96.4%,443) IDLE(ready,0.0%,40) AIN(notifyWait,3.5%,142), total 100.0% Last reset 00:40:34 ago, cause: software Last software reset data not available Driver 0: pos -903992, 320.0 steps/mm, steps req 359259 done 58584 Moves scheduled 151, completed 151, in progress 0, hiccups 0, step errors 0, maxPrep 450, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 1/19, peak Rx sync delay 205, resyncs 0/0, no step interrupt scheduled VIN voltage: min 24.4, current 24.4, max 24.5 MCU temperature: min 20.5C, current 20.9C, max 21.0C Last sensors broadcast 0x00000000 found 0 82 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 11006, send timeouts 0, received 17782, lost 0, free buffers 37, min 37, error reg ff7800 dup 0, oos 2/0/0/0, bm 0, wbm 0, rxMotionDelay 317, adv 35442/36893 29/03/2022, 12:30:22
Z2
m122 b44 Diagnostics for board 44: Duet EXP1XD firmware version 3.4.0 (2022-03-15 08:59:26) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 5556, free system stack 43 words Tasks: Move(notifyWait,0.0%,111) HEAT(notifyWait,0.1%,115) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,75) CanClock(notifyWait,0.0%,64) MAIN(running,96.4%,447) IDLE(ready,0.0%,40) AIN(delaying,3.5%,142), total 100.0% Last reset 00:42:48 ago, cause: software Last software reset data not available Driver 0: pos -902844, 320.0 steps/mm, steps req 1075406 done 170845 Moves scheduled 152, completed 152, in progress 0, hiccups 0, step errors 0, maxPrep 449, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 0/15, peak Rx sync delay 205, resyncs 0/0, no step interrupt scheduled VIN voltage: min 24.3, current 24.3, max 24.4 MCU temperature: min 23.0C, current 23.3C, max 23.5C Last sensors broadcast 0x00000000 found 0 67 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 20576, send timeouts 0, received 33135, lost 0, free buffers 37, min 37, error reg ff7d00 dup 0, oos 1/0/0/0, bm 0, wbm 0, rxMotionDelay 312, adv 31226/37178
thanks a lot I am little bit disappointing
-
Can you share your bed.g as well? And mesh.g if used?
Can you send M98 P"config.g" and share the results?
These are on external drivers, correct?
Do you ever get bad moves in normal operation, or only when probing?
-
@phaedrux
bed.g; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat May 15 2021 14:53:03 GMT+0200 (heure d’été d’Europe centrale) M561 ; clear any bed transform ;G29 ; probe the bed and enable compensation G30 P1 X760 Y460 Z-99999 G30 P0 X0 Y460 Z-99999 S2 ; probe near a leadscrew, half way along Y axis ; probe near a leadscrew and calibrate 2 motors
no mesh.g used
M98 P"config.g"
30/03/2022, 11:04:44 Warning: M307: Heater 2 predicted maximum temperature at full power is 1110°C 30/03/2022, 11:04:44 Error: M106: Fan number 5 not found 30/03/2022, 11:04:44 Error: M950: Response timeout: CAN addr 21, req type 6027, RID=301 30/03/2022, 11:04:42 Error: M106: Fan number 4 not found 30/03/2022, 11:04:42 Error: M950: Response timeout: CAN addr 21, req type 6027, RID=299 30/03/2022, 11:04:42 Error: M143: Heater 3 does not exist 30/03/2022, 11:04:42 Error: M307: Board 20 received unknown msg type 6053 30/03/2022, 11:04:42 Error: M307: Heater 3 not found 30/03/2022, 11:04:42 Error: M950: Response timeout: CAN addr 21, req type 6026, RID=279 30/03/2022, 11:04:39 M98 P"config.g" 30/03/2022, 11:04:36 Error: M308: Response timeout: CAN addr 21, req type 6031, RID=277 30/03/2022, 11:04:33 Error: M950: Response timeout: CAN addr 21, req type 6036, RID=250 30/03/2022, 11:04:33 Error: M906: Response timeout: CAN addr 21, req type 6043, RID=239 30/03/2022, 11:04:31 Error: M92: Response timeout: CAN addr 21, req type 6042, RID=229 30/03/2022, 11:04:31 Error: M350: Response timeout: CAN addr 21, req type 6042, RID=225 30/03/2022, 11:04:27 Error: M584: Response timeout: CAN addr 21, req type 6042, RID=216 30/03/2022, 11:04:25 Error: M569: Response timeout: CAN addr 21, req type 6018, RID=213
one of my toolboard is not plugged so error on Can21 is correct
yes ,its external stepper driver : Stepper Online Cl57 T v4
800pulse/rev
direction cw
closed loop mode
pulse mode: Pulse/dir
pulse filter On
RMS current 4A peak 5.6A code4Motor :stepper online 23HS45-4204D-E1000 3N.m 4.2A closed loops
for my first test this morning it s look good
for my previous test, just one toolboard is plug so i got lot of error on config.g
Can this point affect my z axis
yesterday i change Zaxis speed and accelerationthanks
-
@bast Looking at the external driver datasheet https://www.omc-stepperonline.com/download/CL57T_V4.0.pdf, your M569 timings for the external drivers seem okay. Do you have the enable wires connected? It says it has a 300 millisecond enable time. It could be, if you have the enable connected, that the drives are not having long enough to enable before the steps are sent. The datasheet says:
ENA must be ahead of DIR by at least 200ms [says 300ms on diagram]. Usually, ENA+ and ENA- are NC (not connected).
With ENA+ and ENA- not connected, the drives are enabled all the time, as soon as they have power.
Instantaneous speed (M566 Z30), max speed (M203 Z300), acceleration (M201) seem reasonable for the steps per mm (M92 Z320). What are the motors driving, belts or ballscrews? Is the bed particularly heavy? Are you using a motor brake (I can't see it configured in the config.g)? If it is linked to the enable signal on the external driver, perhaps it is not releasing quickly enough.
Ian