Extruder motor clicks after firmware update
-
I print very slowly e.g. 5, 10, 20 mm/s.
My extruder setup is 1,8 deg motor with gearbox reduction 1:30 and leadscrew (pitch 2 mm).
When printing extruder motor turns let's say 60 rpm - 120 rpm.
But as I said when sending g1 e5 directly from DWC console everything is ok.I don't remember previous firmware version - i think it was something like 3.4.
My file:
2024.05.18 cylinder 60xh60 d3 t54 lh1.gcode
Then I tried to slice with lower resolution = 0,1 mm
2024.05.18 cylinder 60xh60 d3 t54 lh1 sr0_1.gcode
but there was no difference. -
@ArekRucki Did you make any other change (to your config or anything else) other than updating the firmware?
Your M122 output is showing a high number of hiccups:
Scheduled moves 147, completed 147, hiccups 10048, stepErrors 0, LaErrors 0, Underruns [0, 0, 19], CDDA state -1
could you try adjusting the number of microsteps for your extruder to 4 rather than 8 (change your M350 from M350 E8 I0 to M350 E4 I0) and reduce the steps/mm for the extruder from E24000.00 to E12000.00 and see if you still get the clicking.
Other than that I'm pretty much out of ideas.
-
@gloomyandy
thanks for you answer. I didn't change anything in my config.
I'll try to reduce microstepping.
I'm not sure my jerk and acceleration values but since the firmware update it worked. -
This post is deleted! -
@gloomyandy
I've set extruder microstepping to 12000 but nothing has changed.
I've also noticed that clicking appears only on circular moves. On straights it's all ok.
I think it has something to do with jerk or acceleration but I can't figure out what parameters should I use.
With model sliced wit lower resolution also hiccups disappeared.Scheduled moves 120, completed 120, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
-
@ArekRucki Did you make both this change:
M350 E4 I0
and this change:
M92 X80.00 Y80.00 Z80.00 E12000.00
Both would be needed. I would have expected the above change to have reduced the number of hiccups seen with your original model, was this not the case?
In terms of jerk, you could try reducing your E jerk in stages to see if it helps with the clicking. So your current jerk setting is:
M566 X800.00 Y800.00 Z800.00 E800.00
Try
M566 X800.00 Y800.00 Z800.00 E400.00
If that is better try increasing it until the clicking starts again and then back it off a little.
-
@gloomyandy
yes. I changed both values. then I started to print the model sliced with lower resolution.
Hiccaps gone but not the clicking and motor was louder.
I try to set lower jerk but I don't understand why the clicking appears only on circular moves...???
Thanks for your time... -
@ArekRucki Why did you reslice the file at a lower resolution? That should not really have been needed, the changes I suggested should still have worked with your original test file. Did you ever try the original file with the new settings? I would have expected the hiccups to have been reduced.
As to jerk settings you may find that increasing the setting helps if your motor is actually capable of that sort of acceleration. Circles will be implemented as a series of short lines, which in effect cause the motors to slow down and speed up if the motor can't cope with this then that may be causing the clicking. But since we have not really identified the cause of clicking it is hard to be sure.
-
@gloomyandy said in Extruder motor clicks after firmware update:
Did you ever try the original file with the new settings? I would have expected the hiccups to have been reduced.
yes, I tried. here is what I got:
Scheduled moves 147, completed 147, hiccups 10048, stepErrors 0, LaErrors 0, Underruns [0, 0, 19], CDDA state -1
With resliced model I have 0 hiccups
But it's interesting that the hiccups also show up with via DWC sent G1 E F command.
Here is yesterday's output:18.05.2024, 12:30:17: g1 e5 f20 18.05.2024, 12:32:27: m122: === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later Board ID: 0JD0M-9P6B2-NJ4S8-6JKDG-3S86S-1B72M Used output buffers: 14 of 26 (20 max) === RTOS === Static ram: 23256 Dynamic ram: 71376 of which 56 recycled Never used RAM 18312, free system stack 130 words Tasks: NETWORK(2,nWait 6,15.4%,211) HEAT(3,nWait 5,0.0%,378) Move(4,nWait 5,1.1%,298) MAIN(1,running,83.4%,700) IDLE(0,ready,0.1%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:52:12 ago, cause: power up Last software reset at 2023-06-17 16:54, reason: User, Gcodes spinning, available RAM 14184, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 27.9, current 33.5, max 34.5 Supply voltage: min 23.7, current 24.0, max 24.6, 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 Events: 106 queued, 106 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min 0 Driver 4: standstill, SG min n/a Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Date/time: 2024-05-18 12:32:26 Cache data hit count 4294967295 Slowest loop: 222.65ms; fastest: 0.11ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 27.0ms, write time 30.8ms, max retries 0 === Move === DMs created 83, segments created 6, maxWait 226437ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.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 571, completed 571, hiccups 40168, stepErrors 0, LaErrors 0, Underruns [0, 0, 119], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Q0 segments left 0 Code queue 0 is empty === Network === Slowest loop: 249.59ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address 48:3f:da:a6:f0:84 Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 39688 WiFi IP address 192.168.0.179 Signal strength -67dBm, channel 11, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
I don't know...
Fortunately the prints come out with correct dimensions. -
@ArekRucki At the moment it is hard to compare those numbers because it looks like the m122 from yesterday includes more than one print (it has a much higher number of scheduled moves as well as more hiccups) You really need to do the following....
0. Power the printer on- Run a single print of the original file with the new step settings.
- Run M122 and save the results.
- Reset the step settings
- retartt the printer.
- Run the same print again
- run m122
If when you compare the results you are getting the same number of hiccups then that probably means that it is not the extruder moves that are causing the problem, but rather the X/Y moves (which may explain why you see a reduction in hiccups when you reduce the resolution). Ideally you do not want to be running with that high number of hiccups, but at the end of the day it is the printed results that matter, so if you get better quality with the higher resolution even with the hiccups then that may be the best solution.
Unfortunately it looks like we have not really identified the source of the clicking though. You may need to experiment with jerk and acceleration values. Note that jerk is only used at the junction of two moves, so you will not see any impact of jerk settings when issuing a single move from the console, you need to use a test print.
-
@gloomyandy
ok. many thanks. I'll do the test as you suggest.
I thought m122 only shows data of the last job, isn't it?
how does it actually work?- power up.
- printing job 1.
- sending m122
- data from job 1
- printing job 2
- sending m122
- data from job 1 + 2 ???
-
@ArekRucki It shows data from either when the board started or the last time M122 was run.
-
@gloomyandy ok. thx