From cf19d6fccb961b59c68411d74296acc8a090e840 Mon Sep 17 00:00:00 2001 From: jsphuebner Date: Sat, 17 Oct 2020 23:27:31 +0200 Subject: [PATCH] Preparation for boot loader pin initialization Added Toyota motor temperature sensor Added tripmode "AutoResume" that will restart inverter 0.5 seconds after it tripped - do not use with FOC code! Ramping up heat dissipation current to avoid controller overshoot Improved initial current sensor offset calibration Fixed spurious current offset warnings --- include/hwdefs.h | 1 + include/hwinit.h | 1 + include/param_prj.h | 13 ++++----- include/temp_meas.h | 55 +++++++++++++++++++++++++++++++++++--- libopeninv | 2 +- misc/temp_sensors.ods | Bin 49635 -> 97281 bytes src/hwinit.cpp | 43 +++++++++++++++++++++++++++++ src/inc_encoder.cpp | 10 +++---- src/pwmgeneration-foc.cpp | 31 +++++++++++++++------ src/stm32_sine.cpp | 19 +++++++------ src/temp_meas.cpp | 4 +++ 11 files changed, 147 insertions(+), 32 deletions(-) diff --git a/include/hwdefs.h b/include/hwdefs.h index 0da4418..c8ab210 100644 --- a/include/hwdefs.h +++ b/include/hwdefs.h @@ -31,6 +31,7 @@ #define TERM_USART_DMATX DMA_CHANNEL2 //this means we can not use it on rev1 hardware (TIM3_CH3) #define TERM_USART_DR USART3_DR #define TERM_BUFSIZE 128 +#define UARTDMABLOCKED //enables special code for Rev1 boards //Address of parameter block in flash #define FLASH_PAGE_SIZE 1024 #define PARAM_ADDRESS 0x0801FC00 diff --git a/include/hwinit.h b/include/hwinit.h index b323dd3..48d716a 100644 --- a/include/hwinit.h +++ b/include/hwinit.h @@ -34,6 +34,7 @@ void nvic_setup(void); void rtc_setup(void); void tim_setup(void); HWREV detect_hw(void); +void write_bootloader_pininit(); #ifdef __cplusplus } diff --git a/include/param_prj.h b/include/param_prj.h index 26907ac..a172958 100644 --- a/include/param_prj.h +++ b/include/param_prj.h @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -#define VER 4.93.R +#define VER 4.94.R /* Entries must be ordered as follows: 1. Saveable parameters (id != 0) @@ -36,7 +36,7 @@ PARAM_ENTRY(CAT_MOTOR, numimp, "ppr", 8, 8192, 60, 15 ) \ PARAM_ENTRY(CAT_MOTOR, dirchrpm, "rpm", 0, 20000, 100, 87 ) \ PARAM_ENTRY(CAT_MOTOR, dirmode, DIRMODES, 0, 4, 1, 95 ) \ - PARAM_ENTRY(CAT_MOTOR, snsm, SNS_M, 12, 15, 12, 46 ) + PARAM_ENTRY(CAT_MOTOR, snsm, SNS_M, 12, 16, 12, 46 ) #define MOTOR_PARAMETERS_SINE \ PARAM_ENTRY(CAT_MOTOR, boost, "dig", 0, 37813, 1700, 1 ) \ @@ -129,7 +129,7 @@ PARAM_ENTRY(CAT_AUTOM, cruisemode, BTNSWITCH, 0, 2, 0, 62 ) \ PARAM_ENTRY(CAT_CONTACT, udcsw, "V", 0, 1000, 330, 20 ) \ PARAM_ENTRY(CAT_CONTACT, udcswbuck, "V", 0, 1000, 540, 80 ) \ - PARAM_ENTRY(CAT_CONTACT, tripmode, TRIPMODES, 0, 2, 0, 86 ) \ + PARAM_ENTRY(CAT_CONTACT, tripmode, TRIPMODES, 0, 3, 0, 86 ) \ PARAM_ENTRY(CAT_PWM, pwmfunc, PWMFUNCS, 0, 3, 0, 58 ) \ PARAM_ENTRY(CAT_PWM, pwmgain, "", -100000,100000, 100, 40 ) \ PARAM_ENTRY(CAT_PWM, pwmofs, "dig", -65535, 65535, 0, 41 ) \ @@ -234,9 +234,9 @@ #define PWMFRQS "0=17.6kHz, 1=8.8kHz, 2=4.4KHz" #define PWMPOLS "0=ACTHIGH, 1=ACTLOW" #define DIRS "-1=Reverse, 0=Neutral, 1=Forward" -#define TRIPMODES "0=AllOff, 1=DcSwOn, 2=PrechargeOn" +#define TRIPMODES "0=AllOff, 1=DcSwOn, 2=PrechargeOn, 3=AutoResume" #define SNS_HS "0=JCurve, 1=Semikron, 2=MBB600, 3=KTY81, 4=PT1000, 5=NTCK45_2k2, 6=Leaf" -#define SNS_M "12=KTY83-110, 13=KTY84-130, 14=Leaf, 15=KTY81-110" +#define SNS_M "12=KTY83-110, 13=KTY84-130, 14=Leaf, 15=KTY81-110, 16=Toyota" #define PWMFUNCS "0=tmpm, 1=tmphs, 2=speed, 3=speedfrq" #define BTNSWITCH "0=Button, 1=Switch, 2=CAN" #define DIRMODES "0=Button, 1=Switch, 2=ButtonReversed, 3=SwitchReversed, 4=DefaultForward" @@ -321,7 +321,8 @@ enum _tripmodes { TRIP_ALLOFF = 0, TRIP_DCSWON, - TRIP_PRECHARGEON + TRIP_PRECHARGEON, + TRIP_AUTORESUME }; enum _dirmodes diff --git a/include/temp_meas.h b/include/temp_meas.h index 8293640..11aaef9 100644 --- a/include/temp_meas.h +++ b/include/temp_meas.h @@ -38,10 +38,11 @@ class TempMeas TEMP_KTY84 = 13, TEMP_LEAF = 14, TEMP_KTY81M = 15, - TEMP_TESLA_100K = 16, - TEMP_TESLA_52K = 17, - TEMP_TESLA_LDU_FLUID = 18, - TEMP_TESLA_10K = 19, + TEMP_TOYOTA = 16, + TEMP_TESLA_100K = 17, + TEMP_TESLA_52K = 18, + TEMP_TESLA_LDU_FLUID = 19, + TEMP_TESLA_10K = 20, TEMP_LAST }; @@ -466,6 +467,52 @@ class TempMeas 1007 ,\ 980 ,\ +#define TOYOTA_M \ +4009 ,\ +4007 ,\ +4004 ,\ +4000 ,\ +3996 ,\ +3990 ,\ +3983 ,\ +3974 ,\ +3963 ,\ +3950 ,\ +3935 ,\ +3917 ,\ +3895 ,\ +3870 ,\ +3841 ,\ +3808 ,\ +3770 ,\ +3726 ,\ +3678 ,\ +3624 ,\ +3564 ,\ +3499 ,\ +3427 ,\ +3350 ,\ +3267 ,\ +3180 ,\ +3087 ,\ +2990 ,\ +2890 ,\ +2786 ,\ +2680 ,\ +2572 ,\ +2464 ,\ +2355 ,\ +2247 ,\ +2140 ,\ +2034 ,\ +1931 ,\ +1831 ,\ +1733 ,\ +1640 ,\ +1549 ,\ +1463 ,\ +1380 ,\ +1302 #endif diff --git a/libopeninv b/libopeninv index ed0c723..06c32c3 160000 --- a/libopeninv +++ b/libopeninv @@ -1 +1 @@ -Subproject commit ed0c7234b86ac76158880e2be4802e91d5f7dbe3 +Subproject commit 06c32c3765721fd74c8bf0fc4a632b8a7bf708b3 diff --git a/misc/temp_sensors.ods b/misc/temp_sensors.ods index dc9c8a7aca8d17d2eecaa6d447c0c209fb90c309..147dea4f39f5babfa6a7e90e439f7250997dcbc9 100644 GIT binary patch delta 82746 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

