diff --git a/Projects/epwm_test_biss_c_cpu2/src/rele.c b/Projects/epwm_test_biss_c_cpu2/src/rele.c index 25698ef..f4d0c9a 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/rele.c +++ b/Projects/epwm_test_biss_c_cpu2/src/rele.c @@ -7,6 +7,7 @@ #include "f28x_project.h" #include "sdfm.h" #include "vector.h" +#include "gpio_init.h" #include "rele.h" @@ -38,14 +39,19 @@ void rele_run(int16_t UdcFiltered) Rele.Error = 0; } else { - if(Rele.ReleCounter == 0) Rele.Udc = UdcFiltered; - if(Rele.ReleCounter < Rele.CounterMax) {Rele.ReleCounter++; vectorFault();} - else - { - if((UdcFiltered - Rele.Udc ) < Rele.UdcDiff) + + if(Rele.Error) vectorFault(); + else { + if(Rele.ReleCounter == 0) Rele.Udc = UdcFiltered; + if(Rele.ReleCounter < Rele.CounterMax) {Rele.ReleCounter++; vectorFault();} + else if(Rele.ReleCounter == Rele.CounterMax) { - vectorFault(); - Rele.Error = 1; + Rele.ReleCounter++; + if((UdcFiltered - Rele.Udc ) < Rele.UdcDiff) + { + vectorFault(); + Rele.Error = 1; + } } } } diff --git a/Projects/epwm_test_biss_c_cpu2/src/rele.h b/Projects/epwm_test_biss_c_cpu2/src/rele.h index ed88ce0..7ada066 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/rele.h +++ b/Projects/epwm_test_biss_c_cpu2/src/rele.h @@ -8,7 +8,7 @@ #ifndef SRC_RELE_H_ #define SRC_RELE_H_ -#define RELE_COUNTER_MAX 30 +#define RELE_COUNTER_MAX 6500 #define RELE_UDC_DIFF_VOLT 5.0 #define RELE_UDC_DIFF (RELE_UDC_DIFF_VOLT*BIT_MAX/FACTOR_VDC)