Skip to content
  • 0 Votes
    4 Posts
    1k Views
    Alex KushleyevA
    @dlee , that is great to hear! Since lowering ESC kp and ki to zero helped, it may mean one of the several potential issues outside of ESC: the flight controller (gyro) is measuring too much vibration from propellers (is there vibration dampening in your design?) your attitude controller Derivative gain may be too high, causing the noisy gyro data to be amplified and sent to motors However, if the vehicle is flying well right now, perhaps you do not need to do anything else. Tuning down the ESC response acts as a low pass filter that filters out the noisy RPM commands.
  • RPM PI control structure

    Unsolved ESCs, Sensors and Accessories esc
    4
    0 Votes
    4 Posts
    778 Views
    Alex KushleyevA
    @MChehadeh yeah it is simply 1/1024. Powers of 2 for faster calculations Integral is scaled down a lot because it accumulates fast at 10khz update rate
  • Driving M0134 ESC

    Unsolved ESCs, Sensors and Accessories esc
    6
    0 Votes
    6 Posts
    1k Views
    Alex KushleyevA
    @MChehadeh , thank you for being flexible
  • ESC failure error after SDK 1.1.2 upgrade

    Unsolved ESCs, Sensors and Accessories esc
    14
    1
    0 Votes
    14 Posts
    4k Views
    Chase RileyC
    @Alex-Kushleyev I ran voxl-configure-mpa and was able to get the ESC to function again. Of course it caused other issues due to resetting files and params so I am now trying to work through setting everything back up. Im not sure what would have caused the mpa to need to be reconfigured because I had just done that obviously with the flash of SDK 1.1.2.
  • 4 in 1 ESC caught fire!

    Unsolved ESCs, Sensors and Accessories esc
    5
    0 Votes
    5 Posts
    1k Views
    Alex KushleyevA
    @AP123 please contact us before testing a replacement ESC - we need to figure out what happened and prevent such failure in the future. I am working on enabling thermal protection on the ESC, which will reduce power and shut off ESC in order to prevent catching on fire. Before you test again, I would like you to use the updated firmware with such protection. Thank you Alex
  • ESC Calibration Error Voxl2

    Unsolved ESCs, Sensors and Accessories esc
    3
    0 Votes
    3 Posts
    897 Views
    Alex KushleyevA
    @Abdullah01 , the original issue was that ESC calibration was actually done without propellers mounted, you can see the current at 94% power was very small, 0.4A However, the script still produced the a0, a1, a2 parameters (which would have been wrong to use because calibration was done without a propeller..) The error at the end was a result of attempted plot - since voxl2 does not have a display attached, the plot failed. Since that version, we have transitioned to using plotly for plotting, and calibration plots are saved to disk in addition to attempt to plot it to display. The plot feature was updated after SDK 1.1.2 release, but you can get it directly from gitlab here : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev/voxl-esc-tools/voxl-esc-calibrate.py (just get the whole voxl-esc repo from dev branch on your voxl2 and run the calibration procedure). Meanwhile, we will add additional checking of the calibration to catch the conditions that do not look like proper calibration (when propeller is not mounted, etc..).
  • Do i need to calibrate 4 in 1 ESC for Voxl 2?

    Unsolved ESCs, Sensors and Accessories esc
    3
    0 Votes
    3 Posts
    909 Views
    J
    HI @AP123, you can find information about calibration for M0134 here. The calibration procedure in voxl2_io driver in voxl-px4 is not designed to work with 4 in 1 ESC, it is for off the shelf ESCs such as BLHeli. Additional information about if you need to calibrate your 4 in 1 ESC can be found in this repo. I believe we already provide parameters (calibration) for 4 in 1 ESC for certain motor/propeller combinations which can be loaded via voxl-esc utility on voxl2. From tech docs: Q: When is ESC Calibration Required? A: When switching battery types (from 3S LiPo to 4S LiPo, etc), or when a new type of motor or new type of propeller is used.
  • KDE 4012XF motors with 16 in props

    ESCs, Sensors and Accessories esc
    22
    0 Votes
    22 Posts
    7k Views
    Alex KushleyevA
    @Matthew-Wellner FYI
  • voxl2 and dshot esc

    Unsolved ESCs, Sensors and Accessories esc
    3
    0 Votes
    3 Posts
    896 Views
    m4v3rM
    @Kyuhyong-You I think they want you to use an external flight control for all that stuff.
  • Update fw and params causing NO ESC detected

    Unsolved ESCs, Sensors and Accessories esc
    21
    0 Votes
    21 Posts
    6k Views
    Alex KushleyevA
    @Will , this is great to hear! Thank you for your patience as we are resolving this issue. It does sound like you are ready for flight testing. Meanwhile we will continue testing of the fix and will release an official firmware update to resolve the issue soon (probably this week). However, you don't need to wait for it, the test firmware you already have should be sufficient. If you run into any other ESC-related issues, please let us know! Alex
  • Voxl2 ESC Error

    Unsolved ESCs, Sensors and Accessories esc
    4
    0 Votes
    4 Posts
    1k Views
    Eric KatzfeyE
    @AP123 I'm guessing that voxl-px4 is running and the voxl-esc commands are not able to stop it. You can try to do this manually. Run systemctl disable voxl-px4 and then reboot. You should then be able to use the voxl-esc tools. After you are done use systemctl enable voxl-px4 to get voxl-px4 on auto start again.
  • ESC Current Readings

    Unsolved ESCs, Sensors and Accessories esc
    8
    0 Votes
    8 Posts
    1k Views
    Alex KushleyevA
    @hanzichi , esc_status in px4 would contain individual current for each ESC and since this is not possible to measure on the mini ESC, the esc_status message does not contain any current measurements. So the total current goes into the Battery Status message. Please make sure you enable publishing of battery status in the voxl-esc driver here : param_get(param_find("VOXL_ESC_PUB_BST"), &params->publish_battery_status); and the status is published here
  • ESC RPM Parameters

    Unsolved ESCs, Sensors and Accessories esc
    5
    0 Votes
    5 Posts
    1k Views
    H
    @Alex-Kushleyev OK, thanks for the reply. It is actually behaving as expected now. At first it did not seem like the PX4 params were having an effect. If I have the understanding correct: On the PX4 side, the controller efforts (0-1) are getting spanned to the RPM MIN/MAX params. The RPM (in RPM units) command is then being sent across the UART to the esc.
  • PX4 modal_io: esc_status not updating

    Unsolved ESCs, Sensors and Accessories esc
    2
    0 Votes
    2 Posts
    471 Views
    0
    Update: It was an issue on my end regarding the baud-rate configuration. All is good.
  • ESC 4 in 1 Control Firmware

    Unsolved ESCs, Sensors and Accessories esc
    3
    1
    0 Votes
    3 Posts
    627 Views
    Alex KushleyevA
    updated docs to reflect firmware and params locations : https://docs.modalai.com/modal-esc-v2-manual/
  • ESC Mini 4 in 1 - params crc

    Unsolved ESCs, Sensors and Accessories esc
    6
    2
    0 Votes
    6 Posts
    975 Views
    Alex KushleyevA
    @0x45, Great to hear! Sorry again about the bug and thank you for reporting it. Alex
  • ESC cuts out on high RPM

    Unsolved ESCs, Sensors and Accessories esc
    12
    0 Votes
    12 Posts
    2k Views
    Alex KushleyevA
    OK, quick update.. I did a quick test.. ramp from 0 to 100% power runs fine on ID3, see image below. optical encoder test was good, i did 3 measurements : ESC: 8040, 11800, 1850rpm, tachometer 8035, 11810, 18500. (rounded to closest 100rpm). The optical tachometer was very very close to reported rpm of the ESC. I used the following command to do a quick ramp test: ./voxl-esc-spin.py --id 3 --power 100 --ramp-time 4.0 --timeout 5.0 --enable-plot 1 (btw, i just updated voxl-esc on dev branch to plot the total current, since M0129 does not have individual current measurement, but if you test one motor at a time, you will get current for one motor) got to about 33000 rpm at 100% power, 14.8V, about 5.8A current.. More details will follow as I tune for RPM control. [image: 1696005724291-0867e8c5-fa0a-4c21-9d2a-58edb1adcb2a-image.png]
  • esc 4 in i issue

    Unsolved ESCs, Sensors and Accessories esc
    14
    0 Votes
    14 Posts
    2k Views
    A
    @Alex-Kushleyev here is out put from ./voxl-esc-scan.py. ~/voxl-esc/voxl-esc-tools$ ./voxl-esc-scan.py Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08) [GCC 9.4.0] Found voxl-esc tools bin version: 1.2 INFO: All COM ports: /dev/ttyS0 : ttyS0 /dev/ttyUSB0 : FT232R USB UART - FT232R USB UART INFO: UART Port Candidates: /dev/ttyUSB0 INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000 INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000 INFO: Detected protocol: firmware INFO: Additional Information: INFO: --------------------- ID : 0 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C00280022 Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42 ID : 1 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C00190039 Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42 ID : 2 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C001A0047 Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42 ID : 3 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C003B004F Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42 and we supplied 12v in esc.
  • ESC Calibration

    Unsolved ESCs, Sensors and Accessories esc
    11
    0 Votes
    11 Posts
    4k Views
    Alex KushleyevA
    @dlee , sorry for the delay. Just to clarify, it is possible that your CW and CCW propellers are not exactly the same, therefore the CW and CCW motors are showing slightly different response to calibration. In this case we can calculate an average for this calibration and use that for all 4 motors. I modified the script to calculate the quadratic fit for all four calibration results together. import numpy as np import plotly.graph_objects as go rpms = np.arange(0,13000) #rpm range for the quadratic fit cals = [] fits = [] all_fits = [] #enter the calibration results from each motor cals.append([7.53669159958e-06, 0.336081465707, 112.878194918]) cals.append([2.9479165331e-06, 0.37353561309, 35.6265065345]) cals.append([8.8413818561e-06, 0.3256003514, 132.362831923]) cals.append([7.1523119742e-07, 0.405821707061, -98.2189291548]) fig = go.Figure() for idx in range(len(cals)): fit = np.polyval(cals[idx], rpms) fits.append(fit) fig.add_trace(go.Scatter(x=rpms, y=fits[idx], name='Fit %d'%idx)) #plot each fit #create an array that contains points sampled from each curve #and perform a polynomial fit on all the data to find the average all_data = np.array(fits).flatten('C') all_rpms = np.array([rpms,rpms,rpms,rpms]).flatten('C') #evaluate the average poly fit ply = np.polyfit(all_rpms, all_data, 2) av_fit = np.polyval(ply, rpms) #print the average fit coefficients print('Average Fit coefficients:') print(' pwm_vs_rpm_curve_a0 = ' + str(ply[2])) print(' pwm_vs_rpm_curve_a1 = ' + str(ply[1])) print(' pwm_vs_rpm_curve_a2 = ' + str(ply[0])) #plot the average fig.add_trace(go.Scatter(x=rpms, y=av_fit, name='Average Fit')) #finalize and show the figure fig.update_layout(title='Motor Voltage vs. RPM') fig.update_xaxes(title_text="RPM") fig.update_yaxes(title_text="Motor Voltage (mV)") fig.show() It results in the following plot and average coefficients. You can enter these coefficients into your custom esc parameters xml file. Average Fit coefficients: pwm_vs_rpm_curve_a0 = 45.66215105517507 pwm_vs_rpm_curve_a1 = 0.36025978431449995 pwm_vs_rpm_curve_a2 = 5.01030529655002e-06 [image: 1692214971344-2dd75e2f-f722-464d-be82-5548568ec25b-image.png]
  • Performance VOXL Mini 4-in-1 ESC

    Unsolved ESCs, Sensors and Accessories esc
    2
    0 Votes
    2 Posts
    574 Views
    Alex KushleyevA
    Hello @floooH Sorry about that, we will update the performance section soon. The mini ESC has been tested at 16V 15A continuous for 1 minute (15A per each channel, so 60A total). The test condition was under full air flow of 5" tri-blade propellers spinning at around 20K RPM and the temperature of ESC (measured by the MCU) was around 80 degrees C. You generally want to keep your ESC under 100C (temperature is measured by the sensor inside each MCU and reported via ESC feedback). The maximum voltage is 4S (up to at least 18V is safe). Maximum burst current at least 30A per channel (for few seconds) Even though the ESC can handle pretty large currents, due to its small form factor you need to be careful and watch the ESC temperature when you are designing / testing your drone. Small PCB of the mini ESC does not have much area for heat dissipation, so good airflow is required for large current flows. So the ESC is unlikely to break from over current (within reasonable range) but it could overheat if it is not appropriately cooled. In general we recommend the mini ESC to be used on drones < 750g, where you should not have much problem at all with heat dissipation even with minimal cooling. But for any larger drone or racing applications you will need to perform testing to ensure the ESC can stay < 100 deg C (ideally around 60-80C during the whole flight). I hope this helps, let me know if you need more info Alex