What worries me is that this being a SPM motor (or SPMSM as called in fw), it may not get as many benefits as one could desire or require head bashing amounts of tuning to get running right. There were similar concerns in this thread, for Alta bike, which, funnily enough uses the same power brick, and a very similar but newer inverter architecture
https://openinverter.org/forum/viewtopi ... lta#p27044
Another aspect I am worried about are the 17.6/8.8/4.4 kHz PWMFRQS, default firmware switches at 16kHz, IGBT is rated at <20kHz. If the aim is to prolong the IGBT life by giving it an easier workout- 8.8kHz would make more sense, albeit much louder, switching losses woud definitely decrease, but not sure about the driveability aspect or some things I don't know of yet about. My magnetics/power electronics 101 is inadequate here.
Another - in the stock DSP ASM code found online from 20 years ago (not sure how close to production version, however the registers seem sameish for late binaries), the commutation logic explicitly tri-states (“Hi-Z”) the unused inverter legs depending on electrical angle, with a comment: “prevents reverse current spikes when legs switch.” My initial assumption was that this might just be an artifact of the power brick input stage (DSP sinks opto LED current, high Z otherwise, after opto power brick inputs pulled up to 15V (OFF), etc., idea being that opto can not conduct in unknown state thus partially pulling down any of the IGBT pins), but I’m now thinking it’s more about power-stage current commutation behavior: diode reverse-recovery / current path transitions / switching-loss reduction during sector changes.
From what I can tell in stm32-sine codebase, PWM modulation is continuous SVPWM (min/max offset) with short-pulse suppression only. I couldn’t find any discontinuous PWM / clamped SVPWM (DPWM) sector logic, and I don’t see any deliberate “float phase / Hi-Z” behavior during normal modulation, other than deadtime and fault/disable states (MOE/channel disable).
I’m fine with inverting PWM logic and handling level shifting/buffering correctly, but I’d appreciate confirmation: is “continuous SVPWM only” the intended design here, and is there any known concern (or mitigation) for commutation spikes / diode recovery compared to a clamped/Hi-Z style strategy like the stock VX-1 DSP? No DPWM artifacts or similar ideas found on VESC or Lebowski codebases.
There's tons of academic literature on modulation schemes, with some covering DPWM increasing IGBT longevity, my concern here being if 20 years ago people in a big corporation were concerned about the unused leg state in commutation- is this even relevant for FOC commutation?