Explorar o código

空转检测考虑EPM倒车的情况(负扭矩)

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui %!s(int64=3) %!d(string=hai) anos
pai
achega
1e6c717b75
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      Applications/foc/core/PMSM_FOC_Core.c

+ 2 - 2
Applications/foc/core/PMSM_FOC_Core.c

@@ -629,13 +629,13 @@ static __INLINE void PMSM_FOC_VelCtrl_Decide(void) {
 		gFoc_Ctrl.out.empty_load = false;
 		gFoc_Ctrl.out.empty_load = false;
 		return;
 		return;
 	}
 	}
-	if (f_te <= 0.0f) {
+	if ((f_te <= 0.0f) && (gFoc_Ctrl.in.s_motVelocity >= 0.0f)) {
 		change_cnt = 0;
 		change_cnt = 0;
 		change_time = 0xFFFFFFFF;
 		change_time = 0xFFFFFFFF;
 		//gFoc_Ctrl.out.empty_load = false;
 		//gFoc_Ctrl.out.empty_load = false;
 		return;
 		return;
 	}
 	}
-
+	f_te = ABS(f_te);
 	if (change_done) { 
 	if (change_done) { 
 		/* 误判空转,发现电机给定的N大于空气阻力,说明不是空转 */
 		/* 误判空转,发现电机给定的N大于空气阻力,说明不是空转 */
 		if (gFoc_Ctrl.out.empty_load) {
 		if (gFoc_Ctrl.out.empty_load) {