Horrible banging noise
-
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
- movement is possible, when moving the axes manually from the DWC it's fine (albeit a bit noisy, probably it's using spreadCycle)
-
-
@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 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.
-
@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.
-
-
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
-
@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 homeI can locate mine im using on the voron - that took me all weekend to get workingM569 P5 D2 V2000 ; Take driver out of StealthChop Mode
M569 P6 D2 V2000 ; Take driver out of StealthChop ModeAdd 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 ... -
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.