You are here

Bimodal Ld-Lq Saliency on T Motor AT4130

1 post / 0 new
ohceejay
ohceejay's picture
Offline
Last seen: 18 hours 13 min ago
VESC Free
Joined: 2026-04-10 13:03
Posts: 1
Bimodal Ld-Lq Saliency on T Motor AT4130

Hello! I've hit something I can't fully explain in VESC tool and wanted a second opinion. 

I've been running repeatability studies on `conf-detect-foc` with a T-Motor AT4130 300 Kv (14-pole, ~14 µH, ~18 mΩ) on a Trampa VESC (`bldc` master at `cea46633`), driven by a short LispBM script that loops detection and reads back the parameters. Ultimately I was hoping to help characterise the motor to add to the forum here, as well as familiarise myself with VESC tool.

Finding: `foc-motor-ld-lq-diff` comes out bimodal, not Gaussian. Across 76 runs (30 at fixed 30 W, plus 46 interleaved across 20/30/40/50/60 W) saliency clusters into two disjoint modes:

- High mode ~7.6 µH (linear regime)
- Low mode ~5.7 µH (saturated regime)
- Zero values in the gap between 5.87 and 7.36 µH

The split is clean and reproducible. More interestingly, the low-mode fraction tracks injection current monotonically:

| `max_power_loss` | I_inject (√P/R) | Low-mode fraction |
|             20 W |           ~33 A |               0 % |
|             30 W |           ~40 A |              11 % |
|             40 W |           ~47 A |               0 % |
|             50 W |           ~52 A |             ~20 % |
|             60 W |           ~57 A |              67 % |

R and L are well-behaved (CV ~0.3 % once thermal drift is subtracted - copper +0.4 %/°C explains the baseline's 1 % apparent CV entirely). λPM is rock solid at 0.07 % CV, 2.75 mWb, invariant across power. So the measurement chain itself is fine; it's only the saliency that bifurcates.

I have a hypothesis; at ~50–60 A injection we're on the 'knee' of the Lq iron-saturation curve. Ld's path goes through the PM air-gap (µr ≈ 1, effectively pre-saturated, insensitive to Iq), so Lq-Ld collapses as Lq saturates. Right at the knee, small perturbations in magnetic history or rotor position tip the pulse-injection algorithm onto either the linear-Lq branch or the saturated-Lq branch. Hence bistable, not noisy.

If that's right, the practical implication is that default-power auto-detection on low-inductance outrunners can land on either branch of a two-valued function, and which branch you get depends on transient state rather than the motor. For this AT4130, running detection at 30–40 W (~40–47 A) keeps you cleanly on the linear branch. Delighted to hear other theories - I could be barking up the wrong tree here.

Questions:

1. Has anyone else seen `conf-detect-foc` produce bimodal Ld/Lq on low-L outrunners? On higher-inductance motors I'd guess the knee sits above the detection injection current so the effect stays hidden.
2. Is there a documented recommendation for picking `max_power_loss` relative to motor nameplate current? I've dug through the source around the saliency measurement but haven't found explicit guidance.

(Follow-up incoming: an FSESC 75200 is on its way. My first job once it's on the bench is to re-run the same sweep on that board to rule out whether this is a Trampa-hardware artefact or algorithm-level behaviour. Will report back!)

GIST HERE with data and scripts