forked from tianzhenbo/HONGRI
修改充电流程
This commit is contained in:
parent
781c64544c
commit
4e80babc59
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
224
README.md
Normal file
224
README.md
Normal file
@ -0,0 +1,224 @@
|
||||
# 唤醒源
|
||||
|
||||
* ACC
|
||||
* A+
|
||||
|
||||
> A+到达后, FDC通过BMS输出的电池信息BMS28、BMS29完成和充电桩的参数配置。发送充电允许(FDC_1帧ChargingPermit=1)。
|
||||
>
|
||||
> > 等待BMS直流充电请求(BMS41帧BMSDcChrgRqst=1)。
|
||||
> >
|
||||
> > 在(FDC_1帧ChargingPermit=1)状态下,<b>如FDC收到的(BMS41帧BMSDcChrgRqst=0)时长超过5秒</b>,则停止直流充电流程
|
||||
> >
|
||||
> > FDC收到的(BMS41帧BMSDcChrgRqst=1)后,模拟车辆充电准备,待直流充电桩完成预充闭合K1、K2。
|
||||
>
|
||||
> > > 充电完成后,BMS应将BMS41帧的请求电压和请求电流置0,充电请求置2。
|
||||
> > >
|
||||
> > > 充电桩主动停止工况,FDC输出(FDC_1帧ChargingPermit=0)。BMS收到该信号状态后,发送充电请求置2。FDC、BMS进入等待状态。
|
||||
> > >
|
||||
> > > 1、流充电机停止12V辅助供电输出,VCU检测到直流充电唤醒信号停止,指令BMS下高压。
|
||||
> > >
|
||||
> > > 2、下高压完成后VCU停止BMS唤醒信号输出,整车休眠。
|
||||
|
||||
```mermaid
|
||||
|
||||
graph TD
|
||||
A[直流枪插入,A+有效] --> B[直流充电机输出12V辅助供电信号唤醒VCU和FDC]
|
||||
B --> C{条件a}
|
||||
C --> |如果车辆处于低压上电状态| D(VCU判断12V辅助供电信号是否有效 有效且满足上高压条件则指令BMS上高压)
|
||||
C --> |车辆处于上高压状态| E[FDC通过BMS输出的电池信息BMS28 BMS29完成和充电桩的参数配置 发送充电允许FDC_1帧ChargingPermit=1并等待BMS直流充电请求BMS41帧BMSDcChrgRqst=1]
|
||||
C --> |下电| F(VCU通过硬线唤醒BMS)
|
||||
|
||||
|
||||
```
|
||||
|
||||
# 工作流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[CC_CHARGE_INIT]
|
||||
A-->|timer_count>2|B
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```mermaid
|
||||
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
|
||||
sequenceDiagram
|
||||
participant FDC
|
||||
participant BMS
|
||||
loop time == 500ms
|
||||
FDC ->> BMS:FDC_1 ID:0x1801F3D2
|
||||
end
|
||||
|
||||
loop time == 1000ms
|
||||
FDC-->>BMS:FDC_2 ID:0x18FEF0D2
|
||||
FDC-->>BMS:FDC_3 ID:0x18FEF1D2
|
||||
FDC-->>BMS:FDC_4 ID:0x18FEF2D2
|
||||
FDC-->>BMS:FDC_5 ID:0x18FEF3D2
|
||||
FDC-->>BMS:FDC_6 ID:0x18FEF4D2
|
||||
FDC-->>BMS:FDC_7 ID:0x18FEF5D2
|
||||
|
||||
end
|
||||
opt CC2
|
||||
|
||||
FDC-->>BMS:FDC_1 ID:0x1801F3D2 FDC_CC2Status=1
|
||||
end
|
||||
|
||||
FDC-->>+BMS: 充电请求
|
||||
BMS-->>-FDC: 充电请求
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
0x18659BF4 这个是基ID
|
||||
|
||||
0x10000 电池单体
|
||||
|
||||
|
||||
|
||||
(ID - 0x18659BF4) = 等于数组编号
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* 现在要搞清楚充电桩的输出电压电流
|
||||
* 充电桩桩允许的最高电压电流输出,最低电压电流输出 这个在CCS报文里面
|
||||
|
||||
| 原始错误码 | 豪驰错误码 |
|
||||
| ---------- | ---------- |
|
||||
| | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```c
|
||||
{2 , "boost升压电压不匹配"},
|
||||
{3 , "收到充电桩停止充电报文"},
|
||||
{4 , "小程序停机"},
|
||||
{6 , "充电桩电流波动"},
|
||||
{7 , "长期无电流停止"},
|
||||
{8 , "接收充电桩数据报文超时"},
|
||||
{9 , "充电桩二次启动"},
|
||||
{10, "过温降载/停机"},
|
||||
{11, "充电桩输出电压-过压停机"},
|
||||
{12, "充电桩电流超过bms需求电流/最大充电电流 "},
|
||||
{13, "充电桩辅助电源24V平台--充电停机"},
|
||||
{14, "接收车辆报文超时 "},
|
||||
{15, "V车辆电池包充电状态非--快充可充电"},
|
||||
{16, "VCU状态非充电状态"},
|
||||
{17, "FDC二次启动次数超时"},
|
||||
{18, "充电流程超时停机"},
|
||||
{19, "充电桩输出电压过压保护"},
|
||||
{20, "电源模块故障"},
|
||||
{21, "充电桩超功率保护"},
|
||||
{22, "FDC输出反接故障"},
|
||||
{23, "FDC输入反接故障"},
|
||||
{24, "FDC输出继电器故障"},
|
||||
{25, "充电达到电池容量停机"},
|
||||
{26, "充电达到设定时间停机"},
|
||||
{27, "充电达到设定SOC停机"},
|
||||
{28, "SOC达到100停机"},
|
||||
{29, "辅助电源低故障"},
|
||||
|
||||
|
||||
{50, "电池包保险熔断"},
|
||||
{51, "电池主正主负接触器未闭合"},
|
||||
{52, "电池未准备好"},
|
||||
{53, "VCU禁止充电"},
|
||||
{54, "电池包充电信号状态不对"},
|
||||
{55, "电池电流需求为0停机"},
|
||||
{56, "单体高温告警"},
|
||||
{57, "单体温感采集线断线"},
|
||||
{58, "电池包总压采样回路故障"},
|
||||
{59, "电池单体电压采集线断线"},
|
||||
{60, "单体过压故障"},
|
||||
|
||||
{61, "总电压过压故障"},
|
||||
{62, "高压环路互锁故障"},
|
||||
{63, "温差故障"},
|
||||
{64, "单体压差故障"},
|
||||
{65, "高压回路主保险诊断"},
|
||||
{66, "放电过流"},
|
||||
{67, "电流采样"},
|
||||
{68, "电流传感器故障"},
|
||||
{69, "绝缘故障"},
|
||||
{70, "soc 高故障"},
|
||||
{71, "主继电器粘连"},
|
||||
{72, "预充失败"},
|
||||
{73, "电池加热继电器粘连"},
|
||||
{74, "车辆CAN通信故障"},
|
||||
{75, "充电插座温度异常"},
|
||||
{76, "过充"},
|
||||
{77, "单次加热时间长故障"},
|
||||
{78, "VCU通信故障"},
|
||||
{79, "热失控报警"},
|
||||
|
||||
{91, "电池高温警告"},
|
||||
{92, "单体低温报警"},
|
||||
{93, "单体欠压报警"},
|
||||
{94, "总电压欠压警告"},
|
||||
{95, "soc低警告"},
|
||||
{96, "soc 跳变警告"},
|
||||
{97, "充电过流"},
|
||||
{98, "电池低温警告"},
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
# 报文填充
|
||||
|
||||
|
||||
|
||||
```c
|
||||
typedef union
|
||||
{
|
||||
uint8_t stats[8];
|
||||
uint32_t data[2];
|
||||
struct
|
||||
{
|
||||
uint8_t FDC_Output_VStatus:2; //FDC输出电压状态
|
||||
uint8_t FDC_Input_VStatus:2;//FDC入电压状态
|
||||
uint8_t FDC_Output_Over_Curr_Pro:1;//输出过流保护
|
||||
uint8_t FDC_Out_Shor_Cir_Pro:1;//输出短路保护
|
||||
uint16_t FDC_Input_Current:10;//输入电流
|
||||
uint16_t FDC_Input_Voltage:13;//输入电压
|
||||
uint8_t reserve1:3;
|
||||
uint16_t FDC_Output_Voltage:12;//输出电流
|
||||
uint16_t FDC_Output_Current:11;//输入电压
|
||||
uint16_t reserve2:9;
|
||||
}bits;
|
||||
}FDC2BMS1;
|
||||
```
|
||||
|
||||
# 发送报文到充电桩
|
||||
|
||||
* 单体温度报文
|
||||
* 单体电压报文
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 凯翼网络管理流程
|
||||
|
||||
* CC2信号视为 FDC的主动网络请求
|
||||
* 当CC2信号存在时
|
||||
* 整车OFF档, CC2 和 A+同时存在 发送2s网络管理报文,根据是否接收到BMS报文作为是否完成整车唤醒
|
||||
* 整车ON档, CC2信号存在, 即可发送报文
|
||||
|
||||
|
||||
|
BIN
SYSTEM/adc.c
BIN
SYSTEM/adc.c
Binary file not shown.
28
SYSTEM/adc.h
28
SYSTEM/adc.h
@ -1,28 +0,0 @@
|
||||
#ifndef __ADC_H
|
||||
#define __ADC_H
|
||||
|
||||
|
||||
#include "stm32f10x.h"
|
||||
void ADC1_Init(void);
|
||||
typedef struct
|
||||
{
|
||||
int16_t TemperatureValue;
|
||||
float R_Value;
|
||||
}TempRes_TypeDef;
|
||||
|
||||
int16_t FindTemperature(float r_value);
|
||||
//ADC1采样数据结构
|
||||
typedef struct
|
||||
{
|
||||
float BAT_Voltage; //A枪电池电压
|
||||
float BAT_B_Reverse_Voltage; //B枪电池正负极反接电压
|
||||
|
||||
float Tempreture[3];
|
||||
float VIN_Input_Voltage; //B枪电池正负极反接电压
|
||||
}Sample_Data_t;
|
||||
extern void BMS_TemperaTRUE_Sampling(void);
|
||||
extern void VIN_Input_Sampling(void);
|
||||
extern Sample_Data_t Sample_DataS;
|
||||
void Gun_Input_Sampling(void);
|
||||
#endif /* __ADC_H */
|
||||
|
BIN
SYSTEM/dc300.c
BIN
SYSTEM/dc300.c
Binary file not shown.
BIN
SYSTEM/sys/sys.c
BIN
SYSTEM/sys/sys.c
Binary file not shown.
BIN
SYSTEM/sys/sys.h
BIN
SYSTEM/sys/sys.h
Binary file not shown.
Binary file not shown.
BIN
USER/LED.uvprojx
BIN
USER/LED.uvprojx
Binary file not shown.
BIN
USER/main.c
BIN
USER/main.c
Binary file not shown.
Loading…
Reference in New Issue
Block a user