1234567891011121314151617181920212223 |
- #define OBS_SPD_PLL_M 10 // Flux observer m coefficient
- #define OBS_SPD_PLL_BANDWIDTH_HZ 200 // Huawei // Flux observer PLL bandwidth
- #define OBS_FLUX_PI_DAMPRATIO 15 // unit:0.1, Flux observer PI regulator dampratio
- #define OBS_FLUX_PI_CROSSFREQ_HZ 10 // unit:Hz, Flux observer PI regulator crossfrequency
-
- observer_stObsCoefIn.uwRsOm = cp_stMotorPara.swRsOhm; // Real Value unit: 0.1mOhm, Phase resistance
- observer_stObsCoefIn.uwLqHm = ((ULONG)scm_uwLqPu * cof_uwLbHm) >> 10; // Real Value, unit: 0.01mH, q Inductance
- observer_stObsCoefIn.uwLdHm = cp_stMotorPara.swLdmH; // Real Value, unit: 0.01mH, d Inductance
- observer_stObsCoefIn.uwFluxWb = cp_stMotorPara.swFluxWb; // Real Value, unit: 0.01mWb, Flux linkage
- observer_stObsCoefIn.uwFreqTbcHz = FTBC_HZ; // Real Value, Unit:Hz Tbc
- observer_stObsCoefIn.uwFluxDampingRatio = OBS_FLUX_PI_DAMPRATIO; // Real Value, unit:0.1
- observer_stObsCoefIn.uwFluxCrossFreqHz = OBS_SPD_PLL_BANDWIDTH_HZ ; // Real Value, unit:Hz
- observer_stObsCoefIn.uwSpdPllWvcHz =OBS_SPD_PLL_BANDWIDTH_HZ; // Real Value, Unit:Hz
- observer_stObsCoefIn.uwSpdPllMcoef = OBS_SPD_PLL_M;
- observer_voObsCoef(&observer_stObsCoefIn, &observer_stObsCoefPu);
- observer_stObsCalcIn.swUalpha =((SLONG) scm_swUalphaPu * VBASE )>> 14; /* unit: 0.1V, Voltage base */
- observer_stObsCalcIn.swUbeta = ((SLONG) scm_swUbetaPu * VBASE)>> 14; /* unit: 0.1V, Voltage base */
- observer_stObsCalcIn.swIalpha = ((SLONG) crd_stCurClarkOut.swAlphaPu* IBASE)>> 14; /* unit: 0.01A, Current base */
- observer_stObsCalcIn.swIbeta = ((SLONG) crd_stCurClarkOut.swBetaPu* IBASE)>> 14; /* unit: 0.01A, Current base */
- observer_stObsCalcIn.uwVdc = ((ULONG) adc_stUpOut.uwVdcLpfPu* VBASE)>> 14;
- observer_voObsCalc(&observer_stObsCalcIn, &observer_stObsCoefPu, &observer_stObsOutPu);
|