From 61f79dd914726a85321e4a8166fabca7b854b161 Mon Sep 17 00:00:00 2001 From: seklyuts Date: Mon, 3 Jun 2024 09:04:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D0=B5=D0=BC=D0=BF=D0=B5=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D1=83=D1=80=D1=8B=20=D0=BF=D0=BE=20=D0=BF=D1=80=D0=B5=D1=80?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=20=D1=82=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D0=BE=20=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B2=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D1=82=D1=81=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=B2=D0=B8=D0=B3=D0=B0=D1=82=D0=B5=D0=BB=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Projects/epwm_test_biss_c_cpu2/Start_rfm.pmp | Bin 40030 -> 46837 bytes Projects/epwm_test_biss_c_cpu2/src/fault.c | 10 +++++----- .../epwm_test_biss_c_cpu2/src/frmmstr_run.c | 13 +++++++------ .../epwm_test_biss_c_cpu2/src/temperature.c | 12 +++++++++++- .../epwm_test_biss_c_cpu2/src/temperature.h | 2 ++ Projects/epwm_test_biss_c_cpu2/src/vector.c | 7 +++++++ 6 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Projects/epwm_test_biss_c_cpu2/Start_rfm.pmp b/Projects/epwm_test_biss_c_cpu2/Start_rfm.pmp index e8b1dfb86d14e46ad4eae41148a9177ccba0a188..8c2c456c489b60d37f9e6e7d7a1e8f0b934e4691 100644 GIT binary patch literal 46837 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 Temperature_TimeMax) { - Temperature = ((temperatureTic[0]-1)>>4) - 50; + if(TemperatureInitDone) Temperature = ((temperatureTic[0]-1)>>4) - 50; + else TemperatureInitDone = 1; temperatureTic[1] = TemperatureImpCount = 0; } } diff --git a/Projects/epwm_test_biss_c_cpu2/src/temperature.h b/Projects/epwm_test_biss_c_cpu2/src/temperature.h index f1dfc4c..ab4ae81 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/temperature.h +++ b/Projects/epwm_test_biss_c_cpu2/src/temperature.h @@ -10,5 +10,7 @@ void temperatureTest(void); uint16_t temperature_calc(uint16_t Imp); +void temperatureInit(void); +void temperature_deInit(void); #endif /* SRC_TEMPERATURE_H_ */ diff --git a/Projects/epwm_test_biss_c_cpu2/src/vector.c b/Projects/epwm_test_biss_c_cpu2/src/vector.c index cfeb919..6a46c52 100644 --- a/Projects/epwm_test_biss_c_cpu2/src/vector.c +++ b/Projects/epwm_test_biss_c_cpu2/src/vector.c @@ -18,6 +18,7 @@ #include "skvt.h" #include "adc_init.h" #include "biss.h" +#include "temperature.h" #define IMAX_A 25.0 //A #define IMAX (IMAX_A*BIT_MAX/FACTOR_CURRENT_MOTOR_A) @@ -81,9 +82,11 @@ float UdcVolt = 0; volatile float VdcFactor = FACTOR_VDC; volatile uint16_t VoltProcImit = 0; + void vectorFault(void) { Mode = OffMode; + XintRegs.XINT2CR.bit.ENABLE = 1; } void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t sdfmUdc) @@ -105,6 +108,10 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t Step = Step + Nstep; CurrLoop.piId.Ref = 0; + + if(Mode) {XintRegs.XINT2CR.bit.ENABLE = 0; temperature_deInit();} + else {XintRegs.XINT2CR.bit.ENABLE = 1;} + switch(Mode) { case OffMode: