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
-
-
@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.
-
@dc42
No, It is likely a layer shifts on every layer when I wired YX motors to the expansion board.So any motor connected to expansion board is under powered for some reason in my setup.
-
@dc42 said in Duet3 6CH + 3CH expansion board - Missing steps.:
@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.
To save time I tried just a simple cookie cutter from thingiverse bun.gcode
But I think you are right and the issue could be with motor stalling, but it's not stalling because of the bed motor or mechanical issue as when I switched XY to the EXP3HC, XY started stalling. So there is something wrong with drivers current adjustments.
I have exactly the same issue with tool board. I had to use E motor driver on Duet 3 instead of Tool-Board as I had exactly the same issue.
-
@evomotors Just a suggestion - if you run M122 B1 during a print do all the voltages look good? No under voltage events or anything like that? It sounds a bit like power supply issue (to the expansion board) but I'd have thought that would show up as under voltage.
-
@deckingman said in Duet3 6CH + 3CH expansion board - Missing steps.:
@evomotors Just a suggestion - if you run M122 B1 during a print do all the voltages look good? No under voltage events or anything like that? It sounds a bit like power supply issue (to the expansion board) but I'd have thought that would show up as under voltage.
M122 B1 always showing up something like this, never under voltage.
VIN: 24.7V, V12: 12.3V
-
@dc42
Any news on running test? -
@dc42
So XY wasn't staling, expansion board just couldn't keep up step rate at 250mm/s travel moves. -
@evomotors said in Duet3 6CH + 3CH expansion board - Missing steps.:
@dc42
So XY wasn't staling, expansion board just couldn't keep up step rate at 250mm/s travel moves.What was the steps/mm and microstepping for the motor on the expansion board? Are you certain that you were running RRF 3.2 on both boards? [EDIT: your M122 reports indicate that you are, assuming you haven't downgraded firmware since then.]
PS:
- Why are you sure that it couldn't keep up? Perhaps because it worked at a lower speed?
- Did you capture a M122 B1 report after the print at 250mm/sec travel speed?