Marlin: [BUG] TMC2209 with LDO 0.9 VERY noisy/resonant/vibratory

Created on 13 Jun 2020  Â·  120Comments  Â·  Source: MarlinFirmware/Marlin

Ive got a strange issue with a new printer im settting up. i have a set of tmc2209's, on a 24v corexy.

the original 1.8* motors are louder than they should be, but i didnt think much of it. this week i installed a set of LDO 0.9* steppers, and they vibrate so hard that the x gantry sings. they arent missing steps, the printer operates fine, theres just insane resonance, even at low speeds. i spent the last 3 days working on the frame, replacing belts, went through marlin systematically and turned on and off every setting i could think of(LA, square wave, etc). i played with microstepping numbers, voltages, etc, to no avail. i had reached the end of my sanity when i decided to stick the steppers on another machine i have, running 2208s. suprise...smooth as butter.

another thing to note is that turning stealthchop on and off results in less vibration, but not lower noise. stealthchop is actually where most of the noise and vibration comes from, with it off there is less vibration(but still tons) and the 'r2d2' sounds are pretty pronounced. i do not use hybrid threshold, but have tested it on and off when i went through the various options systematically testing them(and combinations of them).

im positive now that this is something wrong with my build, not the motors themselves. in doing some online research, i see some people mentioning issues with PWM? Beyond config/config_adv im pretty lost with coding. i thought id ask here before i go randomly messing with stuff. the video this gent posted sounds pretty similar to what im experiencing.

https://github.com/teemuatlut/TMCStepper/issues/82

i feel this may be a bug because the same motors do not have this problem on a different machine. the vibration can be felt when just holding the motor in your hand, without it being connected to anything or under stress, and again on the other machine the same motor, being fed the same voltage and step count, feels like butter. that leads me to believe this is marlin/tmc not getting along. this resonance/vibration is experienced with both 1.8, and 0.9, however, 0.9* exacerbate the issue.

My Configurations

Required: Please include a ZIP file containing your Configuration.h and Configuration_adv.h files.
Marlin-2.0.x.zip

Steps to Reproduce

  1. begin print.
  2. machine sounds like chewbacca
  3. enable/disable stealth chop
  4. similar but chewbacca has taken xanax and has calmed down a little with stealthchop off
  5. systemically test and eliminate settings like linear advance, square wave, etc
  6. still chewbacca
  7. install rubber dampers anywhere that vibration could be amplified
  8. han solo, please take your dog back, i dont want him anymore

Expected behavior: [What you expect to happen]

normal levels of stepper noise and vibration

Actual behavior: [What actually happens]
video:
imgur.com/a/ZEBlkVX

Trinamic

Most helpful comment

I've got the same problem. Made a video documenting the sound at different speeds: https://www.youtube.com/watch?v=0W-jYppMRKo
I took phase current measurements and the waveform looks nothing like I would have expected. Instead of a continuous modified sine wave, the average current jumps from 100% to -100% abruptly like a sigmoid function. The screenshots are at the loud F8000 speed, but the waveform looks the same at lower speeds.

SDS00019
SDS00020

Hardware:
24V Printer (blv mgn cube kit)
0.9° 2A steppers
BTT SKR 1.3 mainboard
BTT TMC2209 drivers

Software: marlin bugfix-2.0.0 @ 90135803a3fc976fd7b9700c121a8f1485c7e662

Things I've tried without success:

  • setting INTERPOLATE=false
  • setting X_MICROSTEPS to 32 (sounds the same at equal speed)
  • changing to CHOPPER_PRUSAMK3_24V (afaik not used in stealthchop)
  • reducing phase current to 1000mA
  • changing my printers resonance frequency (belt tension, stiffness, weights)
  • switching to spreadcycle is louder at low speeds (as expected), but quieter above ~100mm/s

All 120 comments

@freighttt
Did you activate SPREAD?
Set also the Stepper to 256 Microsteps and the correct Current in configurations_adv.h (// @section tmc_smart)

@logo2001
what do you mean by spread? spreadcycle? i currently have hybrid threshold off so they run either in stealthchop or spreadcycle only.

i currently have it set to 16 microsteps, should i increase it to 256 so the driver doesnt interpolate itself?(is that how it works?)

i will try setting the current via the firmware vs lcd and saving to eeprom.

@freighttt
Yes, i mean Spreadcycle. In your Case - Marlin give Steps out for 16 Microsteps. If Spread not activ, the stepper run with 16 microsteps only.
On my mainboard I have to set a jumper to activate the spread function of the TmC2209 !!!
Which Board you are using?
You can also try to deactivate Stealthchop & Hybrid to check is Spreadcycle possible/available.

one more question: which Stepper Driver and Version with TMC2209 do you have?

@Logo2001
i am running BTT 2209 v1.2 on a BTT skr1.3

yes i have them running in spreadcycle, it is the only way to run them smoothly. unfortunately i run a small printing business and i have to run the machine, hopefully this issue isnt causing damage to the motors. it almost feels like a poor signal, but it is worse on stealthchop to where its not usable. spreadcycle is at least smooth enough that it doesnt seem to cause damage to the print. i would assume it was the drivers themselves but when i plug them into another machine, or the motors into another machine running 2208s, everything is silent and operates as it should. i have tried new fresh firmware, with no luck. i also tried and older version to no avail.

here i have found another thread with people having the same issue just last month in may.
https://reprap.org/forum/read.php?415,852017,873784#msg-873784

Did you remember to reset your eeprom after the adjustment of steps/mm and speed?
Your max speed is halved and steps are double

@marlor steps have been doubled. i wasnt aware that speed needed to be halved, 0.9's should have enough torque to handle normal print speed, but i will try dropping the feedrate to 250. am i understanding you correctly though?

even in stealthchop with the horrendous noise, they dont miss steps at 65mm/s, and in spreadcycle they dont have any issues with my current feedrates or acceleration.

I don't understand how you can switch it around when you need soldering on the back...
Spread_Jumper

only when the jumper is removed, the software can set stealth Chop, Spread Cycle and Hybrid
It is preset on your drivers and you cannot change it by software.
It is written in the manual.
It might confuse the drivers.
But I have not tested the differences.
Fact is that in Stealth Chop Mode my steppers (1,8°) are also loud.

Y’all have lost me now.

BTT 2209s on an skr1.3 do not require any soldering to operate as standard with full uart control through the lcd provided your jumpers are correct.

My jumpers are correct and I can alternate between spread cycle and stealthchop through the lcd with a push of the button. There is an audible change in motor noise to confirm this. When operating correctly, they would be significantly quieter in stealth chop. In my case, the grinding noise goes away when placing them in spreadcycle, but they don’t get any louder than they already are. Stealthchop is as loud as spread cycle, though the tone and noises are different.

Most easily the difference can be demonstrated by switching between the modes at idle. With stealth chop on, there is no noise at idle with motors enabled, whereas with stealthchop there is some white noise that is audible if held close to your ear. It is under operation that stealth chop seems to send a ‘dirty’ signal causing the motors to be extremely loud and resonant, even when held loose in your hand, despite the motion being seemingly okay.

my statement was not entirely accurate.
I should finish reading the datasheet :)
see picture.
My setup definitely runs pure Spread Cycle. (Jumper to VDD)
Spread2

