Duet sometimes really slow? - I2C error or?
-
Hello, so sometimes my duet acts kinda crazy - When I start a print, it does one move at a time, and then a long pause between every move. (even when just homing). It will do a move, wait 1-3 sec and then do the next move. If I reset the printer, it works fine. - It have also happend mid-print, that it suddenly starts to do these slow moves. (the move it self is at normal speed, but a long pause between moves)
I tried to pull an M122 and got this:
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-956GU-DJMSN-6J9F8-3S06R-KAQ3H Used output buffers: 4 of 20 (10 max) === RTOS === Static ram: 28476 Dynamic ram: 96628 of which 16 recycled Exception stack ram used: 380 Never used ram: 5572 Tasks: NETWORK(ready,400) HEAT(blocked,1248) MAIN(running,3484) Owned mutexes: === Platform === Last reset 00:13:01 ago, cause: reset button or watchdog Last software reset at 2018-10-14 08:00, reason: User, spinning module GCodes, available RAM 5668 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 7 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 9.8ms, max retries 0 MCU temperature: min 38.3, current 42.5, max 42.8 Supply voltage: min 24.2, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max 0/131 Driver 1: standstill, SG min/max 0/131 Driver 2: standstill, SG min/max 0/140 Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max 0/212 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 0/258 Expansion motor(s) stall indication: no Date/time: 2018-10-14 08:13:32 Slowest loop: 216.66ms; fastest: 0.07ms === Move === Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 236, MaxWait: 705026ms, Underruns: 0, 2 Scheduled moves: 15, completed moves: 15 Bed compensation in use: none Bed probe heights: 0.405 0.000 0.000 0.000 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.1 Heater 7 is on, I-accum = 0.1 === GCodes === Segments left: 0 Stack records: 3 allocated, 2 in use Movement lock held by file http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 37 0 5 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 199.77ms; fastest: 0.01ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.21RC4(08b3) WiFi MAC address 5c:cf:7f:76:6c:56 WiFi Vcc 3.39, reset reason Turned on by main processor WiFi flash size 4194304, free heap 16456 WiFi IP address 192.168.0.31 WiFi signal strength -63dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0 === Expansion === DueX I2C errors 42341
My guess is the 42341 I2C errors? - why does they orcur?
-
The most common reason for I2C errors is that you don't have a short thick ground wire between the VIN terminal blocks of the Duet and the DueX. See https://duet3d.dozuki.com/Wiki/Duex2_and_Duex5_Features#Section_Wiring.
-
@dc42 said in Duet sometimes really slow? - I2C error or?:
The most common reason for I2C errors is that you don't have a short thick ground wire between the VIN terminal blocks of the Duet and the DueX. See https://duet3d.dozuki.com/Wiki/Duex2_and_Duex5_Features#Section_Wiring.
Ah, i see - my are connected at the power supply, will try to make a direct wire.
-
Hello,
I have the same problem. After a print time from 1-2 days the duet had a slowdown. The print stops and takes several seconds for the next move, and so on.I uploaded a video for this question in this forum. So, you can see what happend.
https://vimeo.com/295064630I have relative short cables between the Duet and the Duex5 (only 7cm + 7cm) for VIN and ground. Additionally, the cables are relative thick (about 2.5mm^2).
In the picture you can see the connections from the powersupply to the Duet and the Duex5.
Did I connect it correctly? What can I do?
Note: For the print on the video, I only used the first extruder on the main Duet. The other 4 extruder were only connected on the main Duet and the Duex5.
Best regards
Thomas -
@tbs said in Duet sometimes really slow? - I2C error or?:
Hello,
I have the same problem. After a print time from 1-2 days the duet had a slowdown. The print stops and takes several seconds for the next move, and so on.I uploaded a video for this question in this forum. So, you can see what happend.
https://vimeo.com/295064630It is exactly how my also behaves - Have not tried the shorter wires yet.
-
Here are additional information for my configuration:
VIN: 24.1V
Here is my config: config.gI hope you can help me, please.
-
@tbs Bit of a long shot but your problem might be the Wago connector - especially if there is any oxidisation of the conductors. You can get two thickish cables in the terminal blocks on the boards so try a cable direct to the Duet terminal block, then a link from that to the Duex and do away with the Wago connector altogether.
-
Check that all the screws connecting the ground wire to the Duet and X5 VIN terminals are tight, and check for I2C errors in the M122 report when the problem occurs.
-
Thanks for your suggestions!
- I will try to remove the wago connectors and solder the cables instead. (The wago connectors were only 6 month old.)
- I will replace the cable between the powersupply and the Duet and the Duex5. So I can exclude a cable break.
- The screws were very tight. This could not be the problem.
Thanks to deckingman and Mr. Crocker.
-
Hello,
I have now implemented your suggestions a few weeks later.I have changed the following:
- The cable to the power supply has been replaced with another 2.5mm ^ 2 cable
- Cable length 10.8 cm plus wire end sleeves (about 1.8 cm)
- Wiring is as in your instructions
- VIN and GND go directly to the Duet Ethernet. From there they go directly from the wire end sleeve into the Duex5
- Update to the 2.02RC6
Unfortunately without success! It has gotten worse now. Now sometimes I have the error even if I turn on the Duet.
I've already read this bug including videos in your forum several times. For example:
https://forum.duet3d.com/topic/3735/slowdown-issue/14
Has the reason been found for this error meanwhile?
Is it maybe the Duex5. This was often mentioned in these posts.
Did I make a mistake with the wiring?
Could it be that I have a cable break or loose contact somewhere?Here is the log with M122:
0_1544922580210_M122_Error.txt -
@tbs, this line in the M122 report:
I2C nak errors 0, send timeouts 25011, receive timeouts 0, finishTimeouts 25010
indicates that the cause is I2C errors. If you are certain that you have fixed the VIN ground connection, then the problem may lie in the ribbon cable.
-
The VIN / Ground connection ist correkt.
If it is the ribbon cable, what should I do? -
Replace it.
-
Which grid size / dimension do I need for the cable and the plug? How long can it be maximum.
-
It's a standard 2x25 IDE ribbon cable connector at each end, 2.5mm pitch pin spacing. The cable I use is 150mm long and I suggest you don't make it much longer than that.
You could try re-clamping the existing ribbon cable connectors in a vice first. Use cardboard to protect the plastic from the jaws.
-
Hello,
I replaced the ribbon cable. I have a third time replaced the cables from the powersupply to Duet and Duex5 (11 cm, maximum cable thickness which fits into the Duet socket)
A few longer prints have worked with it. A few days ago, the error unfortunately occurred again.
Procedure:
It was printed simultaneously with Driver 5 and 6 (M567).
Duration of the print about 1 day.
Everything worked here.
After that, the printer has been waiting for 5 hours without turning off.
At the beginning of the next print, the error has occurred again.Here are the M122 traces:
- The error has occurred and the printer has been paused
- The error has occurred and the printer has printed
- The error has occurred and the printer has printed (15 seconds later)
All 3 traces files have different error messages and show different values (for example in the category: Driver 5: ok, SG min / max not available, Driver 6: ok, SG min / max not available or LaErrors: 694)
How can I solve the problem now?
Should I buy a new Duex5?
Would it be a workaround to generate a power load on all two boards (always turn on all heaters)?
Maybe the cables to the extruders are too long with 2m (E0 E3D Super Whopper Motor, E1-E3 E3D High Torque Motor)?I have already spent 300 euros on filament for misprints because of this error.
I am urgently asking for help.
-
@tbs I had similar I2C problems but in my case it only happens once every 3 months or so. David (DC42) told me to upgrade to 2.02 final with the comment that the I2C part had been completely re-written between RC4 that I was using and the final release. I note that you are on RC6 but I have been unable to find anything to say when exactly the I2C code was re-written so it could be after RC6. Suggest you upgrade to 2.02 final (DC will tell you to in any case) then report back if you still have problems.
-
@TBS, please upgrade to the 2.02 release as @deckingman suggests. However, the major rewrite of the I2C subsystem happened at version 2.02RC6, so in all honesty I don't expect this to change things.
It appears that either something is disrupting the I2C communication between the Duet and the DueX5, or the communication is being lost for some other reason. If we can eliminate wiring issues, then I'll recommend that we try replacing your DueX5.
Please post a photo or photos of your Due/DueX5 setup, that show clearly the power wiring and the ribbon cable.
-
PS - in testing the I2C communication at high speeds, I found it helpful to reduce the values of the I2C pullup resistors on the DueX5. The simplest way to do this is to connect a resistor with a value between 1.3K and 2.2k between the TWC and +3.3 pins of connector J13 on the DueX5, and another between TWD and +3.3, like this:
If you don't have the means to make this yourself, we may be able to send you a ready-made one. If you do make one yourself, take great care not to short the 3.3 and 5V pins together.
-
@dc42 Thanks for that. I'll give it a go on mine. I only rarely get the problem so can't yet say if upgrading from RC4 to final has fixed it for me. I may as well try this mod as well. I think I'll make up a lead that will plug in. Then I can insulate the leads and test it for shorts before I plug it in.