Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. ESCs
  3. Motor issues when running ESC calibration

Motor issues when running ESC calibration

Scheduled Pinned Locked Moved ESCs
108 Posts 3 Posters 52.3k Views 1 Watching
  • 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.
  • rdjarvisR rdjarvis

    @Alex-Kushleyev We do not have the data available.

    Alex KushleyevA Offline
    Alex KushleyevA Offline
    Alex Kushleyev
    ModalAI Team
    wrote on last edited by
    #14

    @rdjarvis , ok that is fine.

    What params do you currently have installed on the ESC? if you can share those, i can double check them.

    After i confirm the params, i suggest using a new working motor and run the calibration with limited maximum power of 40 or 50 and see what the plots look like (low enough max power to avoid burn up).

    Once we verify / fix any issues, we can run the calibration to higher power.

    Please get the latest voxl-esc tools on your VOXL2 from : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev

    rdjarvisR Alexander SaundersA 2 Replies Last reply
    0
    • Alex KushleyevA Alex Kushleyev

      @rdjarvis , ok that is fine.

      What params do you currently have installed on the ESC? if you can share those, i can double check them.

      After i confirm the params, i suggest using a new working motor and run the calibration with limited maximum power of 40 or 50 and see what the plots look like (low enough max power to avoid burn up).

      Once we verify / fix any issues, we can run the calibration to higher power.

      Please get the latest voxl-esc tools on your VOXL2 from : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev

      rdjarvisR Offline
      rdjarvisR Offline
      rdjarvis
      Regular
      wrote on last edited by
      #15

      @Alex-Kushleyev /old/esc_params_modalai_4_in_1_revb_mn1804_2400kv_gemfan5040.xml

      1 Reply Last reply
      0
      • Alex KushleyevA Alex Kushleyev

        @rdjarvis , ok that is fine.

        What params do you currently have installed on the ESC? if you can share those, i can double check them.

        After i confirm the params, i suggest using a new working motor and run the calibration with limited maximum power of 40 or 50 and see what the plots look like (low enough max power to avoid burn up).

        Once we verify / fix any issues, we can run the calibration to higher power.

        Please get the latest voxl-esc tools on your VOXL2 from : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev

        Alexander SaundersA Offline
        Alexander SaundersA Offline
        Alexander Saunders
        Contributor
        wrote on last edited by
        #16

        @Alex-Kushleyev

        To add to Ryan response for params, we have the value of zero for the params kp and ki.

        Alex KushleyevA 1 Reply Last reply
        0
        • Alexander SaundersA Alexander Saunders

          @Alex-Kushleyev

          To add to Ryan response for params, we have the value of zero for the params kp and ki.

          Alex KushleyevA Offline
          Alex KushleyevA Offline
          Alex Kushleyev
          ModalAI Team
          wrote on last edited by
          #17

          @Alexander-Saunders , OK, thanks, i don't see anything particularly wrong with using those params (even though the are from the old folder). I will do a test using these params and another similar motor just to check this.

          I checked i only have the 1500kV version of your motor (i thought i had 2850, but cannot locate it at the moment). If i had the exact motor, i could test it. I will look again.

          I just realized that the calibration script in the current state will not correctly show the total current on M0138 ESC (will show just zero). I need to make a small change to fix that.

          one test that is similar to the calibration, but will show the current is the following:

          ./voxl-esc-spin.py --id 3 --power 40 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
          

          This will spin id3 3 from 10 to 40 % power, it will take 2 seconds to ramp up the power and the test will end in 2.5 seconds and generate the plot (save to disk, same folder as the script).

          40% power should be safe to start, if you can run that test with a working motor, i can take a look at the plot (html) -- you can send a screen shot of the html after you view it in your browser.

          If the plot looks good, we can increase the maximum power in the ramp (gradually) and see how the motor performs. Please use the battery. If you see any abnormal behavior or unreasonably large current (in this test should definitely be less than 10A), you can terminate the test even faster using control-c.

          rdjarvisR 1 Reply Last reply
          0
          • Alex KushleyevA Alex Kushleyev

            @Alexander-Saunders , OK, thanks, i don't see anything particularly wrong with using those params (even though the are from the old folder). I will do a test using these params and another similar motor just to check this.

            I checked i only have the 1500kV version of your motor (i thought i had 2850, but cannot locate it at the moment). If i had the exact motor, i could test it. I will look again.

            I just realized that the calibration script in the current state will not correctly show the total current on M0138 ESC (will show just zero). I need to make a small change to fix that.

            one test that is similar to the calibration, but will show the current is the following:

            ./voxl-esc-spin.py --id 3 --power 40 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
            

            This will spin id3 3 from 10 to 40 % power, it will take 2 seconds to ramp up the power and the test will end in 2.5 seconds and generate the plot (save to disk, same folder as the script).

            40% power should be safe to start, if you can run that test with a working motor, i can take a look at the plot (html) -- you can send a screen shot of the html after you view it in your browser.

            If the plot looks good, we can increase the maximum power in the ramp (gradually) and see how the motor performs. Please use the battery. If you see any abnormal behavior or unreasonably large current (in this test should definitely be less than 10A), you can terminate the test even faster using control-c.

            rdjarvisR Offline
            rdjarvisR Offline
            rdjarvis
            Regular
            wrote on last edited by
            #18

            @Alex-Kushleyev Thank you! We will test and get back to you.

            Alex KushleyevA 1 Reply Last reply
            0
            • rdjarvisR rdjarvis

              @Alex-Kushleyev Thank you! We will test and get back to you.

              Alex KushleyevA Offline
              Alex KushleyevA Offline
              Alex Kushleyev
              ModalAI Team
              wrote on last edited by
              #19

              @rdjarvis I am sorry, i made a mistake, the FPV ESC (M0138) has total current sensing on ID2, so please use the following command:

              ./voxl-esc-spin.py --id 2 --power 40 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
              

              meanwhile, i will fix the calibration script to also use the total board current for the plots. The current is not used in the actual calibration procedure, but it is good for checking to make sure things look ok and there are no glitches.

              Since you are using VOXL2, however, the total current will also include the VOXL2 current, which will mean the plot of current won't be as smooth.

              Alex

              Alex KushleyevA 1 Reply Last reply
              0
              • Alex KushleyevA Alex Kushleyev

                @rdjarvis I am sorry, i made a mistake, the FPV ESC (M0138) has total current sensing on ID2, so please use the following command:

                ./voxl-esc-spin.py --id 2 --power 40 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
                

                meanwhile, i will fix the calibration script to also use the total board current for the plots. The current is not used in the actual calibration procedure, but it is good for checking to make sure things look ok and there are no glitches.

                Since you are using VOXL2, however, the total current will also include the VOXL2 current, which will mean the plot of current won't be as smooth.

                Alex

                Alex KushleyevA Offline
                Alex KushleyevA Offline
                Alex Kushleyev
                ModalAI Team
                wrote on last edited by
                #20

                The change was pretty easy, i enabled the board current to be used as ESC current for the calibration plot purposes. the change is on dev branch of voxl-esc : (commit) . so you can use that latest code for testing.

                rdjarvisR 1 Reply Last reply
                0
                • Alex KushleyevA Alex Kushleyev

                  The change was pretty easy, i enabled the board current to be used as ESC current for the calibration plot purposes. the change is on dev branch of voxl-esc : (commit) . so you can use that latest code for testing.

                  rdjarvisR Offline
                  rdjarvisR Offline
                  rdjarvis
                  Regular
                  wrote on last edited by
                  #21

                  @Alex-Kushleyev wonderful, thank you, as always!

                  We will get to this as soon as we can for testing. Looking forward to the results.

                  RDJ

                  Alex KushleyevA 1 Reply Last reply
                  0
                  • rdjarvisR rdjarvis

                    @Alex-Kushleyev wonderful, thank you, as always!

                    We will get to this as soon as we can for testing. Looking forward to the results.

                    RDJ

                    Alex KushleyevA Offline
                    Alex KushleyevA Offline
                    Alex Kushleyev
                    ModalAI Team
                    wrote on last edited by Alex Kushleyev
                    #22

                    @rdjarvis, i found the correct motor 2850kV and just wanted to double check your propeller selection. 3in 3052 seems too small for this motor. Can you please confirm? Tmotor provides test data for 4in and 5in props for this motor : https://store.tmotor.com/product/f2203_5-fpv-motor.html . edit: they do also provide data for 3in (but 5 blade prop) - believe your propeller is tri-blade?

                    Either way is fine, just let me know and I will run the tests. I can start with the same params you did and see if i can reproduce the issue using FPV ESC. I have a 3076 propeller (tri-blade) which i can use for testing, which will be more aggressive than 3052 (i don't think i have 3052 available to test). I also have 3030.

                    Alex

                    rdjarvisR 1 Reply Last reply
                    0
                    • Alex KushleyevA Alex Kushleyev

                      @rdjarvis, i found the correct motor 2850kV and just wanted to double check your propeller selection. 3in 3052 seems too small for this motor. Can you please confirm? Tmotor provides test data for 4in and 5in props for this motor : https://store.tmotor.com/product/f2203_5-fpv-motor.html . edit: they do also provide data for 3in (but 5 blade prop) - believe your propeller is tri-blade?

                      Either way is fine, just let me know and I will run the tests. I can start with the same params you did and see if i can reproduce the issue using FPV ESC. I have a 3076 propeller (tri-blade) which i can use for testing, which will be more aggressive than 3052 (i don't think i have 3052 available to test). I also have 3030.

                      Alex

                      rdjarvisR Offline
                      rdjarvisR Offline
                      rdjarvis
                      Regular
                      wrote on last edited by
                      #23

                      @Alex-Kushleyev thanks for digging up the motor.

                      The 3in tri-blade prop works well with this motor, for our use case. We have more aggressively pitched props as well. Please test and send those params! That would be great. This will eliminate tons of trouble shooting.

                      Thank you,
                      RDJ

                      Alex KushleyevA 1 Reply Last reply
                      0
                      • rdjarvisR rdjarvis

                        @Alex-Kushleyev thanks for digging up the motor.

                        The 3in tri-blade prop works well with this motor, for our use case. We have more aggressively pitched props as well. Please test and send those params! That would be great. This will eliminate tons of trouble shooting.

                        Thank you,
                        RDJ

                        Alex KushleyevA Offline
                        Alex KushleyevA Offline
                        Alex Kushleyev
                        ModalAI Team
                        wrote on last edited by
                        #24

                        @rdjarvis , I loaded the same params that you were testing and I was able to reproduce the issue.

                        The issue is that the old spin-up procedure is not working well for this particular motor and the ESC incorrectly synchronized with the motor phases (de-sync), resulting in incorrect motor control and motor overheating.

                        We recommend using our new sinusoidal spin-up procedure which is a lot more reliable.

                        I will make a new parameter file for the Tmotor 2850kV motor with a 3076 propeller and share with you as well as resulting plots for your reference.

                        Alex

                        rdjarvisR 1 Reply Last reply
                        0
                        • Alex KushleyevA Alex Kushleyev

                          @rdjarvis , I loaded the same params that you were testing and I was able to reproduce the issue.

                          The issue is that the old spin-up procedure is not working well for this particular motor and the ESC incorrectly synchronized with the motor phases (de-sync), resulting in incorrect motor control and motor overheating.

                          We recommend using our new sinusoidal spin-up procedure which is a lot more reliable.

                          I will make a new parameter file for the Tmotor 2850kV motor with a 3076 propeller and share with you as well as resulting plots for your reference.

                          Alex

                          rdjarvisR Offline
                          rdjarvisR Offline
                          rdjarvis
                          Regular
                          wrote on last edited by
                          #25

                          @Alex-Kushleyev Wonderful! Thank you for the hard work! Im happy you were able to reproduce. As you see, the motor heats up very early on the calibration cycle.

                          We are ready to test as soon as you can send those params!

                          Thank you,
                          RDJ

                          Alex KushleyevA 1 Reply Last reply
                          0
                          • rdjarvisR rdjarvis

                            @Alex-Kushleyev Wonderful! Thank you for the hard work! Im happy you were able to reproduce. As you see, the motor heats up very early on the calibration cycle.

                            We are ready to test as soon as you can send those params!

                            Thank you,
                            RDJ

                            Alex KushleyevA Offline
                            Alex KushleyevA Offline
                            Alex Kushleyev
                            ModalAI Team
                            wrote on last edited by
                            #26

                            @rdjarvis ,

                            I have added the parameter file (here) . I used your exact motor and 3076 tri-blade propeller.

                            If you have slightly different propeller, all you should have to do is just run the calibration procedure (please use voxl-esc tools from main branch) , update the a0,a1,a2 params and upload the new esc param file to the ESC.

                            I think this should perform pretty well, i did some aggressive testing (rpm step from 10k to 30k rpm), using the following command, and the results are very smooth. You can use this test and start with a lower step amplitude and make sure that works well and then increase the step size as you gain confidence. you should see smooth results like this, if you see any unusual spikes, let me know and send a plot.

                            #only test this with battery (not power supply) due to regenerative spikes
                            ./voxl-esc-spin-step.py --id 2 --rpm 10000 --step-amplitude 20000 --timeout 3 --enable-plot 1 --cmd-rate 2000
                            

                            1dc58609-7890-4a4d-a5fd-de9438bdb4c3-image.png

                            Please upload this param file, and run the calibration, you can also do the ramp test to 100% using

                            ./voxl-esc-spin.py --id 2 --power 100 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
                            

                            Produces the following results on my setup (very smooth):
                            9cdd2adb-0da7-426a-913e-74961c8af3b1-image.png

                            You can update your max rpm based on this result, but beware that max rpm is a function of voltage.

                            rdjarvisR Alexander SaundersA 2 Replies Last reply
                            0
                            • Alex KushleyevA Alex Kushleyev

                              @rdjarvis ,

                              I have added the parameter file (here) . I used your exact motor and 3076 tri-blade propeller.

                              If you have slightly different propeller, all you should have to do is just run the calibration procedure (please use voxl-esc tools from main branch) , update the a0,a1,a2 params and upload the new esc param file to the ESC.

                              I think this should perform pretty well, i did some aggressive testing (rpm step from 10k to 30k rpm), using the following command, and the results are very smooth. You can use this test and start with a lower step amplitude and make sure that works well and then increase the step size as you gain confidence. you should see smooth results like this, if you see any unusual spikes, let me know and send a plot.

                              #only test this with battery (not power supply) due to regenerative spikes
                              ./voxl-esc-spin-step.py --id 2 --rpm 10000 --step-amplitude 20000 --timeout 3 --enable-plot 1 --cmd-rate 2000
                              

                              1dc58609-7890-4a4d-a5fd-de9438bdb4c3-image.png

                              Please upload this param file, and run the calibration, you can also do the ramp test to 100% using

                              ./voxl-esc-spin.py --id 2 --power 100 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
                              

                              Produces the following results on my setup (very smooth):
                              9cdd2adb-0da7-426a-913e-74961c8af3b1-image.png

                              You can update your max rpm based on this result, but beware that max rpm is a function of voltage.

                              rdjarvisR Offline
                              rdjarvisR Offline
                              rdjarvis
                              Regular
                              wrote on last edited by
                              #27

                              @Alex-Kushleyev We will test soon and get back to you.

                              As always, thank you for all the help!!

                              RDJ

                              1 Reply Last reply
                              1
                              • Alex KushleyevA Alex Kushleyev

                                @rdjarvis ,

                                I have added the parameter file (here) . I used your exact motor and 3076 tri-blade propeller.

                                If you have slightly different propeller, all you should have to do is just run the calibration procedure (please use voxl-esc tools from main branch) , update the a0,a1,a2 params and upload the new esc param file to the ESC.

                                I think this should perform pretty well, i did some aggressive testing (rpm step from 10k to 30k rpm), using the following command, and the results are very smooth. You can use this test and start with a lower step amplitude and make sure that works well and then increase the step size as you gain confidence. you should see smooth results like this, if you see any unusual spikes, let me know and send a plot.

                                #only test this with battery (not power supply) due to regenerative spikes
                                ./voxl-esc-spin-step.py --id 2 --rpm 10000 --step-amplitude 20000 --timeout 3 --enable-plot 1 --cmd-rate 2000
                                

                                1dc58609-7890-4a4d-a5fd-de9438bdb4c3-image.png

                                Please upload this param file, and run the calibration, you can also do the ramp test to 100% using

                                ./voxl-esc-spin.py --id 2 --power 100 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
                                

                                Produces the following results on my setup (very smooth):
                                9cdd2adb-0da7-426a-913e-74961c8af3b1-image.png

                                You can update your max rpm based on this result, but beware that max rpm is a function of voltage.

                                Alexander SaundersA Offline
                                Alexander SaundersA Offline
                                Alexander Saunders
                                Contributor
                                wrote on last edited by
                                #28

                                @Alex-Kushleyev

                                We ran the calibration script and failing to see where/which directory the html file is being stored. Could you point me to the location?

                                Alex KushleyevA 1 Reply Last reply
                                0
                                • blueB blue referenced this topic on
                                • Alexander SaundersA Alexander Saunders

                                  @Alex-Kushleyev

                                  We ran the calibration script and failing to see where/which directory the html file is being stored. Could you point me to the location?

                                  Alex KushleyevA Offline
                                  Alex KushleyevA Offline
                                  Alex Kushleyev
                                  ModalAI Team
                                  wrote on last edited by
                                  #29

                                  @Alexander-Saunders , the file should be saved in the same directory where you are running the calibration script from (current directory). here is the line of code in the calibration script, which saves the figure right before trying to plot it in a browser.

                                  Alex KushleyevA 1 Reply Last reply
                                  0
                                  • Alex KushleyevA Alex Kushleyev

                                    @Alexander-Saunders , the file should be saved in the same directory where you are running the calibration script from (current directory). here is the line of code in the calibration script, which saves the figure right before trying to plot it in a browser.

                                    Alex KushleyevA Offline
                                    Alex KushleyevA Offline
                                    Alex Kushleyev
                                    ModalAI Team
                                    wrote on last edited by
                                    #30

                                    here is the calibration result i got with my setup (and the a0, a1, a2 params are already in the xml file i linked before):

                                    1d3b2a05-695e-4aa3-8a95-7cb3242644d9-image.png

                                    rdjarvisR 1 Reply Last reply
                                    0
                                    • Alex KushleyevA Alex Kushleyev

                                      here is the calibration result i got with my setup (and the a0, a1, a2 params are already in the xml file i linked before):

                                      1d3b2a05-695e-4aa3-8a95-7cb3242644d9-image.png

                                      rdjarvisR Offline
                                      rdjarvisR Offline
                                      rdjarvis
                                      Regular
                                      wrote on last edited by
                                      #31

                                      @Alex-Kushleyev after uploading the new params you sent the ESC no longer communicates with the VOXL2.

                                      The ESC board is no longer recognized by VOXL2. All hardware is set up properly.
                                      Screenshot 2024-04-17 110112.png

                                      voxl_uart_read_byte bus 12 is not initiated

                                      Please point us in the right direction.

                                      Alex KushleyevA 1 Reply Last reply
                                      1
                                      • rdjarvisR rdjarvis

                                        @Alex-Kushleyev after uploading the new params you sent the ESC no longer communicates with the VOXL2.

                                        The ESC board is no longer recognized by VOXL2. All hardware is set up properly.
                                        Screenshot 2024-04-17 110112.png

                                        voxl_uart_read_byte bus 12 is not initiated

                                        Please point us in the right direction.

                                        Alex KushleyevA Offline
                                        Alex KushleyevA Offline
                                        Alex Kushleyev
                                        ModalAI Team
                                        wrote on last edited by
                                        #32

                                        @rdjarvis , the latest params switched baud rate from 250k to 2mbit, but that should not be an issue. You should make sure voxl esc param in px4 is 20000000.

                                        Please try voxl-esc python tools directly and make sure px4 is disabled when you run them (instead of running the voxl-esc wrapper like you did).

                                        Sometimes stopping px4 gets the dsp in a weird state, in which case you can disable px4 from autostart, reboot and then do a voxl-esc-scan.py

                                        rdjarvisR Alexander SaundersA 2 Replies Last reply
                                        0
                                        • Alex KushleyevA Alex Kushleyev

                                          @rdjarvis , the latest params switched baud rate from 250k to 2mbit, but that should not be an issue. You should make sure voxl esc param in px4 is 20000000.

                                          Please try voxl-esc python tools directly and make sure px4 is disabled when you run them (instead of running the voxl-esc wrapper like you did).

                                          Sometimes stopping px4 gets the dsp in a weird state, in which case you can disable px4 from autostart, reboot and then do a voxl-esc-scan.py

                                          rdjarvisR Offline
                                          rdjarvisR Offline
                                          rdjarvis
                                          Regular
                                          wrote on last edited by
                                          #33

                                          @Alex-Kushleyev Copy all, we will try. Thank you.

                                          1 Reply Last reply
                                          2

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          ModalAI
                                          Categories Recent Tags ModalAI.com Docs
                                          © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups