|
|
@@ -177,7 +177,7 @@ void phase_current_point(void *p){
|
|
|
out->n_CPhases = cs->c_phases;
|
|
|
}
|
|
|
#else
|
|
|
-#define LOW_FP_COEF 1.0f
|
|
|
+#define LOW_FP_COEF 0.5f
|
|
|
void phase_current_get(float *iABC){
|
|
|
current_samp_t *cs = &g_cs;
|
|
|
s32 phase_current1, phase_current2;
|
|
|
@@ -189,16 +189,17 @@ void phase_current_get(float *iABC){
|
|
|
/* Ia = PhaseAOffset - ADC converted value) */
|
|
|
cs->adc_ia = (phase_current1 - cs->adc_offset_a);
|
|
|
cs->adc_ib = (phase_current2 - cs->adc_offset_b);
|
|
|
+ LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
+ LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
+ cs->adc_ic_filter = -(cs->adc_ia_filter + cs->adc_ib_filter);
|
|
|
|
|
|
if (cs->c_ignore_phase == IGNORE_NONE) {
|
|
|
- LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
- LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
- LowPass_Filter(cs->adc_ic_filter, -(cs->adc_ia + cs->adc_ib), LOW_FP_COEF);
|
|
|
+
|
|
|
}else if (cs->c_ignore_phase == IGNORE_A) {
|
|
|
- LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
+ //LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
cs->adc_ia = cs->adc_ia_filter;
|
|
|
}else if (cs->c_ignore_phase == IGNORE_B) {
|
|
|
- LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
+ //LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
cs->adc_ib = cs->adc_ib_filter;
|
|
|
}else if (cs->c_ignore_phase == IGNORE_ALL) {
|
|
|
cs->adc_ia = cs->adc_ia_filter;
|
|
|
@@ -210,16 +211,16 @@ void phase_current_get(float *iABC){
|
|
|
/* Ib = PhaseBOffset - ADC converted value) */
|
|
|
cs->adc_ib = (phase_current1 - cs->adc_offset_b);
|
|
|
cs->adc_ic = (phase_current2 - cs->adc_offset_c);
|
|
|
-
|
|
|
+ LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
+ LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
+ cs->adc_ia_filter = -(cs->adc_ib_filter + cs->adc_ic_filter);
|
|
|
if (cs->c_ignore_phase == IGNORE_NONE) {
|
|
|
- LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
- LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
- LowPass_Filter(cs->adc_ia_filter, -(cs->adc_ib + cs->adc_ic), LOW_FP_COEF);
|
|
|
+
|
|
|
}else if (cs->c_ignore_phase == IGNORE_B) {
|
|
|
- LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
+ //LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
cs->adc_ib = cs->adc_ib_filter;
|
|
|
}else if (cs->c_ignore_phase == IGNORE_C) {
|
|
|
- LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
+ //LowPass_Filter(cs->adc_ib_filter, cs->adc_ib, LOW_FP_COEF);
|
|
|
cs->adc_ic = cs->adc_ic_filter;
|
|
|
}else if (cs->c_ignore_phase == IGNORE_ALL) {
|
|
|
cs->adc_ib = cs->adc_ib_filter;
|
|
|
@@ -232,21 +233,22 @@ void phase_current_get(float *iABC){
|
|
|
/* Ia = PhaseAOffset - ADC converted value) */
|
|
|
cs->adc_ia = (phase_current1 - cs->adc_offset_a);
|
|
|
cs->adc_ic = (phase_current2 - cs->adc_offset_c);
|
|
|
+ LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
+ LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
+ cs->adc_ib_filter = -(cs->adc_ia_filter + cs->adc_ic_filter);
|
|
|
+
|
|
|
if (cs->c_ignore_phase == IGNORE_NONE) {
|
|
|
- LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
- LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
- LowPass_Filter(cs->adc_ib_filter, -(cs->adc_ia + cs->adc_ic), LOW_FP_COEF);
|
|
|
+
|
|
|
}else if (cs->c_ignore_phase == IGNORE_A) {
|
|
|
- LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
+ //LowPass_Filter(cs->adc_ic_filter, cs->adc_ic, LOW_FP_COEF);
|
|
|
cs->adc_ia = cs->adc_ia_filter;
|
|
|
}else if (cs->c_ignore_phase == IGNORE_C) {
|
|
|
- LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
+ //LowPass_Filter(cs->adc_ia_filter, cs->adc_ia, LOW_FP_COEF);
|
|
|
cs->adc_ic = cs->adc_ic_filter;
|
|
|
}else if (cs->c_ignore_phase == IGNORE_ALL) {
|
|
|
cs->adc_ia = cs->adc_ia_filter;
|
|
|
cs->adc_ic = cs->adc_ic_filter;
|
|
|
}
|
|
|
-
|
|
|
cs->adc_ib = -(cs->adc_ia + cs->adc_ic);
|
|
|
}
|
|
|
iABC[0] = -cs->adc_ia * ADC_TO_CURR_ceof;
|