
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
//-------------------------------------------------------//
// Project Code : ALE300K03-21-LGE-GEN2.0-BE-CPU1
// File Name : SensingScale.h
// Created on : 2022. 11. 8.
// Description :
// Author : KimJeongWoo
// Last modified Date :
//-------------------------------------------------------//
#ifndef COMMON_RESOURCE_COMMONLIBRARY_SENSINGSCALE_H_
#define COMMON_RESOURCE_COMMONLIBRARY_SENSINGSCALE_H_
#ifdef __cplusplus
extern "C" {
#endif
#define ADC_OFFSET1V5 (4095./2.)
#define ZCT_OFFSET (1442.133333)
#define ADC_MAX_VOLT (3.)
#define INV_ADC_12BIT (0.000244200244200244000) //0x0FFF 역수
#define VOLT_PER_ADCBIT (ADC_MAX_VOLT * INV_ADC_12BIT)
#define LAH50_P_GAIN (2000.) //LAH 50-P 50A CT turn ratio 1:2000
#define LAH100_P_GAIN (2000.) //LAH 100-P 100A CT turn ratio 1:2000
#define AMC3330_GAIN (2.) //AMC3330 Fixed Gain 2.
#define INV_AMC3330_GAIN (1./2.) //AMC3330 Fixed Gain 2.
#define PT_INA821_RG (12.4) //12.4kOhm
#define PT_INA821_GAIN (1. + (49.4 / PT_INA821_RG)) //INA821 Datasheet 참조
#define INV_PT_INA821_GAIN (1. / PT_INA821_GAIN)
#define PT_OPAMP_GAIN (3./20.)
#define CT_OPAMP_GAIN (3./20.)
//------------------------입력전압 PT ---------------------------------------------------------------------------------------//
#define DC_PT_PRI_RD (992000.) //분압저항
#define DC_PT_PRI_RM (1300.) //측정저항
#define DC_PT_PRI_R_RATIO (DC_PT_PRI_RM / (DC_PT_PRI_RD + DC_PT_PRI_RM)) // 저항비
#define INV_DC_PT_PRI_R_RATIO (1. / DC_PT_PRI_R_RATIO)
#define DC_PT_GAIN (PT_OPAMP_GAIN * PT_INA821_GAIN * AMC3330_GAIN * DC_PT_PRI_R_RATIO)
#define INV_DC_PT_GAIN ((1. / DC_PT_GAIN) * VOLT_PER_ADCBIT) //Vbat / Vboost / Vdab gain
//-------------------------------------------------------------------------------------------------------------------------//
//------------------------DCLINK 상/하 PT ----------------------------------------------------------------------------------//
#define DCLINK_PT_PRI_RD (992000.) //분압저항
#define DCLINK_PT_PRI_RM (2700.) //측정저항
#define DCLINK_PT_PRI_R_RATIO (DCLINK_PT_PRI_RM / (DCLINK_PT_PRI_RD + DCLINK_PT_PRI_RM)) // 저항비
#define INV_DCLINK_PT_PRI_R_RATIO (1. / DCLINK_PT_PRI_R_RATIO)
#define DCLINK_PT_GAIN (PT_OPAMP_GAIN * PT_INA821_GAIN * AMC3330_GAIN * DCLINK_PT_PRI_R_RATIO)
#define INV_DCLINK_PT_GAIN (1. / DCLINK_PT_GAIN) * VOLT_PER_ADCBIT //Vdc link HIGH / LOW
//-------------------------------------------------------------------------------------------------------------------------//
//----------------------------------AC전압----------------------------------------------------------------------------------//
#define AC_PT_PRI_RD (992000.) //분압저항
#define AC_PT_PRI_RM (3400.) //측정저항
#define AC_PT_PRI_R_RATIO (AC_PT_PRI_RM / (AC_PT_PRI_RD + AC_PT_PRI_RM)) // 저항비
#define INV_AC_PT_PRI_R_RATIO (1. / AC_PT_PRI_R_RATIO)
#define AC_PT_GAIN (PT_OPAMP_GAIN * PT_INA821_GAIN * AMC3330_GAIN * AC_PT_PRI_R_RATIO)
#define INV_AC_PT_GAIN (1. / AC_PT_GAIN) * VOLT_PER_ADCBIT //Vgrid U / Vgrid W / Vgrid
//-------------------------------------------------------------------------------------------------------------------------//
//----------------------------------AC전류----------------------------------------------------------------------------------//
#define AC_CT_RATIO LAH100_P_GAIN
#define AC_CT_RM (280.)
#define AC_CT_GAIN ((CT_OPAMP_GAIN * AC_CT_RM) / AC_CT_RATIO)
#define INV_AC_CT_GAIN (1. / AC_CT_GAIN) * VOLT_PER_ADCBIT //IuGridExt / IwGridExt / IuGrid / IwGrid
//-------------------------------------------------------------------------------------------------------------------------//
//----------------------------------DC전류----------------------------------------------------------------------------------//
#define DC_CT_RATIO LAH50_P_GAIN
#define DC_CT_RM (280.)
#define DC_CT_GAIN ((CT_OPAMP_GAIN * DC_CT_RM) / DC_CT_RATIO)
#define INV_DC_CT_GAIN (1. / DC_CT_GAIN) * VOLT_PER_ADCBIT //Ibat
//-------------------------------------------------------------------------------------------------------------------------//
//----------------------------------ADC전압---------------------------------------------------------------------------------//
#define INV_VADC_GAIN VOLT_PER_ADCBIT
//----------------------------------Zct 전류--------------------------------------------------------------------------------//
#define ZCT_CT_GAIN (4.)
#define ZCT_OPAMP_GAIN (8.45/20.)
#define ZCT_GAIN (ZCT_CT_GAIN * ZCT_OPAMP_GAIN)
#define INV_AC_ZCT_GAIN (1. / ZCT_GAIN) * VOLT_PER_ADCBIT //임시
struct sMesureList
{
float ADC_CH1_UV; //Adc1 배터리 입력전압
float ADC_CH1_VIS; //Adc2 배터리 입력전류
float ADC_CH1_IR; //Adc3 부스트 입력전압(배터리 릴레이 후단 전압)
float ADC_CH2_UV; //Adc4 Dab 입력전압(부스트 출력전압)
float ADC_CH2_VIS; //Adc5 GFD
float ADC_CH2_IR; //Adc6 DC-Link 상단전압
float ADC_CH3_UV; //Adc7 DC-Link 하단전압
float ADC_CH3_VIS; //Adc8 계통 U-N전압(단상 삼선식)
float ADC_CH3_IR; //Adc9 계통 N-W전압
float ADC_CH4_UV; //Adc10 인버터 전류 U
float ADC_CH4_VIS; //Adc11 인버터 전류 W
float ADC_CH4_IR; //Adc12 ZCT 전류
};
//------------------------------------------------------------------------//
extern float CH1_UV, CH1_VIS, CH1_IR;
extern float CH2_UV, CH2_VIS, CH2_IR;
extern float CH3_UV, CH3_VIS, CH3_IR;
extern float CH4_UV, CH4_VIS, CH4_IR;
extern float DAC_1, DAC_2, DAC_3;
extern void InitScale(void);
#pragma SET_CODE_SECTION(".TI.ramfunc")
extern void AdcResult(void);
#pragma SET_CODE_SECTION()
extern void ScaleDefaultCal(void);
extern void ScaleUpdate(void);
extern void ReadScaleDelt(void);
extern void WriteScaleDelt(void);
extern void ResetScaleDelt(void);
extern void OffsetDefaultCal(void);
extern void OffsetUpdate(void);
extern void ReadOffsetDelt(void);
extern void WriteOffsetDelt(void);
extern void ResetOffsetDelt(void);
extern int Flag_Wr_ScaleDelt;
extern int Flag_Rst_ScaleDelt;
#pragma SET_DATA_SECTION(".Scale")
extern struct sMesureList Scale;
extern struct sMesureList ScaleDefault;
extern struct sMesureList ScaleDelt;
//
//extern struct sMesureList Offset;
//extern struct sMesureList OffsetDefault;
//extern struct sMesureList OffsetSum;
//extern struct sMesureList OffsetDelt;
#pragma SET_DATA_SECTION()
#ifdef __cplusplus
}
#endif /* extern "C" */
#endif /* COMMON_RESOURCE_COMMONLIBRARY_SENSINGSCALE_H_ */