Solved Duet3 6CH + 3CH expansion board - Missing steps.
-
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors The other thing that strikes me as odd (although it should help with hiccups) is that you steps per mm for the extruder looks low (I have 6 Bondetch BMGs). Mine are all around 410 - 415 and Bondtech suggest using 415 but yours is set to 344. How did you arrive at that figure?
I hesitate to suggest this but it seems to me that you might be having extrusion problems due to incorrectly calibrated extruder, which might appear as missed steps and that the hiccups are a "red herring". (But that does not explain why the extruder connected to the main board appears to act differently - unless you change the steps per mm as well as the driver number when swapping between boards)?
Extruder is calibrated using single perimeter cube, this calibration method always works best for me.
I did not change steps per mm when swapped boards.
You could be correct about "red herring". I maybe just afraid of the reported hiccups as I had very bed experience with extruder connected to the tool board in RRF3.1. I previously posted pictures of a 2 benchy (same gcode), one is printed with extruder connected to Tool Board and another with extruder connected to the Duet3 and the difference is like day and night.
-
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors When I've seen hiccups on extruders, it's always been retract/unretract moves that cause it, because the extruder moves much faster doing those moves than it does during printing. For example, during print moves the extruder moves are typically in the order of 5% of the carriage move (depending on nozzle size and layer height of course). So if you printed at say 100mm/sec, then the extruder speed would typically be about 5mm/sec. I note that you use firmware retraction and have it sec to 1800mm/sec.
So just as a test, try halving that to 900mm/sec which ought to cure the hiccups. If it does, but the print quality is not improved, then you know it's not a firmware issue.Firmware retraction speed is in mm/min not mm/s, so my 1800 is equal to 30mm/s
Yes I know. But that's still around 6 times faster than what you'll see doing print moves when printing at 100mm/sec carriage speed where the extruder would be running at about 5 mm/sec. Hence my suggestion to try it at 900mm/min (15mm/sec).
Sure, I will change it to 900mm/min for my next print.
-
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors When I've seen hiccups on extruders, it's always been retract/unretract moves that cause it, because the extruder moves much faster doing those moves than it does during printing. For example, during print moves the extruder moves are typically in the order of 5% of the carriage move (depending on nozzle size and layer height of course). So if you printed at say 100mm/sec, then the extruder speed would typically be about 5mm/sec. I note that you use firmware retraction and have it sec to 1800mm/sec.
So just as a test, try halving that to 900mm/sec which ought to cure the hiccups. If it does, but the print quality is not improved, then you know it's not a firmware issue.Firmware retraction speed is in mm/min not mm/s, so my 1800 is equal to 30mm/s
Yes I know. But that's still around 6 times faster than what you'll see doing print moves when printing at 100mm/sec carriage speed where the extruder would be running at about 5 mm/sec. Hence my suggestion to try it at 900mm/min (15mm/sec).
Sure, I will change it to 900mm/min for my next print.
I'm not expecting that it will have much effect on your print - might cause a minor blob at the end of print moves but nothing drastic. However, it should reduce or eliminate the hiccups. So if you still have print issues, it means that it something other than step pulse frequency issues with expansion boards.
For info, even with 3.1.1. I do not see any hiccups on either of my 2 expansion boards, each of which has 3 BMGs connected and which use 16X micro-stepping and around 410 steps per mm. - and that is also running 1800 mm/min firmware retraction (but I do see hiccups if I chnage to 32x micro-stepping). That doesn't really help your situation but adds weight to the argument that your issue might not be related to firmware.
-
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors When I've seen hiccups on extruders, it's always been retract/unretract moves that cause it, because the extruder moves much faster doing those moves than it does during printing. For example, during print moves the extruder moves are typically in the order of 5% of the carriage move (depending on nozzle size and layer height of course). So if you printed at say 100mm/sec, then the extruder speed would typically be about 5mm/sec. I note that you use firmware retraction and have it sec to 1800mm/sec.
So just as a test, try halving that to 900mm/sec which ought to cure the hiccups. If it does, but the print quality is not improved, then you know it's not a firmware issue.Firmware retraction speed is in mm/min not mm/s, so my 1800 is equal to 30mm/s
Yes I know. But that's still around 6 times faster than what you'll see doing print moves when printing at 100mm/sec carriage speed where the extruder would be running at about 5 mm/sec. Hence my suggestion to try it at 900mm/min (15mm/sec).
Sure, I will change it to 900mm/min for my next print.
I'm not expecting that it will have much effect on your print - might cause a minor blob at the end of print moves but nothing drastic. However, it should reduce or eliminate the hiccups. So if you still have print issues, it means that it something other than step pulse frequency issues with expansion boards.
For info, even with 3.1.1. I do not see any hiccups on either of my 2 expansion boards, each of which has 3 BMGs connected and which use 16X micro-stepping and around 410 steps per mm. - and that is also running 1800 mm/min firmware retraction (but I do see hiccups if I chnage to 32x micro-stepping). That doesn't really help your situation but adds weight to the argument that your issue might not be related to firmware.
I reduced retraction speed to 900 mm/min and even changed E micro-stepping to 8x . I still see hiccups and still under extrusions specifically after retractions moves. And I don't see this issue when E motor is connected to Duet 3 board. I wonder if I have the same issue if E motor is connected to expansion or tool board (both 3.1 and 3.2) and I'm the only one with this issue, it could be related to faulty Duet 3 board?
-
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
........................ I wonder if I have the same issue if E motor is connected to expansion or tool board (both 3.1 and 3.2) and I'm the only one with this issue, it could be related to faulty Duet 3 board?
I'm beginning to think that way myself - especially as I can run my 6 BMGs on expansion boards without any hiccups and even with an older firmware (providing I use 16x micro-stepping or less).
But I'm just an end user like you. I suggest you work through the steps that DC42 has asked you to do - he's the one you who will decide if it's a hardware issue and who can authorise a warranty replacement if that is what is required.
-
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
........................ I wonder if I have the same issue if E motor is connected to expansion or tool board (both 3.1 and 3.2) and I'm the only one with this issue, it could be related to faulty Duet 3 board?
I'm beginning to think that way myself - especially as I can run my 6 BMGs on expansion boards without any hiccups and even with an older firmware (providing I use 16x micro-stepping or less).
But I'm just an end user like you. I suggest you work through the steps that DC42 has asked you to do - he's the one you who will decide if it's a hardware issue and who can authorise a warranty replacement if that is what is required.
I added another Z axis few days ago and now I don't have free driver on the main board any longer to prove my point.
Do you think it would work when 3-Z motors connected to Duet3 and 4th Z to Expansion? e.g. (M584 X0.4 Y0.5 Z0.0:0.1:0.2:1.0 E0.1)
-
Yes, that would work
As long as you get your CAN/driver numbers correct -
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
........................ I wonder if I have the same issue if E motor is connected to expansion or tool board (both 3.1 and 3.2) and I'm the only one with this issue, it could be related to faulty Duet 3 board?
I'm beginning to think that way myself - especially as I can run my 6 BMGs on expansion boards without any hiccups and even with an older firmware (providing I use 16x micro-stepping or less).
But I'm just an end user like you. I suggest you work through the steps that DC42 has asked you to do - he's the one you who will decide if it's a hardware issue and who can authorise a warranty replacement if that is what is required.
I added another Z axis few days ago and now I don't have free driver on the main board any longer to prove my point.
Do you think it would work when 3-Z motors connected to Duet3 and 4th Z to Expansion? e.g. (M584 X0.4 Y0.5 Z0.0:0.1:0.2:1.0 E0.1)
Possibly ..........but you might fall foul of one or other of the following limitations.
-
Endstop switches and Z probes connected to the main board cannot control motors on an expansion board. This is planned to be fixed in release 3.4.
-
If you use a Z probe then the Z motors must be connected to the main board. This is planned to be fixed in release 3.4.
Link to the full list of limitations is here https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations
-
-
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
........................ I wonder if I have the same issue if E motor is connected to expansion or tool board (both 3.1 and 3.2) and I'm the only one with this issue, it could be related to faulty Duet 3 board?
I'm beginning to think that way myself - especially as I can run my 6 BMGs on expansion boards without any hiccups and even with an older firmware (providing I use 16x micro-stepping or less).
But I'm just an end user like you. I suggest you work through the steps that DC42 has asked you to do - he's the one you who will decide if it's a hardware issue and who can authorise a warranty replacement if that is what is required.
I added another Z axis few days ago and now I don't have free driver on the main board any longer to prove my point.
Do you think it would work when 3-Z motors connected to Duet3 and 4th Z to Expansion? e.g. (M584 X0.4 Y0.5 Z0.0:0.1:0.2:1.0 E0.1)
Possibly ..........but you might fall foul of one or other of the following limitations.
-
Endstop switches and Z probes connected to the main board cannot control motors on an expansion board. This is planned to be fixed in release 3.4.
-
If you use a Z probe then the Z motors must be connected to the main board. This is planned to be fixed in release 3.4.
Link to the full list of limitations is here https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations
So looks like I'm stuck... I cannot connect my extruder to main board without changing printer (reverting to 3Z screws).
-
-
Can you explain this?
This is from expansion board diagnostics:
According to it extruder completed all 904822 requested steps, and if I calculate this in mm it would be 904822 / 205 = 4413.77 mm.
This is job information:
According to it , the filament usage should be 11375.9 mm.And print looks and weights exactly like it 2.5 times lighter.
So it looks like expansion board is not missing steps, it looks like Duet 3 board is not sending all steps to it.
-
Or this is some other "Moves"?
-
That figure is moves, not steps. Each move normally has many steps. Try looking at the reported driver 1 position instead. If will have started from 0 when the machine was last powered on or reset.
-
@dc42 said in Duet3 6CH + 3CH expansion board - Missing steps.:
That figure is moves, not steps. Each move normally has many steps.
But is it possible that Duet3 not sending correct steps to the board?
Please work with me on it.
-
@dc42 said in Duet3 6CH + 3CH expansion board - Missing steps.:
That figure is moves, not steps. Each move normally has many steps. Try looking at the reported driver 1 position instead.
Driver 1: position 8664558, 205.0 steps/mm, ok, reads 40377, writes 0 timeouts 0, SG min/max 0/256
but 8664558 cannot be steps, this number is huge
-
Have you done just one print since powering the printer up?
-
@dc42 said in Duet3 6CH + 3CH expansion board - Missing steps.:
Have you done just one print since powering the printer up?
No, I did several tests. But let power cycle and try again.
-
Started fresh with power-cycle.
According to job info and gcode file the filament usage should be 2652.10 mm
And according to driver position it extruded only 1418.20
So there is 1233.9 mm discrepancy...
Diagnostics for Duet 3
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2 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 (12 max) === RTOS === Static ram: 149788 Dynamic ram: 63168 of which 68 recycled Never used RAM 145808, free system stack 128 words Tasks: Linux(ready,75) HEAT(blocked,296) CanReceiv(blocked,848) CanSender(blocked,337) CanClock(blocked,352) TMC(blocked,19) MAIN(running,720) IDLE(ready,19) Owned mutexes: HTTP(MAIN) === Platform === Last reset 01:15:28 ago, cause: power up Last software reset at 2021-01-06 22:26, reason: User, none spinning, available RAM 145840, slot 0 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU temperature: min 38.9, current 39.0, max 39.8 Supply voltage: min 24.0, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Driver 0: position 0, standstill, reads 18607, writes 2 timeouts 0, SG min/max 0/240 Driver 1: position 0, standstill, reads 18607, writes 2 timeouts 0, SG min/max 0/231 Driver 2: position 4760, standstill, reads 18607, writes 2 timeouts 0, SG min/max 0/239 Driver 3: position 0, standstill, reads 18607, writes 2 timeouts 0, SG min/max 0/254 Driver 4: position 0, standstill, reads 18607, writes 2 timeouts 0, SG min/max 0/792 Driver 5: position 0, standstill, reads 18606, writes 2 timeouts 0, SG min/max 0/1023 Date/time: 2021-01-07 00:26:32 Slowest loop: 89.52ms; fastest: 0.04ms === 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, maxWait 131ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 95097, completed moves 95097, 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 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.3 === 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. === CAN === Messages queued 89455, send timeouts 0, received 242, lost 0, longest wait 20ms for reply type 6024, free buffers 48 === SBC interface === State: 4, failed transfers: 0 Last transfer: 1ms ago RX/TX seq numbers: 28721/28721 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x2c8a8 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.2.0 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 51.22 Maximum length of RX/TX data transfers: 2584/1324
Diagnostics for board 1
M122 B1 Diagnostics for board 1: Duet EXP3HC firmware version 3.2 (2021-01-05) Bootloader ID: not available Never used RAM 154848, free system stack 156 words HEAT 90 CanAsync 94 CanRecv 84 TMC 30 MAIN 287 AIN 257 Last reset 01:06:25 ago, cause: power up Last software reset data not available Driver 0: position 0, 80.0 steps/mm, standstill, reads 48117, writes 0 timeouts 0, SG min/max not available Driver 1: position 290732, 205.0 steps/mm, standstill, reads 48116, writes 0 timeouts 0, SG min/max 0/698 Driver 2: position 0, 80.0 steps/mm, standstill, reads 48115, writes 0 timeouts 0, SG min/max not available Moves scheduled 74262, completed 74262, in progress 0, hiccups 144 No step interrupt scheduled VIN: 24.7V, V12: 12.3V MCU temperature: min 43.8C, current 44.0C, max 44.2C Ticks since heat task active 138, ADC conversions started 3985880, completed 3985879, timed out 0 Last sensors broadcast 0x00000000 found 0 141 ticks ago, loop time 0 CAN messages queued 22, send timeouts 0, received 15281, lost 0, free buffers 36
config.g
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Aug 01 2020 21:20:25 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ; Drives ; Dnnn 0=constant off time, 1=random off time, 2=spread cycle, 3=stealthChop or stealthChop2 M569 P0.0 S1 D2 ; Z1 physical drive goes forwards, spread cycle M569 P0.1 S1 D2 ; Z2 physical drive goes forwards, spread cycle M569 P0.2 S1 D2 ; Z3 physical drive goes forwards, spread cycle M569 P0.3 S1 D2 ; Z4 physical drive goes backwards, spread cycle M569 P0.4 S1 D2 ; X physical drive goes forwards, spread cycle M569 P0.5 S1 D2 ; Y physical drive goes forwards, spread cycle M569 P1.1 S1 D2 ; E0 physical drive goes forwards, spread cycle ; set drive mappings M584 X0.4 Y0.5 Z0.0:0.1:0.2:0.3 E1.1 ; leadscrews at rear left, front middle, rear right M671 X14.891:14.891:567.309:567.309 Y-44.113:466.887:466.887:-44.113 S20 ; configure microstepping with interpolation M350 X16 Y16 Z1 E8 I1 ; set steps per mm ;M92 X160.00 Y160.00 Z200.00 E172 M92 X160.00 Y160.00 Z200.00 E205 ; set maximum instantaneous speed changes (jerk) (mm/min) M566 X500.00 Y500.00 Z50.00 E3000.00 ; set maximum speeds (mm/min) M203 X30000.00 Y30000.00 Z1200.00 E180000.00 ; set accelerations (mm/s^2) M201 X10000.00 Y10000.00 Z100.00 E5000.00 ; set motor currents (mA) and motor idle factor in percent M906 X1500 Y1500 Z1500 E1300 I80 ; Set idle timeout M84 S30 ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X515 Y515 Z540 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin io1.in M574 Y1 S1 P"io0.in" ; configure active-high endstop for low end on Y via pin io0.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"io4.out" ; create servo pin 0 for BLTouch M558 P9 C"!io4.in" H10 A5 R0.2 S0.005 F100 T10000 ; set Z probe type to bltouch(P9),the dive height(H), number of repeats(A), recovery time(R), speed(F dive and T travel) ;M558 P8 C"^io4.in" H30 F600 T6000 ; set Z probe type to switch and the dive height + speeds G31 P500 X43.00 Y-24 Z1.82 ; set Z probe trigger value, offset and trigger height ;G31 P1000 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height M557 X40:480 Y40:450 S55:51.2 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; 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 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S105 ; set temperature limit for heater 0 to 100C 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 ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency M106 P0 C"PART COOLING" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency M106 P1 C"AQUA" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hotend" D0 H1 F0 ; define tool 0 G10 P0 X-3 Y24 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; set voltage thresholds and actions to run on power loss M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; select first tool T0 ; Print and travel acceleration ;M204 P6000 T4000 ; fix for BLTouch self-test at startup ;M280 P0 S60 ; BLtouch - toggle switch mode ;G4 P1000 ; wait 1 second ;M280 P0 S120 ; BLtouch toggle self-test ; pressure advance M572 D0 S0.046 ; Firmware retraction M207 D0 S0.8 F900 Z0.1 R0 ; Dynamic acceleration. Cancel ringing at 27.59Hz M593 F27.59 ; Use config override M501
-
I tried to connect XY to expansion board and E to Duet3, now X and Y missing steps... So it has to be something wrong...
-
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
I tried to connect XY to expansion board and E to Duet3, now X and Y missing steps... So it has to be something wrong...
Are you sure they are missing steps? Has there been a layer shift?
-
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
So there is 1233.9 mm discrepancy...
Please provide the GCode file you are printing, and I will run it on my bench system, using the config.g file you have already posted.