-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Knocking noise when moving TMC2208 (UART) #14183
Comments
I have the similar problem (maybe the same). Could you try to change in Configuration_adv.h: #define MONITOR_DRIVER_STATUS After this change the strange "grinding/koncking" noise are gone. My configuration:
|
Thanks, that helps! It looks like I'm hearing the calls to "monitor_tmc_driver()". If this isn't a bug we should add a comment to MONITOR_DRIVER_STATUS that it could lead to "grinding/knocking" noise. |
It has bothered me last 5 days, before I found this "lucky" settings :) What do you think @teemuatlut? Is it bug? |
Sounds plausible as the AVR SoftwareSerial disables interrupts when receiving data. |
I have exactly the same symptoms. |
I have noticed a random knock as well, I will test disabling the MONITOR_DRIVER_STATUS to see if it helps. -William |
I've noticed also that if m122 command sent to terminal during the print - the same noise happens |
commenting //#define MONITOR_DRIVER_STATUS worked for me too. But I'd like to be able to use this function. |
noise disappeared when I switched the board to 32 bit skr 1.3. Marlin code is almost identical (copy-paste config mostly). Old card (mks gen 1.4) was working at the edge of its performance. I believe the noise appears as a result of card's inability to send step pulses at constant speed as m122 command uses a lot of resources. |
This sounds like the same problem I had with my CR-10S using a MKS GEN 1.4 controller flashed with Marlin 2.0. I had 2208s on X,Y,Z,and E, with X and Y using stealthchop2, and Z and E in spreadcycle. I have been having issues with extrusions so I tried swapping back to a DRV8825 for E and after a fresh pull, and then re-flashing the noise was there. Going back to the 2208 for E. . . still there. Tried 8825's on Z and E . . . still there. Put all 8825 in and noise gone. It has been a week since I put the 8825's in, so is this still a problem, or has it been resolved yet. |
Please, try this again, as the TMC library has recently been updated |
I get a loud knocking noise as the TMC2208's switch down from spead-cycle to stealth-chop mode every time. The only solution I've so far found is to set the max feedrate just low enough to remain in stealth-chop mode (or just disable hybrid_threshold). |
@teemuatlut but the malin version 1.1.9 does not have this problem while monitor_driver_status enabled |
I finally got my platformio issues resolved, at least enough to load firmware. SO I re-installed my 2208's, re-flashed the firmware, and I see no improvement. I still get that noise while X and Y are moving. Wayne
Well, I would really like to try this again, but now I am having another problem compiling Marlin using platformio with Atom. I will definitely try again when I can get it to compile. |
I am having the same problem after updating from 1.1.x to 2.0.x. With no other changes, the steppers have a most awful knocking sound. I would love to be able to get rid of this. ] Quick Update: the previous posters are correct, MONITOR_DRIVER_STATUS_INTERVAL_MS in tmc_util.h has a direct effect on the noise. The higher the interval, the less frequent the noise. I am running at 2000 currently and it's not too bad. Hoping reducing the polling interval this much doesn't create an issue. |
Any new news on this issue? I just loaded 2.0 onto my MKS Gen L with TMC2208 in UART and I am getting the knocking noise with all axiis. I also verified that with Marlin 1.1.9 the knocking noise goes away. I’m wondering if something changed in the TMC library because with 1.1.x you have to use the TMC2208 specific library where as with 2.0 you use the more generic TMCSteppers library. Not sure what the difference is that causing the problem. |
You can disable MONITOR_DRIVER_STATUS in configuration.adv.h and the chopping sound goes away, but the issue with the 2208 and Linear Advance is still there. I wound up swapping the 2208 on E for a LV8729 so I could use Linear Advance. |
I did that and it does go away but so does the ability to monitor the serial lines. I managed to get linear advance to work with my 2208 by setting my E axis to SpreadCycle. But I'm having some serious over heating on my extruder so I’m planning swap for a different driver anyway. |
same for me, any luck with this one ? |
You can try the test branch of the library which reverts UART changes back to what it is in TMC2208Stepper which is used by Marlin 1.1.9. In any case the |
I’ve had this issues on multiple printers with 2208’s in uart. It happens
once you go to Marlin 2.0x. Dropping to 1.1.9 resolves.
There is a polling event in either tmc-util or stepper indirection I don’t
remember which and increasing that interval directly affected the knocking
noise. Slower interval, less knocks. More frequent, more knocking.
…On Wed, Sep 4, 2019 at 10:25 PM teemuatlut ***@***.***> wrote:
You can try the test branch of the library which reverts UART changes back
to what it is in TMC2208Stepper which is used by Marlin 1.1.9.
https://github.com/teemuatlut/TMCStepper/tree/revert_uart
If that helps, then I know the issue is with the library code. If not,
then I need to look into the Marlin monitoring code which was reworked some
time ago.
In any case the M122 needs to be better optimized to cache register
values and reduce the number of reads from the drivers.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#14183?email_source=notifications&email_token=AL4RFDNGGWVZYOP2YRYIA6DQICJ4BA5CNFSM4HQXRAAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD553UVI#issuecomment-528202325>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AL4RFDMVOU47V6AXHMGUS53QICJ4BANCNFSM4HQXRAAA>
.
|
If it is confirmed that the |
I am very new to all of this, so how do I revert to the test branch? I use VSCode/Platformio. |
Reverting to tree/revert_uart lib does not help for me, but connection issues that i describe in #15096 get back. |
If someone is interested I've had Marlin 2.0 package configured for MKS GEN L from April 2019 which works without knocking. |
I can confirm with @jacekk015 the April 12, 2019 commit, Tree #57aaa9110b, does not exhibit the knocking noise with the latest version for TMCStepper, 0.5.1. Here are the files configured for my ender 3 with an MKS Gen L and TMC2208s for X, Y, and Z. This does appear to be a bug with Marlin that developed between April of this year and now. |
now that many updates has passed is this one still the same? |
No difference. Still knocks like before. |
Has anyone tried the latest release of marlin yet to see if this issue is fixed? The list of updates references TMC2208s. |
@michaelsheridan23 looks like you could take the plunge and try? |
Tested today. The knocking noise still exists on latest release version (marlin and tmc library). |
Tried again with latest version (commit 5103cdc)... still the same knocking sound. looking at the April release seended by @jacekk015 , I see several differences when compared with latest release... on one thing that I tried too, is use a hardware serial on TMC2208 instead of software serial... I don't even know if this is possible, but if enable the option like some users said before, I think the Arduino it's not fast enough for this with Marlin 2.0 (that I believe consumes more resources) anybody with a overclocked arduino? :P |
MONITOR_DRIVER_STATUS with SoftwareSerial on an AVR will interfere with stepper timing in very large ways. Reading or writing a single byte will cause about 90 microseconds of jitter to the stepper timing, because interrupts have to be disabled for an entire byte duration. |
Should a sanity check be added for this combination? |
would not be a bad thing :-) |
Point is that it worked before (2.0.x april and 1.1.9). Or was it lacking any new feature? |
switching to Marlin 2.0.1 did it for me - no more continuous knocking with or without MONITOR_DRIVER_STATUS. |
Unfortunately no-go for me on Ender3 @rado79 Could you post your config files? Configuration.h and Configuration_adv.h |
@rado79 the SKR is a 32 bit board. This problem is only known to exist on 8-bit boards like the MKS gen l. Did you experience the knocking noise with the SKR on an earlier build? |
2.0.1 MKS Gen L1.0 + TMC2208 still knocking. |
So I think I found useful information. This commit was last without knocking: This commit introduce knocking :( @teemuatlut could you take a look what could cause knocking? |
Originally monitoring skipped drivers that used SW UART, so obviously there wouldn't be an issue if no drivers were checked. |
I think we need to add a sanity check to prevent using MONITOR_DRIVER_STATUS on AVR with software serial. Every check will consume the CPU for hundreds of microseconds, which just doesn’t seem viable to me. |
I am facing the issue of knocking steppers on my Ender 3 Pro regardless of which version of Marlin I use. I tried versions 1.1.9, 2.0.0 and the latest 2.0.1. The line Even when I move the steppers using the "Move axis" option of the printer, the knocking appears, but only on the X and Y axis. |
Yes, confirm. Had the same knocking as in the video above. |
|
@oechslein when you get time please have a retest and as bugfix 2.0.x is updated daily please retest say every 14 days or so |
@boelle Sorry I switched to a 32bit board (with HW Serial) and this only happens with 8bit boards/ SW Serial. However looking at the linked merged commit, the problem mentioned here can no longer occur since MONITOR_DRIVER_STATUS is now disallowed. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
I switched from Marlin 1.1 (bugfix_1.1.x - 7cc1410) to (bugfix_2.0.x 8e8e48f).
Without changing HW I'm now hearing always a knocking noise (slow or fast moves) on X, Y, Z. This noise wasn't there before.
I do have an Ender 3 with an MKS Gen L board, TMC2208 UART on X, Y, E and a ST820 on E (and BLTOUCH).
Steps to Reproduce
Use my config and probably also my printer...
Expected behavior: Same noise level as with 1.1
Actual behavior: Knocking noise
Additional Information
20190529_Bug_Report_Noise.zip
Videos are here: https://www.dropbox.com/sh/ip6kgwu06ekkdgu/AAAhQOQFqq-Jsm_XOYGWIPZga?dl=0
The text was updated successfully, but these errors were encountered: