Changeset 28 for trunk/firmware_v2/SES/src
- Timestamp:
- Oct 26, 2025, 5:43:37 PM (3 days ago)
- Location:
- trunk/firmware_v2/SES/src
- Files:
-
- 4 edited
-
main.c (modified) (4 diffs)
-
mode_secondaryprotection.c (modified) (2 diffs)
-
mode_secondaryprotection_plus.c (modified) (2 diffs)
-
voltage_meas.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/firmware_v2/SES/src/main.c
r24 r28 24 24 #include "usart.h" 25 25 #include "gpio.h" 26 #include "iwdg.h" 26 27 27 28 /* Private includes ----------------------------------------------------------*/ … … 114 115 MX_TIM16_Init(); 115 116 MX_TIM17_Init(); 117 MX_IWDG_Init(); 116 118 // MX_USART1_UART_Init(); 117 119 /* USER CODE BEGIN 2 */ … … 120 122 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_SET); 121 123 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ON_GPIO_Port, GPIO_OUTPUT_LED_ON_Pin, GPIO_PIN_SET); 122 HAL_Delay( 1000);124 HAL_Delay(500); 123 125 HAL_GPIO_WritePin(GPIO_OUTPUT_BUZZER_GPIO_Port, GPIO_OUTPUT_BUZZER_Pin, GPIO_PIN_RESET); 124 126 HAL_GPIO_WritePin(GPIO_OUTPUT_LED_ERROR_GPIO_Port, GPIO_OUTPUT_LED_ERROR_Pin, GPIO_PIN_RESET); … … 161 163 162 164 /* USER CODE BEGIN 3 */ 165 HAL_IWDG_Refresh(&hiwdg); 166 167 163 168 if (oldTimeMSTick != HAL_GetTick()) 164 169 { -
trunk/firmware_v2/SES/src/mode_secondaryprotection.c
r24 r28 119 119 120 120 if (HAL_GPIO_ReadPin(GPIO_INPUT_FAULT_GPIO_Port, GPIO_INPUT_FAULT_Pin) == GPIO_PIN_RESET) 121 { 122 faultInput = 1; 121 { 122 HAL_Delay(1); // Verzögerung 1ms damit eventuell noch zuerst durch smartPro der Strom gestoppt werden kann 123 if (HAL_GPIO_ReadPin(GPIO_INPUT_FAULT_GPIO_Port, GPIO_INPUT_FAULT_Pin) == GPIO_PIN_RESET) 124 { 125 faultInput = 1; 126 } 127 123 128 } 124 129 else … … 216 221 static void SECONDARYPROTECTION_SM_ManualOn(void) 217 222 { 223 224 int faultInput = 0; 225 226 227 if (HAL_GPIO_ReadPin(GPIO_INPUT_FAULT_GPIO_Port, GPIO_INPUT_FAULT_Pin) == GPIO_PIN_RESET) 228 { 229 HAL_Delay(500); // Verzögerung 500ms damit eventuell noch zuerst durch smartPro der Strom gestoppt werden kann 230 if (HAL_GPIO_ReadPin(GPIO_INPUT_FAULT_GPIO_Port, GPIO_INPUT_FAULT_Pin) == GPIO_PIN_RESET) 231 { 232 faultInput = 1; 233 } 234 235 } 236 else 237 { 238 faultInput = 0; 239 } 240 241 if (faultInput == 1) 242 { 243 RELAIS_ResetPuls(); 244 BUZZER_Beep(BUZZER_ON_TIME_REJECT); //Warnung 245 LEDS_GN_Off(); 246 LEDS_RT_BlinkCode_Start(BLINK_CODE_ERROR_FAULT_INPUT, LED_RT_ON_TIME_WARN_FAULT_INPUT, LED_RT_OFF_TIME, LED_RT_OFF_TIME *5); //Fehler Anzeigen 247 BUTTON_SetModeOff(); //Damit nicht von alleine wieder eingeschaltet wird 248 printf("FAULT INPUT EVENT DETECTED!\n"); 249 printf("NEW_STATE: SECONDARYPROTECTION_ERROR\n"); 250 smState = SECONDARYPROTECTION_ERROR; 251 } 252 253 218 254 // Prüfe Wechsel in off mode 219 255 if (BUTTON_GetMode() == BUTTON_OFF) -
trunk/firmware_v2/SES/src/mode_secondaryprotection_plus.c
r24 r28 10 10 // - Die letzten beiden Positionen können vielleicht ungewollt sein. 11 11 12 12 13 // Hier wird Manuall On nicht erlaubt -> Extra sicher 13 // Ansonsten wie Modus 014 // Ansonsten wie Modus 1 14 15 15 16 … … 30 31 SECONDARYPROTECTION_OFF, 31 32 SECONDARYPROTECTION_ON, 32 // SECONDARYPROTECTION_MANUAL_ON, 33 // SECONDARYPROTECTION_MANUAL_ON, HIer nicht erlaubt für mehr Sicherheit 33 34 SECONDARYPROTECTION_ERROR 34 35 } SECONDARYPROTECTION_state_t; -
trunk/firmware_v2/SES/src/voltage_meas.c
r23 r28 11 11 static uint32_t voltageDrop; 12 12 13 #define VOLTAGE_DIVIDER_12V 6 13 14 15 #if defined SYSTEM_VOLTAGE_12V 16 #define VOLTAGE_DIVIDER 6 17 #elif defined SYSTEM_VOLTAGE_24V 18 #define VOLTAGE_DIVIDER 11 19 #elif defined SYSTEM_VOLTAGE_48V 20 #define VOLTAGE_DIVIDER 21 21 #else 22 #error "System voltage not defined" 23 #endif 24 25 14 26 #define VOLTAGE_DROP_U_LIMIT 90 //mV ca. 30 mV Messfehler + 60mV bei 150A 15 27 #define VOLTAGE_DROP_T_LIMIT 1000 … … 24 36 vuin = adcValUin * VREF; 25 37 vuin = vuin / 65635; 26 vuin = vuin * VOLTAGE_DIVIDER _12V; //Divider für 12V Version38 vuin = vuin * VOLTAGE_DIVIDER; //Divider für 12V Version 27 39 voltageUin = vuin; 28 40 … … 31 43 vuout = adcValUout * VREF; 32 44 vuout = vuout / 65635; 33 vuout = vuout * VOLTAGE_DIVIDER _12V; //Divider für 12V Version45 vuout = vuout * VOLTAGE_DIVIDER; //Divider für 12V Version 34 46 voltageUout = vuout; 35 47
Note: See TracChangeset
for help on using the changeset viewer.
