发明内容
为了解决上述问题,本发明提出了一种直流桩充电桩调试装置,实现本发明的技术方案如下:
一种直流充电桩调试装置,包括:主控模块、配置模块、系统设置模块和故障设置模块;
所述主控模块一方面分别与所述配置模块、所述系统设置模块和所述故障设置模块相连接、所述主控模块另一方面与充电桩连接;所述配置模块用于给所述调试装置配置参数以及显示所述调试装置的状态数据,所述系统设置模块用于配合所述调试装置测试充电桩的正常功能,所述故障设置模块用于模拟充电桩的故障状态。
作为优选技术方案,所述主控模块采用LPC1778。
作为优选技术方案,所述配置模块为触摸屏,所述触摸屏采用威纶通MT-6071ie,所述触摸屏通过RS485总线接口与所述主控模块连接。
作为优选技术方案,所述系统设置模块包括:模拟充电模式模块;所述模拟充电模式模块用来设置所述调试装置与充电桩通信在BCL命令下选择恒压模式还是恒流模式。
作为优选技术方案,所述系统设置模块还包括:模拟充电准备状态模块;所述模拟充电准备状态模块用来设置所述调试装置和充电桩通信在BRO命令时通知充电桩BMS是否准备好充电。
作为优选技术方案,所述系统设置模块还包括:模拟电池类型模块;所述模拟电池类型模块用来设置在所述调试装置和充电桩通信在BRM命令时通知充电桩充电电池的类型。
作为优选技术方案,所述故障设置模块包括:模拟通信超时模块;所述模拟通信超时模块用于设置在所述调试装置和充电桩通信过程中的不同命令时发生超时故障。
作为优选技术方案,所述故障设置模块还包括:模拟电池故障模块;所述模拟电池故障模块能够在充电过程中模拟电池的突发故障,所述故障包括:蓄电池过压,低压,蓄电池电荷状态过高,过低,蓄电池过电流,蓄电池温度过高,蓄电池绝缘状态故障,蓄电池输出连接器连接状态故障。
作为优选技术方案,还包括负载模拟模块;所述负载模拟模块用来接收充电桩输出的电能,所述负载模拟模块为容性负载或阻性负载。
基于上述调试装置,本发明还提出了一种对充电桩进行调试的方法,包括如下步骤:
1)直流充电桩调试装置在开始运行后会一直查询是否接收到充电桩发送过来的CRM00,一旦接收到CRM00就进入步骤2;
2)读取模拟通信超时模块的状态并保存在变量bms_overtime,读取模拟电池类型模块的状态值保存到变量batsel,然后进入步骤3;
3)根据bms_overtime的第0位判断是否需要进行发送BRM超时故障的模拟,如果是,那么通信流程结束;如果否,就进入步骤4;
4)开始发送BRM命令,然后查询是否收到充电桩发送过来的CRMAA,如果5s内没有收到,那么就重复步骤4;如果超出5s未收到,那么通信流程结束;如果5s内收到,就执行步骤5;
5)根据bms_overtime的第1位判断是否需要进行发送BCP超时故障的模拟,如果是,那么通信流程结束;否则,执行步骤6;
6)开始发送BCP,然后查询是否收到充电桩发送过来的CTS/CML,如果5s内没有收到,那么就重复步骤6;如果超出5s未收到,那么通信流程结束;如果5s内收到,执行步骤7;
7)读取模拟充电准备状态模块的值,判断充电准备状态是否准备好,如果5分钟内未准备好,根据bms_overtime的第2位判断是否需要进行发送BRO超时故障的模拟,如果不需要,那么发送BRO0x00,然后重复步骤7,如果需要,那么通信流程结束;如果5分钟内准备好,那么就进入步骤8;
8)根据bms_overtime的第2位判断是否需要进行发送BRO超时故障的模拟,如果是那么通信流程结束,如果否,执行步骤9;
9)开始发送BRO0xAA,然后查询是否收到充电桩发送过来的CRO0xAA,如果5分钟内没有收到,那么就重复步骤9;如果超出5分钟未收到那么通信流程结束;如果5分钟内收到,执行步骤10;
10)读取触摸屏输入的电压电流需求,当前荷电状态,读取充电模式选择模块,读取模拟故障模块;执行步骤11;
11)根据bms_overtime的第3位判断是否需要进行发送BCL超时故障的模拟,如果是,那么通信流程结束,如果否就发送BCL命令,然后执行步骤12;
12)根据bms_overtime的第4位判断是否需要进行发送BCS超时故障的模拟,如果是那么通信流程结束;如果否,就发送BCS,然后执行步骤13;
13)根据bms_overtime的第5位判断是否需要进行发送BSM超时故障的模拟,如果是,那么通信流程结束,如果否,就发送BSM;然后查询是否收到充电桩发送的CCS,如果5s内未收,到重复步骤11,如果超出5s未收到,那么通信流程结束,如果5s内收到执行步骤14;
14)判断当前各种参数是否满足充电结束条件,如果否,那么重复步骤11,如果是,执行步骤15;
15)根据bms_overtime的第6位判断是否需要进行发送BST超时故障的模拟,如果是,那么通信流程结束,如果否,就进入步骤16;
16)开始发送BST,然后查询是否收到充电桩发送过来的CST,如果5s内未收到,那么重复步骤16,如果超出5s未收到,那么通信流程结束,如果5s内收到,那么进入步骤17;
17)根据bms_overtime的第7位判断是否需要进行发送BSD超时故障的模拟,如果是,那么通信流程结束,如果否,就进入步骤18;
18)开始发送BSD,然后查询是否收到充电桩发送过来的CSD,如果5s内未收到,那么重复执行步骤18,如果超出5s未收到,那么通信流程结束;如果5s内收到,那么通信流程结束。
与现有技术相比,本发明的有益效果是:
本发明的调试装置完全模拟了电动车端的BMS系统,能够方便携带,方便和充电桩设备进行通信,能够模拟直流充电桩在对电动车进行充电过程中出现的多种故障,帮助开发人员快速找到充电桩端的通信部分的漏洞,并且可以设置电池类型等,用来配合完善充电桩的开发,提高开发的效率和速率。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步说明。
如图1所示,为本发明直流充电桩调试装置的系统原理图。包括主控模块、触摸屏模块,模拟充电模式模块、模拟充电准备状态模块、模拟电池类型模块、模拟通信超时模块、模拟电池故障模块、负载模拟模块。下面分别详细描述各模块的具体实施例。
1、所述主控模块选用一颗使用cortex或者arm内核的芯片作为系统的主要控制芯片核心,本发明采用LPC1778作为主要控制核心,通过RS485总线接口和触摸屏模块进行通信,读取触摸屏发送过来的数据进行设置和参数配置,同时能够发送通信状态到触摸屏显示。通过CAN总线接口和充电桩进行通信,能够完全实现BMS系统的国标通信协议(通信协议参考GBT 27930-2011电动汽车非车载传导式充电机与电池管理系统之间的通信协议)。通过主控模块读取到模拟充电模式模块的IO的状态选择不同的充电模式(恒压模式还是恒流模式,均参考国标)。通过主控模块读取到模拟充电准备状态模块的IO的状态来确定BMS调试系统是否进入了准备充电的状态。通过电缆把充电输出电压输送到外接负载上。通过主控模块读取到模拟电池类型模块的IO的状态来决定选择模拟电池电压变化的算法,用来选择负载的不同类型。通过主控模块读取到模拟通信超时模块的IO的状态来选择让不同的通信命令发生超时故障(包括国标中提到的所有命令)。通过主控模块读取到模拟电池故障模块的IO的状态来模拟充电过程中突发的不同故障(蓄电池电压过高,蓄电池充电过电流等故障)。
2、触摸屏一方面用于显示当前和直流充电桩通信的故障、显示当前日期时间、显示充电桩的最高输出电压、最低输出电压、最大输出电流、显示充电桩实际电压输出值、电流输出值、充电时间;另一方面能够设置模拟参数,包括单体动力蓄电池最高允许充电电压,最高允许充电电流,动力蓄电池标称总能量,最高允许充电总电压,最高允许温度,整车动力蓄电池荷电状态,整车动力蓄电池总电压,电池的需求电压,电流需求,最高单体动力蓄电池电压,当前荷电状态,充电剩余时间。本发明中触摸屏采用威纶通MT-6071ie。
3、模拟充电模式模块能够用来设置直流充电桩调试装置和充电桩通信时在BCL命令选择恒压模式还是恒流模式。
实现方式:如图1所示的模拟充电模式模块。由电阻串联开关并接至主控芯片的IO_CHGMODE_SEL引脚实现,所述开关为按下不弹起按键S4_CHGMODE。
通过按下不弹起按键S4_CHGMODE控制IO_CHGMODE_SEL的输入状态,主控芯片配置IO_CHGMODE_SEL的初始状态为上拉输入状态。设置按键弹起状态为逻辑1,代表恒压模式;设置按键按下状态为逻辑0,代表恒流模式。
4、模拟充电准备状态模块能够用来设置直流充电桩调试装置和充电桩通信在BRO命令时通知充电桩BMS是否准备好充电。
实现方式:如图1所示的模拟充电准备状态模块。由电阻串联开关并接至主控芯片的IO_CHGSTA引脚实现,所述开关为按下不弹起按键S6_CHGSTA。
通过按下不弹起按键S6_CHGSTA控制IO_CHGSTA的输入状态,主控芯片配置IO_CHGSTA的初始状态为上拉输入状态,设置按键弹起状态为逻辑1,代表充电准备好,设置按键按下状态为逻辑0,代表未做好充电准备。
5、模拟电池类型模块能够用来设置在直流充电桩调试装置和充电桩通信在BRM命令时通知充电桩充电电池类型。
实现方式:图1所示的模拟电池类型模块。由电阻与开关的串联体实现,所述串联体为四组,四组串联体的一端均接电源VCC、另一端分别通过开关S5_BAT_SEL1接主控芯片的IO_BAT_SEL1、开关S5_BAT_SEL2接主控芯片的IO_BAT_SEL2、开关S5_BAT_SEL3接主控芯片的IO_BAT_SEL3、开关S5_BAT_SEL4接主控芯片的IO_BAT_SEL4。所述开关均为按下不弹起按键,按键按下代表逻辑0,按键弹起代表逻辑1。
通过四个按下不弹起按键开关S5_BAT_SEL1、S5_BAT_SEL2、S5_BAT_SEL3、S5_BAT_SEL4分别控制IO_BAT_SEL1、IO_BAT_SEL2、IO_BAT_SEL3、IO_BAT_SEL4的输入状态,主控芯片配置IO_BAT_SEL1、IO_BAT_SEL2、IO_BAT_SEL3、IO_BAT_SEL4的初始状态均为上拉输入状态,在程序中定义字节变量batsel,采用二进制方式保存数据,IO_BAT_SEL1、IO_BAT_SEL2、IO_BAT_SEL3、IO_BAT_SEL4的输入状态分别对应batsel的第0、1、2、3四个位。batsel的高4位都为0,通过S5_BAT_SEL1、S5_BAT_SEL2、S5_BAT_SEL3、S5_BAT_SEL4四个按下不弹起按键是否按下来控制batsel变量的变化,batsel取值范围在0-15,其中当batsel实际获取到的值在01-08的时候,根据国标分别代表不同的电池,其他值时代表其他电池。
6、模拟通信超时模块能够设置在直流充电桩调试装置和充电桩通信时在不同命令发生超时故障,命令包括BRM、BCP、BRO、BCL、BCS、BSM、BSP、BST、BSD,在进行这些命令时,直流充电桩调试装置模拟BMS系统的超时故障。
实现方式:图1所示的模拟超时模块。通过S1_OVERTIME、S2_OVERTIME、S3_OVERTIME三个选择器开关来切换选择不同的通道,其中每个选择器开关Sn_OVERTIME(n=1,2,3)对应Sn-1->Sn-4四个通道的接通还是断开,接通时代表逻辑0、断开时代表逻辑1,其中S1_1对接主控芯片端口IO_BRM_OVERTIME,其中S1_2对应主控芯片端口IO_BCP_OVERTIME,其中S1_3对应主控芯片端口IO_BRO_OVERTIME,其中S2_1对应主控芯片端口IO_BCL_OVERTIME,其中S2_2对应主控芯片端口IO_BCS_OVERTIME,其中S2_3对应主控芯片端口IO_BSM_OVERTIME,其中S3_1对应主控芯片端口IO_BSP_OVERTIME,其中S3_2对应主控芯片端口IO_BST_OVERTIME,其中S3_3对应主控芯片端口IO_BSD_OVERTIME,共九个通道,由开关的状态决定对应的主控芯片端口值。程序中配置这些端口的初始状态为上拉输入状态,还有的S1_4,S2_4,S3_4四个通道分别代表S1_OVERTIME、S2_OVERTIME、S3_OVERTIME三个都没有选择模拟超时命令,也就是当前九个通道都没有接通,程序读取的九个通道都为1,在程序中定义双字节变量bms_overtime,采用二进制方式保存数值,九个主控芯片端口值(IO_BRM_OVERTIME、IO_BCP_OVERTIME、IO_BRO_OVERTIME、IO_BCL_OVERTIME、IO_BCS_OVERTIME、IO_BSM_OVERTIME、IO_BSP_OVERTIME、IO_BST_OVERTIME、IO_BSD_OVERTIME)分别对应变量bms_overtime的第0-8位的值,第0-8位是否为0分别对应表示命令BRM、BCP、BRO、BCL、BCS、BSM、BSP、BST、BSD是否超时。当S1_OVERTIME、S2_OVERTIME、S3_OVERTIME分别选择在S1_4,S2_4,S3_4的时候,九个通道对应的主控芯片端口值都为1,即变量bms_overtime=0000000111111111B(二进制表示),当S1_OVERTIME、S2_OVERTIME、S3_OVERTIME任意一个选择开关不在Sn_4(n=1,2,3)的时候,那么选择开关所对应的通道读取到的值就为0,在变量bms_overtime的对应位就为0。
在调试装置和充电桩通信过程中当需要发送某一条命令时,首先判断bms_overtime所代表的对应命令位是否为0来确定是否需要模拟超时发送的故障。比如当bms_overtime=0000000111111101B(二进制表示),那么当通信流程在发送BCP命令的时候,调试装置判断bms_overtime的第1位数据位为0,那么就会选择不发送BCP命令来模拟BCP命令的发送超时故障。
7、模拟电池故障模块能够在充电过程中模拟电池的突发故障,包括:蓄电池过压/低压,蓄电池电荷状态过高/过低,蓄电池过电流,蓄电池温度过高,蓄电池绝缘状态故障,蓄电池输出连接器连接状态故障。
实现方式:图1所示的模拟电池故障模块。模块内部通过六个按下松开即弹起按键S7-1、S7-2、S7-3、S7-4、S7-5、S7-6分别控制主控芯片端口IO_BATFAULT_VOL、IO_BATFAULT_SOC、IO_BATFAULT_CUR、IO_BATFAULT_TMP、IO_BATFAULT_INS、IO_BATFAULT_CHG的输入状态,主控芯片配置六个端口的初始状态为上拉输入状态,程序中定义六个标识变量,fault_vol,fault_soc,fault_cur,fault_tmp,fault_ins,fault_chg,没有按键按下的情况下,主控芯片的端口IO_BATFAULT_VOL、IO_BATFAULT_SOC、IO_BATFAULT_CUR、IO_BATFAULT_TMP、IO_BATFAULT_INS、IO_BATFAULT_CHG读到的都为1,当有按键按下的时候,对应的端口读到的值为0,当按键松开的时候按键自动弹起,通道读到的值再次为1,当本发明调试装置和充电桩在调试过程中进行到充电阶段的通信报文时,开始定期读取六个端口的状态,判断是否有某一个端口对应的状态发生了从1-0-1的过程,如果有前述过程,那么就代表对应通道的命令的故障。比如,在充电阶段的通信报文时,IO_BATFAULT_VOL按下并松开后,那么调试装置在发送BSM命令的6.1开始的两个位的数据就会发送01(按照国标定义,第6.1开始的两个位代表的是单体动力蓄电池电压过高/过低)。需要注意:当按键按下未松开的时候是不模拟故障的,必须等按键松开后才模拟故障。
8、负载模拟模块用来接收充电桩输出的电能,通过继电器S8_1、S8_2与充电桩连接。当模拟充电准备状态模块为充电准备好状态的时候,主控芯片控制继电器S8_1、S8_2导通输出高电平,那么充电桩输出的电能就会输出到负载上,所述负载为容性负载或阻性负载,本发明中采用阻性负载,具体使用的是发热管,当通过电流的时候通过发热消耗电能。
如图2所示,为本发明直流充电桩调试装置的软件流程图。直流调试装置在一次通信过程中是完全按照国标(GBT 27930-2011电动汽车非车载传导式充电机与电池管理系统之间的通信协议)中规定的通信流程进行的,但是本发明的调试装置在一次通信过程中适当的地方加入了本发明需要设置的数据,配置的参数,模拟的故障,具体流程如下:
1、直流充电桩调试装置在开始运行后会一直查询是否接收到充电桩发送过来的CRM00,一旦接收到CRM00就进入步骤2;
2、读取模拟通信超时模块的状态得到bms_overtime的值,读取模拟电池类型模块值得到batsel的值,然后进入步骤3;
3、根据bms_overtime的第0位判断是否需要进行发送BRM超时故障的模拟,如果是那么通信流程结束,如果否就进入步骤4;
4、开始发送BRM命令,然后查询是否收到充电桩发送过来的CRMAA,如果5s内没有收到,那么就重复步骤4,如果超出5s未收到,那么通信流程结束,如果5s内收到,就进入步骤5;
5、根据bms_overtime的第1位判断是否需要进行发送BCP超时故障的模拟,如果是那么通信流程结束,否则就进入步骤6;
6、开始发送BCP,然后查询是否收到充电桩发送过来的CTS/CML,如果5s内没有收到,那么就重复步骤6,如果超出5s未收到,那么通信流程结束;如果5s内收到就进入步骤7;
7、读取模拟充电准备状态模块的值,判断充电准备状态是否准备好,如果5分钟内未准备好,根据bms_overtime的第2位判断是否需要进行发送BRO超时故障的模拟,如果否,那么发送BRO0x00,然后重复步骤7,如果是,那么通信流程结束。如果5分钟内准备好,那么就进入步骤8;
8、根据bms_overtime的第2位判断是否需要进行发送BRO超时故障的模拟,如果是那么通信流程结束,如果否就进入步骤9;
9、开始发送BRO0xAA,然后查询是否收到充电桩发送过来的CRO0xAA,如果5分钟内没有收到,那么就重复步骤9,如果超出5分钟未收到,那么通信流程结束,如果5分钟内收到就进入步骤10;
10、读取触摸屏输入的电压电流需求,当前荷电状态等。读取充电模式选择模块,读取模拟故障模块。进入步骤11;
11、根据bms_overtime的第3位判断是否需要进行发送BCL超时故障的模拟,如果是那么通信流程结束,如果否就发送BCL然后进入步骤12;
12、根据bms_overtime的第4位判断是否需要进行发送BCS超时故障的模拟,如果是那么通信流程结束,如果否就发送BCS,然后进入步骤13;
13、根据bms_overtime的第5位判断是否需要进行发送BSM超时故障的模拟,如果是那么通信流程结束,如果否就发送BSM,然后查询是否收到充电桩发送的CCS,如果5s内未收到重复步骤11,如果超出5s未收到那么通信流程结束,如果5s内收到进行步骤14;
14、判断当前各种参数是否满足充电结束条件,如果否,那么重复步骤11,如果满足停止条件那么进入步骤15;
15、根据bms_overtime的第6位判断是否需要进行发送BST超时故障的模拟,如果是,那么通信流程结束;如果否,就进入步骤16;
16、开始发送BST,然后查询是否收到充电桩发送过来的CST,如果5s内未收到,那么重复步骤16,如果超出5s未收到,那么通信流程结束,如果5s内收到,那么进入步骤17;
17、根据bms_overtime的第7位判断是否需要进行发送BSD超时故障的模拟,如果是,那么通信流程结束,如果否,就进入步骤18;
18、开始发送BSD,然后查询是否收到充电桩发送过来的CSD,如果5s内未收到,那么重复执行步骤18,如果超出5s未收到,那么通信流程结束,如果5s内收到,那么通信流程结束。
以上所述的连接到主控芯片管脚名称都为自行定义,具体管脚对应/接关系为:
1、RS485总接对应p[0][2],p[0][3];
2、CAN总线对接p[0][0],p[0][1];
3、IO_CHGMODE_SEL管脚对应p[0][8];
4、IO_CHGSTA管脚对应p[0][9];
5、IO_BAT_SEL1、IO_BAT_SEL2、IO_BAT_SEL3、IO_BAT_SEL4管脚分别对应
p[0][12],p[0][13],p[0][14];
6、IO_BRM_OVERTIME,IO_BCP_OVERTIME,IO_BRO_OVERTIME,IO_BCL_OVERTIME,IO_BCS_OVERTIME,IO_BSM_OVERTIME,IO_BSP_OVERTIME,IO_BST_OVERTIME,IO_BSTD_OVERTIME管脚分别对应p[0][16],p[0][17],p[0][18],p[0][19],p[0][20],p[0][21],p[0][22],p[0][23],p[0][24];
7、IO_BATFAULT_VOL、IO_BATFAULT_SOC、IO_BATFAULT_CUR、IO_BATFAULT_TMP、IO_BATFAULT_INS、IO_BATFAULT_CHG管脚分别对应p[1][0],p[1][1],p[1][2],p[1][3],p[1][4],p[1][5]
8、S8_1、S8_2管脚分别对应p[0][28],p[0][29]
以上所述仅用于描述本发明的技术方案和具体实施例,并不用于限定本发明的保护范围,应当理解,在不违背本发明实质内容和精神的前提下,所作任何修改、改进或等同替换等都将落入本发明的保护范围内。