i have tested with M569 and its says "Stealth Chop mode" on all axis.
I no longer understand the world.
Stealthchop is commented out in Marlin config and the Jumper "Spread" on the MB is switched to VDD (measured).
hmmm very suspicious

@Logo2001 there is no spoon man

I have exactly the same problem as you!!! I switched to Marlin on my Sapphire Pro in order to enable UART mode on my new ERYONE TMC2209 drivers but I have some coil whine noise also when motors are not moving. The noise reduces when I disable StealthChop but starts again when motors are running... I tried everything (chopping time, lowering or increasing current) and it's impossible to remove, it only disappear in standalone mode so using the drivers not in UART 🙁
It's exactly as you described, motor works and moves correctly without missing steps but I don't want to have a singing printer (belts resonates a lot propagating the sound).
I hope someone can help us, I would like to use these drivers at the maximum potentialities.

@Loreagle
please upload your Config and adv.h files.
I want to see if I can find something for you and freighttt.

@Logo2001 Thank you for your help :)
I'm using Marlin version from @le3tspeak that is modified and pre-configured for my printer (sapphire pro) but the problem source is related to TMC drivers configuration in my opinion.
As I said when I use it in standalone the problem totally disappear and drivers are extremely silent, in UART, disabling StealthChop, noise reduces when motors not running but when running this terrible white noise at high frequency come again...
Configuration_adv.h.txt
Configuration.h.txt

Maybe this problem is related to chopper parameters that are not adequate to my motors/drivers combo, I found this file to calculate them but I don't really know right values to put in.
TMC2209_Calculations.xlsx

@Logo2001 there are one or two people on discord in the trinamic section, who are also experiencing the same issue. they just popped in this morning to say they too feel that their motors have gotten louder recently.

I have just fitted E3D 0.9 degree steppers, I don’t think They are running as quite as the 1.8’s I replaced. There doesn’t seem to be a big difference in noise when swapping between Stealthchop and SpreadCycle either. I was on 2.0.5.3, then yesterday updated to the latest bugfix 2.0.x
No change in the amount of noise in Stealthchop.

@Portzal do you mind sharing your motor specs/rough print speeds?

@freighttt I have tried different speeds from 100mm/s to 40mm/s, I would say noise increases with speed. I am on a Bigtreetech SKR V1.4 Turbo with Bigtreetech TMC2209’s, I tried increasing and decreasing current from 950 to 1100. No noticeable improvement. I have it set to 950 at present.
Steps, 160.
Micro steps, 16
Motor specs,
https://e3d-online.dozuki.com/Document/FY6IQwcZVcDccZ5Q/Compact_But_Powerful_Datasheet.pdf

@Loreagle
please try to change the microsteps in adv.h from 16 to 32 or 64 on the axis you want. (X+Y?)
Also update your config.h for the correct steps/mm. (X+Y?)
Please Report. thx
microsteps
steps_mm

@Loreagle
please try to change the microsteps in adv.h from 16 to 32 or 64 on the axis you want. (X+Y?)
Also update your config.h for the correct steps/mm. (X+Y?)
Please Report. thx
microsteps
steps_mm

Ok I will try to change microsteps! Can I try also 256?
80 Steps/mm for X and Y are correct, is a coreXY printer...

No, when you change to 32 Microsteps the steps per mm will double. 80 -> 160.
@ 64 microsteps 320 steps per mm and so on.
@ 256 microsteps 1280 Steps per mm
Take care, 256 microsteps basic setting needs a lot of CPU Resources. may be SD Card Read is no longer possible :)
when you have a 32bit system u can try the basic setting raise up in acc to your final print speed
the tmc220x interpolate from your basic to 256 automaticaly. normaly

Uh okay thanks, so I will try with 32 first and 160steps/mm :)

@Logo2001 Can this be related to our problem?
image

And what about this defines for Serial1, they should be decommented? (default are commented)
image

maybe, i dont know.
find it out :)

regarding hardware-serial:
i have looked in your board MKS_Robin_Nano.h at my place (Marlin 2.0 bugfix)
I don't have these #defines with me.
Adapted from let3speak ?

regarding hardware-serial:
i have looked in your board MKS_Robin_Nano.h at my place (Marlin 2.0 bugfix)
I don't have these #defines with me.
Adapted from let3speak ?

Yes is adapted from let3speak but I tried and it doesn't work with those lines decommented.

Btw I made a video to show you the noise: https://youtu.be/TCpenqh1t78
The repetitive noise like a metronome is due to #define MONITOR_DRIVER_STATUS, when I disable it that sounds go away but the background noise remains (I don't know if it's possible to hear it).

please deactivate #define Monitor_driver_status and make the video again.
ItÂŽs not possible to hear out the noise.
thx

Ok I'm so sorry, I correct my message about this because I have just found something :
image

When those 4 lines are uncommented I have totally NO noise also with StealthChop enabled! (when I tried before it was not working because I had motor disconnected -.-).
But there is another problem occurring: motors does not move correctly, If I move X about 10mm also Y is moving so I think we have to ask to @let3tspeak for that!

I will try to compile original marlin and see what happens!

yes, right.
but I am happy about the way forward

