You are here

FOC ABS_OVER_CURRENT at high RPM

1 post / 0 new
Philippe Larouche
Offline
Last seen: 3 days 35 min ago
VESC Free
Joined: 2026-06-05 00:50
Posts: 1
FOC ABS_OVER_CURRENT at high RPM

FOC ABS_OVER_CURRENT at high RPM + inconsistent sensorless behavior — highly salient 11" direct-drive hub motor (FSESC 75100 Pro)

SETUP
- ESC: Flipsky FSESC 75100 Pro, FW 6.06 (no_hw_limits build), STM32F405
- Battery: 16S LiFePO4, ~52V full / sags to ~50V under load
- Motor: 11" direct-drive brushless hub, Hall sensors, 23 pole pairs (46 poles)
  [brand/model: unknown 11" hub — will update if I find out]
- Sensor Mode: Hall Sensors, Sensorless ERPM crossover = 2000
- Control: ADC throttle, Current control. Hall table valid. Phase filter DISABLED.
- All testing is free-spin (wheel in air), motor cold (24-28°C). Not thermal.

SYMPTOM
- At high RPM / full throttle: FAULT_CODE_ABS_OVER_CURRENT.
- The motor "runs away" (rapid uncommanded-feeling acceleration) then cuts.
- Fault dumps show INSTANTANEOUS current spiking to the ABS limit (~130A)
  while FILTERED current is only 60-80A. Example trips:
    Current 130.7 / filtered 80.8 / duty 0.62 / 13122 ERPM / 24°C
    Current 132.7 / filtered 81.0 / duty 0.56 / 18739 ERPM / 24°C
    Current 131.6 / filtered 63.9 / duty 0.75 / 19999 ERPM / 23°C
  => large gap inst vs filtered = current ringing / observer loss of sync.
- Trips cluster at high duty (0.56–0.80), near the voltage ceiling.

DETECTION IS UNRELIABLE (salient motor)
- R and λ fairly stable: R ~69-74 mΩ, λ ~2.62-2.83 mWb.
- L and Lq-Ld swing WILDLY between detection sessions:
    one session L=75µH / Lq-Ld=60µH
    another     L=100µH / Lq-Ld=119µH
  i.e. L detection is strongly rotor-position dependent (high saliency).

WHAT I'VE TRIED (none fully fixes it)
1. Fresh accurate detection + write -> marginal.
2. Reduced L by 30% with high gains -> WORSE oscillation.
3. Gentle current gains (KP 0.05 / KI 50) -> still trips at high RPM.
4. Lowered Observer Gain 125 -> 40 -> 70:
   - 125: reaches ~19k ERPM but with violent spikes.
   - 40: smoother climbs but cuts earlier (~13.5k).
   - 70: INCONSISTENT — 3 identical free-spin runs gave 3 very different
     results (one clean climb to 13k, two with chaotic oscillation at
     2k-5k ERPM that never climbed).

QUESTIONS
- How do people stabilize the sensorless observer at high RPM on a HIGHLY
  SALIENT hub motor when standstill L/Lq-Ld detection is unreliable?
- Is the L/Lq-Ld detection scatter the root cause? Best way to nail it for
  a salient motor?
- Recommended observer type / settings (FW 6.06) for this case?
- Is the Hall->sensorless crossover (2000 ERPM) worth raising, given the
  low-RPM chaos clusters there?
- Should this simply be tuned under load rather than free-spin?