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

M23cl config issues

Scheduled Pinned Locked Moved Solved
Duet Hardware and wiring
5
13
455
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.
  • undefined
    Phaedrux Moderator @kcorbedsellig
    last edited by 1 Apr 2024, 21:27

    @GillesDB said in M23cl config issues:

    RepRapFirmware for Duet 3 MB6HC version 3.4.1

    You're not even up to date on the stable branch (3.4.6).

    You'd need to switch the Pi to the unstable branch to get 3.5 RC3

    https://docs.duet3d.com/User_manual/Machine_configuration/DSF_RPi#switch-to-unstable-packages

    Z-Bot CoreXY Build | Thingiverse Profile

    undefined 2 Replies Last reply 2 Apr 2024, 07:30 Reply Quote 0
    • undefined
      kcorbedsellig @Phaedrux
      last edited by 2 Apr 2024, 07:30

      @Phaedrux Thanks, I'm sure this will do the trick.

      1 Reply Last reply Reply Quote 0
      • undefined
        kcorbedsellig @Phaedrux
        last edited by 3 Apr 2024, 10:17

        @Phaedrux @jay_s_uk
        I believe I've successfully upgraded the firmware:

        Product Short Name Version
        Duet 3 MB6HC MB6HC 3.5.0-rc.3
        Duet 3 Expansion M23CL M23CL 3.5.0-rc.1+
        Duet 3 Expansion M23CL M23CL 3.5.0-rc.1+
        Duet 3 Expansion M23CL M23CL 3.5.0-rc.1+
        Duet 3 Expansion M23CL M23CL 3.5.0-rc.1+
        Duet Software Framework DSF 3.5.0-rc.3
        Duet Web Control DWC 3.5.0-rc.3

        However, I'm getting the same results as before. I've added one fresh from the box under a new address to verify and it also gives the same errors.

        When I run the following config:

        ; executed by the firmware on start-up
        G4 S2 ;wait for expansion boards to start
        ; General preferences
        G90 ; send absolute coordinates...
        M83 ; ...but relative extruder moves
        M550 P"conveyor" ; set printer name
        M669 K0 ; printer mode
        M569.1 P71.0 T3 E2:4 R100 I0 D0 ; Configure the M23CL at CAN address 70
        M569.1 P72.0 T3 E2:4 R100 I0 D0 ; Configure the M23CL at CAN address 71
        M569 P71.0 D4 S1 ; Set into closed-loop drive mode (D4) and not reversed (S1)
        M569 P72.0 D4 S1 ; Set into closed-loop drive mode (D4) and not reversed (S1)
        M584 X71.0 Y72.0 ; set X and Y drivers
        M350 X32 Y32 ; set steps/mm to 32 for open loop mode operation
        M92 X160 Y160 ; steps/mm for a 20 tooth gt2 pulley for open loop operation

        The error is:

        M569.6 P71.0 V2
        Error: M569.6: Driver is not enabled

        And without any config for the M23CL's.
        config:

        ; executed by the firmware on start-up
        G4 S2 ;wait for expansion boards to start
        ; General preferences
        G90 ; send absolute coordinates...
        M83 ; ...but relative extruder moves
        M550 P"conveyor" ; set printer name
        M669 K0 ; printer mode

        Error:

        M569.6 P73.0 V2
        Error: M569.6: no encoder configured

        For as far as I can tell the M23CL's can't be updated to run RC.3 based on the following feedback from terminal.

        pi@conveyor:~ $ sudo rm -f /etc/apt/sources.list.d/duet3d.list
        pi@conveyor:~ $ sudo bash -c "echo 'deb https://pkg.duet3d.com/ unstable armv7' > /etc/apt/sources.list.d/duet3d-unstable.list"
        pi@conveyor:~ $ sudo apt update
        Hit:1 http://archive.raspberrypi.org/debian buster InRelease
        Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
        Hit:3 https://pkg.duet3d.com unstable InRelease
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        All packages are up to date.
        pi@conveyor:~ $ sudo apt dist-upgrade
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        Calculating upgrade... Done
        0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
        pi@conveyor:~ $

        Any help would be greatly appreciated.

        undefined 1 Reply Last reply 3 Apr 2024, 14:44 Reply Quote 0
        • undefined
          droftarts administrators @kcorbedsellig
          last edited by 3 Apr 2024, 14:44

          @GillesDB What is reported when you send M122 B71? Please post the full response.

          To update the motors to rc3, make sure the "Duet3Firmware_M23CL.bin" from https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.0-rc.3 is uploaded. If it doesn't prompt to update when uploaded, send M997 B71, and repeat for the CAN addresses of the other motors.

          I'm not sure if there is an order dependency for the M569.1 commands. They may need to go after the M569 commands.

          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

          undefined 1 Reply Last reply 5 Apr 2024, 10:27 Reply Quote 0
          • undefined
            kcorbedsellig @droftarts
            last edited by 5 Apr 2024, 10:27

            @droftarts Thank you for your reply.

            Here is the full reply on "M122 B73" before attempting to update through the bin file you linked to.

            M122 B73
            Diagnostics for board 73:
            Duet M23CL firmware version 3.5.0-rc.1+ (2023-10-26 09:24:34)
            Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25)
            All averaging filters OK
            Never used RAM 75428, free system stack 186 words
            Tasks: Move(3,nWait,0.0%,182) CLSend(3,nWait,0.0%,150) HEAT(2,nWait,0.0%,120) CanAsync(5,nWait,0.0%,67) CanRecv(3,nWait,0.0%,80) CanClock(5,nWait,0.0%,70) TMC(2,nWait,20.2%,359) MAIN(1,running,77.5%,399) IDLE(0,ready,0.0%,40) AIN(2,nWait,2.2%,265), total 100.0%
            Last reset 00:05:14 ago, cause: power up
            Last software reset data not available
            Driver 0: pos 0, 80.0 steps/mm, standstill, SG min 0, mspos 8, reads 63748, writes 12 timeouts 0, steps req 0 done 0
            Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00
            Peak sync jitter -7/3, peak Rx sync delay 184, resyncs 0/0, next timer interrupt due in 12 ticks, enabled, next step interrupt due in 4059135798 ticks, disabled
            VIN voltage: min 48.2, current 48.2, max 48.2
            V12 voltage: min 12.0, current 12.0, max 12.0
            MCU temperature: min 20.1C, current 23.6C, max 23.6C
            Last sensors broadcast 0x00000000 found 0 197 ticks ago, 0 ordering errs, loop time 0
            CAN messages queued 2535, send timeouts 0, received 1581, lost 0, errs 0, boc 0, free buffers 38, min 38, error reg 0
            dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
            Closed loop driver 0 mode: open loop, pre-error threshold: 2.00, error threshold: 4.00, encoder type none

            I downloaded the M23CL bin file and uploaded it in the system files which prompted an update on the M23CL that was connected at that time. It seems succesfull and displays in the machine specific info:

            Electronics
            Diagnostics
            Product Short Name Version
            Duet 3 MB6HC MB6HC 3.5.0-rc.3
            Duet 3 Expansion M23CL M23CL 3.5.0-rc.3
            Duet Software Framework DSF 3.5.0-rc.3
            Duet Web Control DWC 3.5.0-rc.3

            For M23CL with CAN 73.0 which is not configured at all in the config file it still reads:

            M569.6 P73.0 V2
            Error: M569.6: no encoder configured

            After reconnecting and updating 71.0 and 72.0 and running them with the same config file as before which was taken from the example in the documentation. I get popups in the DWC that say:
            "Event notification
            Driver 71.0 error: failed to maintain position"
            And the same for 72.0

            Upon trying to initiate the config for the M23CL I still get the same error:

            M569.6 P71.0 V2
            Error: M569.6: Driver is not enabled

            Here is the full reply on M112 B71.0 after updating.

            M122 B71.0
            Diagnostics for board 71:
            Duet M23CL firmware version 3.5.0-rc.3 (2024-01-24 17:54:18)
            Bootloader ID: SAME5x bootloader version 2.8 (2023-07-25)
            All averaging filters OK
            Never used RAM 45192, free system stack 186 words
            Tasks: EncCal(1,nWait 6,0.0%,470) Move(3,nWait 7,0.0%,166) CLSend(3,nWait 6,0.0%,148) HEAT(2,nWait 6,0.1%,108) CanAsync(5,nWait 4,0.0%,67) CanRecv(3,nWait 1,0.0%,66) CanClock(5,nWait 1,0.0%,65) TMC(4,nWait 6,70.0%,326) MAIN(1,running,25.2%,266) IDLE(0,ready,0.0%,30) AIN(2,nWait 2,4.7%,255), total 100.0%
            Owned mutexes:
            Last reset 00:04:19 ago, cause: software
            Last software reset data not available
            Driver 0: pos 0, 160.0 steps/mm, failed to maintain position, SG min n/a, mspos 4, reads 14047, writes 31123 timeouts 0, steps req 0 done 0
            Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00
            Peak sync jitter -6/3, peak Rx sync delay 190, resyncs 0/0, no timer interrupt scheduled
            VIN voltage: min 48.0, current 48.0, max 48.0
            V12 voltage: min 12.0, current 12.0, max 12.0
            MCU temperature: min 20.2C, current 21.1C, max 21.1C
            Last sensors broadcast 0x00000000 found 0 177 ticks ago, 0 ordering errs, loop time 0
            CAN messages queued 2100, send timeouts 0, received 1311, lost 0, errs 0, boc 0, free buffers 38, min 38, error reg 0
            dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
            Closed loop driver 0 mode: closed loop, pre-error threshold: 2.00, error threshold: 4.00, encoder type rotaryAS5047, position 1955
            Encoder reverse polarity: no, full rotations 0, last angle 1957, minCorrection=-12.6, maxCorrection=18.3, agc 62, mag 4757, no error
            Tuning mode: 0, tuning error: 0, collecting data: no
            Control loop runtime (us): min=4, max=66, frequency (Hz): min=8928, max=14150

            Since as in the example they are configured as X and Y it tried sending:

            M564 H0
            

            In order to move them without homing from the DWC. This allows me to move X and Y from the dashboard. When I do this I can see their location update in the status as well as it going from "idle" to "busy" but no movement in the steppers.

            The whole system seems to be running the latest versions of firmware but the errors have not changed. I've followed all the steps from the documentation as far as I can tell but no success.

            Not sure how to proceed from here, any help as always would be greatly appreciated. I'm most likely making a stupid mistake somewhere but the big question is where.

            undefined 1 Reply Last reply 5 Apr 2024, 14:50 Reply Quote 0
            • undefined
              dc42 administrators @kcorbedsellig
              last edited by dc42 4 May 2024, 14:51 5 Apr 2024, 14:50

              @GillesDB some of the errors you were seeing are likely because you updated the firmware on the M23CL motors but didn't restart the main board.

              To avoid the "Driver not enabled" message when you send M569.6, do the following:

              1. Map an axis motor to the driver using M584. You are probably doing this already in config.g; if not then you can temporarily map an axis to it. For example, if you don't already have a U axis you can send: M584 U71.0

              2. Enable that axis motor using M17. For example: M17 U

              Note, you only need to run M569.6 once on each M23CL, and you should run it with the motor loaded only lightly; so preferably disconnect the belts.

              Regards David

              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

              undefined 1 Reply Last reply 8 Apr 2024, 13:56 Reply Quote 0
              • undefined
                kcorbedsellig @dc42
                last edited by 8 Apr 2024, 13:56

                @dc42 Hey David, thank you for your reply.

                I'm working on a test setup, there is no load on any of the steppers and the config file is empty except for the bare minimum and whatever it told me to add in the documentation.

                I've just added 70.0 with an almost empty config as you described and when I run "M564 H0" I can indeed move the stepper which is a first. However when I try to run the M569.6 command it still gives me an error. I'm aware I only have to run it once but can't seem to get it working.

                08/04/2024, 14:43:52 M569.6 P70.0 V2
                Error: M569.6: no encoder configured
                08/04/2024, 14:43:16 M17 U
                08/04/2024, 14:43:04 M584 U70.0
                08/04/2024, 14:42:40 Connection established

                I then shut down and connected 70.0 and 71.0 and ran the config settings as in the documentation.

                Config:

                G4 S2 ;wait for expansion boards to start
                ; General preferences
                G90 ; send absolute coordinates...
                M83 ; ...but relative extruder moves
                M550 P"conveyor" ; set printer name
                M669 K0 ; printer mode
                M569.1 P70.0 T3 E2:4 R100 I0 D0 ; Configure the M23CL at CAN address 70
                M569.1 P71.0 T3 E2:4 R100 I0 D0 ; Configure the M23CL at CAN address 71
                M569 P70.0 D4 S1 ; Set into closed-loop drive mode (D4) and not reversed (S1)
                M569 P71.0 D4 S1 ; Set into closed-loop drive mode (D4) and not reversed (S1)
                M584 X70.0 Y71.0 ; set X and Y drivers
                M350 X32 Y32 ; set steps/mm to 32 for open loop mode operation
                M92 X160 Y160 ; steps/mm for a 20 tooth gt2 pulley for open loop operation

                And I get new errors on both.
                console:

                08/04/2024, 15:41:18 Warning: Driver 71.0 warning: failed to maintain position, tuning/calibration failed
                08/04/2024, 15:41:18 M569.6 P71.0 V2
                Error: M569.6: Driver 71.0 calibration failed, the measured motion was less than expected, measured counts/step is about 0.0
                08/04/2024, 15:40:40 Warning: Driver 70.0 warning: tuning/calibration failed
                08/04/2024, 15:40:40 M569.6 P70.0 V2
                Error: M569.6: Driver 70.0 calibration failed, the measured motion was less than expected, measured counts/step is about 0.0
                08/04/2024, 15:40:11 M17
                08/04/2024, 15:39:01 Connection established

                With these config settings, I can no longer get the steppers to move either.

                Another strange thing is also that I get an error as a popup for 71.0 but not for 70.0 even though they have the same settings upon startup.

                Event notification
                Driver 71.0 error: failed to maintain position```
                code_text

                Currently, 70.0 is one I ordered earlier and 71.0 is from a later batch that shipped directly from China. The older serial starts with 2311 and the newer ones start with 2403.

                Could this have something to do with how I wired them or would they not respond well to M115 in that case either?

                undefined 1 Reply Last reply 9 Apr 2024, 14:23 Reply Quote 0
                • undefined Phaedrux marked this topic as a question 8 Apr 2024, 19:35
                • undefined
                  dc42 administrators @kcorbedsellig
                  last edited by 9 Apr 2024, 14:23

                  @GillesDB your main board appears to be running firmware version 3.4.1 which is not compatible with the M23CL. Please upgrade to firmware 3.5.0-rc.4 throughout. As you are running in SBC mode, you will need to switch your Duet3D package feed to the unstable feed.

                  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

                  undefined 1 Reply Last reply 15 Apr 2024, 16:46 Reply Quote 0
                  • undefined
                    kcorbedsellig @dc42
                    last edited by 15 Apr 2024, 16:46

                    I've finally gotten everything to work.

                    The issue all along must have been the star-shaped configuration of cables I had for the Can signal. The system had one distribution block and 2m cables to the steppers. As soon as I changed this to one 2m cable followed by t splitters, 30cm cables and a 120-ohm resistor at the end everything started working as expected.

                    Thanks for all the help and sorry for wasting your time.

                    undefined 1 Reply Last reply 16 Apr 2024, 16:37 Reply Quote 0
                    • undefined
                      dc42 administrators @kcorbedsellig
                      last edited by 16 Apr 2024, 16:37

                      @GillesDB I'm glad you got it 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 1
                      • undefined dc42 has marked this topic as solved 16 Apr 2024, 16:37
                      13 out of 13
                      • First post
                        13/13
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA