Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Intermittent extruder loss and stutters. 6HC/toolboard/RRF3.2

    Scheduled Pinned Locked Moved Unsolved
    General Discussion
    8
    59
    3.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • hamelundefined
      hamel
      last edited by

      @dc42 SD imager is giving me trouble, so I will make the SD at home tonight and test it tomorrow.

      For a test I assigned the toolboard driver to the x axis, and I also get the same performance (lack of any torque to even move the motor alone).

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        Thanks @hamel, it does sound that there is a problem either with the driver or the motor connection. When you tested it with a different motor, did you use the same connector to plug into the tool board motor connector as when using the original motor, or did you use a different connector?

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        hamelundefined 1 Reply Last reply Reply Quote 0
        • hamelundefined
          hamel @dc42
          last edited by

          @dc42 Same connector. I have another I can test with. I was initially leading towards not being a wiring issue, as I was able to extrude with DWS earlier in a pause when it was not extruding in the print, but now with no function at all I agree that I should swap them out. I have a few here for my toolchanger that are known good. I'll report back tomorrow with a standalone SD test and a swap of the wires.

          1 Reply Last reply Reply Quote 0
          • hamelundefined
            hamel
            last edited by

            All, I just wanted to give an update. Standalone changed nothing. New cable changed nothing. It seems that my motor was the curprit. It must have been going bad, and something about the speed of the commands sent by DWC allowed it to work a little until it finally failed. Dead coil. New one on the way. Thanks for all of the help looking into this.

            dc42undefined 1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @hamel
              last edited by

              Thanks for the update, I'm glad you solved it.

              It's rare for a motor coil to burn out, unless you have run it above its rated current for an extended period. My guess is that if you take the motor apart, you will find a bad connection between one of the windings and the connector if it has one, or the leads if it doesn't.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              deckingmanundefined 1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @dc42
                last edited by

                @dc42 Probably just a coincidence, but I mentioned in another thread that I've had 3 of my 6 extruder motors connected to expansion boards fail in the last 18 months. When the last one failed, I assumed that it was a bad batch so I replaced all 6 and I haven't had a failure since. Can you think of any reason other than I'm just unlucky and/or it was probably a bad batch of motors? (Motor currents always set to 85% of quoted rated current).

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                1 Reply Last reply Reply Quote 0
                • hamelundefined
                  hamel
                  last edited by hamel

                  I did set to rated current during testing, but never over. I usually stick to 80% rated current, but I got desperate when troubleshooting and shot it up to 100% for a few tests. That might have done it in, as it isn't an especially nice stepper. I did tear it down, and one winding had a break about 5mm from the connection to the leads. I'll see if I can save it.

                  I have never had a motor burn up, so I didn't really focus on that. Thank you all for the prompt help in diagnosing this rather stupid problem.

                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators @hamel
                    last edited by dc42

                    @hamel said in Intermittent extruder loss and stutters. 6HC/toolboard/RRF3.2:

                    I did set to rated current during testing, but never over. I usually stick to 80% rated current, but I got desperate when troubleshooting and shot it up to 100% for a few tests. That might have done it in, as it isn't an especially nice stepper. I did tear it down, and one winding had a break about 5mm from the connection to the leads. I'll see if I can save it.

                    I have never had a motor burn up, so I didn't really focus on that. Thank you all for the prompt help in diagnosing this rather stupid problem.

                    Running at rated current should not cause a problem, because the rated current is normally quoted with both phases energised, whereas microstepping drivers only energise one phase at the full peak current at a time (and currents set by M906 in RRF are peak currents).

                    If the break was caused by excessive current, I would expect to see blackening of the wires.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • hamelundefined
                      hamel
                      last edited by

                      Well, the issue has come back. Same symptoms. I get really bad motor movement with the gcode files while printing, but I can pause and extrude just fine with DWC. Any idea what I should be looking at next? I have swapped the motor to a much more powerful one that I just had lying around, and it can really crank out the extrudes in DWC, but when I go to print, it just stutters and skips steps. I have dropped the acceleration and jerk to 500, and I still have the issue. I do not think it is the settings, as I can extrude with those settings in DWC with no issue. When printing, I do not think the toolboard driver is giving good commands, but I have no idea why that would be.

                      ; Configuration file for Duet 3 (firmware version 3)
                      ; executed by the firmware on start-up

                      ; General preferences
                      G90 ; send absolute coordinates...
                      M83 ; ...but relative extruder moves
                      M550 P"Duet 3" ; set printer name
                      M669 K1 ; select CoreXY mode

                      G4 S1 ;wait for expansion boards to start

                      ; Drives
                      M569 P121.0 S1 ; physical drive 121.0 goes forwards
                      M569 P0.0 S1 ; physical drive 0.0 goes forwards
                      M569 P0.1 S1 ; physical drive 0.1 goes forwards
                      M569 P0.2 S1 ; physical drive 0.2 goes forwards
                      M569 P0.3 S0 ; physical drive 0.2 goes forwards
                      M569 P0.4 S0 ; physical drive 0.2 goes forwards
                      M569 P0.5 S1 ; physical drive 0.2 goes forwards

                      M584 X0.1 Y0.0 Z0.2:0.3:0.5:0.4 E121.0 ; set drive mapping
                      M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
                      M92 X98.00 Y98.00 Z400.00 E426.00 ; set steps per mm
                      M566 X2500.00 Y2500.00 Z200.00 E200.00 ; set maximum instantaneous speed changes (mm/min)
                      M203 X10000.00 Y10000.00 Z8000.00 E3000.00 ; set maximum speeds (mm/min)
                      M201 X3000.00 Y3000.00 Z200.00 E200.00 ; set accelerations (mm/s^2)
                      M906 X1100 Y1100 Z1000 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent
                      M84 S30 ; Set idle timeout

                      ; Axis Limits
                      M208 X-200 Y-200 Z-1 S1 ; set axis minima
                      M208 X200 Y200 Z400 S0 ; set axis maxima

                      ; Leadscrew Locations
                      M671 X-322.5:-322.5:262.5:262.5 Y-250:300:300:-250 S20 F1.2 ; Z leadscrew positions

                      ; Endstops
                      M574 X2 S1 P"io0.in" ; X min active low endstop switch
                      M574 Y2 S1 P"io1.in" ; Y min active low endstop switch
                      M574 Z1 S2

                      ; Z-Probe
                      M558 P8 C"^!121.io0.in" H5 F300 T16000 ; set Z probe type to unfiltered switch and the dive height + speeds
                      M558 H15 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
                      G31 P500 X0 Y0 Z1 ; set Z probe trigger value, offset and trigger height
                      M556 S50 X0 Y0 Z0 ; set orthogonal axis compensation parameters
                      M557 X-200:200 Y-200:200 S100 ; define mesh grid

                      ; Heaters
                      M308 S0 P"temp3" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp3
                      M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
                      M307 H0 B0 S0.50 ; disable bang-bang mode for the bed heater and set PWM limit
                      M140 H0 ; map heated bed to heater 0
                      M143 H0 S150 ; set temperature limit for heater 0 to 120C
                      M308 S1 P"121.temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin 121.temp0
                      M950 H1 C"nil"
                      M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1
                      M307 H1 B0 S0.5 ; disable bang-bang mode for heater and set PWM limit
                      M143 H1 S350 ; set temperature limit for heater 1 to 350C

                      ; Fans
                      M950 F0 C"nil"
                      M950 F0 C"121.out2" Q500 ; create fan 0 on pin 121.out1 and set its frequency
                      M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
                      M950 F1 C"121.out1" Q500 ; create fan 1 on pin 121.out2 and set its frequency
                      M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

                      ; Tools
                      M563 P0 D0 H1 F0 ; define tool 0
                      G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
                      G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

                      ; Custom settings are not defined

                      ; Miscellaneous
                      M501 ; load saved parameters from non-volatile memory
                      T0 ; select first tool

                      m122
                      === Diagnostics ===
                      RepRapFirmware for Duet 3 MB6HC version 3.3beta1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
                      Board ID: 08DJM-956L2-G43S8-6JTDL-3SD6J-1S3YF
                      Used output buffers: 1 of 40 (10 max)
                      === RTOS ===
                      Static ram: 148196
                      Dynamic ram: 61484 of which 500 recycled
                      Never used RAM 140492, free system stack 121 words
                      Tasks: Linux(ready,143) HEAT(delaying,302) CanReceiv(notifyWait,799) CanSender(notifyWait,359) CanClock(delaying,349) TMC(notifyWait,18) MAIN(running,616) IDLE(ready,20)
                      Owned mutexes: HTTP(MAIN)
                      === Platform ===
                      Last reset 00:13:58 ago, cause: power up
                      Last software reset at 2021-03-05 23:49, reason: User, none spinning, available RAM 140492, slot 0
                      Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0440f000 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 28.9, current 51.2, max 51.3
                      Supply voltage: min 27.9, current 30.0, max 30.2, under voltage events: 0, over voltage events: 0, power good: yes
                      12V rail voltage: min 12.1, current 12.1, max 12.1, under voltage events: 0
                      Driver 0: position 0, standstill, reads 48788, writes 31 timeouts 0, SG min/max 0/271
                      Driver 1: position 0, standstill, reads 48788, writes 31 timeouts 0, SG min/max 0/505
                      Driver 2: position 22080, standstill, reads 48784, writes 35 timeouts 0, SG min/max 0/263
                      Driver 3: position 0, standstill, reads 48784, writes 35 timeouts 0, SG min/max 0/277
                      Driver 4: position 0, standstill, reads 48785, writes 35 timeouts 0, SG min/max 0/259
                      Driver 5: position 0, standstill, reads 48785, writes 35 timeouts 0, SG min/max 0/201
                      Date/time: 2021-03-08 15:16:32
                      Slowest loop: 171.53ms; fastest: 0.03ms
                      === 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 180288ms, bed compensation in use: none, comp offset 0.000
                      === MainDDARing ===
                      Scheduled moves 448, completed moves 448, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 15], 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
                      === 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 0, running macro
                      Aux2 is idle in state(s) 0
                      Autopause is idle in state(s) 0
                      Code queue is empty.
                      === CAN ===
                      Messages queued 8761, send timeouts 26, received 9733, lost 0, longest wait 2ms for reply type 6049, peak Tx sync delay 57602, free buffers 49 (min 47)
                      === SBC interface ===
                      State: 4, failed transfers: 0
                      Last transfer: 1ms ago
                      RX/TX seq numbers: 29686/29686
                      SPI underruns 0, overruns 0
                      Number of disconnects: 0, IAP RAM available 0x2d410
                      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: 8.35
                      Maximum length of RX/TX data transfers: 2588/1520

                      m122 b121
                      Diagnostics for board 121:
                      Duet TOOL1LC firmware version 3.3beta1 (2021-02-14 16:34:04)
                      Bootloader ID: not available
                      Never used RAM 3976, free system stack 0 words
                      Tasks: Move(notifyWait,90) HEAT(delaying,91) CanAsync(notifyWait,67) CanRecv(notifyWait,75) CanClock(notifyWait,67) TMC(delaying,56) MAIN(running,252) AIN(delaying,63)
                      Last reset 00:14:41 ago, cause: power up
                      Last software reset data not available
                      Driver 0: position 34448, 426.0 steps/mm, standstill, SG min/max 0/282, read errors 0, write errors 0, ifcnt 20, reads 47135, writes 20, timeouts 0, DMA errors 0, steps req 81994 done 81994
                      Moves scheduled 1234, completed 1234, in progress 0, hiccups 0, step errors 0, maxPrep 532, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
                      Peak sync jitter 9, peak Rx sync delay 610, resyncs 1, no step interrupt scheduled
                      VIN: 29.9V
                      MCU temperature: min 25.8C, current 37.0C, max 42.1C
                      Ticks since heat task active 249, ADC conversions started 878201, completed 878201, timed out 0
                      Last sensors broadcast 0x00000002 found 1 5 ticks ago, loop time 0
                      CAN messages queued 10272, send timeouts 0, received 9157, lost 0, free buffers 36, min 35, error reg 0
                      dup 0, oos 0, bm 0, wbm 0

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators
                        last edited by dc42

                        If it's an intermittent issue, then the most likely causes are:

                        • Bad crimp connection in the motor cable. Are you using the same cable as before?
                        • Bad solder joint between the driver chip and the PCB. Axz the pads of the driver under underneath the chip, it's impossible to tell whether the soldering is good on all pads other than by X-ray; although if you can look at the edges of the chip using microscope, you might get a clue.
                        • Bad solder joint between the motor connector and the PCB. Unlikely, but not impossible.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        hamelundefined 1 Reply Last reply Reply Quote 0
                        • hamelundefined
                          hamel @dc42
                          last edited by

                          @dc42 Thank you for the reply.

                          Just to recap, as I know I have been changing things around a bunch...and my symptoms changed for a bit due to the bad motor giving me a runaround:

                          New cable. Known good crimps. Known good pinout/coil pairs. New motor that is much larger running at 80% rated current (rated at 1.2A). Soldering on the board in general looks OK, slightly blobby, but nothing that looks like it would make me questions the soldering on the chip. Solder joints to the connector looks fine as well. Wire wiggles do not affect anything, and no driver faults reported.

                          When printing, it skips steps like it has a loss of torque. I can hear and see the motor try to move, but even with the motor off the extruder and no load, it skips when printing. If I pause the printer, it will extrude with DWC just fine. I can really crank the rate, and I can grab the motor gear and it will just rip past my hands. While printing and motor with no load on it, it has no torque and I can stall it easily with barely touching it, and it often skips steps with no load on the motor.

                          The weird intermittent side of things is that I can print, reboot, print, reboot, print, and after a totally random number of reboots and prints, it will extrude with full torque. The extruder working is definitely the exception, as it is almost always not working while printing. When it does work while printing, it only stops working again if I cancel the print and restart.

                          This really does not feel like wiring to me, but since I am at a loss here, I have checked it all over with back probes. All have good connections. I am at a total loss, and I am totally up for reworking all of the diagnosis that has been done, but I do not know what general area I should be going over again. Thoughts @dc42 ? Again, thank you for the help.

                          This is frustrating, as everything looks correct to the best of my (little) knowledge with RRF3. I am a research engineer, and can work any angle you think needs to be worked. I do have an x-ray in my building, and if you really think it is necessary, I can have someone scan it. I am hesitant, as the "intermittent"ness of this doesn't cry connection to me, but sounds more like the driver is not sending full power when reading the gcode. But I am at a loss right now, and other than removing the toolboard and going to an expansion, I am not sure what the next steps should be.

                          I have an 8 tool custom printer running toolboards and duet3, and it gave me no issues at all (sans the fun firmware learning curve). I am not sure how I am unable to get this simple Voron printer running with a toolboard and duet3.

                          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                          • jay_s_ukundefined
                            jay_s_uk @hamel
                            last edited by

                            @hamel sounds a lot like this thread
                            https://forum.duet3d.com/topic/21922/expansion-3hc-m906-not-working-properly

                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                            hamelundefined 2 Replies Last reply Reply Quote 0
                            • hamelundefined
                              hamel @jay_s_uk
                              last edited by

                              @jay_s_uk Thank you for that. It does seem similar. I do have a G4 S1 to wait for boards to boot, but I will give it a try with an S5.

                              1 Reply Last reply Reply Quote 0
                              • hamelundefined
                                hamel @jay_s_uk
                                last edited by

                                @jay_s_uk No change. Still extrudes fine with DWC, but when I go to print, it has no torque and just skips. When the motor is loose, same issue with no torque when printing from gcode.

                                1 Reply Last reply Reply Quote 0
                                • hamelundefined
                                  hamel
                                  last edited by

                                  Just as an additional note, the driver on the LC1 is loud as well. It is in idle hold now, and is singing like it was trying to hold position with great strain, but it is loose and not loaded.

                                  1 Reply Last reply Reply Quote 0
                                  • hamelundefined
                                    hamel
                                    last edited by

                                    https://photos.app.goo.gl/6BLAn9YM2FAjzoWh6

                                    1 Reply Last reply Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator
                                      last edited by

                                      Very strange. Can you post your start gcode and pause and resume files?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      hamelundefined 1 Reply Last reply Reply Quote 0
                                      • hamelundefined
                                        hamel @Phaedrux
                                        last edited by

                                        @Phaedrux Yes, this is a first for me, and I use Duet for most things here, not just FFF printers. This was just a "let's build a printer with the spares that we have", and we chose Voron. Seems like this should be quite simple to get running, but this issue has been plaguing me for almost a month since the machine was built and wired. I don't know what else to try.

                                        Start:
                                        T0
                                        G28

                                        Pause:
                                        M83 ; relative extruder moves
                                        G1 E-2 F3600 ; retract 2mm of filament
                                        G91 ; relative positioning
                                        G1 Z20 F360 ; lift Z by 20mm
                                        G90 ; absolute positioning
                                        G1 X0 Y0 F6000 ; go to X=0 Y=0

                                        Resume:
                                        G1 R1 X0 Y0 Z5 F6000 ; go to 5mm above position of the last print move
                                        G1 R1 X0 Y0 ; go back to the last print move
                                        M83 ; relative extruder moves
                                        G1 E2 F3600 ; extrude 2mm of filament

                                        1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator
                                          last edited by

                                          Can you post your gcode file you are trying to print? Is there perhaps a difference in extrusion rate between the manual extrude and the print extrude commands? Maybe the print is trying to push too much filament and it simply can't?

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          hamelundefined 1 Reply Last reply Reply Quote 0
                                          • hamelundefined
                                            hamel @Phaedrux
                                            last edited by

                                            @Phaedrux Gcode is in the first post. I have changed a few settings in the slicer, but nothing big. I've turned off retracts etc. to reduce the variables, but it really just seems that I get very low torque when printing. Maybe it has something to do with microstepping? I have tried setting the extruder to all of the microsteps, but there was no real change on either. Doesn't look like the gcode is changing the extrusion rates to anything large, they are all very small values. I can manually extrude with all of the presets except for the 60mm/s one, as that will overrun my melt rate pretty quick.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA