My quad carriage machine is failing on Tools. AGAIN.
-
@MaracMB I notice you have one of your motors (Y-axis?) very close to the Duet/Duex ribbon cable. Might it be that that is causing EMI and impacting the I2C? I'd try unplugging the Y-motor completely and seeing if it helps things.
Was the M122 output after you'd had some failed homings? I don't know what values you'd be looking for but they didn't seem crazy. Maybe someone who knows can comment...
One other thought - if your current Duex is a clone, there is always the chance that there is an issue with the board. In particular, I'd pull it out and double check all the soldering. I got a clone Duet WiFi earlier in the year and had to redo a few of the joints that they hadn't soldered properly (one was the bed heater so very glad I spotted!).
-
@Phaedrux yes i do only use split Z to Z and A when homing. I did try to join those, make a double endstop on single axis. but was experiencing the same thing. will try again as suggested maybe just because it makes no difference and there is one less thing to worry about as it certainly makes no difference otherwise.
@engikeneer you might be correct. there must be some EMI. with the abundant wiring, that can easily be the case.
yes, sadly, clone it is for now. original got damaged smd component (my fault) and also got shot on some voltage regulators for a fan due to closed circuit i overlooked. So i had a duex clone at hand so that's what i used. sux, not ideal, but has to do for now.
i can not afford originals until i get this working, but after that, i will most certainly put an original Duex5 in it. Not because it would work better, but reliability (better capacitors, fuse, latest version of pcb, etc), warranty, support i get here... it is just the right thing to do.
I suggest people on socials to use original duets because of that. it is the support that one pays. Clones are waaay too expensive for what one gets imho.Anyhow.
In the time waiting and thinking i got pretty intimate with e3d toolchanger configs and scripts (from nibbles). They don't have so many axes moving, but that code is much nicer and thought out with running conditionals, low current homing (probably due to sensorless homing i guess) and m400's within called scripts. Much better. I must adapt that.for the time being, i just home Z by manually calling it , then Gcode just homes X Y U V W. That works for now.
Anyhow, i'll report here if EMI is the cause it's the most logical next reason.
Thank you all for now.
-
Do you think you could upload your complete config file as files so I can take a look at them together in my text editor more easily? It's a rather complex config and it would be a lot easier than scrolling around trying to find the current versions. Once I can see the whole picture it may become more apparent what should change.
Also, I think it might be best to stick to 3.1.1 for the time being. I don't think there are any fixes in there that would help you, and there may be other bugs in 3.2 that would hurt.
-
@Phaedrux sure. i'll make a backup zip of the whole thing when i get back to it.
reverted back to 3.1.1 already.
spent way to much time just watching it fail.changed the wires for that possible EMI at IDE cable... no luck.
as linked, i did a video, where i click home Z button in DWC. Only that button. If you observe, you can see that sometimes it fails to run left Z motor, then works like couple of times, then fails right, then left, then altough it runs motors it fails to stop on an endstop... i mean, it really makes no sense. it's a machine. an error should make repeatable fails.
https://drive.google.com/file/d/1bWrnUszf52sSI6WxNkiBHYnSRBgFj5J1/view?usp=sharing
the thing that is repeating is it fails on the same drivers. but different board did no difference.
-
can you also provide the results of sending M98 P"config.g" in the gcode console?
-
@Phaedrux
calling config with m98 returns:m98 p”config.g” Warning: Macro file ”config.g” not found
whole zipped package is here:
https://www.dropbox.com/s/67teetv5d67ot7z/firmware backup 2020-11-8.zip?dl=0 -
@MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:
p”config.g”
I think it's the curly quotes. Note the difference between
”
and"
Are you using a mac by chance?
https://bear.app/faq/How to disable smart quotes and dashes/
-
@Phaedrux no, but it’s probably due to teamviewer with iphone issue. That’s how i communicate with it while away
-
@Phaedrux
Error: in file macro line 158 column 14: M567: array too long, max length = 2Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 302C
Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 665C
Warning: Heater 3 appears to be over-powered. If left on at full power, its temperature is predicted to reach 482C
8. 11. 2020 20:25:01 Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C -
@MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:
Error: in file macro line 158 column 14: M567: array too long, max length = 2
Looks like this one
M567 P4 E1:1:0:0
But no error from this one
M567 P5 E1:1:1:1
-
@Phaedrux said in My quad carriage machine is failing on Tools. AGAIN.:
Looks like this one
M567 P4 E1:1:0:0That figures. The M563 command that creates tool 4 is this:
M563 P4 S"DITTOFront" D0:1 H1:2 X0:5 F0:1 ; Tool 2 uses extruders 1 and 2, hotend heaters 1 and 2, maps X to X and U, uses tool fans 4 and 5
Tool 4 uses two extruder drives, so it expect two E values, not four.
-
Dc42, thank you. Yes, those tools... don’t even have tfree, tpost, etc files . WIP.
while this obviously causes something while printing - using tools, when they will be configured...why would it cause stepper motors 5&6 (first motors on duex and their endstops) to “stutter” occasionaly on homing Z ?
Before rewiring, when those stepper drivers were mapped for X carriages for tools T1 and T2, those axes stuttered mid print.
It was hard to see. Was seen on print once you know what too look...
After rewiring, using and mapping those motors to Z, it’s easier to reproduce and hopefully debug -
@MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:
why would it cause stepper motors 5&6 (first motors on duex and their endstops) to “stutter” occasionaly on homing Z ?
I don't think it's related. I'm still looking through your other files.
-
So your package of config files currently has the A axis configured as the second Z axis. Are you wanting to keep it this way for independent jogging? If it's just for homing it would be better to remove it entirely.
Here's a modified config.g with the recommended changes (removes A axis entirely, uses x16 microstepping with interpolation across the board, and changes the Z endstops to use both switches for homing/leveling, and fixes that error in M567.)
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; by MaracMB ; General preferences G90 ; send absolute coordinates... M83 ; relative extruder moves M550 P"MarX-Quad" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 X goes backwards - X0 M569 P1 S1 ; physical drive 1 Y goes forwards - X1 M569 P2 S1 ; physical drive 2 Z goes forwards - Y M569 P3 S1 ; Physical drive 3 E0 goes forwards - X2 M569 P4 S1 ; Physical drive 4 E1 goes forwards - X3 M569 P5 S1 ; Physical drive 5 E2 goes forwards - Z1 M569 P6 S1 ; Physical drive 6 E3 goes forwards - Z2 M569 P7 S0 ; physical drive 7 E4 goes backwards - e1 M569 P8 S0 ; physical drive 8 E5 goes backwards - e2 M569 P9 S0 ; physical drive 9 E6 goes backwards - e3 M569 P10 S0 ; physical drive 10 Ext1 goes backwards - e4 ;Mapping drives M584 X0 Y2 Z5:6 U1 V3 W4 ; Extruder mapping M584 E7:8:9:10 ; Extruder mapping M350 X16 Y16 Z16 U16 V16 W16 I1 ; Configure microstepping movement M350 E16:16:16:16 I1 ; Configure microstepping extruders ; Motion parameters M92 X80 Y80 Z800 U80 V80 W80 ; Set steps per mm motion M92 E396:396:396:396 ; Set steps per mm extruders M566 X420 Y420 Z15 U420 V420 W420 ; set maximum instantaneous speed changes motion (mm/min) M566 E320:320:320:320 ; set maximum instantaneous speed changes extruders(mm/min) M203 X12000 Y12000 Z1200 U12000 V12000 W12000 ; set maximum speeds motion (mm/min) M203 E7200:7200:7200:7200 ; set maximum speeds extruders(mm/min) M201 X880 Y880 Z240 U880 V880 W880 ; set accelerations motion (mm/s^2) M201 E7200:7200:7200:7200 ; set accelerations extruders (mm/s^2) M906 X950 Y1050 Z1050 U950 V950 W950 I30 ; set motor currents (mA) and motor idle factor in per cent motion M906 E950:950:950:950 I30 ; set motor currents (mA) and motor idle factor in per cent extruders M84 S30 ; idle time ; Axis Limits M208 X-170 Y-165 Z0 U-112 V-157 W-112 S1 ; Set axies minimas M208 X115 Y155 Z350 U168 V112 W158 S0 ; Set axies maximas ; Endstops M574 X1 S1 P"!xstop" ; configure active-low endstop for low end M574 Y1 S1 P"!zstop" ; configure active-low endstop for low end M574 Z1 S1 P"!duex.e2stop+!duex.e3stop" ; configure active-low endstop for low end M574 U2 S1 P"!ystop" ; configure active-low endstop for high end M574 V1 S1 P"!e0stop" ; configure active-low endstop for low end M574 W2 S1 P"!e1stop" ; configure active-low endstop for high end ; Z-Probe ;M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed ;M557 X-125:125 Y-125:125 S125 ; define mesh grid ; Heaters and sensors M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 M308 S2 P"duex.e3temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 M308 S3 P"duex.e4temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 3 M308 S4 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 4 M308 S5 Y"mcu-temp" A"MCU" ; Configure sensor for MCU M308 S6 Y"drivers" A"DRIVERS" ; configure sensor 6 as temperature warning and overheat flags on the TMC2660 on Duet 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 M143 H0 S120 ; set temperature limit for heater 0 to 120C M140 H0 ; map heated bed to heater 0 M950 H1 C"duex.e2heat" T1 ; create nozzle heater output on duex.e3heat and map it to sensor 1 M143 H1 S300 ; set temperature limit for heater 1 to 300C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M950 H2 C"duex.e3heat" T2 ; create nozzle heater output on duex.e4heat and map it to sensor 2 M143 H2 S300 ; set temperature limit for heater 2 to 300C M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M950 H3 C"duex.e4heat" T3 ; create nozzle heater output on duex.e5heat and map it to sensor 3 M143 H3 S300 ; set temperature limit for heater 3 to 300C M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M950 H4 C"duex.e5heat" T4 ; create nozzle heater output on duex.e6heat and map it to sensor 4 M143 H4 S300 ; set temperature limit for heater 4 to 300C M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"duex.fan4" Q1000 ; create fan 1 on pin duex.fan4 and set its frequency TOOL FAN 0 M106 P0 S0 H-1 ; set fan 1 value. Thermostatic control is turned off TOOL FAN 0 M950 F1 C"duex.fan5" Q1000 ; create fan 2 on pin duex.fan5 and set its frequency TOOL FAN 1 M106 P1 S0 H-1 ; set fan 2 value. Thermostatic control is turned off TOOL FAN 1 M950 F2 C"duex.fan6" Q1000 ; create fan 3 on pin duex.fan6 and set its frequency TOOL FAN 2 M106 P2 S0 H-1 ; set fan 3 value. Thermostatic control is turned off TOOL FAN 2 M950 F3 C"duex.fan8" Q1000 ; create fan 4 on pin duex.fan8 and set its frequency TOOL FAN 3 M106 P3 S0 H-1 ; set fan 4 value. Thermostatic control is turned off TOOL FAN 3 M950 F4 C"fan0" Q1000 ; create fan 5 on pin fan0 and set its frequency HOTEND FAN tool 0 M106 P4 S0 H1 T45 ; set fan 5 value. Thermostatic control is turned on HOTEND FAN tool 0 M950 F5 C"fan1" Q1000 ; create fan 6 on pin fan1 and set its frequency HOTEND FAN tool 1 M106 P5 S0 H2 T45 ; set fan 6 value. Thermostatic control is turned on HOTEND FAN tool 1 M950 F6 C"fan2" Q1000 ; create fan 7 on pin fan2 and set its frequency HOTEND FAN tool 2 M106 P6 S0 H3 T45 ; set fan 7 value. Thermostatic control is turned on HOTEND FAN tool 2 M950 F7 C"duex.fan3" Q1000 ; create fan 3 on pin duex.fan3 and set its frequency HOTEND FAN tool 3 M106 P7 S0 H4 T45 ; set fan 3 value. Thermostatic control is turned on HOTEND FAN tool 3 ;Extra fan ports ;external stepper - PWMed M950 F8 C"duex.fan7" Q500 ; fan 8 on pin duex.fan7 EXTRA FAN M106 P8 S0 H-1 C"extFan" ; set fan 8 value. Thermostatic control is turned off ;LED strip ;M950 F5 C"duex.pwm" ; create port for LEDs on pin duex.fan8 ;M106 P5 S0 C"LIGHTS" ; LED control ; Tools M563 P0 X0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 U0 V0 W0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 X3 D1 H2 F1 ; define tool 1, ports X axis to U G10 P1 X0 Y0 Z0 U0.45 V0 W0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 X4 D2 H3 F2 ; define tool 3, ports X axis to A G10 P2 X0 Y161.85 Z0 U0 V0.35 W0 ; set tool 2 axis offsets G10 P2 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P3 X5 D3 H4 F3 ; define tool 3, ports X axis to A G10 P3 X0 Y175.2 Z0 U0 V0 W0.32 ; set tool 3 axis offsets G10 P3 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; DITTO TOOLs M563 P4 S"DITTOFront" D0:1 H1:2 X0:5 F0:1 ; Tool 2 uses extruders 1 and 2, hotend heaters 1 and 2, maps X to X and U, uses tool fans 4 and 5 G10 P4 X77 Y0 U-77 ; Set tool offsets and temperatures for tool 2 - moves X 77 left and U 77 right G10 P4 R0 S0 M567 P4 E1:1 ; Set mix ratio 100% on both front extruders M563 P5 S"QUAD" D0:1:2:3 H1:2:3:4 X0:3:5:6 F0:1:2:3 ; Tool 6 uses extruders 1,2,3and4, hotend heaters 1,2,3and4, maps X to U,A and B, and tool fans 4,5,6 and 7 G10 P5 Y0 X0 U-155 V0 W-155 ; Set tool offsets and temperatures for tool 2 - moves X 77 left and U 77 right G10 P5 R0 S0 M567 P5 E1:1:1:1 ; Set mix ratio 100% on all extruders M563 P6 S"DD left" D0:2 H1:3 X0:4 F0:2 G10 P6 X0 Y0 U0 V0 W0 G10 P6 R0 S0 M563 P7 S"DD right" D1:3 H2:4 X3:5 F1:3 G10 P7 X0 Y0 U0 V0 W0 G10 P7 R0 S0 ;Firmware retractions M207 P0 S0.70 F2100 T2500 Z0.4 M207 P1 S0.70 F2100 T2500 Z0.4 M207 P2 S0.70 F2100 T2500 Z0.4 M207 P3 S0.70 F2100 T2500 Z0.4 ;Filament runout sensors ; Automatic saving after power loss is enabled M911 S23.00 R23.50 P"M913 X0 Y0 U0 V0 W0 G91 M83 G1 Z2 E-4 F3000" ; Set voltage thresholds and actions to run on power loss ; MISC M501
And a simplified homeall/homez
; homeall.g ; called to home all axes ; ; scripted by Marac G91 ; relative positioning G1 H2 Z2 F360 ; lift Z relative to current position G1 H1 X-400 Y-450 U400 V-400 W400 F3600 ; move quickly to X and Y axis endstops and stop there (first pass) G1 X5 Y5 U-5 V5 W-5 F3600 ; go back a 5 mm G1 H1 X-10 Y-10 U10 V-10 W10 F360 ; second pass M400 M98 Phomez.g ; call homing script for Z axes G90
; homez.g ; called to home the Z axis G91 ; relative positioning G1 Z-405 F900 H1
Can you give those a try? Send M98 P"config.g" first just to check for any syntax errors I may have inadvertently introduced.
Also, just a note for all of your homing files: Only use H2 modifier when you want to move an axis that isn't already homed. Using it otherwise can hide errors because it will allow an axis to move when it isn't homed.
example: G1 U-2 F600 H2 ; go back a few mm
That move is supposed to happen after the axis has been homed, so the H2 shouldn't be needed. If there was a failure to home the H2 would hide that failure and force movement anyway.
Normally it's just used to life the Z axis slightly before move the XY axis for clearance.
-
@Phaedrux thank you.
tried proposed config. nothing new. same results.
it homes all the first time.
but then when i call to homeall again, it fails to home. It either does not move left or right Z motor, or it fails to trigger the endstop. -
correction, as i can't see both endstop states i sent home all from phone and monitored Endstops triggered from Settings>machine specific on the screen.
Ran homeall until it fails to home correctly.It shows endstop as triggered but motor (in this case left Z) keeps grinding and does not stop. It also does this in it's own random pattern on the right side.
Endstops are OMRON optical endstops, fed by 5V from the CONN_SD.
I set the endstops voltage jumper select on the Duex5 to 5V. The endstops on duex are now wired and fed from their designated pins. Same results no matter how i connect them. No matter what the endstop voltage jumper position is. -
after failed homing:
as said, on failed Z homing, while motors grinding and the endstop for Z showed as triggered. I hit emergency stop, board restarts. Endstop for Z shows as not triggered -
Any i2c errors being reported in M122 when it fails to home?
-
@jay_s_uk when i hit homeall, and again until it fails (it's like a 3rd or fourth attempt) it grinds until i hit emergency stop.
Running m122 right after restart gives:=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3SN-6J9F6-3SN6L-KUWVG Used output buffers: 3 of 24 (18 max) === RTOS === Static ram: 27980 Dynamic ram: 97812 of which 44 recycled Exception stack ram used: 264 Never used ram: 4972 Tasks: NETWORK(ready,348) HEAT(blocked,1224) DUEX(suspended,160) MAIN(running,1816) IDLE(ready,80) Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:14 ago, cause: software Last software reset at 2020-11-09 12:27, reason: User, spinning module GCodes, available RAM 4700 bytes (slot 0) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 35.3, current 35.8, max 36.2 Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max not available Driver 6: standstill, SG min/max not available Driver 7: standstill, SG min/max not available Driver 8: standstill, SG min/max not available Driver 9: standstill, SG min/max not available Date/time: 2020-11-09 12:28:02 Cache data hit count 23635152 Slowest loop: 6.31ms; fastest: 0.13ms 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.1ms, write time 0.0ms, max retries 0 === Move === Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 15.71ms; 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.23 WiFi MAC address 84:f3:eb:83:45:0d WiFi Vcc 3.43, reset reason Unknown WiFi flash size 4194304, free heap 23352 WiFi IP address 192.168.0.125 WiFi signal strength -48dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0 === DueX === Read count 1, 4.07 reads/min
so, i'd say no.
-
@Phaedrux said in My quad carriage machine is failing on Tools. AGAIN.:
;Mapping drives M584 X0 Y2 Z5:6 U1 V3 W4 ; Extruder mapping M584 E7:8:9:10 ; Extruder mapping
I think we've defined too many drivers, haven't we?
5 on the duet, 5 on the duex. 0-9 for 10 total, Driver10 doesn't exist.So you have both Z motors and 3 extruders on the Duex? And XYUVW on the Duet?
When you test the endstops individually and check them with M119 they all work and match the expected axis?