Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Unsolved Horrible banging noise

    General Discussion
    3
    9
    237
    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.
    • weeky
      weeky last edited by

      Hello,
      I have a problem with my newest Caribou Duet printer. I used all the same parts as in my perfectly working one (0.9 degree stepper LDO-42STH48-1684MAC) but a Duet 3 Mini 5+ Wireless. I'm using the firmware (3.3, tested 3.4 and no difference) and config from the Caribou website (https://caribou3d.com/Software-Duet/Duet3Mini-Configuration-Macros/01_Latest Version 1.0.0/CaribouDuet220/E3d-SE/SUPERPINDA/CC100-Duet3Mini-Caribou220-NSP-Build19.zip). However, something isn't right:

      • movement is possible, when moving the axes manually from the DWC it's fine (albeit a bit noisy, probably it's using spreadCycle)
        (see https://www.youtube.com/watch?v=C2JrvcvyYhE)
      • however, if I print I get a horrible noise, like metal banging on metal (https://youtu.be/HtB3_VIQFys?t=7). It's only there in faster movements, if the printer slows down it disappears. The printer also makes grinding noise when moving from the purge line to the print
      • I cannot find any mechanical source of the noise, here I am showing that there is nothing that is loose or can move: https://www.youtube.com/watch?v=c_bFNBjb-7E
      • the prints come out perfect, so if there would be something that is mechanically loose or incorrectly assembled, I don't think the prints would be flawless
      • the z-axis is also louder than my other caribou Duet (https://www.youtube.com/watch?v=tQQLP8KZQ_8)
        Could this be an issue with stealthChop? I've read that there might be problems with stealthChop and 0.9 degree motors. I tried switching to spreadCycle only, but then homing wouldn't work.
        I have attached some more pictures of my printer and the print that came out without any signs of mechanical issues

      printer_4.png printer_3.png printer_2.png printer_1.png printed_part.png

      SputnikOC3d deckingman 3 Replies Last reply Reply Quote 0
      • SputnikOC3d
        SputnikOC3d last edited by SputnikOC3d

        https://forum.duet3d.com/post/223138

        https://forum.duet3d.com/topic/22436/missing-steps-cant-print-spreadcycle-stealthchop-tuning-help/131

        1 Reply Last reply Reply Quote 0
        • SputnikOC3d
          SputnikOC3d @weeky last edited by

          @weeky go into console in the DWC and type in M122 - and paste that resultant code output into some </> code brackets in here - lets see exact firmware.

          Also do the same for your homeX.g and HomeY.g files under system.

          Probably a good idea to post your config.g as well

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

            @weeky The fact that you say it prints OK, would tend to indicate that maybe some ancillary device like say the PSU or the Duet board mount is loose on the frame. Have you tried shaking the entire the machine to see if you can replicate it?

            You could try printing something like a large cuboid with infill at 90 degrees rather than the usual 45 degrees. That would generate moves which are pure X and pure Y which might help to narrow things down a bit.

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

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

              @deckingman - same machine, board and setup as the one on the threads I linked. Pretty sure its the stealthchop / spread cycle change over at certain speeds.

              1 Reply Last reply Reply Quote 0
              • SputnikOC3d
                SputnikOC3d @weeky last edited by

                @weeky

                https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#Section_Configuring_Sensorless_Homing

                1 Reply Last reply Reply Quote 0
                • weeky
                  weeky @SputnikOC3d last edited by

                  @sputnikoc3d

                  Here is the output of the M122 (I tested the newest Beta Firmware to see if it makes a difference, but didn't):

                  M122
                  === Diagnostics ===
                  RepRapFirmware for Duet 3 Mini 5+ version 3.4.0beta3 (2021-08-24 14:08:24) running on Duet 3 Mini5plus WiFi (standalone mode)
                  Board ID: JKZ4G-Y396U-D65J0-40KMS-1Y03Z-H3W9R
                  Used output buffers: 3 of 40 (12 max)
                  === RTOS ===
                  Static ram: 102756
                  Dynamic ram: 107592 of which 0 recycled
                  Never used RAM 31364, free system stack 204 words
                  Tasks: NETWORK(ready,14.3%,240) HEAT(notifyWait,0.0%,359) Move(notifyWait,0.0%,362) CanReceiv(notifyWait,0.0%,942) CanSender(notifyWait,0.0%,372) CanClock(delaying,0.0%,339) TMC(notifyWait,0.7%,115) MAIN(running,83.7%,428) IDLE(ready,0.4%,29) AIN(delaying,0.8%,274), total 100.0%
                  Owned mutexes: WiFi(NETWORK)
                  === Platform ===
                  Last reset 00:00:59 ago, cause: power up
                  Last software reset at 2021-09-08 11:55, reason: User, GCodes spinning, available RAM 31364, slot 1
                  Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                  Error status: 0x00
                  Aux0 errors 0,0,0
                  MCU revision 3, ADC conversions started 60051, completed 60050, timed out 0, errs 0
                  Step timer max interval 1489
                  MCU temperature: min 24.1, current 29.4, max 29.6
                  Supply voltage: min 23.6, current 23.7, max 23.8, under voltage events: 0, over voltage events: 0, power good: yes
                  Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                  Driver 0: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 10, reads 3129, writes 10, timeouts 0, DMA errors 0
                  Driver 1: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 10, reads 3129, writes 10, timeouts 0, DMA errors 0
                  Driver 2: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 3130, writes 9, timeouts 0, DMA errors 0
                  Driver 3: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 3129, writes 9, timeouts 0, DMA errors 0
                  Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 10, reads 3129, writes 10, timeouts 0, DMA errors 0
                  Driver 5: position 0, assumed not present
                  Driver 6: position 0, assumed not present
                  Date/time: 2021-09-09 12:33:19
                  Cache data hit count 113170987
                  Slowest loop: 6.40ms; fastest: 0.12ms
                  === Storage ===
                  Free file entries: 10
                  SD card 0 detected, interface speed: 22.5MBytes/sec
                  SD card longest read time 4.3ms, write time 0.0ms, max retries 0
                  === Move ===
                  DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
                  === MainDDARing ===
                  Scheduled moves 0, completed moves 0, 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, chamberHeaters = -1 -1
                  === GCodes ===
                  Segments left: 0
                  Movement lock held by null
                  HTTP is idle 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 538, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 17 (min 17), ts 300/0/0
                  Tx timeouts 0,0,299,0,0,237 last cancelled message type 4514 dest 127
                  === Network ===
                  Slowest loop: 39.64ms; fastest: 0.00ms
                  Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                  HTTP sessions: 1 of 8
                  - WiFi -
                  Network state is active
                  WiFi module is connected to access point 
                  Failed messages: pending 0, notready 0, noresp 0
                  WiFi firmware version 1.26
                  WiFi MAC address d8:bf:c0:14:d9:b5
                  WiFi Vcc 3.46, reset reason Power up
                  WiFi flash size 2097152, free heap 21520
                  WiFi IP address 192.168.0.15
                  WiFi signal strength -51dBm, mode 802.11n, reconnections 0, sleep mode modem
                  Clock register 00002002
                  Socket states: 4 0 0 0 0 0 0 0
                  

                  Here is the homeX.g:

                  G91                                                    ; relative positioning
                  M98 P"current-sense-homing.g"                          ; ensure the current and sensitivity is set for homing routines.
                  ;
                  G1 H2 X0.5 F10000                                      ; energise motor to ensure it's not stalled
                  M400                                                   ; wait for current moves to finish
                  G4 P200                                                ; wait 200ms
                  ;
                  G1 H2 Z5 F6000                                         ; lift z relative to current position
                  M400                                                   ; wait for current moves to finish
                  ;
                  G1 H1 X5 F1000                                         ; move slowly away
                  G1 H1 X-260 F2200                                      ; move quickly to X axis endstop and stop there (first pass)
                  G1 H2 X5 F1000                                         ; go back a few mm
                  G1 H1 X-10 F2200                                       ; move slowly to x axis endstop once more (second pass)
                  G1 H2 Z-5 F6000                                        ; lower z again
                  ;
                  M400                                                   ; wait for current moves to finish
                  G4 P200                                                ; wait 200ms
                  ;
                  G90                                                    ; absolute positioning
                  ;
                  M98 P"current-sense-normal.g"                          ; ensure the current and sensitivity is set for normal routines.
                  

                  homey.g:

                  G91                                                    ; relative positioning
                  M98 P"current-sense-homing.g"                          ; ensure the current and sensitivity is set for homing routines.
                  ;
                  G1 H2 Y0.5 F10000                                      ; energise motor to ensure it's not stalled
                  M400                                                   ; wait for current moves to finish
                  G4 P200                                                ; wait 200ms
                  ;
                  G1 H2 Z5 F6000                                         ; lift z relative to current position
                  M400                                                   ; wait for current moves to finish
                  ;
                  G1 H1 Y5 F1000                                         ; move slowly away
                  G1 H1 Y-225 F2400                                      ; move quickly to y axis endstop and stop there (first pass)
                  G1 H2 Y5 F1000                                         ; go back a few mm
                  G1 H1 Y-10 F2400                                       ; move slowly to y axis endstop once more (second pass)
                  G1 H2 Z-5 F6000                                        ; lower z again
                  ;
                  M400                                                   ; wait for current moves to finish
                  G4 P200                                                ; wait 200ms
                  ;
                  G90                                                    ; absolute positioning
                  ;
                  M98 P"current-sense-normal.g"                          ; ensure the current and sensitivity is set for normal routines.
                  

                  "current-sense-homing.g":

                  M569 P0.1 V10            ; reduce V to ensure stealthChop is enabled for x
                  M569 P0.2 V10            ; reduce V to ensure stealthChop is enabled for y
                  M913 X30 Y30             ; drop motor current to 30%
                  G4 P100                  ; wait 100ms
                  ;
                  ; tune drivers
                  G91                      ; relative positioning
                  G1 H2 X0.2 Y0.2 F3000    ; power up motors to ensure they are not stalled
                  G4 P100                  ; wait 100ms
                  M400                     ; wait for current moves to finish
                  G1 H2 X-0.2 Y-0.2 F3000  ; go back to the original position
                  

                  "current-sense-normal.g":

                  M913 X100 Y100          ; return current to 100% for x and y
                  M569 P0.1 V100          ; restore default V for x
                  M569 P0.2 V100          ; restore default V for y
                  G90                     ; absolute positioning
                  

                  My config.g:

                  M550 P"Caribou220-NSP"                                 ; set printer name
                  ;
                  M552 S1                                                ; enable network
                  M586 P0 S1                                             ; enable HTTP
                  M586 P1 S1                                             ; enable FTP
                  M586 P2 S0                                             ; disable Telnet
                  M575 P1 B57600 S1                                      ; enable support for PanelDue
                  ;
                  ; =========================================================================================================
                  ; Drives
                  ; =========================================================================================================
                  ;
                  M569 P0.0 S0 D3 V1000                                  ; physical drive 0.0 goes backwards - z - left
                  M569 P0.1 S0 D3 V40                                  ; physical drive 0.1 goes backwards - x-axis
                  M569 P0.2 S0 D3 V40                                  ; physical drive 0.2 goes backwards - y-axis
                  M569 P0.3 S0 D3 V1000                                  ; physical drive ß.3 goes backwards - z - right
                  M569 P0.4 D3 V1000                                     ; physical drive 0.4 goes forwards  - extruder
                  
                  ;M569 P0.0 S0 D2                                  ; physical drive 0.0 goes backwards - z - left
                  ;M569 P0.1 S0 D2                                  ; physical drive 0.1 goes backwards - x-axis
                  ;M569 P0.2 S0 D2                                  ; physical drive 0.2 goes backwards - y-axis
                  ;M569 P0.3 S0 D2                                  ; physical drive ß.3 goes backwards - z - right
                  ;M569 P0.4 D3 V1000                                     ; physical drive 0.4 goes forwards  - extruder
                  ;
                  ; Motor Configuration
                  ;
                  M584 X0.1 Y0.2 Z0.0:0.3 E0.4                           ; set drive mapping
                  M671 X-36.5:293.5 Y0:0 S1.00                           ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                  ;
                  ; set Microsteps and steps / mm
                  ;
                  M350 X16 Y16 Z16 E16 I1                                ; configure microstepping with interpolation
                  M92 X200.00 Y200.00 Z400.00 E830.00                    ; set steps per mm
                  ;
                  ; set motor currents
                  ;
                  M906 X1250 Y1250 Z600 E750 I40                         ; set motor currents (mA) and motor idle factor in per cent
                  ;
                  M84 S60                                                ; set idle timeout
                  ;
                  ; set speeds
                  ;
                  M201 X500.00 Y500.00 Z100.00 E500.00                   ; set accelerations (mm/s^2)
                  M203 X9000.00 Y9000.00 Z1000.00 E3600.00               ; set maximum speeds (mm/min)
                  M204 P500.0 T500.0                                     ; set print and travel accelerations (mm(s^2)
                  M566 X480.00 Y480.00 Z48.00 E300.00                    ; set maximum instantaneous speed changes (mm/min)
                  ;
                  M564 H0                                                ; allow unhomed movement
                  ;
                  ; =========================================================================================================
                  ; Axis Limits
                  ; =========================================================================================================
                  ;
                  M208 X-2 Y-7.5 Z0 S1                                   ; set axis minima
                  M208 X254.6 Y214 Z225.50 S0                            ; set axis maxima
                  ;
                  ; =========================================================================================================
                  ; Endstops
                  ; =========================================================================================================
                  ;
                  M574 X1 S3                                             ; configure sensorless endstop for low end on X
                  M574 Y1 S3                                             ; configure sensorless endstop for low end on Y
                  M574 Z1 S2                                             ; configure Z-probe endstop for low end on Z
                  M574 Z2 S3                                             ; configure sensorless endstop for high end on Z
                  ;
                  ; =========================================================================================================
                  ;
                  ; SuperPINDA 
                  ;
                  M558 P5 C"^io1.in" H1.5 F600 T8000 A3 S0.03            ; set z probe to SuperPINDA
                  M557 X23:235 Y5:186 S30.25:30                          ; define mesh grid
                  ;
                  ; =========================================================================================================
                  ;
                  M574 Z1 S2                                             ; set endstops controlled by probe
                  ;
                  ; Stallguard Sensitivy
                  ;
                  M915 X S1 F0 H200 R0                                   ; set X axis Sensitivity
                  M915 Y S1 F0 H200 R0                                   ; set Y axis Sensitivity
                  M915 Z S1 F0 H200 R0                                   ; set Z axis Sensitivity
                  ;
                  ; =========================================================================================================
                  ; Heater & Fans
                  ; =========================================================================================================
                  ;
                  ; heated bed
                  ; =========================================================================================================
                  ;
                  M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Bed"    ; configure sensor 0 as thermistor on pin bedtemp
                  M950 H0 C"out0" Q50 T0                                 ; create bed heater output on bedheat and map it to sensor 0
                  M143 H0 S110                                           ; set temperature limit for heater 0 to 110C
                  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
                  ;
                  ; extruder
                  ; =========================================================================================================
                  ;
                  ; Hotend (Mosquito or Mosquito Magnum with E3d Thermistor) 
                  ;
                  M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8 A"Nozzle E1"  ; E3d configure sensor 0 as thermistor on pin e0temp
                  ;
                  M950 H1 C"out1" T1                                     ; create nozzle heater output on e0heat and map it to sensor 2
                  M307 H1 B0 S1.00                                       ; disable bang-bang mode for heater  and set PWM limit
                  M143 H1 S280                                           ; set temperature limit for heater 1 to 280°C
                  ;
                  ; =========================================================================================================
                  ; Fans
                  ; =========================================================================================================
                  ;
                  ; extruder fan (temerature controlled)
                  ;
                  M950 F1 C"out5" Q500                                   ; create fan 1 on pin fan0 and set its frequency
                  M106 P1 H1 T45                                         ; set fan 2 value. Thermostatic control is turned on
                  ;
                  ; radial fan
                  ;
                  M950 F0 C"out6" Q25                                    ; create fan 0 on pin fan1 and set its frequency
                  M106 P0 S0 H-1                                         ; set fan 0 value. Thermostatic control is turned off
                  ;
                  ; ========================================================================================================
                  ; Tools
                  ; =========================================================================================================
                  ;
                  M563 P0 D0 H1 F0                                       ; define tool 0
                  G10 P0 X0 Y0 Z0                                        ; set tool 0 axis offsets
                  G10 P0 S-274 R-274                                     ; turn off tool 0, set active and standby temperature to 0K
                  M302 S180 R180                                         ; allow extrusion starting from 180°C and retractions already from 180°C
                  ;
                  ; =========================================================================================================
                  ; other settings
                  ; =========================================================================================================
                  ;
                  M18 XY                                                 ; release / unlock X, Y
                  M501                                                   ; use config-override (for Thermistor Parameters and other settings)
                  G90                                                    ; send absolute coordinates...
                  M83                                                    ; ... but relative extruder moves
                  ;
                  ; =========================================================================================================
                  ;  filament handling
                  ; =========================================================================================================
                  ;
                  ; execute macros that has the status of the filament sensor
                  ;
                  M98 P"0:/sys/00-Functions/FilamentsensorStatus"
                  ;
                  ; =========================================================================================================
                  ;
                  ;; =========================================================================================================
                  ;
                  ; Offsets - place off-sets for x and y here. z-offsets are handled in the print sheet macros
                  ;
                  G31 P1000 X23 Y5
                  
                  SputnikOC3d 2 Replies Last reply Reply Quote 0
                  • SputnikOC3d
                    SputnikOC3d @weeky last edited by SputnikOC3d

                    @weeky - nice work ...

                    I think there is a D2 / D3 parameter missing / needed in the "current-sense-normal.g" file that puts the drivers back into Spreadcycle in conjunction with the V100 parameter. When I get home I can locate mine im using on the voron - that took me all weekend to get working

                    M569 P5 D2 V2000 ; Take driver out of StealthChop Mode
                    M569 P6 D2 V2000 ; Take driver out of StealthChop Mode

                    Add the D2 and increase the V parameter some more than 100 to test and see ...

                    I also dont see an M915 call in any of your stuff. That sets the drivers sensitivity

                    My full homeY.g for example / info

                    ;====================
                    ; homeY.g
                    ;====================
                    ; called to home the Y axis
                    
                    
                    M400						; Wait for current moves to finish
                    M913 X80 Y80				; drop motor current to 60%
                    M569 P5 D3 V10				; X -> B axis reduce V parameter so driver operates in stealthChop
                    M569 P6 D3 V10				; Y -> A axis reduce V parameter so driver operates in stealthChop
                    ;G4 P200					; Pause for 200ms to let StealthChop do some sh!t
                    M17 X Y						; Energize Motors X Y
                    G4 P200						; Pause for 200ms to let StealthChop do some sh!t
                    M915 X Y S1 R0 F0 H200		; Sensitivity -3 [-64 --> 64], R - take no action, F - No filter, 400steps/sec
                    G4 P200                   	                ; wait 200ms
                    G91 				      	        ; set relative
                    G1 H2 Z10 F6000 			        ; lift Z relative to current position
                    G1 H1 Y10 F6000 			        ; Move Y away from possible end point - relative to current position
                    G4 P200                   	                ; wait 200ms
                    G1 H1 Y-350 F4000			; [ First Pass ] move quickly to Y axis endstop and stop there
                    G1 H2 Z-10 F6000 			; lower Z again
                    G90 						; absolute positioning
                    M400						; Wait for current moves to finish
                    M913 X100 Y100 				; return current to 100%
                    M569 P5 D2 V2000			; Take driver out of StealthChop Mode
                    M569 P6 D2 V2000			; Take driver out of StealthChop Mode
                    M915 X Y R0					; Disable Logging and lower stall detection
                    

                    I dont think this is my absolute latest revision to this either - i think I pulled several of the wait 200ms lines out and re arranged the order of a few of the M commands after DC42 wised me up to their order of importance - it made a difference for me ...

                    1 Reply Last reply Reply Quote 0
                    • SputnikOC3d
                      SputnikOC3d @weeky last edited by

                      @weeky

                      Updated the above post - that is my current in use homeY.g - based upon MY motors and current settings - you mileage may vary. Now that said - I think your missing a few small items from your that may make a difference.

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