Kind of working current monitoring. Value scale looks right but unsure about channel assignment
This commit is contained in:
@ -20,6 +20,7 @@
|
||||
#define CUR_CHANNELS_2_ID 0xCB
|
||||
#define CUR_CHANNELS_3_ID 0xCC
|
||||
#define CUR_CHANNELS_4_ID 0xCD
|
||||
#define LV_SENS_ID 0xCE
|
||||
|
||||
typedef struct {
|
||||
PortExtenderGPIO iostatus;
|
||||
|
||||
@ -10,8 +10,13 @@
|
||||
|
||||
#include "stm32f3xx_hal.h"
|
||||
|
||||
// Convert ADC quants to V
|
||||
#define ADC_V_FACTOR (3.3f / 4096)
|
||||
// Scale to LV by divider to mV
|
||||
#define LV_SENSE_FACTOR (1e3 * (ADC_V_FACTOR * ((27.f+8.2f)/8.2f)))
|
||||
|
||||
// Convert ADC quants to I_S in mA
|
||||
#define CURR_SENSE_IS_FACTOR ((3.3f / 4096) / 1.2f) // 3.3V / 12bit / 1.2kOhm
|
||||
#define CURR_SENSE_IS_FACTOR (ADC_V_FACTOR / 1.2f) // 3.3V / 12bit / 1.2kOhm
|
||||
// Convert ADC quants to I_L in mA
|
||||
#define CURR_SENSE_FACTOR_5A (3700 * CURR_SENSE_IS_FACTOR)
|
||||
#define CURR_SENSE_FACTOR_7_5A (5450 * CURR_SENSE_IS_FACTOR)
|
||||
@ -36,6 +41,7 @@ typedef struct {
|
||||
uint16_t ebsvalve_a;
|
||||
uint16_t ebsvalve_b;
|
||||
uint16_t cooling_pump;
|
||||
uint16_t lv_v;
|
||||
} CurrentMeasurements;
|
||||
|
||||
void currentMonitor_init(ADC_HandleTypeDef* hadc1, ADC_HandleTypeDef* hadc2,
|
||||
|
||||
@ -75,6 +75,8 @@ void Error_Handler(void);
|
||||
#define isense3_GPIO_Port GPIOA
|
||||
#define isense7_Pin GPIO_PIN_3
|
||||
#define isense7_GPIO_Port GPIOA
|
||||
#define isense9_Pin GPIO_PIN_4
|
||||
#define isense9_GPIO_Port GPIOF
|
||||
#define isense2_Pin GPIO_PIN_4
|
||||
#define isense2_GPIO_Port GPIOA
|
||||
#define isense1_Pin GPIO_PIN_5
|
||||
@ -83,6 +85,8 @@ void Error_Handler(void);
|
||||
#define isense10_GPIO_Port GPIOA
|
||||
#define isense4_Pin GPIO_PIN_7
|
||||
#define isense4_GPIO_Port GPIOA
|
||||
#define LV_sens_Pin GPIO_PIN_4
|
||||
#define LV_sens_GPIO_Port GPIOC
|
||||
#define GSS_GPIO_Pin GPIO_PIN_0
|
||||
#define GSS_GPIO_GPIO_Port GPIOB
|
||||
#define DSEL_3_Pin GPIO_PIN_12
|
||||
|
||||
@ -56,9 +56,11 @@ void DebugMon_Handler(void);
|
||||
void PendSV_Handler(void);
|
||||
void SysTick_Handler(void);
|
||||
void DMA1_Channel1_IRQHandler(void);
|
||||
void ADC1_2_IRQHandler(void);
|
||||
void USB_LP_CAN_RX0_IRQHandler(void);
|
||||
void CAN_RX1_IRQHandler(void);
|
||||
void CAN_SCE_IRQHandler(void);
|
||||
void TIM6_DAC_IRQHandler(void);
|
||||
void DMA2_Channel1_IRQHandler(void);
|
||||
/* USER CODE BEGIN EFP */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user