Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Bad Vibrations through printer

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    vibration 1hcl
    7
    31
    1.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • samlogan87undefined
      samlogan87
      last edited by

      Hey everyone,

      Thank you for your input thus far. @dc42 as @deckingman mentioned, it is doing it with both motors. @Phaedrux as @o_lampe said, I don't think it is the water cooling pipes as the fittings on the hot end swivel.
      @o_lampe I don't think it is that as when I make an adjustment as below, it stops for the entire rest of the print

      To elaborate more I guess. If I run the print normally, it will make that sound throughout the entire print. If I change the F parameter in the M569 for the two motors on the fly while printing via the console(eg both to 10), it instantly stops. After I finish a print and I add that value I sent via the console while printing to the config.g file and print again it will make that noise even though it stopped it the first time. Changing the value to something else via the console while printing fixes the issue( eg 11). If I repeat above with this new value it still does it again.
      It is something to do either with the motors or the drivers as I can not see how it could be mechanical when by making that adjustment it stops it for the entire rest of the print. I am running the motors on 1HCL boards and I am wondering whether maybe there is something strange going on there. I will try and get the encoders sorted this week, however, I am not wanting to spend too much time on it just in case it causes me issues trying to tune them as well.

      Pretty stumped with where to go from here.

      Cheers
      Sam

      Custom Core-XY

      deckingmanundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @samlogan87
        last edited by

        @samlogan87 To test my theory about the motors sounding like the drivers are reverting to full step mode, try a print with micro stepping set to 1. If my theory is right, then it should sound harsh throughout and changing the F parameter should have no effect. I could be miles off, but it's a quick test and might provide another data point as to the cause.

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 0
        • o_lampeundefined
          o_lampe @samlogan87
          last edited by

          @samlogan87 With the new information at hand, I think the settings in config.g are ignored, maybe because the communication between main controller and 1HCL isn't established at that time.
          That's why sending the M569 line again via DWC works.
          There was a bug regarding 'steppers run wrong way' popping up regularly, which was also caused by missed coms between boards.

          One workaround could be to put these M569 lines in the start code of the slicer or wait and see, what the devs will suggest. ( eg. G4 dwell time in config to give more time for controllers to establish coms?)

          1 Reply Last reply Reply Quote 0
          • samlogan87undefined
            samlogan87
            last edited by samlogan87

            So I played around again with it. Changing the dwell at the start to 10 seconds did not fix it and I also tried single micro stepping and it was unbelievably noisy so I am still at a loss. @dc42 Is there anything else I could try? I tried not defining the F parameter at all in the config.g file and it is still the same behaviour.

            Cheers
            Sam

            Custom Core-XY

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined Phaedrux marked this topic as a question
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              Do you have the specs of the motors?

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • samlogan87undefined
                samlogan87
                last edited by

                @Phaedrux they are the LDO 2504AC motors. The specs can be found here. Mine have extended shafts for encoders

                https://caribou3d.com/en/stepper-motors/843-18-stepper-motor-ldo-42sth48-2504ac.html

                Basically max current is 2.5A, phase resistance is 1.2ohm, inductance is 1.5mH, torque is 55n-cm

                Cheers
                Sam

                Custom Core-XY

                mrehorstdmdundefined 1 Reply Last reply Reply Quote 0
                • mrehorstdmdundefined
                  mrehorstdmd @samlogan87
                  last edited by

                  @samlogan87 I watched the video. Is it accurate to say that the noise occurs mainly/only when the extruder is near the corner of the bed?

                  Can you post more photos of the printer, especially the belt layout of the XY mechanism?

                  https://drmrehorst.blogspot.com/

                  samlogan87undefined 1 Reply Last reply Reply Quote 0
                  • samlogan87undefined
                    samlogan87 @mrehorstdmd
                    last edited by

                    @mrehorstdmd unfortunately it has nothing to do with the position on the bed or the belts. If you read a couple of replies above, by changing the f parameter in the M569 for the two motors the problem stops and it is quiet throughout the rest of the print no matter where it is on the bed. I only put a short video up to show how changing the parameter fixes the issue and it seems to only be applied when there is a direction change which is why I think people think it has to do with the area on the bed or the belts.

                    Cheers
                    Sam

                    Custom Core-XY

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      From DC42: we know that some motors are unpleasantly noisy with the 1HCL and we have significant improvements in the works for 3.5beta4.

                      Meanwhile, here are some tips on reducing noise in such cases:

                      • Use a much lower P value than the auto tune suggests, e.g. 1/3 as much. You may have to accept slightly larger error bounds (M569.1 E parameter).

                      • If running firmware 3.5.0beta2 or later, there is a new V parameter in the M569.1 command. A V value of a few hundred may help a lot to allow good speeds even with a lower P value.

                      • Don't use the step function or the auto tune function to tune the P value. Instead, set the axis acceleration (M201) to quite a high value e.g. 5000, and tune using an explicit GCode move with acceleration, steady speed and deceleration segments; for example G91 G1 H2 X40 F12000 (assuming your machine can move at 200mm/sec).

                      • Having selected a P value, re-tune I and especially D.

                      • Re-test at the highest travel speed that you want to use, to make sure that the new P value is sufficient.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @samlogan87
                        last edited by dc42

                        @samlogan87 I would add that the noise/vibration issue referred to by @Phaedrux is specific to closed loop mode. If you are also getting these bad vibrations when you run the motor in open loop mode, then the problem is mechanical.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        samlogan87undefined 1 Reply Last reply Reply Quote 0
                        • samlogan87undefined
                          samlogan87 @dc42
                          last edited by samlogan87

                          @Phaedrux i am not running in closed loop at the moment. @dc42 hi David, how would changing a value for the F parameter in my M569 declaration stop the noise all together for the entire rest of the print? It doesn’t matter what I change it to, just that it is changed while printing and the problem disappears

                          Custom Core-XY

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @samlogan87
                            last edited by dc42

                            @samlogan87 the only explanation I can think of for why changing the F parameter would resolve the issue regardless of what you change it to is if the TMC driver register that holds that F value (the chopper control register) is getting corrupted somehow, and rewriting that register restores the correct value. If it was just one of the motors that was affected, then I would suspect a faulty driver chip.

                            The default value for F is 3. You can read the value in the chopper control register using this command:

                            M569.2 P#.0 R{0x6c}

                            replacing # by the CAN address of the board. If you haven't changed that F parameter, and assuming you are using x16 microstepping with interpolation, the value returned should be 0x14008053 if the driver has been enabled. The final digit will change with the F parameter, and will be zero if the drive is disabled (e.g. using M18).

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            samlogan87undefined 2 Replies Last reply Reply Quote 0
                            • samlogan87undefined
                              samlogan87 @dc42
                              last edited by

                              @dc42 hmm interesting, what could be causing that. I did check what the response was when I sent M569 P10.0 and P11.0 and it gave the valve as per what was set

                              Custom Core-XY

                              1 Reply Last reply Reply Quote 0
                              • samlogan87undefined
                                samlogan87 @dc42
                                last edited by samlogan87

                                @dc42 Hi David,

                                I ran what you said plus M569 x.0 without parameters and thats what I got

                                5/31/2023, 8:03:13 PM	M569.2 P11.0 R{0x6c}
                                Register 0x6c value 0x14008050
                                5/31/2023, 8:03:05 PM	M569.2 P10.0 R{0x6c}
                                Register 0x6c value 0x14008050
                                5/31/2023, 8:01:47 PM	m569 p11.0
                                Driver 11.0 runs in reverse, active low enable, mode spreadCycle, ccr 0x0805a, toff 10, tblank 1, thigh 200 (46.9 mm/sec), hstart/hend/hdec 5/0/0, pos 168
                                5/31/2023, 8:01:42 PM	m569 p10.0
                                Driver 10.0 runs in reverse, active low enable, mode spreadCycle, ccr 0x0805a, toff 10, tblank 1, thigh 200 (46.9 mm/sec), hstart/hend/hdec 5/0/0, pos 184
                                
                                

                                And after enabling the drivers, this is what I get

                                5/31/2023, 8:06:39 PM	M569.2 P11.0 R{0x6c}
                                Register 0x6c value 0x1400c05a
                                5/31/2023, 8:06:35 PM	M569.2 P10.0 R{0x6c}
                                Register 0x6c value 0x1400805a
                                5/31/2023, 8:06:25 PM	M569 P11.0
                                Driver 11.0 runs in reverse, active low enable, mode constant off-time, ccr 0x0805a, toff 10, tblank 1, thigh 200 (46.9 mm/sec), pos 424
                                5/31/2023, 8:06:21 PM	M569 P10.0
                                Driver 10.0 runs in reverse, active low enable, mode spreadCycle, ccr 0x0805a, toff 10, tblank 1, thigh 200 (46.9 mm/sec), hstart/hend/hdec 5/0/0, pos 248
                                

                                When they are enabled, they are not the same so not sure if that is anything

                                Cheers,
                                Sam

                                Custom Core-XY

                                o_lampeundefined 1 Reply Last reply Reply Quote 0
                                • o_lampeundefined
                                  o_lampe @samlogan87
                                  last edited by

                                  @samlogan87 Just want to mention that the 'ccr value' is 0x0805a for both drivers after enabling, but the registers are different.
                                  Not sure if that has a meaning...

                                  samlogan87undefined 1 Reply Last reply Reply Quote 0
                                  • samlogan87undefined
                                    samlogan87
                                    last edited by

                                    Interesting, I started printing and those values change to the same as the odd one after I homed the axis above.

                                    5/31/2023, 9:36:55 PM	M569.2 P11.0 R{0x6c}
                                    Register 0x6c value 0x1400c05a
                                    5/31/2023, 9:36:49 PM	M569.2 P10.0 R{0x6c}
                                    Register 0x6c value 0x1400c05a
                                    5/31/2023, 9:36:43 PM	Printing paused at X309.3 Y24.4 Z0.2
                                    5/31/2023, 9:36:37 PM	M25
                                    Resume state saved
                                    5/31/2023, 9:35:13 PM	M32 "0:/gcodes/Film Hole Tester Top Piece.gcode"
                                    File 0:/gcodes/Film Hole Tester Top Piece.gcode selected for printing
                                    

                                    And when I go back and change the F parameter while I have paused the print, they change to what they were before the print started

                                    5/31/2023, 9:39:39 PM	M569.2 P11.0 R{0x6c}
                                    Register 0x6c value 0x1400805a
                                    5/31/2023, 9:39:34 PM	M569.2 P10.0 R{0x6c}
                                    Register 0x6c value 0x1400805a
                                    5/31/2023, 9:39:24 PM	M569 P11.0 F10
                                    5/31/2023, 9:39:20 PM	M569 P10.0 F10
                                    

                                    The printer is not quite and does not resonate/vibrate/annoy the wife

                                    Cheers
                                    Sam

                                    Custom Core-XY

                                    1 Reply Last reply Reply Quote 0
                                    • samlogan87undefined
                                      samlogan87 @o_lampe
                                      last edited by

                                      @o_lampe Yeah I am not 100% know what all the registers do but something is going wrong when I start a print

                                      Cheers
                                      Sam

                                      Custom Core-XY

                                      dc42undefined 1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators @samlogan87
                                        last edited by

                                        @samlogan87 if the driver is in spread cycle mode (the default) then the default value of that register should be 0x14008053 when the driver is enabled and 0x14008050 when it is disabled. The lowest 4 bits are the TOFF time when the driver is enabled, so 0x1400805a would be correct if you used M569 with an F parameter of 10.

                                        The value 0x1400c053 would be correct if the driver was put into constant off-time mode using M560 P# D0. I notice that one of your M569 commands did indeed report that the driver was in constant off-time mode:

                                        @samlogan87 said in Bad Vibrations through printer:

                                        Driver 11.0 runs in reverse, active low enable, mode constant off-time, ccr 0x0805a, toff 10, tblank 1, thigh 200 (46.9 mm/sec), pos 424

                                        The driver is put into constant off-time mode using command M569 P# D0 where # is the full address of the driver. Do you have any such commands in your config.g or homing files?

                                        What firmware version do you have on your 1HCL boards? Use M115 B11 and M115 B10 to check.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        dc42undefined 1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators @dc42
                                          last edited by dc42

                                          PS - what I think is happening is:

                                          1. You have M569 P10.0 D0 and M569 P11.0 D0 commands somewhere in your homing or config.g files, that are putting the drivers into constantoff-time mode;
                                          2. Your motors are noisy when operated in constant off-time mode;
                                          3. I have found a bug in the firmware that causes constant off-time mode to be cancelled (reverting to stealthChop mode) when the M569 F parameter is used.

                                          Duet WiFi hardware designer and firmware engineer
                                          Please do not ask me for Duet support via PM or email, use the forum
                                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                                          samlogan87undefined 1 Reply Last reply Reply Quote 0
                                          • samlogan87undefined
                                            samlogan87 @dc42
                                            last edited by

                                            @dc42 Hi David,

                                            Bugger that was it. I hadn't commented out those lines in my homing files from when I had it set up for closed loop homing and calibration. I will try and see if it makes a difference tonight. In the example homing files you have for the 1HCL board, it has those lines M569 #.0 D0, could I make them D3 I think it is for stealthchop?

                                            They are both running Duet EXP1HCL firmware version 3.5.0-beta.3 (2023-04-14 13:08:48) not that I think it matters anymore

                                            Cheers
                                            Sam

                                            Custom Core-XY

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA