From 0527bd770c44940d688b96159ee6098144f5a6a6 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sun, 6 Oct 2019 22:43:08 +0200 Subject: [PATCH] Added fixed-point low pass filter functions Preparation of the low pass filter functions. They will be used to replace floating point filters. --- .../filtLowPass.c | 30 +++++--- .../filtLowPass.h | 14 ++-- .../filtLowPass.c | 36 ++++++---- .../filtLowPass.h | 18 ++--- .../BLDCmotorControl_FOC_R2017b_fixdt.slx | Bin 181219 -> 181468 bytes Inc/defines.h | 6 +- README.md | 14 +++- Src/main.c | 67 ++++++++++++++++++ 8 files changed, 143 insertions(+), 42 deletions(-) diff --git a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.c b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.c index 16a9b26..1ddb411 100644 --- a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.c +++ b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.c @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'filtLowPass'. * - * Model version : 1.1160 + * Model version : 1.1167 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Fri Sep 27 08:03:25 2019 + * C/C++ source code generated on : Sun Oct 6 22:11:53 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -117,7 +117,8 @@ extern int16_T filtLowPass_l(int16_T rtu_u, uint16_T rtu_coef, DW_filtLowPass /* Output and update for atomic system: '/filtLowPass' */ int16_T filtLowPass_l(int16_T rtu_u, uint16_T rtu_coef, DW_filtLowPass *localDW) { - int16_T rtb_Sum1; + int32_T tmp; + int16_T rty_y_0; /* Outputs for Atomic SubSystem: '/Low_Pass_Filter1' */ /* Sum: '/Sum1' incorporates: @@ -127,16 +128,25 @@ int16_T filtLowPass_l(int16_T rtu_u, uint16_T rtu_coef, DW_filtLowPass *localDW) * Sum: '/Sum5' * UnitDelay: '/UnitDelay3' */ - rtb_Sum1 = (int16_T)((((int16_T)(rtu_u << 4) * rtu_coef) >> 16) + (((int32_T) - (65535U - rtu_coef) * localDW->UnitDelay3_DSTATE) >> 16)); + tmp = (((int16_T)(rtu_u << 4) * rtu_coef) >> 16) + (((int32_T)(65535U - + rtu_coef) * localDW->UnitDelay3_DSTATE) >> 16); + if (tmp > 32767) { + tmp = 32767; + } else { + if (tmp < -32768) { + tmp = -32768; + } + } - /* Update for UnitDelay: '/UnitDelay3' */ - localDW->UnitDelay3_DSTATE = rtb_Sum1; + rty_y_0 = (int16_T)tmp; + + /* Update for UnitDelay: '/UnitDelay3' incorporates: + * Sum: '/Sum1' + */ + localDW->UnitDelay3_DSTATE = (int16_T)tmp; /* End of Outputs for SubSystem: '/Low_Pass_Filter1' */ - - /* DataTypeConversion: '/Data Type Conversion1' */ - return (int16_T)(rtb_Sum1 >> 4); + return rty_y_0; } /* Model step function */ diff --git a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.h b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.h index cccf838..b137f33 100644 --- a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.h +++ b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix16En4/filtLowPass.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'filtLowPass'. * - * Model version : 1.1160 + * Model version : 1.1167 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Fri Sep 27 08:03:25 2019 + * C/C++ source code generated on : Sun Oct 6 22:11:53 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -73,14 +73,14 @@ extern void filtLowPass_step(RT_MODEL *const rtM); * MATLAB hilite_system command to trace the generated code back * to the parent model. For example, * - * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass') - opens subsystem BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass - * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass/Kp') - opens and selects block Kp + * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass') - opens subsystem BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass + * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass/Kp') - opens and selects block Kp * * Here is the system hierarchy for this model * - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass/Low_Pass_Filter1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass/Low_Pass_Filter1' */ #endif /* RTW_HEADER_filtLowPass_h_ */ diff --git a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.c b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.c index 8660486..76cc256 100644 --- a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.c +++ b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.c @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'filtLowPass'. * - * Model version : 1.1160 + * Model version : 1.1165 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Fri Sep 27 08:08:04 2019 + * C/C++ source code generated on : Sun Oct 6 22:00:52 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -81,7 +81,7 @@ preprocessor word size checks. #endif #endif -extern int16_T filtLowPass_l(int32_T rtu_u, uint16_T rtu_coef, DW_filtLowPass +extern int32_T filtLowPass_l(int16_T rtu_u, uint16_T rtu_coef, DW_filtLowPass *localDW); /*===========* @@ -115,9 +115,11 @@ extern int16_T filtLowPass_l(int32_T rtu_u, uint16_T rtu_coef, DW_filtLowPass #endif /* Output and update for atomic system: '/filtLowPass' */ -int16_T filtLowPass_l(int32_T rtu_u, uint16_T rtu_coef, DW_filtLowPass *localDW) +int32_T filtLowPass_l(int16_T rtu_u, uint16_T rtu_coef, DW_filtLowPass *localDW) { - int32_T rtb_Sum1; + int32_T q0; + int32_T q1; + int32_T rty_y_0; /* Outputs for Atomic SubSystem: '/Low_Pass_Filter1' */ /* Sum: '/Sum1' incorporates: @@ -127,16 +129,24 @@ int16_T filtLowPass_l(int32_T rtu_u, uint16_T rtu_coef, DW_filtLowPass *localDW) * Sum: '/Sum5' * UnitDelay: '/UnitDelay3' */ - rtb_Sum1 = (int32_T)(((int64_T)(rtu_u << 16) * rtu_coef) >> 16) + (int32_T) - (((int64_T)(65535U - rtu_coef) * localDW->UnitDelay3_DSTATE) >> 16); + q0 = (int32_T)(((int64_T)(rtu_u << 16) * rtu_coef) >> 16); + q1 = (int32_T)(((int64_T)(65535U - rtu_coef) * localDW->UnitDelay3_DSTATE) >> + 16); + if ((q0 < 0) && (q1 < MIN_int32_T - q0)) { + rty_y_0 = MIN_int32_T; + } else if ((q0 > 0) && (q1 > MAX_int32_T - q0)) { + rty_y_0 = MAX_int32_T; + } else { + rty_y_0 = q0 + q1; + } - /* Update for UnitDelay: '/UnitDelay3' */ - localDW->UnitDelay3_DSTATE = rtb_Sum1; + /* Update for UnitDelay: '/UnitDelay3' incorporates: + * Sum: '/Sum1' + */ + localDW->UnitDelay3_DSTATE = rty_y_0; /* End of Outputs for SubSystem: '/Low_Pass_Filter1' */ - - /* DataTypeConversion: '/Data Type Conversion1' */ - return (int16_T)(rtb_Sum1 >> 16); + return rty_y_0; } /* Model step function */ @@ -152,7 +162,7 @@ void filtLowPass_step(RT_MODEL *const rtM) * Inport: '/coef' * Inport: '/u' */ - rtY->y = (int16_T) filtLowPass_l(rtU->u, rtU->coef, &rtDW->filtLowPass_l2); + rtY->y = filtLowPass_l(rtU->u, rtU->coef, &rtDW->filtLowPass_l2); /* End of Outputs for SubSystem: '/filtLowPass' */ } diff --git a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.h b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.h index 12d828b..f773172 100644 --- a/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.h +++ b/01_Matlab/99_RecycleBin/Filter_fixdt/filtLowPass_ert_rtw_sFix32En16/filtLowPass.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'filtLowPass'. * - * Model version : 1.1160 + * Model version : 1.1165 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Fri Sep 27 08:08:04 2019 + * C/C++ source code generated on : Sun Oct 6 22:00:52 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -41,13 +41,13 @@ typedef struct { /* External inputs (root inport signals with auto storage) */ typedef struct { - int32_T u; /* '/u' */ + int16_T u; /* '/u' */ uint16_T coef; /* '/coef' */ } ExtU; /* External outputs (root outports fed by signals with auto storage) */ typedef struct { - int16_T y; /* '/y' */ + int32_T y; /* '/y' */ } ExtY; /* Real-time Model Data Structure */ @@ -73,14 +73,14 @@ extern void filtLowPass_step(RT_MODEL *const rtM); * MATLAB hilite_system command to trace the generated code back * to the parent model. For example, * - * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass') - opens subsystem BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass - * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass/Kp') - opens and selects block Kp + * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass') - opens subsystem BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass + * hilite_system('BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass/Kp') - opens and selects block Kp * * Here is the system hierarchy for this model * - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/filtLowPass/Low_Pass_Filter1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/filtLowPass/Low_Pass_Filter1' */ #endif /* RTW_HEADER_filtLowPass_h_ */ diff --git a/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx b/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx index ac455cc52c9d7e84deababbd1b07923733caae84..12279d4ac244d5e4bd21ba95cc589edf26bbf735 100644 GIT binary patch delta 68121 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

