Duet 3 + Tool board extruders out of sync
-
I have two extruder motors configured for for a mixing ratio 1 to 1. One motor connected to tool-board and another to Duet 3 driver 5.
Motors configured like this:
M584 X0.0 Y0.1 Z0.2:0.3:0.4 E121.0:0.5 ; set drive mapping ... M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z800.00 E463 ; set steps per mm ... M567 P0 E1:1 ; extruder motors mixing ratio
After 16 hours print I noticed that the differences between my extruder motors positions is not acceptable!
Am I doing something wrong or there Is a bug in the firmware?
-
can you post the output of M122
-
Do the extruders have different pressure advance settings?
-
@dc42 said in Duet 3 + Tool board extruders out of sync:
Do the extruders have different pressure advance settings?
The same, like this:
M572 D0:1 S0.074:0.074 ; pressure advance tuning
-
@Veti said in Duet 3 + Tool board extruders out of sync:
an you post the output of M122
Won't give you much, new job started already:
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6JKDL-3SJ6L-1802G Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 154604 Dynamic ram: 162888 of which 60 recycled Exception stack ram used: 528 Never used ram: 75136 Tasks: NETWORK(ready,1972) HEAT(blocked,1188) CanReceiv(suspended,3388) CanSender(suspended,1428) CanClock(blocked,1436) TMC(blocked,68) MAIN(running,2672) IDLE(ready,76) Owned mutexes: === Platform === Last reset 00:25:35 ago, cause: software Last software reset at 2020-09-05 14:05, reason: User, spinning module LinuxInterface, available RAM 75472 bytes (slot 1) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 43.7, current 46.2, max 46.4 Supply voltage: min 23.8, current 23.8, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Driver 0: ok, reads 45092, writes 22 timeouts 0, SG min/max 0/1023 Driver 1: ok, reads 45092, writes 22 timeouts 0, SG min/max 0/1023 Driver 2: standstill, reads 45093, writes 22 timeouts 0, SG min/max 0/1023 Driver 3: standstill, reads 45093, writes 22 timeouts 0, SG min/max 0/1023 Driver 4: standstill, reads 45094, writes 22 timeouts 0, SG min/max 0/1023 Driver 5: ok, reads 45094, writes 22 timeouts 0, SG min/max 0/486 Date/time: 2020-09-05 14:31:10 Slowest loop: 7.36ms; fastest: 0.14ms === 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 === Hiccups: 0(0), FreeDm: 371, MinFreeDm: 285, MaxWait: 412437ms Bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves: 10998, completed moves: 10938, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: 3 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 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 Heater 0 is on, I-accum = 0.4 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 1 Movement lock held by null HTTP* is ready with "M122" in state(s) 0 Telnet is idle in state(s) 0 File* is doing "G1 X265.122009 Y213.313995 E2.858500" 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: 1.09ms; fastest: 0.01ms 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: 0 of 8 - Ethernet - State: disabled Error counts: 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages sent 17238, longest wait 3ms for type 6012 === Linux interface === State: 0, failed transfers: 0 Last transfer: 25ms ago RX/TX seq numbers: 49779/49781 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 1680/2952-0 === Duet Control Server === Duet Control Server v3.1.1 File: Buffered code: G1 X265.122 Y213.314 E2.8585 Buffered code: G1 X265.125 Y213.314 E2.8586 Buffered code: G1 X265.355 Y213.305 E2.8659 Buffered code: G1 X265.503 Y213.300 E2.8706 Buffered code: G1 X308.992 Y213.300 E4.2447 Buffered code: G1 X309.007 Y213.301 E4.2452 Buffered code: G1 X309.111 Y213.310 E4.2485 Buffered code: G1 X309.220 Y213.336 E4.2520 Buffered code: G1 X309.225 Y213.338 E4.2522 Buffered code: G1 X309.243 Y213.346 E4.2528 Buffered code: G1 X309.323 Y213.380 E4.2555 Buffered code: G1 X309.412 Y213.436 E4.2589 Buffered code: G1 X309.420 Y213.444 E4.2592 Buffered code: G1 X309.561 Y213.585 E4.2656 Buffered code: G1 X309.564 Y213.588 E4.2657 Buffered code: G1 X309.578 Y213.611 E4.2665 Buffered code: G1 X309.616 Y213.670 E4.2687 Buffered code: G1 X309.619 Y213.675 E4.2689 Buffered code: G1 X309.670 Y213.803 E4.2733 Buffered code: G1 X309.678 Y213.837 E4.2744 Buffered code: G1 X309.682 Y213.853 E4.2749 Buffered code: G1 X309.690 Y213.888 E4.2760 Buffered code: G1 X309.698 Y213.984 E4.2791 Buffered code: G1 X309.700 Y214.008 E4.2798 Buffered code: G1 X309.700 Y253.992 E5.5432 Buffered code: G1 X309.698 Y254.016 E5.5440 Buffered code: G1 X309.690 Y254.112 E5.5470 Buffered code: G1 X309.682 Y254.147 E5.5482 Buffered code: G1 X309.678 Y254.163 E5.5487 Buffered code: G1 X309.670 Y254.197 E5.5498 Buffered code: G1 X309.619 Y254.326 E5.5542 Buffered code: G1 X309.615 Y254.331 E5.5544 ==> 1528 bytes Code buffer space: 1184 Configured SPI speed: 8000000 Hz Full transfers per second: 32.54 File /opt/dsf/sd/gcodes/motor_mounts.gcode is selected, processing
-
Already see the difference in the new job.
-
@evomotors If you've got multiple extruders then you ought to set the steps per mm for each extruder. Currently you have
M92 X160.00 Y160.00 Z800.00 E463
but it ought to be
M92 X160.00 Y160.00 Z800.00 E463:E463
The same applies to other commands such as M350 (although that will default to 16x), M566, M203, M201, M906 etc...
-
@deckingman said in Duet 3 + Tool board extruders out of sync:
@evomotors If you've got multiple extruders then you ought to set the steps per mm for each extruder. Currently you have
M92 X160.00 Y160.00 Z800.00 E463
but it ought to be
M92 X160.00 Y160.00 Z800.00 E463:E463
The same applies to other commands such as M350 (although that will default to 16x), M566, M203, M201, M906 etc...
Thank you! Doing this seem to work.
-
I am surprised, it's normally the case that if only one E value is provided, it gets duplicated to all extruders. I will check.
-
![0_1599336711016_Capture2.PNG](Uploading 100%) @dc42 said in Duet 3 + Tool board extruders out of sync:
I am surprised, it's normally the case that if only one E value is provided, it gets duplicated to all extruders. I will check.
Well... it seem to be working now.
-
I have just checked with the latest firmware build, and found that a single M92 E value does get duplicated to all extruders as I expected.
-
@dc42 said in Duet 3 + Tool board extruders out of sync:
I have just checked with the latest firmware build, and found that a single M92 E value does get duplicated to all extruders as I expected.
It must be bug somewhere. It stopped going out of sync when I added these values for E
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z800.00 E405:405 ; set steps per mm M566 X1000.00 Y1000.00 Z50.00 E3000.00:3000.00 ; set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z2000.00 E180000.00:180000.00 ; set maximum speeds (mm/min) M201 X1800.00 Y1800.00 Z100.00 E2000.00:2000.00 ; set accelerations (mm/s^2) M906 X1600 Y1600 Z1600 E900:1000 I80 ; set motor currents (mA) and motor idle factor in per cent
-
@evomotors I guess to be absolutely sure that it wasn't just a coincidence, you ought to revert the configuration back to how you had it and test again. If the problem rears it's ugly head again and is repeatable, then you have a strong case that there is indeed a bug (which might be related to having one extruder on a tool board and the other on the main board.
It's the only way that you'll convince @dc42 to look into it.
-
@deckingman I'm fine with it working with explicit values in config. I'm pretty sure he has lots on other stuff to do.
-
@evomotors said in Duet 3 + Tool board extruders out of sync:
@deckingman I'm fine with it working with explicit values in config. I'm pretty sure he has lots on other stuff to do.
I understand that but someone else might run into the same problem in the future. So if it is a bug, and if @dc42 can fix it, it will save others from having the same issues that you experienced.
Having said all that, personally I try to make a habit of always explicitly declaring anything which might otherwise have a default value.
-
@deckingman Good point, I will try later.