Help with VESC Tool Config

Dear folks,

Since my last post here I think I progressed a lot. Especially considering my quite limited knowledge of electronics.

Thanks for all the people who contributed to make this forum so informative.

Now I would like some help if I may to fine tuning the VESC. There are too many parameters and I’m not quite sure about the ones who really matter.

My setup is a 12s2p 9A (2 x 6s2p drone batteries), 75100 Pro VESC, 6384 140Kv Flipsky Motor and Maytech remote.

Below my configurations for Motor and App. I appreciate with someone can help to optimize the inputs. It seems I’m getting maximum throttle at 25%. No sure why.

My plan is to give back to the community a template that can be copied.

Many thanks in advance,
OC

MOTOR

  1. General Tab
    General
    Motor Type: FOC
    Invert Motor Direction: False
    Sensors
    Sensor Port Mode: PWM
    ABI Encoder counts: 8192
    Sine Amplitude: 1.000 V
    Cosine Amplitude: 1.000 V
    Sine Offset: 1.650 V
    Cosine Offset: 1.650 V
    Sin/Cos Filter Constant: 0.5
    Sin/Cos Phase Correction: 0.00°
    Current
    Motor Current Max: 60.00 A
    Motor Current Max Brake: -30.00 A
    Absolute Maximum Current: 150.00 A
    Slow ABS Current Limit: False
    Max Current Scale: 100%
    Min Current Scale: 100%
    Battery Current Max: 8.00 A
    Battery Current Max Regen: -3.00 A
    Input Current Limit Map Start: 100%
    Input Current Map Filter: 0.005
    DRV8301 OC Mode: Current Limit
    DRV8301 OC Adjustment: 16
    Voltage
    Battery Voltage Cutoff Start: 42.0 V
    Battery Voltage Cutoff End: 38.0 V
    Battery Voltage Regen Cutoff Start: 50.0 V
    Battery Voltage Regen Cutoff End: 51.5 V
    Battery Filter Constant: 45
    RPM
    Max ERPM: 90000.00
    Max ERPM Reverse: -100000.00
    ERPM Limit Start: 80% (0.80)
    Wattage
    Maximum Wattage: 1500000.0 W
    Maximum Braking Wattage: -1500000.0 W
    Temperature
    Motor Temperature Sensor Type: Disabled
    Beta Value for Motor Thermistor: 3380.0 K
    Coefficient for PTC Motor Thermistor: 0.610 %/K
    Custom NTC/PTC Resistance: 10.00 kΩ
    Custom NTC/PTC Base Temperature: 25.00 °C
    Acceleration Temperature Decrease: 15%
    MOSFET Temp Cutoff Start: 85 °C
    MOSFET Temp Cutoff End: 100 °C
    Motor Temp Cutoff Start: 85 °C
    Motor Temp Cutoff End: 100 °C
    BMS
    BMS Type: None
    BMS Limit Mode: Overtemp & SOC (Checked)
    Temperature Limit Start: 45 °C
    Temperature Limit End: 65 °C
    SOC Limit Start: 5% (0.05)
    SOC Limit End: 0%
    VCell Min Limit Start: 2.90 V
    VCell Min Limit End: 2.50 V
    VCell Max Limit Start: 4.20 V
    VCell Max Limit End: 4.30 V
    Forward CAN to Local: Disabled
    Advanced
    Minimum Input Voltage: 36.0 V
    Maximum Input Voltage: 60.0 V
    Minimum Duty Cycle: 0.50%
    Maximum Duty Cycle: 95.00%
    Minimum Current: 0.05 A
    Fault Stop Time: 500 ms
    Auxiliary Output Mode: Off
    Duty Cycle Current Limit Start: 100% (1.00)

  2. FOC Tab
    General
    Sensor Mode: Sensorless
    Motor Resistance (R): 32.2 mΩ
    Motor Inductance (L): 23.87 μH
    Motor Inductance Difference (Lq - Ld): 7.66 μH
    Motor Flux Linkage (λ): 5.566 mWb
    Current KP: 0.047
    Current KI: 64.46
    Observer Gain (x1M): 32.38
    Sensorless
    Openloop ERPM: 1500
    Openloop ERPM at Min Current: 0%
    Openloop Hysteresis: 0.10 S
    Openloop Lock Time: 0.00 S
    Openloop Ramp Time: 0.10 S
    Openloop Time: 0.05 S
    Openloop Current Boost: 0.00 A
    Openloop Current Max: -1.00 A
    Start Current Decrease: 100% (1.00)
    Start Current Decrease ERPM: 2500
    Saturation Compensation Mode: Disabled
    Saturation Compensation Factor: 0%
    Temp Comp: False
    Temp Comp Base Temp: 25.0 °C
    Hall Sensors
    Sensored ERPM Start: 2500
    Sensorless ERPM: 3500
    Hall Interpolation ERPM: 500
    Hall Table (0 to 7): 255 (All indexes)
    Hall Sensor Extra Samples: 3
    Encoder
    Sensorless ERPM: 3500
    Encoder Offset: 180
    Encoder Ratio: 7
    Encoder Inverted: False
    HFI
    HFI Ambiguity Resolve Mode: Six Vectors
    HFI Ambiguity Resolve Current: 60.0 A
    HFI Ambiguity Resolve Threshold: 15%
    HFI Samples: 16
    HFI Start Voltage: 20.0 V
    HFI Run Voltage: 4.0 V
    HFI Max Voltage: 6.0 V
    HFI Gain: 0.3
    HFI Max Error: 0.3
    HFI Current Hysteresis: 0.00 A
    Sensorless ERPM HFI: 3000
    HFI Start Samples: 5
    HFI Observer Override Time: 1.0 ms
    VSS
    HFI Samples: 16
    HFI Start Voltage: 20.0 V
    HFI Start Samples: 5
    Openloop ERPM: 1500
    Filters
    Enable Phase Filters: False
    Maximum ERPM for phase filters: 4000 ERPM
    Disable Phase Filter Fault Code: True
    Offsets
    Offset Calibration Mode: Calibrate on Boot (Checked)
    Auto Calibrate / Write Enabled: False / Unchecked
    Current Offset 0: 2042.48
    Current Offset 1: 2041.92
    Current Offset 2: 2046.53
    Voltage Offset 0: 0.0018 V
    Voltage Offset 1: 0.0002 V
    Voltage Offset 2: -0.0020 V
    Voltage Offset Undriven (0 to 2): 0.0000 V
    Field Weakening
    Field Weakening Current Max: 0.00 A
    Field Weakening Duty Start: 90.00%
    Field Weakening Ramp Time: 200 ms
    Q Axis Current Factor: 2.00%
    Advanced
    Zero Vector Frequency: 30.0 kHz
    Dead Time Compensation: 0.120 μs
    Speed Tracker Kp / Ki: 2000.00 / 30000.00
    Duty Downramp Kp / Ki: 50.00 / 1000.00
    Control / Current Sample Mode: V0 Only / Longest Zero Time
    Observer Gain At Minimum Duty: 5% (0.05)
    Current Filter Constant: 0.1
    Current Controller Decoupling: FOC_CC_DECOUPLING_DISABLED
    Observer Type: FOC_OBSERVER_MXLEMMING_LAMBDA_COMP
    D Axis Gain Scaling (Start / Max Mod): 90% / 90%
    MTPA Algorithm Mode: Disabled
    Observer Offset: -1.00
    Speed Tracker Position Source: Corrected Position
    Short Low-Side FETs on Zero Duty: False
    Overmodulation Factor: 1

  3. PID Controllers Tab
    Common & Speed Controller
    PID Loop Rate: 1000 Hz
    Speed PID Kp / Ki / Kd: 0.00400 / 0.00400 / 0.000400
    Speed PID Kd Filter: 0.2
    Minimum ERPM: 900
    Allow Braking: True
    Ramp eRPMs per second: 25000
    Speed Tracker Position Source: Corrected Position
    Speed Source: PLL
    Position Controller
    Position PID Kp / Ki / Kd: 0.02500 / 0.00000 / 0.00000
    Position PID Kd Process / Filter: 0.00035 / 0.200
    Position Angle Division: 1
    Gain Decrease Angle: 0.0°
    Position PID Offset Angle: 0.0000°

  4. Additional Info Tab
    Setup
    Motor Poles: 14
    Gear Ratio: 3
    Wheel Diameter: 83.00 mm
    Battery Type: BATTERY_TYPE_LIION_3_0_4_2
    Battery Cells Series: 12
    Battery Capacity: 9.000 Ah
    Motor No Load Current: 1.0000 A
    Motor General
    Motor Brand / Model: (Blank)
    Motor Weight: 0.00 g
    Position Sensor: No sensor
    Description & Quality
    Text: “A motor description can be edited here.”
    Metrics: Bearing Quality (0), Magnet Quality (0), Construction Quality (0)

  5. Experiments Tab
    Setup Parameters
    Duty Sweep: From 0.00 to 0.50 | Step: 0.02 | TS: 2.00 s
    Current Sweep: From 0.00 to 20.00 | Step: 2.00 | TS: 2.00 s
    ERPM Sweep: From 0 to 10000 | Step: 500 | TS: 2.00 s | End: 10000
    EXT Monitor
    Victron Energy: COM7 (Disconnect status)

