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

    Problem with calibration of encoders

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    21
    668
    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.
    • Kirylundefined
      Kiryl
      last edited by

      Hello everyone,
      We are having problems with the encoder calibration on the stepper motor. We are using 1HCL expansion boards and with two of them the encoders can not calibrate, when we change to any other 1HCL the encoders calibrate fine.
      Zrzut ekranu 2022-12-05 092613.png
      Under the yellow error, information about the successful calibration of the encoder, and above some message that the encoder does not calibrate correctly. Is there anyone who can help? And if our problem is not solved, can we ask for a refund under warranty?

      jay_s_ukundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Kiryl
        last edited by

        @Kiryl what motors and encoders do you have? what firmware is running on board 61? (send M122 B61 and post the output)

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

          @Kiryl what firmware versions are your main board and your 1HCL expansion boards running? The 1HCL boards may be been programmed with different firmware versions.

          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

          Kirylundefined 1 Reply Last reply Reply Quote 0
          • Kirylundefined
            Kiryl @jay_s_uk
            last edited by

            @jay_s_uk Sorry for the long reply.
            There is an output of the M122 B61 command, and I also attach the datasheet for my encoder with motors.

            Karta katalogowa CS-M22331-L.pdf

            M122 B61
            Diagnostics for board 61:
            Duet EXP1HCL firmware version 3.4.0beta7+8 (2022-01-25 10:33:00)
            Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
            All averaging filters OK
            Never used RAM 52272, free system stack 2600 words
            Tasks: Move(notifyWait,0.0%,152) HEAT(notifyWait,0.0%,88) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,80) CanClock(notifyWait,0.0%,71) TMC(notifyWait,34.3%,360) CLSend(notifyWait,0.0%,152) MAIN(running,63.9%,408) IDLE(ready,0.0%,29) AIN(notifyWait,1.8%,265), total 100.0%
            Last reset 00:04:03 ago, cause: power up
            Last software reset data not available
            Closed loop enabled: yes, pre-error threshold: 0.00, error threshold: 0.00, encoder type rotaryQuadrature, reverse polarity: no, position 2, raw count = 0, tuning mode: 0, tuning error: 0x1, collecting data: no
            Control loop runtime (ms): min=0.003, max=0.028, frequency (Hz): min=11538, max=17857
            Driver 0: pos 0, 1600.0 steps/mm,standstill, SG min 0, mspos 4, reads 54056, writes 23 timeouts 0, steps req 0 done 0
            Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
            Peak sync jitter -5/8, peak Rx sync delay 192, resyncs 0/0, no step interrupt scheduled
            VIN voltage: min 24.2, current 24.3, max 24.4
            V12 voltage: min 18.1, current 18.1, max 18.2
            MCU temperature: min 23.7C, current 28.3C, max 28.3C
            Last sensors broadcast 0x00000000 found 0 27 ticks ago, 0 ordering errs, loop time 0
            CAN messages queued 1978, send timeouts 0, received 1231, lost 0, free buffers 37, min 37, error reg 0
            dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0

            jay_s_ukundefined 1 Reply Last reply Reply Quote 0
            • jay_s_ukundefined
              jay_s_uk @Kiryl
              last edited by

              @Kiryl please upgrade the system firmware to 3.4.5 as there have been a number of fixed for 1HLCs since the firmware you're running

              Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

              1 Reply Last reply Reply Quote 0
              • Kirylundefined
                Kiryl @dc42
                last edited by

                @dc42 The version of my main boadre firmavire is 3.4.4.
                And the 1HCL version is 3.4.1. But I don't think that's the problem. Because the other 1HCLs have the same version and work fine.

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

                  @Kiryl your M122 report indicates that the EXP1HCL at address 61 is running firmware 3.4.0beta7+8. Please upgrade it to version 3.4.4.

                  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

                  Kirylundefined 2 Replies Last reply Reply Quote 0
                  • Kirylundefined
                    Kiryl @dc42
                    last edited by

                    @dc42 Can you please explain to me how to update the firmware if I am using the 6HC main board in SBC mode? I understand that it should be easy, but I can't find a good explanation on the internet.

                    jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                    • jay_s_ukundefined
                      jay_s_uk @Kiryl
                      last edited by

                      @Kiryl M997 B61

                      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                      Kirylundefined 1 Reply Last reply Reply Quote 0
                      • Kirylundefined
                        Kiryl @dc42
                        last edited by Kiryl

                        @dc42 I used M997 B61 command, and now the output is:

                        M122 B61
                        Diagnostics for board 61:
                        Duet EXP1HCL firmware version 3.4.1 (2022-06-01 21:14:32)
                        Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
                        All averaging filters OK
                        Never used RAM 52256, free system stack 169 words
                        Tasks: Move(notifyWait,0.0%,108) HEAT(notifyWait,0.0%,88) CanAsync(notifyWait,0.0%,66) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,72) TMC(notifyWait,35.1%,360) CLSend(notifyWait,0.0%,152) MAIN(running,62.8%,399) IDLE(ready,0.0%,30) AIN(notifyWait,2.0%,265), total 100.0%
                        Last reset 00:00:34 ago, cause: software
                        Last software reset data not available
                        Closed loop enabled: yes, pre-error threshold: 0.00, error threshold: 0.00, encoder type rotaryQuadrature, reverse polarity: no, position 21, raw count = 65532, tuning mode: 0, tuning error: 0x4, collecting data: no
                        Control loop runtime (ms): min=0.004, max=0.017, frequency (Hz): min=10870, max=17045
                        Driver 0: pos -328000, 1600.0 steps/mm,tuning failed, SG min 0, mspos 76, reads 25212, writes 1072 timeouts 0, steps req 424000 done 136004
                        Moves scheduled 5, completed 5, in progress 0, hiccups 0, step errors 0, maxPrep 64, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
                        Peak sync jitter -5/5, peak Rx sync delay 192, resyncs 0/0, no step interrupt scheduled
                        VIN voltage: min 23.9, current 24.1, max 24.3
                        V12 voltage: min 12.2, current 12.2, max 12.2
                        MCU temperature: min 33.1C, current 33.8C, max 33.8C
                        Last sensors broadcast 0x00000000 found 0 212 ticks ago, 0 ordering errs, loop time 0
                        CAN messages queued 326, send timeouts 0, received 207, lost 0, free buffers 37, min 37, error reg 0
                        dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 295, adv 37076/37196

                        It looks like the firmware is only updated to version 3.4.1.

                        End encoders still do not work

                        1 Reply Last reply Reply Quote 0
                        • Kirylundefined
                          Kiryl @jay_s_uk
                          last edited by

                          @jay_s_uk I used M997 B61 command, and 1HCL updated only to 3.4.1 version. is there are any other ways to update to 3.4.4?

                          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                          • jay_s_ukundefined
                            jay_s_uk @Kiryl
                            last edited by

                            @Kiryl how did you update the setup to 3.4.4 originally? did you use sudo apt update etc to update through the SBC?
                            Can you post an output of M122?

                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                            Kirylundefined 1 Reply Last reply Reply Quote 0
                            • Kirylundefined
                              Kiryl @jay_s_uk
                              last edited by

                              @jay_s_uk I never used sudo apt update, M997 worked fine.
                              And here is a reprieve from M122

                              M122
                              === Diagnostics ===
                              RepRapFirmware for Duet 3 MB6HC version 3.4.4 (2022-10-20 16:19:01) running on Duet 3 MB6HC v1.01 (SBC mode)
                              Board ID: 0JD2M-999AL-D2PS0-6JTDA-3SD6J-1NJ30
                              Used output buffers: 1 of 40 (12 max)
                              === RTOS ===
                              Static ram: 152824
                              Dynamic ram: 66272 of which 76 recycled
                              Never used RAM 131428, free system stack 154 words
                              Tasks: SBC(ready,0.6%,466) HEAT(notifyWait,0.0%,374) Move(notifyWait,0.0%,256) CanReceiv(notifyWait,0.0%,773) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,340) TMC(notifyWait,7.8%,91) MAIN(running,90.8%,1257) IDLE(ready,0.8%,30), total 100.0%
                              Owned mutexes: HTTP(MAIN)
                              === Platform ===
                              Last reset 00:01:08 ago, cause: power up
                              Last software reset at 2022-09-18 06:19, reason: User, GCodes spinning, available RAM 131212, slot 0
                              Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
                              Error status: 0x00
                              Step timer max interval 132
                              MCU temperature: min 22.7, current 31.8, max 31.9
                              Supply voltage: min 23.7, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
                              12V rail voltage: min 12.2, current 12.2, max 12.2, under voltage events: 0
                              Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                              Events: 1 queued, 1 completed
                              Driver 0: standstill, SG min 0, mspos 8, reads 54074, writes 11 timeouts 0
                              Driver 1: standstill, SG min 0, mspos 8, reads 54075, writes 11 timeouts 0
                              Driver 2: standstill, SG min 0, mspos 8, reads 54075, writes 11 timeouts 0
                              Driver 3: standstill, SG min 0, mspos 8, reads 54075, writes 11 timeouts 0
                              Driver 4: standstill, SG min 0, mspos 8, reads 54075, writes 11 timeouts 0
                              Driver 5: standstill, SG min 0, mspos 8, reads 54075, writes 11 timeouts 0
                              Date/time: 2022-09-18 06:17:58
                              Slowest loop: 34.06ms; fastest: 0.03ms
                              === Storage ===
                              Free file entries: 10
                              SD card 0 not detected, interface speed: 37.5MBytes/sec
                              SD card longest read time 0.0ms, write time 0.0ms, max retries 0
                              === Move ===
                              DMs created 125, segments created 3, maxWait 34885ms, bed compensation in use: none, comp offset 0.000
                              === MainDDARing ===
                              Scheduled moves 15, completed 15, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                              === AuxDDARing ===
                              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                              === Heat ===
                              Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                              === GCodes ===
                              Segments left: 0
                              Movement lock held by null
                              HTTP* is doing "M122" in state(s) 0
                              Telnet is idle in state(s) 0
                              File is idle in state(s) 0
                              USB is idle in state(s) 0
                              Aux is idle in state(s) 0
                              Trigger* is idle in state(s) 0
                              Queue is idle in state(s) 0
                              LCD is idle in state(s) 0
                              SBC is idle in state(s) 0
                              Daemon is idle in state(s) 0
                              Aux2 is idle in state(s) 0
                              Autopause is idle in state(s) 0
                              Code queue is empty
                              === CAN ===
                              Messages queued 434, received 2273, lost 0, boc 0
                              Longest wait 7ms for reply type 6018, peak Tx sync delay 7, free buffers 50 (min 48), ts 343/342/0
                              Tx timeouts 0,0,0,0,0,0
                              === SBC interface ===
                              Transfer state: 5, failed transfers: 0, checksum errors: 0
                              RX/TX seq numbers: 2615/2615
                              SPI underruns 0, overruns 0
                              State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x2ad08
                              Buffer RX/TX: 0/0-0, open files: 0
                              === Duet Control Server ===
                              Duet Control Server v3.4.1
                              Code buffer space: 4096
                              Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
                              Full transfers per second: 50.79, max time between full transfers: 41.8ms, max pin wait times: 45.0ms/15.8ms
                              Codes per second: 1.46
                              Maximum length of RX/TX data transfers: 3044/1008

                              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                              • jay_s_ukundefined
                                jay_s_uk @Kiryl
                                last edited by

                                @Kiryl said in Problem with calibration of encoders:

                                Duet Control Server v3.4.1

                                then you've updated your system incorrectly
                                for SBC mode, you should SSH into the pi and use sudo apt update && sudo apt upgrade -y
                                you shouldn't be uploading firmware files and doing it that way

                                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                Kirylundefined 1 Reply Last reply Reply Quote 1
                                • Kirylundefined
                                  Kiryl @jay_s_uk
                                  last edited by

                                  @jay_s_uk Hello, I was able to update the system to version 3.4.4, here are the results of the M122 command:

                                  M122 B61
                                  Diagnostics for board 61:
                                  Duet EXP1HCL firmware version 3.4.4 (2022-10-14 11:45:14)
                                  Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
                                  All averaging filters OK
                                  Never used RAM 52256, free system stack 163 words
                                  Tasks: Move(notifyWait,0.0%,108) HEAT(notifyWait,0.0%,88) CanAsync(notifyWait,0.0%,66) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,70) TMC(notifyWait,36.1%,360) CLSend(notifyWait,0.0%,152) MAIN(running,61.9%,409) IDLE(ready,0.0%,30) AIN(notifyWait,2.0%,265), total 100.0%
                                  Last reset 00:06:04 ago, cause: software
                                  Last software reset data not available
                                  Closed loop enabled: yes, pre-error threshold: 0.00, error threshold: 0.00, encoder type rotaryQuadrature, reverse polarity: no, position -25137, raw count = 40539, tuning mode: 0, tuning error: 0x4, collecting data: no
                                  Control loop runtime (ms): min=0.003, max=0.029, frequency (Hz): min=10000, max=17442
                                  Driver 0: pos 1171200, 1600.0 steps/mm,tuning failed, SG min 0, mspos 828, reads 14455, writes 3168 timeouts 0, steps req 1804800 done 881639
                                  Moves scheduled 15, completed 15, in progress 0, hiccups 0, step errors 0, maxPrep 62, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
                                  Peak sync jitter -5/8, peak Rx sync delay 194, resyncs 0/0, no step interrupt scheduled
                                  VIN voltage: min 24.0, current 24.1, max 24.3
                                  V12 voltage: min 12.2, current 12.2, max 12.2
                                  MCU temperature: min 29.6C, current 36.1C, max 36.1C
                                  Last sensors broadcast 0x00000000 found 0 52 ticks ago, 0 ordering errs, loop time 0
                                  CAN messages queued 3002, send timeouts 0, received 1896, lost 0, free buffers 37, min 37, error reg 0
                                  dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 302, adv 37072/37189

                                  But the problem is still the same, the encoder is not calibrated on the axis where the driver is at address 61. When Ireplace it with any other driver, it calibrates without any problems.

                                  jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                                  • jay_s_ukundefined
                                    jay_s_uk @Kiryl
                                    last edited by

                                    @Kiryl so replacing the 1HLC with another 1HLC, the same motor calibrates ok?

                                    Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                    Kirylundefined 1 Reply Last reply Reply Quote 0
                                    • Kirylundefined
                                      Kiryl @jay_s_uk
                                      last edited by

                                      @jay_s_uk Yes

                                      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                                      • jay_s_ukundefined
                                        jay_s_uk @Kiryl
                                        last edited by

                                        @Kiryl one for @Phaedrux or @dc42

                                        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                        Kirylundefined 1 Reply Last reply Reply Quote 0
                                        • Kirylundefined
                                          Kiryl @jay_s_uk
                                          last edited by

                                          @jay_s_uk Does that mean I have to write to them or just wait for them to respond?

                                          jay_s_ukundefined dc42undefined 2 Replies Last reply Reply Quote 0
                                          • jay_s_ukundefined
                                            jay_s_uk @Kiryl
                                            last edited by

                                            @Kiryl wait for them to respond

                                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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