|
|
@@ -125,6 +125,7 @@ void PMSM_FOC_CoreInit(void) {
|
|
|
_gFOC_Ctrl.params.s_maxiDC = (MAX_iDQ);
|
|
|
_gFOC_Ctrl.params.s_maxiDC = (MAX_iDC);
|
|
|
_gFOC_Ctrl.params.s_maxRPM = (MAX_SPEED);
|
|
|
+ _gFOC_Ctrl.params.s_maxTorque = MAX_TORQUE;
|
|
|
_gFOC_Ctrl.params.n_modulation = SVM_Modulation;
|
|
|
_gFOC_Ctrl.params.n_PhaseFilterCeof = (0.2f);
|
|
|
_gFOC_Ctrl.params.maxvDQ.d = MAX_vDC;
|
|
|
@@ -366,10 +367,21 @@ void PMSM_FOC_SpeedLimit(float speedLimit) {
|
|
|
_gFOC_Ctrl.params.s_maxRPM = (speedLimit);
|
|
|
}
|
|
|
|
|
|
-s32q4_t PMSM_FOC_GetSpeedLimit(void) {
|
|
|
+float PMSM_FOC_GetSpeedLimit(void) {
|
|
|
return _gFOC_Ctrl.params.s_maxRPM;
|
|
|
}
|
|
|
|
|
|
+void PMSM_FOC_TorqueLimit(float torqueLimit) {
|
|
|
+ if (torqueLimit > MAX_TORQUE) {
|
|
|
+ torqueLimit = MAX_TORQUE;
|
|
|
+ }
|
|
|
+ _gFOC_Ctrl.params.s_maxTorque = torqueLimit;
|
|
|
+}
|
|
|
+float PMSM_FOC_GetTorqueLimit(void) {
|
|
|
+ return _gFOC_Ctrl.params.s_maxTorque;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
void PMSM_FOC_VbusVoltage(float vbusVol) {
|
|
|
_gFOC_Ctrl.in.s_vDC = vbusVol;
|
|
|
}
|