h6Z-8MJhn?R9bK1ZEW3cH0zXVLgY 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 delta 67933 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%0A}<`|KmNJOe*e? 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 diff --git a/Inc/defines.h b/Inc/defines.h index 30e9911..d99da31 100644 --- a/Inc/defines.h +++ b/Inc/defines.h @@ -157,4 +157,8 @@ typedef struct { uint16_t l_tx2; uint16_t temp; uint16_t l_rx2; -} adc_buf_t; \ No newline at end of file +} adc_buf_t; + +// Define low-pass filter functions. Implementation is in main.c +int16_t filtLowPass16(int16_t u, uint16_t coef, int16_t yPrev); +int32_t filtLowPass32(int32_t u, uint16_t coef, int32_t yPrev); \ No newline at end of file diff --git a/README.md b/README.md index 6b9a6f8..f62cfbd 100644 --- a/README.md +++ b/README.md @@ -127,11 +127,21 @@ Nunchuck or PPM working bad: The i2c bus and PPM signal are very sensitive to em Most robust way for input is to use the ADC and potis. It works well even on 1m unshielded cable. Solder ~100k Ohm resistors between ADC-inputs and gnd directly on the mainboard. Use potis as pullups to 3.3V. --- - - ## Examples Have a look at the config.h in the Inc directory. That's where you configure to firmware to match your project. Currently supported: Wii Nunchuck, analog potentiometer and PPM-Sum signal from a RC remote. A good example of control via UART, eg. from an Arduino or raspberryPi, can be found here: https://github.com/p-h-a-i-l/hoverboard-firmware-hack + +--- +## Acknowledgements + +Last but not least, I would like to acknowledge and thank the following people: + +github: @TomTinkering, @ced2c, @btsimonh, @lalalandrus, @p-h-a-i-l , @AntumArk, @juodumas + +ST Employee: [cedric H](https://community.st.com/s/question/0D50X0000B28qTDSQY/custom-foc-control-current-measurement-dma-timer-interrupt-needs-review) + +for the very useful discussions, code snippets, and good suggestions to make this work possbile. + diff --git a/Src/main.c b/Src/main.c index ad8d365..d517977 100644 --- a/Src/main.c +++ b/Src/main.c @@ -429,3 +429,70 @@ void SystemClock_Config(void) { /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); } + + +// =========================================================== + /* Low pass filter fixed-point 16 bits: fixdt(1,16,4) + * Max: 2047.9375 + * Min: -2048 + * Res: 0.0625 + * coef: [0,65535U] = fixdt(0,16,16) + * + * Call function example: + * If coef = 0.8 (in floating point), then coef = 0.8 * 2^16 = 52429 (in fixed-point) + * y = filtLowPass16(u, 52429, y); + */ +int16_t filtLowPass16(int16_t u, uint16_t coef, int16_t yPrev) +{ + int32_t tmp; + int16_t y; + + tmp = (((int16_t)(u << 4) * coef) >> 16) + + (((int32_t)(65535U - coef) * yPrev) >> 16); + + // Overflow protection + if (tmp > 32767) { + tmp = 32767; + } else { + if (tmp < -32768) { + tmp = -32768; + } + } + + y = (int16_t)tmp; + + return y; +} + +// =========================================================== + /* Low pass filter fixed-point 32 bits: fixdt(1,32,16) + * Max: 32767.99998474121 + * Min: -32768 + * Res: 1.52587890625e-5 + * coef: [0,65535U] = fixdt(0,16,16) + * + * Call function example: + * If coef = 0.8 (in floating point), then coef = 0.8 * 2^16 = 52429 (in fixed-point) + * y = filtLowPass16(u, 52429, y); + */ +int32_t filtLowPass32(int32_t u, uint16_t coef, int32_t yPrev) +{ + int32_t q0; + int32_t q1; + int32_t y; + + q0 = (int32_t)(((int64_t)(u << 16) * coef) >> 16); + q1 = (int32_t)(((int64_t)(65535U - coef) * yPrev) >> 16); + + // Overflow protection + if ((q0 < 0) && (q1 < MIN_int32_T - q0)) { + y = MIN_int32_T; + } else if ((q0 > 0) && (q1 > MAX_int32_T - q0)) { + y = MAX_int32_T; + } else { + y = q0 + q1; + } + + return y; +} +// ===========================================================