Wait, there is no UART mode on original Marlin for Robin Nano ahah :(

@Loreagle it sounds like the issue you’re having is different from the one in question, though maybe they are connected?

@freighttt I don't know, the noise is as described so maybe something is wrong with UART mode. I just tried software UART instead of hardware and it's the same :(

Question to the round:
Is it possible that the DEactivated #Stealth Chop is active and vice versa? So the opposite?
My printer is loud (rumbling, hissing) with #Stealth Chop enabled and very, very quiet with #Stealth Chop disabled.

@Logo2001

Yes, it is possible to switch between the two. Stealthchop enabled us very very quiet at idle. In motion extremely loud, gritty, resonant. Stealthchop off is hissy at idle, and loud but smooth in motion.

Volume is the same between both modes in motion, but stealthchop introduces a very gritty and resonantly signal/motion/whatever. During printing you can cycle between the modes to toggle on and off the vibration and resonance.

please make a test on your printer.
at idle make a M569 in TFT-Terminal.
which mode is activ?

@Logo2001 drivers report as they should in correspondence with turning stealth chop on and off on the lcd

Here you can see each the same motor plugged into two different printers. Same voltage and steps, both on stealth chop. I’m sure you can tell which is the issue, but the one held in my hand is the problem machine, the one with it sat on a glass plate is the working machine. I also removed the driver from the problematic machine, plugged it into the working machine, and achieved the same silent result.
https://imgur.com/a/z6D2kc7

For those experiencing unusual vibration, please revert to earlier commit dates and run a quick test on each in order to determine the exact day where the problem first appears. Remember to send M502, M500 to Reset EEPROM and reboot again before testing each date.

I'm starting to think that my problem is related to my drivers, other people with same printer and other brand drivers doesn't have any noise issue!

@Loreagle
Stupid question: You removed the MS jumpers on the TMC Slots from the mainboard?

@Loreagle
Stupid question: You removed the MS jumpers on the TMC Slots from the mainboard?

For software UART yes, for hardware UART I used jumpers to select the correct address

ok, fine

@thinkyhead

i tested 2.0.4.4 last night. i will continue rolling backwards. i must admit i dont know any faster way than to move my configs over manually using meld, so its a slow process.

@thinkyhead I have a 2.0.3 build, if I get the time I will try it out today.

@thinkyhead 2.0.3 did not seem to produce any positive results. There is still very little difference between StealthChop and SpreadCycle as far as stepper noise goes.

@Portzal I also rolled tmcstepper back to 0.5.2 without improvement.

@freighttt I received this feedback from @let3tspeak but I didn't try yet. He said to try with this setting and software UART.

https://github.com/le3tspeak/Marlin-2.0.X-MKS-Robin-Nano/commit/1e859d163589300ff12207cf677044eafda36e0b?fbclid=IwAR35RjZDeN_dFOlDX4QYxyhLl29jrD8cNgOVitcuKsFJPKJ12A-fWlNXDDE#diff-237285c047dad808f73698c139144e1aR352

@Loreagle i am not using an mks Robin

But if you use the drivers in standalone mode you have noise?

@Loreagle no? My drivers never run in standalone. They’re in uart as I’ve said. I am not having the issue you are having.

@freighttt I have noticed it’s more noticeable on my X and Y steppers (0.9’s) while the Z and E steppers (1.8’s) are still relatively quiet.

@thinkyhead I am still new to Marlin and trying to Learn as much as I can, is it possible that the TMC2209’s are not Auto tuning for some reason? (If they even do) The change in stepper to 0.9’s May be further away from the saved values of the 1.8’s and because they are not being updated they are still running with old values. Just a thought.
Also could it be anything to do with the firmware forcing on StealthChop for sensor less homing?

@Portzal yeah I’d agree that it only causes issues with XY but that’s no surprise as ZE don’t move very very fast. I have 1.8 for my extruder still and my bed doesn’t move fast enough to “grind”(though it is still very loud). I run them both in spreadcycle anyways, typically.

@freighttt I am way out of my depth here, but I am trying to research automatic Tuning on TMC2209’s
There is a description of it in the TMC2209 data sheet. But I have not been able to cross reference that with Marlin firmware. I assume it is happening.
https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2209_Datasheet_V103.pdf

BTW, i have deactivated "Hybrid" with Stealthchop on. Since is my printer totaly Silent. Only by G0 commands i hear a quiet "griiip"
Hybrid was on 100mm threshold

Yeah I run hybrid threshold off and just toggle stealthchop on and off via the lcd.

I did adjust my chopper timings using the tmc provided form, but they don’t affect stealthchop, only spreadcycle. If you make headway on how to tune stealthchop, that would be awesome. Unfortunately I can build the rocket that goes to mars, but unless I’m modifying the simple config file for it, I’m useless on the software side.

@freighttt
please have a look at both configurations regarding Rsense in Config_adv.h (smart section) and the real resistor on the steppers. (closest to the motor connector)
Imprint like R100 or R110 or so and report here please.
Thanks

@Logo2001 i took the motor bottom off, but there is no resistor i could see. here is the datasheet for the motors

https://cdn.shopify.com/s/files/1/0239/9287/files/LDO-42STH47-1684MAC_RevA_9f61050a-7275-4b98-a6c5-9f28bd0cb2b7.pdf?172

@Logo2001 my mistake. on the drivers there is a resistor, R11C(O?)

in config_adv.h rsense is set to 0.11

ok, this one setting is ok. and the other from the working machine? the same?
I hope your stepper motor works again. They're sensitive to disassembly.

theyre the same. yes theyre working fine :) i am thinking stealthchop is just incompatible with corexy machines. on the one machine, 20mm/s with sc is as loud as spreadcycle. at 40mm/s it begins to grind. spreadcycle has no issues up past 250mm/s.

on my other machine, a cartesian, it has no issue running up past 60+ mm/s with stealthchop silent. perhaps, for whatever reason, the motion of corexy is not agreeable with the stealthchop coding. with any luck, we will see that change as corexy's become more popular.

the last route might be, as these guys mention, PWM adjustments. unfortunately i am not sure how to go about implementing them on regular(non prusa) marlin.
https://forum.prusaprinters.org/forum/original-prusa-i3-mk3s-mk3-user-mods-octoprint-enclosures-nozzles-.../stepper-motor-upgrades-to-eliminate-vfa-s-vertical-fine-artifacts/paged/40/

I also have similar experience with 0.9 stepper motor from Moon i.e. MS17HA6P4200 (TMC 2209). Its really loud compared to 1.8 steppers. Almost no difference in noise in stealth chop and spread cycle.
Also, I can hear some white noise when motors are idle in spread cycle mode. I am hoping it gets fixed soon.

@freighttt I am on a Cartesian printer with the 0.9’s on X And Y. I use sensor less homing. I always have run in StealthChop and never had Hybrid threshold enabled. I find there is not much of a difference in noise between StealthChop and SpreadCycle at homing speeds. It’s hard to tell for sure but I believe the 0.9’s have a resonance on hold.
My steppers aren’t excessively loud, just louder than I would expect.
I have tried rolling back firmware, changing micro stepping all with no changes notice. I have found what I think is the folder relating to stepper settings, trinamic.ccp, but I have to do more research on what settings I could tweak.
From referencing the TMC2209 document all seems in order. But it is beyond my knowledge at the moment as to whether there is a constraint somewhere else.

I have the same problems with my SKR Pro 1.1 with BTT 2209s, MS17HA6P4200 moon steppers, CHOPPER_DEFAULT_24V, 770 RMS, also CoreXY. StealthChop is much nosier than it should be at any speed over about 50mm/s. I'm running in Hybrid mode to ensure I can use StealthChop for sensorless homing, threshold at 75mm/s.

Subscribing to this issue to see if any progress is made.

@Portzal im pretty sure sensorless homing is always done in stealthchop(or maybe it’s spreadcycle, it says in the config), hence it sounding the same.

What sort of print speeds are you reaching? Is there a certain point where they begin to vibrate loudly in stealthchop but not in spreadcycle? As I mentioned, I’m able to run 200+mm/s in spreadcycle vibration free, whereas 20-30 causes audible grinding/vibration from the motors in stealthchop, even if they are not connected to the belts. It’s very strange that both modes seem to be equally loud for us, that’s the total opposite experience I have with my second machine. The difference is stark.

@karanchaudhri i too have lots of white noise at idle in spread cycle. Thanks to the guys on discord, I was able to update my hysteresis/chopping timing which was helpful in quieting down spreadcycle some.

@rhukster do you mind removing one of your motors(or just remove the belt), and sending it some g1s in spreadcycle and stealthchop at different feed rates? I’m curious if you can feel the difference in the motor between the two modes and above/below the “problem” threshold. I think I posted the videos of my motor above. Can you also post your M122 return?

@freighttt I believe StealthChop is forced on for sensor less homing no matter what you have set, now I think on it not a good example on my part. I have manually jogged X and Y in both StealthChop and SpreadCycle with the same conclusion on noise levels. I have printed from 40mm/s to 100mm/s with travel moves up to 120mm/s. I have not printed in SpeadCycle, but I probably should just for a better comparison. Printing Quality does not seem to be affected and I have actually had an improvement in fine vertical banding over the 1.8’s. I could live with the noise, I am just curious as to the why and how of it all.

Anyone have any thoughts on if this could actually be a Bigtreetech TMC2209 driver issue as opposed to firmware? I have some new ones sitting around and will swap them in when I have time, just to see if it makes any difference.

i think its combination of core xy cinematics and btt2209. i have this problem too and a lot of people in blv cube page too.

@mironfs I am using a Cartesian style printer.

I have the same problem but with tmc2208 and a coreXY (heavy modified Sapphire Pro)!

I use MKS Robin Nano with software serial to interface with TMC2208 on X and Y.
Connected are: 0.9° Steppers.

Before i used TMC2208_Standalone (this means only StealthChop) and 1.8° Steppers. This worked "good" because i could get around 220mm^s without vibration and low noise. Above this speed the stepper would introduce vibrations and horrible noises started.

So i first swapped the 1.8° to 0.9° steppers. (Still using standalone) Everything was working great, but i only could around 80mm/s bevor the vibrations started.(still StealthChop!)

So i tried to use Hybride_threshold to switch to SpreadCycle above 80mm^s.
If i use the TMC2208 with uart connected i got bad results.
Noises above 30mm^s, lost steps.

I than connected the TMC2208 with a USB/Serial adapter to a different PC and configured with https://learn.watterott.com/silentstepstick/configurator/.
I could get the drivers to work like they should. StealthChop below 80mm/s and above SpreadCycle without much noise.

I managed to get Marlin to output the values set for the TMC drivers with TMC debug (M122).
It seems that marlin changes the HEND and HSTRT values while moving, also the vsense bit flips sometimes. This is very strange because it would mean that the current is all over the place.
I also think that the I_scale_analog bit does not get set. This would mean the drive current is controlled by the driver potentiometer and than scaled by the uart iRUN value, also giving incorrect current. (this would also explain the lost steps).

I will try to use the TMC_ADV setting to use fixed values for driver settings. But i can not wrap my head around how it works right now.

If marlin writes wrong stuff to the drivers this cloud mean that it also sets PWM_AUTOGRAD and PWM_AUTOSCALE to "off" this would mean the drivers are not optimizing automatically for the connected steppers.

I will try to confirm this by using a LA to see what marlin writes to the drivers.

@farbefreak let us know what you find! As I understand the 2208/2209 architecture is the same so what works for one should work for the other. I’ve been meaning to make a comment on the prusa forum thread. It seems they have the ability to set pwm and some other things easily from their firmware, and they have 47 pages about tuning 0.9s on marlin so maybe they can give us some insight.

I use 0.9 degree motors (https://www.aliexpress.com/item/690666449.html) driven by BTT 2209s and at least in StealthChop they are extremely quiet. The motherboard is a Re-ARM/RAMPS combination running on 12V with the default . So it is definitely not an issue with 0.9 degree motors in general.

@freighttt Here's a couple of 'move' test videos:

This first one is at 10,000 mm/m feed rate

https://youtu.be/CJLfKeuBJPA

This one at 20,000 mm/m feed rate

https://youtu.be/I3gbOGGKbxs

This was when I was running without hybrid mode enabled. You'll notice that 10,000 makes a terrible noise, but 20,000 does not. Now I have hybrid mode, the 10,000 speed is noticeably quieter, although the 20,000 speed is a bit louder than it was.

I did remove my belts completely and ran the same GCode test script, and the noise was exactly the same, so it's not reverberation in the frame itself, belts or anything like that. It's definitely 100% the steppers making all the noise.

My current configurations are here:

https://github.com/rhukster/Marlin-BLVMGN/tree/2.0.x/Marlin

which is forked from bugfix-2.0.x and I merge it frequently.

FWIW, I have found that if I set the hybrid threshold too low, then sensorless homing stops working so I'm not seeing StealthChop being forced on for sensorless homing I have to set the hybrid threshold higher than my homing speed (50mm/s) or the gantry just slams against the frame and judders until the firmware halts.

I have 2208s on a EZBoard for my Ender 5, and that thing is silent no matter what speed I run it including 200mm/s for travel speeds. It's running a recent-ish version of the the EZFirmware, not raw Marlin. No matter what I try I just can't seem to get this CoreXY printer with manually compiled marlin to run quietly.

Guys I think I solved the problem at least for my configuration. It looks that it was a cables problem for me -.-
The cables I used were like enameled wires so the soldering was not 100% effective. I tried connecting only Serial RX from my drivers with one to one cable to the relative pin of my Robin Nano in software UART mode and now it works like it should! Noisy and with some coil whine in idle (I still don't know if this is normal) when StealthChop is disabled and totally silent (in idle and when moving) with StealthChop enabled!
At the moment I will use this configuration and when I find some normal cables I will also connect TX pins with an Y connection...
If you want just try and let me know if you solve the problem!

Never solder wires, use crimp terminals if you can

solder makes the wires stiff and the end will be soft, after a while in a screw terminal it will become loose

but in general a crimped connection is far better no matter if its a screw terminal or dupont connector

As for the noise and coil whine... do you use 24V ?

@farbefreak
In relation to TMC_ADV would it look something like this?

#define TMC_ADV( )  {  \
TMC2208_n: :PWMCONFIG_t pwmconf {0}; \
pwmconf .pwm_lim = 12; \
pwmconf .pwm_reg = 8;  \
pwmconf .pwm_autograd = true;  \
pwmconf .pwm_autoscale = true;  \
pwmconf .pwm_freq = 0b01;  \
pwmconf .pwm_grad = 14;  \
pwmconf .pwm_ofs = 36;  \
St.PWMCONF(pwmconf.sr); \
}

I am on a steep learning curve and still trying to get my head around all the settings. These settings are from the trinamic.ccp folder and are under settings for TMC2209.

Never solder wires, use crimp terminals if you can

solder makes the wires stiff and the end will be soft, after a while in a screw terminal it will become loose

but in general a crimped connection is far better no matter if its a screw terminal or dupont connector

As for the noise and coil whine... do you use 24V ?

The soldering was to make a Y connection 1 to 2 cables... the ends are crimped of course. I'm using 24V and chopping time is on 24V setting.

@Portzal

That’s what I thought it might look like, but I got scared hahaha

I can confirm now:

PWM_AUTOGRAD and PWM_AUTOSCALE is set to 1, this should be correct.
I_SCALE_ANALOG also gets set to 0, this is correct to only use uart for current control.
Vsense gets also written correctly, it does not change in-between moves, it only changes if you change the motor current. My mistake!

HEND and HSTRT are set to values that don't make sense for many motor configurations if CHOPPER_DEFAULT_24V is defined. Inside TMC_util i can find:

define CHOPPER_DEFAULT_24V { 4, 2, 1 }

The values that gets written are:
HEND=5
HSTRT=0
TOFF=4

TMC2208 standart values are (recommended inside data sheet and working good):
HEND=0
HSTRT=5
TOFF=3

This would not be a problem because config_adv says:

  • Define you own with
  • {

However, this does not compile. Error:

Marlin/src/inc/../../Configuration_adv.h:2022:29: error: expected primary-expression before '<' token
    #define CHOPPER_TIMING { <off_time[3]>, <hysteresis_end[0]>, <hysteresis_start[5]> }
                             ^
Marlin/src/module/stepper/trinamic.h:54:52: note: in expansion of macro 'CHOPPER_TIMING'
 static constexpr chopper_timing_t chopper_timing = CHOPPER_TIMING;
                                                    ^~~~~~~~~~~~~~
Marlin/src/inc/../../Configuration_adv.h:2022:30: error: 'off_time' was not declared in this scope
    #define CHOPPER_TIMING { <off_time[3]>, <hysteresis_end[0]>, <hysteresis_start[5]> }

So i changed the values in tmc_util.h to the data sheet recommended values:
#define CHOPPER_DEFAULT_24V  { 3,  0, 5 }

However this results in:
HEND=3
HSTRT=4
TOFF=3
Seems like marlin or the TMCStepper lib is calculating something.
TOFF is the first value and it gets written without manipulation.
HEND seems to be the second value, it must be set to -3 to write 0 inside the driver.
HSTRT seems to be the third value, it must be set to 6 to write 5 inside the driver.
I am no programming expert, i am only a EE so i don't know the reason the firmware handles it this way.

I am now running with #define CHOPPER_DEFAULT_24V { 3, -3, 6 } in tmc_util and

define CHOPPER_TIMING CHOPPER_DEFAULT_24V in conf_adv.

This seems to work great, like the TMC2208_STANDALONE option. (As expected)

However the TMC data sheet mentions the tuning procedure, we should use a slow homing speed and acceleration.
Otherwise the TMC driver can not autotune the PWM settings resulting in not optimized motor performance.
This can be done by setting:

#define DEFAULT_TRAVEL_ACCELERATION   500 

and

#define HOMING_FEEDRATE_XY (20*60)

TBL also gets changed to 1, however this does not make a difference with my motors.
So it seems like its no software problem. Marlin is writing mostly the right stuff inside to the drivers.

@rhukster
It seems like we are suffering from the same issues.
With my 1,8° motors i was able to get 220mm/s (13200mm/m), after that the same noises startet in StealthChop mode. But could be eliminated by setting hybrid threshold.
With my 0.9° steppers the resonance frequency changed to around 105mm/s (6300mm/m).
Sadly the 0.9° steppers have less torque, so my acceleration drops from >7000mm^sÂČ to 3500mm^sÂČ. This is one step back and one step forward for me. (try to print fast but accurate).
The limited acceleration is caused by less current. I can only drive the 0.9° steppers with 0.6A (the steppers are 1A rated).
If i exceed the 0.6A i get very bad stepper resonance at around 40mm/s (2400mm/m).

It seems like many people here are not aware of the stepper resonance problem.
All steppers are affected by resonance, it happens if the ringing frequency is the same as the step frequency.
If marlin commands a step, the stepper will turn but will overshoot the position. It will settle in a short amount of time. If the next step is commanded with the same frequency as the ringing frequency around the step position, the stepper shaft will oscillate.
The settling time/frequency of ringing will change with the attached load. E.g. if the stepper has a flywheel the frequency will be much lower.

CoreXY printer mostly have light load on the motors, this will promote the stepper resonance.
Someone with bad resonance / noise could lower the stepper current (resulting in less torque so less overshot). This will lower the resonance effects, but also decrease torque (acceleration).

I don't know if the resonance with high speed is also stepper resonance but i doubt it!
Resonance should only happen at low speeds.
It may be a problem with the stealthChop algorithm, otherwise spread cycle should also show resonance.

Hey this is quite a big topic that I need to tackle when I have the time and the energy but for now I'll go over just your port @farbefreak.

Hysteresis end (hend) has an offset of -3 and hysteresis start has an offset +1.
To open this up a bit, the hysteresis end values range from -3 to 12. However the register pattern is 5 bits and there are no negative values.
So register value 0 means -3. 1 means -2, etc.
If you want to use hysteresis end value of 3, you need to write 6 to the register.

Now, the excel sheet gives you both the actual values and the register patterns to use.
Marlin uses effective values, not register patterns.

The syntax for the timing macro is:

#define CHOPPER_TIMING { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }

Example:

#define CHOPPER_TIMING { 1, 2, 3 }

@farbefreak

define CHOPPER_TIMING CHOPPER_PRUSAMK3_24V, configuration_adv.h will give you you very similar settings to what you have manually entered. I changed to this from CHOPPER_DEFAULT_24V and had an improvement in high speed noise and vibration in SpreadCycle. I still feel that in StealthChop the steppers are not as quite as they could be.

@teemuatlut — Would you call this a Marlin bug?

Well, yes and no. We would hope that this is not something the user has to deal with but it'll be impossible to for us to have a preset for every possible combination. That's why there's a user defined option.
It's likely that there is no bug related to this, it's just different parameters for different setups. So I think the best we can do is add a comment to the configuration file pointing to the Trinamic calculator, add some instructions to the documentation site, do more testing and create a few additional presets.
Considering that Prusa uses LDO motors, I'm not surprised if that preset would work better for those motors. Not sure how much going to 0.9 degree steppers changes the values.
I will need to scope out what's happening with stealthChop however. We don't actually apply any manual settings for that mode besides the frequency.

Does this issue affect print quality? I am trying to figure out why my prints have this surface finish, and after replacing the steppers, belts, extruder, hot end, nozzle, and resquaring my coreXY with a BTT GTR V1.0, the problem is still there. I always felt the 2209s were kinda loud for stealth chop, and they are for sure louder than the 2208s in standalone on my ender. Just wondering if this issue can affect print quality! I'm getting sick of throwing money at the printer and the print quality not changing. Am thinking about changing XYE to tmc5160, has anyone changed to a different driver type?
image
image

Hello,
This seems to be "VFA" also known as Vertical Fine Artifacts

You can try to lower the stepper current substantially or switching to good 0.9° motors to get rid of it.

However, this is not a marlin firmware problem.

Oh there is such thing as too much current??? I am running 1200mA with E3D axis motors, which are 0.9 deg. I will investigate tonight. Try like 800mA? And I wasn't sure if it was coming from a marlin issue or not, just figured I would bring it up, just to be sure I wasn't chasing the wrong thing. Thank you!!

I've got the same problem. Made a video documenting the sound at different speeds: https://www.youtube.com/watch?v=0W-jYppMRKo
I took phase current measurements and the waveform looks nothing like I would have expected. Instead of a continuous modified sine wave, the average current jumps from 100% to -100% abruptly like a sigmoid function. The screenshots are at the loud F8000 speed, but the waveform looks the same at lower speeds.

SDS00019
SDS00020

Hardware:
24V Printer (blv mgn cube kit)
0.9° 2A steppers
BTT SKR 1.3 mainboard
BTT TMC2209 drivers

Software: marlin bugfix-2.0.0 @ 90135803a3fc976fd7b9700c121a8f1485c7e662

Things I've tried without success:

  • setting INTERPOLATE=false
  • setting X_MICROSTEPS to 32 (sounds the same at equal speed)
  • changing to CHOPPER_PRUSAMK3_24V (afaik not used in stealthchop)
  • reducing phase current to 1000mA
  • changing my printers resonance frequency (belt tension, stiffness, weights)
  • switching to spreadcycle is louder at low speeds (as expected), but quieter above ~100mm/s

@h3po any chance you could post those charts for the same motors performing normally perhaps try them on a Cartesian? I don’t want to highjack the discussion now that knowledgeable people are involved, but it’s been difficult getting a read on who this affects. It seems overwhelmingly to be corexy users but, since you clearly have the ability to test beyond “it sounds different”, maybe you could confirm or debunk that suspicion. Likewise, are you seeing the same “wrong” wave form using 1.8 motors?

@h3po I believe I have made some progress in noise reduction in both SpeadCycle and StealthChop. I have reduced homing speed from 50 to 30 and set my chopper timing to

define CHOPPER_TIMING { 3, -1, 5 }

I've read parts of the 2209 datasheet last night and found that the driver auto-tunes some parameters for stealthcop on the first move after powerup, so experimenting with different homing speeds might be a good next step. The datasheet suggests that for a good autotune, the stepper needs to rotate at 60-300rpm. My default 50mm/s at 200 steps/mm and 400 steps/rev is 50*200/400 = 20rpm, so much lower than the recommendation.
@Portzal Can you maybe also try faster speeds? Keep in mind you might wreck your endstops.
The code comments related to chopper timing suggest to me that they are not used for stealthchop, so I'd get a developers' response before investing time in playing with the chopper timing.

@freighttt I don't know how to make them perform normally; Putting them on a different printer isn't going to change the whacky waveform. It might well be that on a cartesian we wouldn't get any noise, but that could be for a number of reasons (different frequencies/steps per mm, less emf from the xy motors, load/x carriage weight etc). My best guess right now is that the autotuning is failing on corexy because the motors are putting load on each other on a perpendicular homing move.
Given the time, I might try to drive my anet a8 with these electronics to see if it produces the same waveform there. But that would take me an entire weekend with how my printers are cabled.

I've contacted trinamic support and asked them to look at it.

Resources:

If anyone else wants to take current measurements, you need to probe at R2 on the end next to the pin header and at R4 on the end facing the chip. I learned later that one could use the "index" pin to get a trigger synchronized to the phase current.
Edit: I learned that this is not the proper way to measure the current. One needs to use a current probe.
probing

@h3po I spent a full day playing with chopper timing settings at various speeds and settled on the numbers I already posted. Having to re flash firmware that many times was really irritating. I have spent a lot of time reading the TMC document and although chopper timing should not affect StealthChop (I will have to double check but I believe I Saw a reference to chopper timing in the initial setup for StealthChop auto tuning) I did notice variations in StealthChop noise levels at different chopper settings.
Tomorrow if I have time I am going to replace the X and Y steppers on my Ender 3 with 0.9’s. It has a SKR board with TMC2209’s. I will video the homing before and after the stepper change. I will leave the firmware unchanged and only adjust steps and current.

@h3po I am not sure if this is using user defined chopper settings or generic settings. image

Yeah me neither, I have asked trinamic support about it.

They explained to me that my weird waveforms are a result of measuring voltage at the sense resistors, where back-emf is also observed. I would have to get or make a current probe to properly measure the coil current.
Their assessment of the situation is that the noise is normal (e.g. the driver is configured and working properly) and just a result of the step frequency and resonance frequencies of the printer frame. If that is the case, our only options would be to change to 1.8° steppers (giving double the speed before loud resonance) and changing to smaller pulleys. However I still think the steppers are vibrating more than they should at sub-50rpm speeds.
If they agree to it, I'll post the email conversation tonight when I get back from work.

@Portzal support said the chopper registers are not used in stealthchop mode. only the pwm registers (marlin sets these so autotune is active).

I've made a quick and dirty current probe from an UT210 clamp meter and repeated the measurements. The whacky waveform was indeed a result of my previous probing method and not an actual cause for the sound:
current_clamp_vs_resistor-labeled

And I've also tested my theory about the homing speed affecting the PWM autotuning. Increasing the speed to 75RMP has absolutely no effect. The resonance of my frame is visible at F8000:
current-combined

So, sadly I have to conclude there is nothing to be fixed in software; we'll have to change our printers to shift the step frequency during everyday printing either lower, where it can be more easily absorbed, or much higher so it doesn't coincide with our frames' resonance frequencies. The latter would mean travel moves would have such high rpms that switching to spreadcycle becomes necessary. I already ordered some 1.8° steppers to give lowering it a try.

For completeness, here's my email conversation with Mr. Dwersteg from Trinamic in Germany:

Hello,

Multiple users of the Marlin 3D printer software and I have a problem with 0.9° steppers vibrating very strongly using TMC2209 drivers. I took phase current measurements and found that the average current is not sinusoidal, it's shaped like a sigmoid. Can an engineer possibly look at the measurements and help diagnose the problem?
This is the related bug ticket for the marlin firmware: https://github.com/MarlinFirmware/Marlin/issues/18286#issuecomment-652028094

Greetings from Bochum
- h3po
----
Hallo Daniel,

anhand des Videos hört es sich an, als ginge der Schrittmotor - zusammen mit der Mechanik - in Resonanz. Im StealthChop-Betrieb ist die DĂ€mpfung des Motors relativ gering, so dass sich Resonanzen ausprĂ€gen können und zur Verzerrung des Motorstromes fĂŒhren können (bei StealthChop wird eine sinusförmige Spannung vorgegeben - Stromverzerrungen werden nicht kompensiert). Ein 0,9° Motor benötigt fĂŒr ResonanzdĂ€mpfung durch die Mechanik die doppelte Steifigkeit der Mechanik im Vergleich zumm 1,8°-Motor, da seine Pole und damit Rastpositionen doppelt so dicht liegen.
Abhilfe wÀre
* Nutzung SpreadCycle zumindest bei schnelleren Fahrten
* Vermeidung der Fahrt bei Resonanzfrequenzen.

Herzliche GrĂŒĂŸe aus Hamburg!


Best regards
Bernhard Dwersteg
-----
Moin Bernhard,

Haben Sie sich meine Oszilloskop Screenshots angesehen? Heisst das, die sigmoid-förmige Stromkurve ist kein Resultat von falscher Register-Konfiguration? Sie haben recht, dass der krach im Video durch Resonanzen verursacht wird. Aber warum werden diese so stark angeregt? Auch bei F6000, unterhalb der resonanzfrequenz sind die Stepper ja deutlich hörbar am vibrieren. Das sind lediglich 50rpm.
Kann es sein, dass beim autotuning etwas schiefgeht? Unsere Drucker homen typischerweise mit 50mm/s, also 25rpm, deutlich unterhalb der Empfehlung im Datenblatt. Dazu kommt, dass im coreXY die Motoren gegeneinander arbeiten und evtl. abnormales back-emf generiert wird.

Zu Ihren VorschlÀgen:
SpreadCycle habe ich versucht, das ist wie erwartet lauter beim Drucken, also <25rpm.
Die Resonanzfrequenz meines Druckers kann ich ja nur Àndern, nicht abschaffen. Sie liegt ja jetzt schon recht hoch, der Rahmen ist so steif wie er nur sein kann.
Ich wĂŒrde erwarten wenn ich z.B. auf 1.8° Stepper umsteige bekomme ich den krach dann halt bei der doppelten Geschwindigkeit, 260mm/s liegen aber immernoch weit in dem Bereich, den man bei einem solchen Drucker benutzen will.

Ich werde heute Abend mal ein Video vom losen Schrittmotor machen.

Mit freundlichen GrĂŒĂŸen
Daniel
-----
Hallo Daniel,

Ich denke, Sie haben am Sense-Widerstand gemessen. Das Bild sieht fĂŒr mich in Ordnung aus. Sie sehen hier die HĂŒllkurve der Motorstromkurve. Der PolaritĂ€tswechsel ergibt sich ĂŒber den Chopperbetrieb und die Phasenverschiebung zwischen PWM-Spannung und Strom. Der Wechsel tritt so nicht im Motorstrom auf.
Die Stromkurve sollte mit einem Current-Probe gemessen werden um eine klare Vorstellung zu erhalten.

Ein Fehler beim Autotuning wĂŒrde sich anhand eines Stromeinbruchs in der Beschleunigungsphase zeigen. Wie gesagt denke ich, dass ein 0,9°-Motor deutlich schwieriger zu bedĂ€mpfen ist, als ein 1,8° Motor, und dafĂŒr eine deutlich steifere Mechanik erfordert. Bei gleicher mechanischer Drehzahl hat er bereits die doppelte Polfrequenz. Ein auf dem Tisch liegender Motor ohne Last dur Mechanik ist Worst-Case, d.h. er hat eine ausgeprĂ€gte Resonanz bei bereits 100-200Hz Vollschritt.


Best regards
Bernhard Dwersteg
-----
Vielen Dank fĂŒr Ihre EinschĂ€tzung. WĂ€ren Sie damit einverstanden, dass ich diese Emails mit den betroffenen auf github teile? Wir mĂŒssen dann wohl unsere Schrittmotoren und Umlenkrollen wechseln.

Eine Frage habe ich noch: Wirken sich die Chopper Timing register auf stealthchop aus oder nur auf spreadCycle?
-----
Aber gern :-)
Das Chopper-Timing in ChopConf ist nur fĂŒr SpreadCycle. Bei StealthChop können die Regelparameter in PWMCONF adaptiert werden.

tl;dr for those that might be overwhelmed by the technical gobbledygook:

  • Changing from 0.9° to 1.8° steppers will (probably) make the printer be loud at double the speed than before
  • Smaller pulleys are another method to get lower step frequencies
  • Without changing the hardware, determining the speed at which the printer gets loud and configuring HYBRID_THRESHOLD in Configuration_adv.h is your best bet. That makes marlin switch automatically from stealthChop to spreadCycle above the defined speed and spreadCycle noise might be reduced by tuning CHOPPER_TIMING.

@h3po well if trinamic says that’s the case, then so be it. Maybe in the future stealthchop will behave differently. I do find it strange that even at low speeds there is little different in stealthchop vs spreadcycle noise, and that motors held in hand exhibit “grinding” even with no load(https://i.imgur.com/EiaR0sx.mp4) but this is beyond my technical understanding. For now spreadcycle seems to operate without issue for me well above 200mm/s, especially with the corrected hysterisis values.

Edit: I see he said that no load is actually the worst for resonance, so that’s explained.

In a few days, should we see no further developments, I will close this ticket if there are no objections

I'd like to have this open for some more time to find the best chopper timing in hybrid mode. Rendering a comparison video for my printer right now. If for example @Portzal's timings are better than the existing defines, we might want to commit a new BLVCUBE preset and possibly add some comments to the hybrid mode switch.

Edit: Here's a comparison of CHOPPER_DEFAULT_24V, CHOPPER_PRUSAMK3_24V and CHOPPER_TIMING { 3, -1, 5 }. The last one is the most silent: https://youtu.be/A7GWkTTyzW0

@thinkyhead the chopper timing numbers I have come up with after a full day of testing appear to settle down noise and vibration on 0.9 degree steppers. Would I open a feature request to have them added as a present?

@Portzal yep that is the fastest way to do it

oh bugger.... i read the last line as a PR which means a pull request where you write the code changes and ask for them to be included

sorry for the mis-read :-/

No worries, I will have to look into that and see if It something I can work out 👍

I have the same issue on TMC5160 and Moons 0.9 motors... Homing is quite loud :\
Reducing homing speed helped with the initial noise, but movements at some speed still resonating too loud, diagonal moves are more noisy...

@controlflow: PSU 24V ?

May be it can help ? https://github.com/MarlinFirmware/Marlin/issues/18542

Shall I close this yet? I’m still of the opinion that there is an issue, as even 1.8s in sc are very noisy, but I think we’re in agreement that this is not a marlin issue. There’s a FR(posted a few comments up) regarding chopper values which is the only place I see this discussion continuing unless something new comes up...at which point a new ticket can be opened or this can be reopened.

Going once? Going twice?

Sold

I have the same issue
https://imgur.com/a/NZsZzT9
horizontal/vertically at between 9000mm/min and 10000mm/min
and diagonally at 6000/7000.
I'm on 12v, BTT SKR 1.4, BTT TMC 2209 1.2 with 1.8deg 0.9A 0.34Nm steppers.

For me at 10000mm/min even when disconnected from the gantry, the steppers lose a massive number of steps, it only turns like 120deg total when telling it to move 300mm. But with StealthChop off it can easily go 20,000 unloaded.

Glad I found this because I was going to try to switch to 0.9deg steppers to upgrade/attempt to fix the issue.

I upgraded my machine from Cartesian to CoreXY last week and came across this issue while tuning. Thing is it's mostly the same frame as before, and same steppers, with StealthChop and 256 babystepping, and they were able to go that fast before without resonating the whole frame.

I have the same issue
https://imgur.com/a/NZsZzT9
horizontal/vertically at between 9000mm/min and 10000mm/min
and diagonally at 6000/7000.
I'm on 12v, BTT SKR 1.4, BTT TMC 2209 1.2 with 1.8deg 0.9A 0.34Nm steppers.

For me at 10000mm/min even when disconnected from the gantry, the steppers lose a massive number of steps, it only turns like 120deg total when telling it to move 300mm. But with StealthChop off it can easily go 20,000 unloaded.

Glad I found this because I was going to try to switch to 0.9deg steppers to upgrade/attempt to fix the issue.

I upgraded my machine from Cartesian to CoreXY last week and came across this issue while tuning. Thing is it's mostly the same frame as before, and same steppers, with StealthChop and 256 babystepping, and they were able to go that fast before without resonating the whole frame.

yep youll have better luck using 1.8's with the correct chopper timing. the bottom line is that, i think, the kinematics of corexy require something that TMC hasnt caught up with. this issue only seems to present itself on tmc builds, but corexy is not new. if it were this would be well documented by now. hopefully with the next iteration of tmc chips theyll get this addressed. many of us have found a "mostly" workable setup with proper chopper timings, and properly tuned vref/hybrid threshold.

So small update that might help some 12v CoreXY people who are coming across the squealing. I just upgraded my XY motors from 16T GT2 pulleys (~9.6mm dia) to 20T GT2 pulleys (~12mm dia). That change increased the rates at which the squeal started by about 20%.

Before it squealed when moving horizontally/vertically at over 9000mm/min. Now I can get to 12500mm/min.
And diagonally it was squealing at just over 6000mm/min, now I can get to 9000mm/min. Diagonals were killing things before, now it's fast enough to be decent. Really wish I could use hybrid threshold to get around this issue, but the speeds StealthChop move at when that's enabled get cut in half and then it just stalls out :/

Since the motors have the torque to spare at the lower speeds, maybe I could get everything working even better with some 30T pulleys (~18mm dia), should increase the speeds by a few thousand mm/min more before resonance kicks in.

Ok wow I'm not crazy. I also upgraded to MS17HA2P4150 0.9 deg stepper motor and I have a good level on noise on my steppers as well with sudden accelerations. TMC2209 here on a SKR1.4 turbo.

Same issue, i have read all the page... and i want to add something in the investigation!

I use stealthchop and the prints start quietly, but i experience noise/vibration as soon as the stepper become hot.
its like the stealthchop turns off!
can anyone confirm?!

hardware: BTT v1.4 turbo, BTT TMC2209 v1.2, Cartesian, Anet A8 steppers.

Moons MS17HA6P4200 are really loud in stealthchop. but however ldo 0.9 motors were completely silent on same machine with 3,0,1 chopper timing settings. for moons it seems nothing works its even worse at lower speeds than 100mm/s. really disappointing.

I have moon's MS17HA2P4150 and they get loud and vibrate when the have to make fast moves otherwise they are silent. @SFRSKZ what model of ldo do you use ?

On my CoreXY I am printing in StealthChop up to 95mm/s and SpreadCycle above that with CHOPPER_09STEP_24V for X and Y (09 degree steppers ) and CHOPPER_DEFAULT_24V for E and Z (1.8 degree steppers )

@Hyrules LDO-42STH38-1684MA https://www.alibaba.com/product-detail/0-9-Degree-NEMA-17-High_537229601.html?spm=a2700.details.deiletai6.23.1ead35e4sbPy5M i have also 47-1684MA. while using moons, fast travel moves or printing curves were loud. tried many different combination but nothing really worked. im using skr v1.4 turbo and v1.3 with 2209s on my two prusa bear upgrade.

Sounds like the timing profile is pretty important.
How about a notice at https://marlinfw.org/docs/hardware/tmc_drivers.html and a link how to find the correct values?

@SFRSKZ thanks ! you basically tried the same thing as me. I tried alot of settings to quiet down the moon's motor. I think I will get some of those ldo as well. Moon's are not cheap cost me about 200$ taxes included for 2 motors directly from moon's and they are noisy at high speed and with curves as well.

I have finally fitted some E3D high torque 0.9's to my new CoreXY and I am very happy with how they are behaving in StealthChop at higher speeds. Board SKR V1.4 Turbo, TMC2226's. Speeds in video are 100mm/s print speed and 150mm/s travel speed. Even at 200% they are still behaving. https://youtu.be/gTiPXbDZtqo

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kAdonis picture kAdonis  Â·  169Comments

thinkyhead picture thinkyhead  Â·  1715Comments

Roxy-3D picture Roxy-3D  Â·  497Comments

d2crafty picture d2crafty  Â·  212Comments

bruce356 picture bruce356  Â·  169Comments