4ao_)pSA4#EriPB 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

bDM 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

hJReFxdKTNtCDSGBiT)q8|_Tvi%x4Goit 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 I3>XgdKMk+#m;e9( delta 34850 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 JYS*8?{tx!U2Oj_c diff --git a/src/hwinit.cpp b/src/hwinit.cpp index c31cff3..e1e0654 100644 --- a/src/hwinit.cpp +++ b/src/hwinit.cpp @@ -28,8 +28,12 @@ #include #include #include +#include +#include #include "hwdefs.h" #include "hwinit.h" +#include "stm32_loader.h" +#include "my_string.h" /** * Start clocks of all needed peripherals @@ -104,6 +108,45 @@ HWREV detect_hw() return HW_REV2; } +void write_bootloader_pininit() +{ + struct pincommands *flashCommands = (struct pincommands *)PINDEF_ADDRESS; + struct pincommands commands; + + memset32((int*)&commands, 0, PINDEF_NUMWORDS); + + commands.pindef[0].port = GPIOC; + commands.pindef[0].inout = PIN_OUT; + commands.pindef[0].level = 0; + + if (hwRev == HW_BLUEPILL) + { + commands.pindef[0].pin = GPIO15; + } + else + { + commands.pindef[0].pin = GPIO13; + } + + crc_reset(); + uint32_t crc = crc_calculate_block(((uint32_t*)&commands), PINDEF_NUMWORDS); + commands.crc = crc; + + if (commands.crc != flashCommands->crc) + { + flash_unlock(); + flash_erase_page(PINDEF_ADDRESS); + + //Write flash including crc, therefor <= + for (uint32_t idx = 0; idx <= PINDEF_NUMWORDS; idx++) + { + uint32_t* pData = ((uint32_t*)&commands) + idx; + flash_program_word(PINDEF_ADDRESS + idx * sizeof(uint32_t), *pData); + } + flash_lock(); + } +} + /** * Setup UART3 115200 8N1 */ diff --git a/src/inc_encoder.cpp b/src/inc_encoder.cpp index 25b4bc3..e4a59e6 100644 --- a/src/inc_encoder.cpp +++ b/src/inc_encoder.cpp @@ -544,11 +544,6 @@ uint16_t Encoder::DecodeAngle(bool invert) int sin = adc_read_injected(ADC1, sinChan); int cos = adc_read_injected(ADC1, cosChan); - int temp = MIN(sin, cos); - resolverMin = MIN(temp, resolverMin); - temp = MAX(sin, cos); - resolverMax = MAX(temp, resolverMax); - //Wait for signal to reach usable amplitude if ((resolverMax - resolverMin) > MIN_RES_AMP) { @@ -558,6 +553,11 @@ uint16_t Encoder::DecodeAngle(bool invert) } else { + int temp = MIN(sin, cos); + resolverMin = MIN(temp, resolverMin); + temp = MAX(sin, cos); + resolverMax = MAX(temp, resolverMax); + if (0 == startupDelay) { ErrorMessage::Post(ERR_LORESAMP); diff --git a/src/pwmgeneration-foc.cpp b/src/pwmgeneration-foc.cpp index 4e47a53..71c8c5f 100644 --- a/src/pwmgeneration-foc.cpp +++ b/src/pwmgeneration-foc.cpp @@ -127,6 +127,7 @@ void PwmGeneration::Run() void PwmGeneration::SetTorquePercent(s32fp torquePercent) { + static int32_t heatCurRamped = 0; s32fp brkrampstr = Param::Get(Param::brkrampstr); int direction = Param::GetInt(Param::dir); int heatCur = Param::GetInt(Param::heatcur); @@ -153,7 +154,8 @@ void PwmGeneration::SetTorquePercent(s32fp torquePercent) if (speed == 0 && torquePercent <= 0) { iq = 0; - id = (heatCur * 2) / 3; + heatCurRamped = RAMPUP(heatCurRamped, heatCur, 10); + id = heatCurRamped; } /*else if (torquePercent > 0) { @@ -162,11 +164,13 @@ void PwmGeneration::SetTorquePercent(s32fp torquePercent) else { FOC::Mtpa(is, id, iq); + heatCurRamped = 0; } } else { FOC::Mtpa(is, id, iq); + heatCurRamped = 0; } qController.SetRef(FP_FROMINT(iq)); @@ -225,22 +229,33 @@ void PwmGeneration::PwmInit() s32fp PwmGeneration::ProcessCurrents(s32fp& id, s32fp& iq) { + static int il1Avg = 0, il2Avg = 0; + const int offsetSamples = 16; + if (initwait > 0) { initwait--; - SetCurrentOffset(AnaIn::il1.Get(), AnaIn::il2.Get()); + + if (initwait <= offsetSamples) + { + il1Avg += AnaIn::il1.Get(); + il2Avg += AnaIn::il2.Get(); + } + else + { + il1Avg = il2Avg = 0; + } + + if (initwait == 1) + { + SetCurrentOffset(il1Avg / offsetSamples, il2Avg / offsetSamples); + } } else { s32fp il1 = GetCurrent(AnaIn::il1, ilofs[0], Param::Get(Param::il1gain)); s32fp il2 = GetCurrent(AnaIn::il2, ilofs[1], Param::Get(Param::il2gain)); - //1s after motor stand still and no current request, recalibrate current sensor offset - if (idleCounter == pwmfrq) - { - SetCurrentOffset(AnaIn::il1.Get(), AnaIn::il2.Get()); - } - if ((Param::GetInt(Param::pinswap) & SWAP_CURRENTS) > 0) FOC::ParkClarke(il2, il1, angle); else diff --git a/src/stm32_sine.cpp b/src/stm32_sine.cpp index d79b081..43ea853 100644 --- a/src/stm32_sine.cpp +++ b/src/stm32_sine.cpp @@ -567,6 +567,7 @@ static void SetContactorsOffState() case TRIP_ALLOFF: DigIo::dcsw_out.Clear(); break; + case TRIP_AUTORESUME: case TRIP_DCSWON: //do nothing break; @@ -600,14 +601,10 @@ static void Ms10Task(void) CalcAndOutputTemp(); Param::SetInt(Param::speed, Encoder::GetSpeed()); - if (MOD_RUN == opmode) + if (MOD_RUN == opmode && initWait == -1) { PwmGeneration::SetTorquePercent(torquePercent); } - else if (MOD_OFF == opmode && Encoder::GetSpeed() == 0) - { - PwmGeneration::SetCurrentOffset(AnaIn::il1.Get(), AnaIn::il2.Get()); - } else if (MOD_BOOST == opmode || MOD_BUCK == opmode) { s32fp chargeCur = Param::Get(Param::chargecur); @@ -651,7 +648,8 @@ static void Ms10Task(void) if ((chargemode == MOD_BUCK && udc >= Param::Get(Param::udcswbuck)) || chargemode == MOD_BOOST) newMode = chargemode; } - else if (Param::GetBool(Param::din_start)) + else if (Param::GetBool(Param::din_start) || + (Param::GetInt(Param::tripmode) == TRIP_AUTORESUME && PwmGeneration::Tripped())) { newMode = MOD_RUN; } @@ -680,11 +678,13 @@ static void Ms10Task(void) initWait = 50; SetContactorsOffState(); + PwmGeneration::SetTorquePercent(0); PwmGeneration::SetOpmode(MOD_OFF); Throttle::cruiseSpeed = -1; } else if (0 == initWait) { + Throttle::RampThrottle(0); //Restart ramp Encoder::Reset(); //this applies new deadtime and pwmfrq and enables the outputs for the given mode PwmGeneration::SetOpmode(opmode); @@ -693,9 +693,11 @@ static void Ms10Task(void) DigIo::vtg_out.Clear(); initWait = -1; } - else if (hwRev == HW_TESLAM3 && initWait == 10) + else if (initWait == 10) { - DigIo::vtg_out.Set(); + PwmGeneration::SetCurrentOffset(AnaIn::il1.Get(), AnaIn::il2.Get()); + if (hwRev == HW_TESLAM3) + DigIo::vtg_out.Set(); initWait--; } else if (initWait > 0) @@ -862,6 +864,7 @@ extern "C" int main(void) clock_setup(); rtc_setup(); ConfigureVariantIO(); + write_bootloader_pininit(); //Additional test pins on JTAG header //AFIO_MAPR |= AFIO_MAPR_SPI1_REMAP | AFIO_MAPR_SWJ_CFG_JTAG_OFF_SW_OFF; diff --git a/src/temp_meas.cpp b/src/temp_meas.cpp index dfa7029..cd6dc77 100644 --- a/src/temp_meas.cpp +++ b/src/temp_meas.cpp @@ -71,6 +71,9 @@ static const uint16_t TeslaFluid[] = { TESLA_LDU_FLUID }; /* Temp sensor embedded in Tesla rear heatsink */ static const uint16_t Tesla10k[] = { TESLA_10K }; +/* Temp sensor embedded in many Toyota motors */ +static const uint16_t Toyota[] = { TOYOTA_M }; + /* contributed by Fabian Brauss */ /* Temp sensor KTY81-121 */ static const uint16_t Kty81hs[] = { KTY81_HS }; @@ -94,6 +97,7 @@ static const TEMP_SENSOR sensors[] = { -40, 300, 10, TABLEN(Kty84), PTC, Kty84 }, { -20, 150, 10, TABLEN(leaf), NTC, leaf }, { -50, 150, 10, TABLEN(kty81m), PTC, kty81m }, + { -20, 200, 5, TABLEN(Toyota), PTC, Toyota }, { -20, 190, 5, TABLEN(Tesla100k), PTC, Tesla100k }, { 0, 100, 10, TABLEN(Tesla52k), PTC, Tesla52k }, { 5, 100, 5, TABLEN(TeslaFluid),PTC, TeslaFluid },