Parcourir la source

双转把检测信号是否为互补

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui il y a 2 ans
Parent
commit
b51fe4365a
1 fichiers modifiés avec 10 ajouts et 4 suppressions
  1. 10 4
      Applications/foc/motor/throttle.c

+ 10 - 4
Applications/foc/motor/throttle.c

@@ -83,12 +83,18 @@ void throttle_detect(void) {
 	}
 #if CONFIG_DAUL_THROTTLE==1
 	thr_5v = get_thro2_5v_float();
-	thr_sig = get_throttle2_float();
-	if (thr_sig <= nv_get_foc_params()->f_minThroVol || thr_sig >=nv_get_foc_params()->f_maxThroVol) {
-		err_mask |= THRO2_SIG_ERR_BIT;
-	}
 	if (thr_5v <= 4.5f || thr_5v >= 5.5f) {
 		err_mask |= THRO2_5V_ERR_BIT;
+	}else {
+		float thr2_sig = get_thro2_5v_float() - get_throttle2_float();
+		if (thr2_sig <= nv_get_foc_params()->f_minThroVol || thr2_sig >=nv_get_foc_params()->f_maxThroVol) {
+			err_mask |= THRO2_SIG_ERR_BIT;
+		}else {
+			if (ABS(thr2_sig - thr_sig) > 0.5f) {
+				err_mask |= THRO2_SIG_ERR_BIT;
+				err_mask |= THRO1_SIG_ERR_BIT;
+			}
+		}
 	}
 #endif
 }