PMSM SVPWM modulation and coordinate transform numerical kernel
moon add Duckweed/moon-foc@0.1.12// examples/demo/main.mbt
let (alpha, beta) = @coord.clarke(1.0, -0.5, -0.5) // → alpha=1, beta=0
let (d, q) = @coord.park(alpha, beta, 0.7) // 按 theta=0.7 rad 旋转
let sector = @svpwm.sector_of(alpha, beta) // → 1
let (da, db, dc) = @svpwm.duties(alpha, beta, 0.0001, 24.0) // Vdc=24V, Ts=100usmoon run examples/demo --target native
# 另一可运行目标:
moon run examples/demo --target jslet iq_pi = @pi.Pi::new(0.5, 20.0, 1.0e-4, -12.0, 12.0) // kp / ki / dt / 下限 / 上限
let vq = iq_pi.step(iq_ref - iq_meas)
iq_pi.reset() // 切模式 / 重新使能时清积分moon check --deny-warn --target wasm-gc
moon test --target wasm-gc
# 与 CI 矩阵同口径的另外两个目标:
moon check --deny-warn --target native
moon test --target native
moon check --deny-warn --target js
moon test --target js # 需要可用 node,CI 上由 runner 提供python scripts/gen_fixtures.pyInstall
Download zipPMSM SVPWM modulation and coordinate transform numerical kernel