@droftarts
I just plugged the servo, and it works!
Thank you for the support!
@droftarts
I just plugged the servo, and it works!
Thank you for the support!
Hello everyone.
I have a large format pellet extruder installed on my printer, and I just had an incident where I accidentally pressed the 'Retract' button in DWC instead of the 'Extrude' button.
I didn't realize immediately, so it brought molten material to rise up into the cooled zone of the barrel and solidify, jamming the extruder.
I had to take the extruder apart to clear the jam, so to avoid this happening again, is there a way for me to remove the 'Retract' button entirely from the DWC?
Looking forward to hear,
Søren
@droftarts said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen If you're very brave, use the latest 3.5.0-rc3+ release from https://www.dropbox.com/scl/fo/p0136wx04h8xf6ejwdnn9/h?rlkey=efrfwyb6o5tqid11gustz3uvy&dl=0
Ian
I ran a few tests today, and it runs much better now. It was definitely a M566/jerk issue!
There is still a bit of vibration or resonance, but that might be due to the machine design. I will be printing big stuff, so dont think it will come into play too much. Happy for now.
I did not install the 3.5.0-rc3+ version yet though!
Thanks for the help!
@T3P3Tony said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
Last reset 00:02:19 ago, cause: power up
Please can you do the M122 after you have run a movement in a circle where you see the stuttering.
I just ran a super simple circle gcode file with no extrusion, and ran M122 after.
This is the print:
m122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1++ (2023-12-07 12:53:53) running on Duet 3 MB6HC v1.02 or later (standalone mode)
Board ID: 08DJM-9P63L-DJ3T0-6J9F0-3S86R-TA039
Used output buffers: 3 of 40 (26 max)
Error in macro line 49 while starting up: bad grid definition: X range too small
=== RTOS ===
Static ram: 154844
Dynamic ram: 121296 of which 0 recycled
Never used RAM 66876, free system stack 143 words
Tasks: NETWORK(2,nWait,36.1%,145) ETHERNET(5,nWait,0.0%,323) HEAT(3,nWait,0.0%,324) Move(4,nWait,0.1%,229) CanReceiv(6,nWait,0.0%,797) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,348) TMC(4,nWait,8.2%,59) MAIN(1,running,55.5%,444) IDLE(0,ready,0.0%,30), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:19:33 ago, cause: power up
Last software reset at 2023-12-13 12:28, reason: User, Gcodes spinning, available RAM 66904, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0043a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
MCU temperature: min 11.2, current 35.4, max 36.8
Supply voltage: min 23.7, current 23.8, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 11.8, current 12.3, max 12.9, under voltage events: 0
Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/52/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, mspos 920, reads 47312, writes 17 timeouts 0
Driver 1: standstill, SG min 0, mspos 760, reads 47312, writes 17 timeouts 0
Driver 2: standstill, SG min 0, mspos 456, reads 47312, writes 17 timeouts 0
Driver 3: standstill, SG min 0, mspos 600, reads 47312, writes 17 timeouts 0
Driver 4: standstill, SG min 0, mspos 532, reads 47312, writes 17 timeouts 0
Driver 5: standstill, SG min n/a, mspos 8, reads 47318, writes 11 timeouts 0
Date/time: 2024-02-22 17:02:58
Slowest loop: 25.39ms; fastest: 0.05ms
=== Storage ===
Free file entries: 20
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 3.8ms, write time 17.6ms, max retries 0
=== Move ===
DMs created 125, segments created 5, maxWait 989214ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 192, completed 192, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
=== DDARing 1 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.0
Heater 1 is on, I-accum = 0.0
Heater 2 is on, I-accum = 0.0
Heater 3 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null, 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
File2 is idle in state(s) 0, sync state 2
Queue2 is idle in state(s) 0
Q0 segments left 0, axes/extruders owned 0x80000003
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 10565, received 9391, lost 0, errs 1, boc 0
Longest wait 1ms for reply type 6018, peak Tx sync delay 271, free buffers 50 (min 49), ts 5868/5867/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 209.87ms; fastest: 0.03ms
Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
= Ethernet =
Interface state: establishingLink
Error counts: 0 0 0 1 0 0
Socket states: 2 2 2 2 2 0 0 0
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Firmware version 2.1beta4
MAC address 70:04:1d:be:b5:60
Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 223720
WiFi IP address 192.168.0.114
Signal strength -61dBm, channel 11, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
=== Multicast handler ===
Responder is inactive, messages received 0, responses 0
@T3P3Tony said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen said in Big gantry printer: Lagging and stuttering when printing:
Last reset 00:02:19 ago, cause: power up
Please can you do the M122 after you have run a movement in a circle where you see the stuttering.
Oh yes, I missed that part.. I will run it tomorrow with the updates from Ian's comments, and have it print the M122 after.
Thanks!!
@droftarts said in Big gantry printer: Lagging and stuttering when printing:
There are some errors in your config.g. I think you are not using the second extruder driver ("hopper stepper") and have commented this out from most lines with a semicolon ";" eg
M92 X64 Y320.00 Z800.00 E480.00;60:
So the second E parameter is ignored. If you meant to enable this, it should be a colon, not a semicolon, and the final colon is not needed, eg
M92 X64 Y320.00 Z800.00 E480.00:60
Yes, you are right; I'm currently testing a hopper mixer, and sometimes comment it out.
Your jerk (M566) settings are very low. Most likely this is why you are getting stuttering on circles. See @T3P3Tony's post here for an explanation: https://forum.duet3d.com/post/333675
A more normal setting would be in the rangeM566 X300.00 Y300.00
. This is mm per minute, so only 5mm/s, but usually just enough to allow smooth cornering. However this will depend on the mechanics of your machine.
Very good, I will change this and test it tomorrow!
Your maximum speed for X and Y axes are different; X is 4000mm/min (or 66.6mm/s), while Y is 2000mm/min (or 33.3mm/s). A move that goes between these, eg a circle, is going to change speed if you are trying to print as fast as the machine will go. This may be caused by what seems to be quite a difference in the driving of the axes; X has a very low steps per mm, while Y is much higher.
Your accelerations are also very slow. At 200mm/s^2, it takes about 10mm for the X axis to get up to 60mm/s speed. Short moves at changes of direction will happen very, very slowly.
For tuning the above, see https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance
Super nice config comments Ian! I have been messing with this thing so much, that I have ended up with a mess indeed! I sit down with my config.g tomorrow and have everything adjusted to a more reasonable setting.
For your external extruder drive settings:
M569 P122.0 S1 R1 T2:2:2:2 ; extruder servo motor
What servo driver are you using? And connected to what, a Duet 3 Expansion 1XD board? Your stepper timings (T parameter) are very fast, and may cause missed steps.
This could be. I am using the Lichuan 1.0Kw 80ST A5. I just spoke to a friend who is running it with T5:5:5:5
Finally, update the firmware to the latest release candidate. You are on:
RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1++
Use these: https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.0-rc.3
Again, thank you for you input Ian! Looking forward to tomorrow, will try and run some tests with the new config.g,
I'll follow up.
Søren
@Maestro said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen Have you looked for this vibration when using the web control at a wide variety of speeds? That's a big gantry; you may have some resonances leading to vibration; the variations in speeds during a print would make encountering these much more likely than inputting one particular speed for a DWC-called move. Does the vibration occur w/both X and Y moves?
Yes, one thing led to another and now i am stuck with this design. I still think it can work well though. There seems to be clean movement when i move the Y axis alone, and the X axis alone. Also when moving (both) diagonally. The Issue seems to only appear when the machine has to make a circular motion.
Assuming you're running steppers, "basic tones, sort of melodic" is probably not a concern and may not be related to the vibration at all; the sound is to be expected during a print where speeds are varying all over the place and the driver/motor combo is not entirely quiet.
Yes, true. Sounds are coming from the steppers that indicate a non-smooth/stuttering motion though. Will see if i can upload a video w sound.
@droftarts said in Big gantry printer: Lagging and stuttering when printing:
@sbNielsen What slicer are you using? Check your slicing software isn't inserting Gcode commands that override the speed, jerk and acceleration settings you set in config.g. Orca slicer and Prusa slicer tend to do this.
See this thread: https://forum.duet3d.com/topic/34737/orcaslicer-1-9-0-adds-codes-that-breaks-printerIan
Interesting possible issue. I've been using Simplify3D, but i've not seen any such override commands in the gcode files. The gcode files i've been using are very clean and there is nothing 'unknown' there.
@Phaedrux said in Big gantry printer: Lagging and stuttering when printing:
Please share your config.g and the results of sending M122 (after you've experienced the stuttering) and M98 P"config.g" in the gcode console.
; Configuration file for Duet 3 MB 6HC (firmware version 3.3)
; executed by the firmware on start-up
; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Jul 01 2023 14:29:49 GMT+0200 (CEST)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"3Dprinter" ; set printer name
; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M552 I1 S1
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; Drives
M569 P0.0 S0 ; physical drive 0.0 goes forward zL
M569 P0.1 S0 ; physical drive 0.1 goes forward yL
M569 P0.2 S0 ; physical drive 0.2 goes forward zR
M569 P0.3 S0 ; physical drive 0.3 goes forward yR
M569 P0.4 S1 ; physical drive 0.4 goes forward x
;M569 P0.5 S1 ; hopper stepper
M569 P122.0 S1 R1 T2:2:2:2 ; extruder servo motor
M584 X0.4 Y0.1:0.3 Z0.0:0.2 E122.0;0.5: ; set drive mapping
M350 X32 Y16 Z16 E32:0 I1 ; configure microstepping with interpolation
M92 X64 Y320.00 Z800.00 E480.00;60: ; set steps per mm
M566 X50.00 Y10.00 Z60.00 E8000.00;100: ; set maximum instantaneous speed changes (mm/min)
M203 X4000.00 Y2000.00 Z800.00 E80000.00;4000: ; set maximum speeds (mm/min)
M201 X200.00 Y200.00 Z450.00 E8000.00;400: ; set accelerations (mm/s^2)
M906 X1800 Y3900 Z2940 ;E1750:0 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; set idle timeout
; Axis Limits
M208 X-5 Y0 Z-60 S1 ; set axis minima
M208 X1800 Y1000 Z700 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"io4.in" ; configure switch-type (S1 = microswitch) endstop for low end on X via pin io4.in
M574 Y2 S1 P"io0.in+io1.in" ; configure switch-type (S1 = microswitch) endstop for high end on Y via pin io0.in & io1
M574 Z1 S1 P"io2.in+io3.in" ; configure switch-type (S1 = microswitch) endstop for low end on Z via pin io2.in & io3
; Z-Probe
M558 P0 H0 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X0:0 Y0:0 S10 ; define mesh grid
; Heater 0
M308 S0 P"temp0" Y"PT1000" A"Nozzle" ; configure sensor 0 as PT1000 on pin temp0
M950 H0 C"!io8.out" T0 ; create extruder heater output on IO5 and map it to sensor 0
M307 H0 R1.191 K0.229:0.210 D20.76 E1.35 S1.00 B0 V5.0 ; disable bang-bang mode for heater and set PWM limit
M143 H0 S350 ; set temperature limit for heater 0 to 350C
; Heater 1
M308 S1 P"temp1" Y"PT1000" ;A"Name" ; configure sensor 1 as PT1000 on pin temp1
M950 H1 C"!io7.out" T1 ; create extruder heater output on IO7 and map it to sensor 1
M307 H1 R1.053 K0.260:0.000 D27.18 E1.35 S1.00 B0 V5.0 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S350 ; set temperature limit for heater 1 to 350C
; Heater 2
M308 S2 P"temp2" Y"PT1000" ;A"Name" ; configure sensor 2 as PT1000 on pin temp2
M950 H2 C"!io6.out" T2 ; create extruder heater output on IO7 and map it to sensor 2
M307 H2 R0.858 K0.376:0.000 D30.47 E1.35 S1.00 B0 V5.0 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S350 ; set temperature limit for heater 2 to 350C
; Heater 3
M308 S3 P"temp3" Y"PT1000" A"Top" ; configure sensor 3 as PT1000 on pin temp3
M950 H3 C"!io5.out" T3 ; create extruder heater output on IO8 and map it to sensor 3
M307 H3 R0.911 K0.213:0.000 D28.10 E1.35 S1.00 B0 V5.0 ; disable bang-bang mode for heater and set PWM limit
M143 H3 S350 ; set temperature limit for heater 3 to 350C
; Watercooling
M950 F4 C"!out4+out4.tach" ; Water pump: 4-wire PWM fan and tacho. We are using a PWM fan so the output needs to be inverted, and using out4.tach as a tacho input
M106 P4 S1 C"Water pump" ; M106 turns the pump on. S1 is full power
M950 F5 C"!out5+out5.tach" ; Water cooling fans: 4-wire PWM fan and tacho. We are using a PWM fan so the output needs to be inverted, and using out5.tach as a tacho input
M106 P5 S1 C"Radiator fans" ; M106 turns the fans on. S1 is full power
; Fans
; M950 F0 C"out7" Q500 ; create fan 0 on pin out4 and set its frequency
; M106 P0 C"layerFan" S0 ; set fan 0 value. Thermostatic control is turned off
; M950 F1 C"out1" Q500 ; create fan 1 on pin out1 and set its frequency
; M106 P1 C"hotendFan" S1 H0 T35 ; set fan 1 value. Thermostatic control is turned on
; Tools
M563 P0 D0 H0:1:2:3 S"Pellet extruder" ; define tool 0. Extruder drive: 0 (first one in the row defined in M584). Heaters: 0, 1, 2, and 3 (defined by H in M950)
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
Here's the M122 result:
m122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1++ (2023-12-07 12:53:53) running on Duet 3 MB6HC v1.02 or later (standalone mode)
Board ID: 08DJM-9P63L-DJ3T0-6J9F0-3S86R-TA039
Used output buffers: 1 of 40 (18 max)
Error in macro line 29 while starting up: in file macro line 29 column 22: M350: array too long, max length = 1
=== RTOS ===
Static ram: 154844
Dynamic ram: 121296 of which 12 recycled
Never used RAM 66984, free system stack 198 words
Tasks: NETWORK(1,ready,29.3%,153) ETHERNET(5,nWait,0.1%,319) HEAT(3,nWait,0.0%,326) Move(4,nWait,0.0%,339) CanReceiv(6,nWait,0.0%,797) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,350) TMC(4,nWait,8.4%,59) MAIN(1,running,61.9%,444) IDLE(0,ready,0.2%,30), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:02:19 ago, cause: power up
Last software reset at 2023-12-13 12:28, reason: User, Gcodes spinning, available RAM 66904, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0043a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
MCU temperature: min 10.8, current 26.6, max 26.7
Supply voltage: min 23.8, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 11.6, current 12.4, max 12.8, under voltage events: 0
Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/80/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a, mspos 8, reads 50965, writes 14 timeouts 0
Driver 1: standstill, SG min n/a, mspos 8, reads 50965, writes 14 timeouts 0
Driver 2: standstill, SG min n/a, mspos 8, reads 50966, writes 14 timeouts 0
Driver 3: standstill, SG min n/a, mspos 8, reads 50966, writes 14 timeouts 0
Driver 4: standstill, SG min n/a, mspos 4, reads 50966, writes 14 timeouts 0
Driver 5: standstill, SG min n/a, mspos 8, reads 50969, writes 11 timeouts 0
Date/time: 2024-02-21 11:53:29
Slowest loop: 4.74ms; fastest: 0.07ms
=== Storage ===
Free file entries: 20
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 5.9ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== DDARing 1 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Movement locks held by null, 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
File2 is idle in state(s) 0
Queue2 is idle in state(s) 0
Q0 segments left 0, axes/extruders owned 0x0000000
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 1257, received 1117, lost 0, errs 1, boc 0
Longest wait 1ms for reply type 6018, peak Tx sync delay 46, free buffers 50 (min 49), ts 697/696/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 19.85ms; fastest: 0.03ms
Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 2 of 8
= Ethernet =
Interface state: active
Error counts: 0 0 0 1 0 0
Socket states: 2 2 2 2 2 0 0 0
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Firmware version 2.1beta4
MAC address 70:04:1d:be:b5:60
Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 226920
WiFi IP address 192.168.0.114
Signal strength -57dBm, channel 11, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
=== Multicast handler ===
Responder is inactive, messages received 0, responses 0
Do you have mesh compensation enabled?
No, no mesh compensation enabled.
What are the motor specs?
These are my Y-axis/gantry steppers. Kevin, from DamenCNC, who really knows what he is talking about, said these steppers should be sufficient. At the time, it was not clear how much weight exactly would be on the gantry, but it doesn't feel like it's a power issue.
Hi,
I have built my own large format 3D printer with a gantry/CNC kinematics, so a lot of weight is moved around on the Y axis when printing - see render:
I am still in the process of calibrating everything. The gantry moves just fine when traveling using the Duet web control, say G1 Y500 F5000.
But when I launch a print, suddenly the steppers are kind of lagging and stuttering. I also get a sound, kind of basic tones, sort of melodic. This lagging makes the extruder shake and vibrate, and I need to fix it.
How do I get the printer to run smooth?
I have of course tried with very slow speeds, but there is still a non-smooth behaviour.
Im using the Duet 6HC and its drivers - Do I need to change drivers, or is this a matter of settings?
Hope you can help me out!
Best wishes,
Søren
@droftarts
I just plugged the servo, and it works!
Thank you for the support!