소스 검색

温度补偿低通滤波设置更小的截止频率,母线的滤波器截止频率设置的大一些

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 3 년 전
부모
커밋
f6a10a156d
3개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 1 1
      Applications/bsp/adc.c
  2. 2 2
      Applications/bsp/adc.h
  3. 1 1
      Applications/foc/core/PMSM_FOC_Core.c

+ 1 - 1
Applications/bsp/adc.c

@@ -343,7 +343,7 @@ void adc_set_5vref_calc(float v) {
 	vref_5v_adc = v;
 }
 
-#define VREF_COMP_LFP_CEOF (0.01F)
+#define VREF_COMP_LFP_CEOF (0.0001F)
 static float vref_compestion_filter = 1.0f;
 #define VREF_COMPESTION() (vref_adc/(float)adc_buffer[7])
 void adc_3v3ref_filter(void) {

+ 2 - 2
Applications/bsp/adc.h

@@ -80,13 +80,13 @@ static void __inline adc_phase_current_read(u8 phases, s32 *v1, s32 *v2) {
 	v[1] = ADC_IDATA1(ADC1);
 	v[2] = ADC_IDATA2(ADC0);
 	v[3] = ADC_IDATA3(ADC1);
-	*v1 = (s32)((float)_adc_avg(v) * * adc_5vref_compesion());
+	*v1 = (s32)((float)_adc_avg(v) * adc_5vref_compesion());
 
 	v[0] = ADC_IDATA0(ADC1);
 	v[1] = ADC_IDATA1(ADC0);
 	v[2] = ADC_IDATA2(ADC1);
 	v[3] = ADC_IDATA3(ADC0);
-	*v2 = (s32)((float)_adc_avg(v) * * adc_5vref_compesion());
+	*v2 = (s32)((float)_adc_avg(v) *  adc_5vref_compesion());
 #else
 	*v1 = (s32)((float)ADC_IDATA0(ADC0) * adc_5vref_compesion());
 	*v2 = (s32)((float)ADC_IDATA0(ADC1) * adc_5vref_compesion());

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

@@ -1035,7 +1035,7 @@ void PMSM_FOC_Calc_Current(void) {
 	LowPass_Filter(gFoc_Ctrl.out.s_CalciDC, raw_idc, 0.1f);
 
 	raw_idc = get_vbus_current();
-	LowPass_Filter(gFoc_Ctrl.out.s_FilteriDC, raw_idc, 0.01f);
+	LowPass_Filter(gFoc_Ctrl.out.s_FilteriDC, raw_idc, 0.1f);
 
 	gFoc_Ctrl.out.s_RealCurrent = sqrtf(SQ(gFoc_Ctrl.out.s_FilterIdq.d) + SQ(gFoc_Ctrl.out.s_FilterIdq.q));