APP

  1. General Tab
    General
    APP to Use: PPM
    VESC ID: 114
    Timeout: 1000 ms
    Timeout Brake Current: 0.00 A
    CAN Baud Rate: CAN_BAUD_500K
    Pairing Done: False
    Enable Permanent UART: True
    Shutdown Mode: OFF_AFTER_30M
    CAN Mode: VESC
    UAVCAN ESC Index: 0
    UAVCAN Raw Throttle Mode: Current Control
    UAVCAN Status Current Mode: Motor Current
    UAVCAN Raw RPM Max: 50000
    Enable Servo Output: False
    Kill Switch Mode: Disabled
    CAN Messages Rate 1
    Can Status Rate 1: 50 Hz
    Can Messages Rate 1: Status 1, Status 2, Status 3, Status 4, Status 5, Status 6 (Checked)
    CAN Messages Rate 2
    Can Status Rate 2: 5 Hz
    Can Messages Rate 2: Status 1, Status 2, Status 3, Status 4, Status 5, Status 6
    Tools
    Servo Output: Center

  2. PPM Tab
    General
    Control Type: Current No Reverse
    Median Filter: True
    Safe Start: Regular
    PID Max ERPM: 150000.00
    Positive Ramping: 0.40 s
    Negative Ramping: 0.20 s
    Max ERPM for direction switch: 4000
    Smart Reverse Max Duty Cycle: 7% (0.070)
    Smart Reverse Ramp Time: 3.00 s
    Multiple VESCs over CAN
    Multiple VESCs Over CAN: True
    Traction Control: False
    TC Max ERPM Difference: 3000
    Mapping
    Pulselength Start: 1.0000 ms
    Pulselength End: 2.0000 ms
    Pulselength Center: 1.5000 ms
    Input Deadband: 15%
    Throttle Curve
    Throttle Expo: 0%
    Throttle Expo Brake: 0%
    Throttle Expo Mode: Polynomial

  3. Nrf Tab
    Radio
    TX Power: 0 dBm
    Speed: 1 MBit/s
    Radio Channel: 76
    Integrity
    CRC: 1 Byte
    Send ACK: True
    Retry Delay: 250 µS
    Retries: 3
    Address
    Address 0: 198
    Address 1: 199
    Address 2: 0

  4. IMU Tab
    General
    IMU Type: IMU_TYPE_INTERNAL
    Use magnetometer: True
    Sample Rate: 200 Hz
    Accel/Gyro Filter: IMU_FILTER_MEDIUM
    Accel lowpass filter X: 0.0 Hz
    Accel lowpass filter Y: 0.0 Hz 0.0 Hz
    Accel lowpass filter Z: 0.0 Hz
    Gyro lowpass filter: 0.0 Hz
    AHRS
    IMU AHRS Mode: AHRS_MODE_MADGWICK
    Accelerometer Confidence Decay: 1
    Mahony KP: 0.3
    Mahony KI: 0
    Madgwick Beta: 0.1
    Rotation
    Imu Rotation Roll: 0.000°

On land/desk?
If yes, thats expected.

No resistance + current control → full RPM at almost no throttle.

Thanks. I forgot to mention it’s during a bench test.

Bench = zero resistance.

Current control scales current from 0 to max over throttle range.
So for you 10% throttle = 6A.

Easily enough to get the motor to max RPM with no load.

If you want RPM to follow throttle with no load, use duty cycle control mode.

1 Like

Which parameter is that? And does it changes anything on water?

And no, either works on water.
I personally use current control.