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

    3.5.0-rc.1 Brakes not engaging

    Scheduled Pinned Locked Moved
    Beta Firmware
    7
    32
    1.4k
    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.
    • p8blrundefined
      p8blr @dc42
      last edited by

      @dc42 To be clear, these are "power-off" brakes, which is to say that they apply the brake when power is not applied, and release when powered. You are correct, when the machine starts up, and no movement commands are sent, the brakes are not powered, and when I execute a movement then the brakes are powered. That portion works correctly. What I'm saying is that when I send the machine a M18, the brakes stay powered and I would prefer that they lose power (brakes applied).

      p8blrundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • p8blrundefined
        p8blr @p8blr
        last edited by

        Bumping this thread. I hope my clarification makes sense.

        1 Reply Last reply Reply Quote 0
        • p8blrundefined
          p8blr
          last edited by

          @dc42 Checking in again because it's been a while since you last responded. Please see my clarification.

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

            @p8blr thanks for the reminder. It's our intention that when you send M18 the brake solenoid is first turned off (to apply the brake), than after a short delay to allow the brake to engage the signal is sent to disable the driver. As the brake may take a little while to engage, if the delay is not long enough then there might be a small amount of motor movement before the brake engages. Is this what you are seeing, or is the brake solenoid continuing to receive power long after the M18 command is executed, and before any other movement commands are sent?

            Please try the firmware build at https://www.dropbox.com/scl/fo/tjznycpk7bv7sj71p0ssl/h?rlkey=096p4nvgmigyrb20jj8olg3wu&dl=0 and test which this is still not working.

            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

            1 Reply Last reply Reply Quote 0
            • Amagatthundefined
              Amagatth @p8blr
              last edited by

              @p8blr hey , i have the same probleme , did you find a solution ?

              p8blrundefined 1 Reply Last reply Reply Quote 0
              • p8blrundefined
                p8blr @Amagatth
                last edited by

                @Amagatth Unfortunately no. I never had a chance to test @dc42 's firmware build, and by the time we got a chance to look at this issue again, we'd upgraded to the latest firmware. I can report that the latest firmware 3.5.1 does not resolve the issue. A M18 does not engage the brakes, the only way I've found to do that is to turn the printer off and on again. This is an issue for large 3D printers, as some have locking doors with a safety system to de-energize the servos when opened, so the brakes not engaging is unsafe (particularly for something like a Z-axis that may drift due to gravity).

                There is also the issue of a M18 causing strange homing behavior with the printer which I've reported here:
                https://forum.duet3d.com/topic/35836/strange-behavior-after-re-homing-printer/3?_=1719417263446
                No response or fix for that yet though. @Phaedrux are these issues perhaps related?

                Amagatthundefined 1 Reply Last reply Reply Quote 0
                • Phaedruxundefined Phaedrux marked this topic as a question
                • Amagatthundefined
                  Amagatth @p8blr
                  last edited by

                  @p8blr i found the same result , but reboot printer take some MS to active brake and the head go down during this time 😕

                  timschneiderundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                  • timschneiderundefined
                    timschneider @Amagatth
                    last edited by

                    @dc42
                    this is still persistent in 3.5.2

                    my brake is on out8 of Duet3 6HC in SBC mode

                    Product				Short Name 	Version
                    Duet 3 MB6HC 			MB6HC 	3.5.2
                    Duet 3 Expansion MB6XD 		MB6XD 	3.5.2
                    Duet Software Framework 	DSF 	3.5.2
                    Duet Web Control 		DWC 	3.5.2 
                    

                    the brake is configured with

                    M569.7 P2 C"out8"
                    

                    brake is engaged when not powered
                    brake is disengaged when powered

                    • after power on, the brake is engaged (not powered) M569.7 P2 C"out8" in config.g
                    • after G92 Z300, nothing changed
                    • after G91 G1 Z-0.05, the brake is disengaged (powered)
                    • after M17 Z, the brake is still disengaged (powered)
                    • after M18 Z, the brake is still disengaged (powered)
                    • after doing M569.7 P2 C"out8" again, the brake is now engaged (not powered) - so the logic is now inverted
                    • after M18 Z, the brake is still engaged (not powered)
                    • after G92 Z300, still engaged
                    • after G91 G1 Z-0.05 still engaged (it is not possible to move the axis or disengage the brake)
                    • reapplying M569.7 P2 C"out8" will not change the logic again
                    • applying M569.7 P2 C"!out8" will change the logic again

                    so it seams, that the functions EngageBrake and DisengageBrake are not working as expected.
                    I've tried to find the bug in the code, but was unable to get it. The functions are pretty straigt forward. The only thing that caught my attention was the pin access mode PinAccess::write0 and the new PWM voltage divider.

                    		if (!brakePorts[driver].AssignPort(gb, reply, PinUsedBy::gpout, PinAccess::write0))
                    		{
                    			return GCodeResult::error;
                    		}
                    

                    but anyhow I don't know if this should be PinAccess::pwm

                    Another thing is the following inside EngageBrake

                    #if SUPPORT_BRAKE_PWM
                    	currentBrakePwm[driver] = 0.0;
                    #endif
                    

                    if this is not forwared to the Spin() Method - the brake will get disengaged again.

                    timschneiderundefined 1 Reply Last reply Reply Quote 0
                    • timschneiderundefined
                      timschneider @timschneider
                      last edited by timschneider

                      @p8blr
                      @Amagatth
                      I dont need the PWM feature and recompiled the latest 3.5-dev without SUPPORT_BRAKE_PWM
                      Now, the brake is engaging and disengaging as expected.

                      Duet3Firmware_MB6HC.bin

                      dc42undefined Amagatthundefined 2 Replies Last reply Reply Quote 1
                      • dc42undefined
                        dc42 administrators @timschneider
                        last edited by dc42

                        @timschneider thanks for the update. I have created https://github.com/Duet3D/RepRapFirmware/issues/1023.

                        dc42 created this issue in Duet3D/RepRapFirmware

                        closed M17 doesn't re-engage motor brake #1023

                        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

                        1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @Amagatth
                          last edited by

                          Also @Amagatth, regarding your thread https://forum.duet3d.com/topic/35935/controle-nema-23-brake, see @dc42's post above.

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                          • T3P3Tonyundefined
                            T3P3Tony administrators @droftarts
                            last edited by

                            @Amagatth @p8blr which boards are you using, both and mainboards and expansion boards, and which ones have motor brakes connected.

                            www.duet3d.com

                            p8blrundefined 1 Reply Last reply Reply Quote 0
                            • Amagatthundefined
                              Amagatth @timschneider
                              last edited by

                              @timschneider thx i try to put your file but i am on 3.5.2 it work ?

                              timschneiderundefined 1 Reply Last reply Reply Quote 0
                              • timschneiderundefined
                                timschneider @Amagatth
                                last edited by timschneider

                                @Amagatth
                                yes this is for 3.5.2 and the brake connected to MB6HC

                                anyhow, I've applied the patch from @dc42 on RRF to use WriteAnalog and this works.

                                c689be7c-b6b1-4bdc-94c6-e6eb0b985d9f-grafik.png

                                 src/Platform/Platform.cpp | 4 +++-
                                 1 file changed, 3 insertions(+), 1 deletion(-)
                                
                                diff --git a/src/Platform/Platform.cpp b/src/Platform/Platform.cpp
                                index 874b75ac..f3c2f560 100644
                                --- a/src/Platform/Platform.cpp
                                +++ b/src/Platform/Platform.cpp
                                @@ -2732,8 +2732,10 @@ void Platform::EngageBrake(size_t driver) noexcept
                                 {
                                 #if SUPPORT_BRAKE_PWM
                                 	currentBrakePwm[driver] = 0.0;
                                -#endif
                                +	brakePorts[driver].WriteAnalog(0.0);
                                +#else
                                 	brakePorts[driver].WriteDigital(false);			// turn the brake solenoid off to engage the brake
                                +#endif
                                 }
                                 
                                 void Platform::DisengageBrake(size_t driver) noexcept
                                
                                

                                Duet3Firmware_MB6HC.bin

                                @p8blr
                                this is the file for the 6XD with WriteAnalog(0.0)
                                Duet3Firmware_MB6XD.bin

                                Amagatthundefined 1 Reply Last reply Reply Quote 1
                                • Amagatthundefined
                                  Amagatth @timschneider
                                  last edited by

                                  @timschneider thx for the file i apply it

                                  Amagatthundefined 1 Reply Last reply Reply Quote 0
                                  • Amagatthundefined
                                    Amagatth @Amagatth
                                    last edited by

                                    @Amagatth it work ! now m18 engage break !

                                    1 Reply Last reply Reply Quote 1
                                    • p8blrundefined
                                      p8blr @T3P3Tony
                                      last edited by

                                      @T3P3Tony

                                      (1) 6XD
                                      (5) 3HC
                                      (2) 1XD
                                      raspberry pi 5 in sbc mode

                                      Z motors and brakes on 6XD (out3-6)

                                      p8blrundefined 1 Reply Last reply Reply Quote 0
                                      • p8blrundefined
                                        p8blr @p8blr
                                        last edited by

                                        @timschneider I tried that file but it seems to have messed everything up. Now what do I do?
                                        2024-08-28 14_33_07-Arc.png

                                        @dc42 When will this issue be fixed? I've also noticed that remapping drives do different axes messes up the brake control as well. Only a reboot will fix.

                                        timschneiderundefined 1 Reply Last reply Reply Quote 0
                                        • timschneiderundefined
                                          timschneider @p8blr
                                          last edited by timschneider

                                          @p8blr
                                          hi maybe you try the 3.5.3 rc-1 the fix is included

                                          https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.3-rc.1

                                          https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-RC#reprapfirmware-353-rc1-changes-since-352

                                          M17 did not energise the motor brake solenoid (issue 1023)

                                          p8blrundefined 1 Reply Last reply Reply Quote 1
                                          • p8blrundefined
                                            p8blr @timschneider
                                            last edited by p8blr

                                            @timschneider I just setup a new image again and M997 S2 F"unstable" doesn't work, sudo apt update, sudo apt upgrade doesn't update the firmware, neither does M997 B0. How do I do this? I don't see any documentation of the sort.

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