基于FPGA的在线汽车蓄电池状态监测方法及装置
技术领域
本发明涉及汽车电子领域,尤其涉及一种基于FPGA(Field Programmable Gate Array,现场可编程门阵列)的在线汽车蓄电池监测方法及装置。
背景技术
众所周知,汽车中的蓄电池在汽车的使用过程中具有非常重要的作用。当汽车发动时,蓄电池向发电机提供电能,带动发动机转动,与此同时,蓄电池还向汽车仪表、发电机的磁场线圈以及汽油机的点火***等供电。在汽车运行过程中, 当发电机无法支持汽车供电的时候,蓄电池还提供短时辅助供电;或者在发电机有余力的时候,蓄电池存储发电机的电能。另外,蓄电池还有滤波作用,可以吸收用电负载突变时的过电压, 防止损坏汽车上的电子设备。
随着汽车工业在我国的高速发展,我国的汽车普及率越来越高,汽车市场的逐步扩大,也造成了智能汽车电子领域的高速发展。在汽车智能电子领域,汽车的智能检测***由于其对汽车安全的重要意义而发展迅速,其中汽车在线监测技术是汽车的智能检测域的研究热点,其具备实用性强,成本低,效率高等优点,因此大部分研究成果也已经进入到了实际汽车产品的应用中。当汽车出现故障时,可以以指示灯或者显示屏的方式进行提示。但针对于汽车常见故障,包括电池失效,发电机故障,电池储电能力下降,静态漏电增加等故障,目前还没有成熟的在线监测***。
发明内容
为了解决现有技术中的问题,本发明提供了一种能够监测汽车蓄电池的电压、电量、漏电情况,并能对蓄电池性能及发电机故障状况做出判定,能有效地避免由发电机和电池故障造成的安全隐患,减少汽车使用过程中的风险和潜在损失可能性的基于FPGA的在线汽车蓄电池状态监测方法及装置。
本发明通过实施以下技术方案实现发明目的:这种基于FPGA的在线汽车蓄电池状态监测方法包括以下步骤:
A)开始工作;
B)检测汽车发动机工作状态和蓄电池电压值;
C)判断蓄电池和发电机的状态是否正常;
D)根据所测的蓄电池电压值计算出蓄电池的剩余电量;
E)获取汽车熄火瞬间及经设定时间后蓄电池的电压值;
F)计算出汽车在熄火状态下24小时内的耗电量;
还包括步骤:
G)检测汽车在熄火状态下、蓄电池的漏电电流;
H)输出检测、计算及判断的结果。
作为本发明的进一步改进,所述步骤B)包括以下分步骤:
B1)检测汽车发动机处于发动或熄火状态;
B2)检测汽车蓄电池电压值。
作为本发明的进一步改进,所述步骤C)包括以下分步骤:
C1)判断所测得的电压值是否≥12.72V,如是,则发电机和蓄电池正常,执行步骤D);否则,执行C2);
C2)判断发动机是否处于发动状态,如是,则发电机故障,发出预警;否则,执行C3);
C3)判断所测得的电压值是否≥10.8V,如是,蓄电池正常;否则,蓄电池缺电或故障,发出预警。
作为本发明的进一步改进,所述步骤D)中蓄电池的剩余电量由以下公式计算获得:
其中,y为电量百分百,x为蓄电池电压值。
作为本发明的进一步改进,所述步骤E)包括以下分步骤:
E1)获取汽车熄火瞬间的电压值X1,及经设定时间后蓄电池的电压值X2;
E2)判断汽车在所述设定时间内是否重新发动过,若是,则放弃在步骤E1)中所获取的电压值X1和X2,并返回步骤E1);否则,执行步骤F)。
作为本发明的进一步改进,所述步骤F)包括以下分步骤:
F1)将电压值X1和X2分别代入公式(I),求得汽车在熄火瞬间的剩余电量Y1,及经设定时间后蓄电池的剩余电量Y2;
F2)求差,得到熄火状态下汽车在设定时间内的耗电量Y=Y1-Y2;
F3)根据所述设定时间与24小时的线性关系,计算出汽车在熄火状态下24小时内的耗电量;
F4)判断汽车在熄火状态下24小时内的耗电量是否处于正常的耗电量范围内,若是,则电路正常;否则,汽车车载电子电路存在异常,发出预警。
作为本发明的进一步改进,所述步骤G)包括以下分步骤:
G1)检测汽车在熄火状态下、蓄电池的漏电电流;
G2)判断蓄电池的漏电电流是否处于正常的漏电电流范围内,若是,则蓄电池正常;否则,蓄电池异常,发出预警。
本发明实现上述发明目的的基于FPGA的在线汽车蓄电池监测装置,包括:
准备就绪模块:用于开始工作;
发动机工作状态和蓄电池电压值检测模块:用于获得汽车发动机发动或熄火状态和测量蓄电池的电压值;
蓄电池和发电机状态判断模块:用于判断蓄电池和发电机当前的状态是否正常;
蓄电池剩余电量计算模块:用于根据所测的蓄电池电压值计算出蓄电池当前的剩余电量;
熄火电压获取模块:用于获取汽车熄火瞬间及经设定时间后蓄电池的电压值;
耗电量计算模块:用于根据获取的汽车熄火瞬间及经设定时间后蓄电池的电压值,计算出汽车熄火状态下在24小时内的耗电量;
还包括:
漏电电流检测模块:用于测量汽车在熄火状态下、蓄电池的漏电电流;
输出模块:用于对检测、计算和判断所得的蓄电池电压值、剩余电量、漏电电流、汽车熄火状态下在24小时内的耗电量、蓄电池状态是否正常、发电机状态是否正常进行输出和反馈。
在本发明基于FPGA的在线汽车蓄电池监测装置中,所述蓄电池和发电机状态判断模块进一步包括:
发电机状态判断单元:用于判断发动机处于发动状态下,所测得的电压值是否≥12.72V,从而判定发电机正常或故障;
蓄电池状态判断单元:用于判断发动机处于熄火状态下,所测得的电压值是否≥10.8V,从而判定蓄电池正常或蓄电池缺电/故障。
在本发明基于FPGA的在线汽车蓄电池监测装置中,所述耗电量计算模块进一步包括:
瞬间剩余电量计算单元:用于求得汽车在熄火瞬间的剩余电量Y1,及经设定时间后蓄电池的剩余电量Y2;
求差单元:用于计算熄火状态下汽车在设定时间内的耗电量Y=Y1-Y2;
24小时耗电量计算单元:用于根据所述设定时间与24小时的线性关系,计算出汽车在熄火状态下24小时内的耗电量;
24小时耗电量判断单元:用于判断汽车在熄火状态下24小时内的耗电量是否处于正常的耗电量范围内。
本发明采用上述技术方案后,具有以下有益效果:能够在线监测汽车蓄电池的电压、剩余电量、漏电电流、熄火状态下的耗电量,并能对蓄电池性能和发电机状态正常与否做出判定等,是智能汽车电子领域,检测、监控方面的一个全新的方案;它能有效地避免由发电机和电池故障造成的安全隐患,减少汽车使用过程中的风险和潜在损失的可能性,具备十分好的现实应用价值和推广价值;而且本发明基于FPGA的汽车在线电池监测方法及装置,具有容易实施,价格低、性价比高、操作简单易用、对汽车改造小等优点。
附图说明
图1是本发明实施例中基于FPGA的在线汽车蓄电池状态检测方法的流程图;
图2是本发明实施例中检测汽车发动机工作状态和蓄电池电压值的具体流程图;
图3是本发明实施例中判断蓄电池和发电机的状态是否正常的具体流程图;
图4是本发明实施例中获取汽车熄火瞬间及经设定时间后蓄电池的电压值的具体流程图;
图5是本发明实施例中计算出汽车在熄火状态下24小时内的耗电量的具体流程图;
图6是本发明实施例中检测汽车在熄火状态下、蓄电池的漏电电流的具体流程图;
图7是本发明实施例中基于FPGA的在线汽车蓄电池状态检测装置的结构框图;
图8是本发明实施例中蓄电池和发电机状态判断模块的结构框图;
图9是本发明实施例中蓄电池剩余电量计算模块的结构框图。
具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
在本发明基于FPGA的在线汽车蓄电池状态检测方法及装置实施例中,其方法的流程图如图1所示,该方法包括如下步骤:
步骤S11 开始工作:本步骤中,一切准备就绪,***开始工作。
步骤S12 检测汽车发动机工作状态和蓄电池电压值:通过检测汽车发动机的工作状态(包括发动和熄火两种状态),得知汽车处于发动或熄火状态中;通过检测蓄电池的电压值,用以判断蓄电池和发电机的状态是否正常,具体检测流程如图2所示。
步骤S13判断蓄电池和发电机的状态是否正常:汽车在发动状态下,发电机为汽车上的电子设备供电、为蓄电池充电;以国内的小型汽车为例,通常采用12V的蓄电池,汽车在发动状态下,蓄电池两极的电压大于或等于12.72V;汽车在熄火状态下的正常电压处于10.8V和12.72V之间;当蓄电池电压低于10.8V时,若在汽车发动状态下,说明发电机存在故障,若在汽车熄火状态下,说明电池缺电或存在故障;通过检测所得的汽车发动机工作状态和蓄电池电压值,便可判断出蓄电池和发电机的状态是否正常,具体判断流程如图3所示。
步骤S14根据所测的蓄电池电压值计算出蓄电池的剩余电量:根据电压值与电量的关系,可以根据所测的蓄电池电压值计算得出当前蓄电池的剩余电量。
步骤S15获取汽车熄火瞬间及经设定时间后蓄电池的电压值:通过获取汽车熄火瞬间及经设定时间后蓄电池的电压值,可以计算出汽车在熄火状态下的耗电量,具体获取流程如图4所示。
步骤S16计算出汽车在熄火状态下24小时内的耗电量:通过获取的汽车熄火瞬间及经设定时间后蓄电池的电压值,可以计算出汽车在熄火状态下24小时内的耗电量,来判断蓄电池电路的状态;若24小时的耗电量处于汽车正常的耗电量范围内,则蓄电池电路正常,反之,若24小时的耗电量超出汽车正常的耗电量范围内,则蓄电池电路存在异常,电路中可能存在漏电、短路等情况,需要对电池电路进行检测。具体计算流程如图5所示。
还包括步骤:
步骤S17检测汽车在熄火状态下、蓄电池的漏电电流:在汽车熄火状态下,通过检测蓄电池电路中的静态电流来获取蓄电池的漏电电流,用以判断蓄电池的漏电情况;若检测的蓄电池静态漏电电流超出蓄电池正常的漏电电流范围内,则说明该蓄电池已经老化或存在异常,需要进行保养或跟换;若检测的蓄电池静态漏电电流处于蓄电池正常的漏电电流范围内,则该蓄电池正常。具体检测流程如图6所示。
步骤S18输出检测、计算及判断的结果:通过对检测、计算和判断所得的蓄电池电压值、剩余电量、漏电电流、汽车熄火状态下在24小时内的耗电量、蓄电池状态是否正常、发电机状态是否正常进行输出和反馈,让汽车驾驶员或测试者能够方便、快速的获得汽车蓄电池、发电机各方面的状态信息,直截了当。
对于本实施例而言,上述检测汽车发动机工作状态和蓄电池电压值的步骤具体如图2所示,其包括以下分步骤:
步骤S201 检测汽车发动机处于发动或熄火状态:通过检测汽车发动机的工作状态(包括发动和熄火两种状态),得知汽车处于发动或熄火状态中,根据汽车在发动或熄火状态下的情况对蓄电池和发电机的状态进行判断。
步骤S202 检测汽车蓄电池电压值:通过检测蓄电池的电压值,用以判断蓄电池和发电机的状态是否正常。
对于本实施例而言,上述判断蓄电池和发电机的状态是否正常的步骤具体如图3所示,其包括以下分步骤:
步骤S301 判断所测得的电压值是否≥12.72V:本步骤中,判断所测得的电压值是否≥12.72V,如果判断的结果为是,则发电机和蓄电池的状态均正常,执行步骤S14;否则,如果判断的结果为否,即所测得的电压值<12.72V,则执行步骤S302。
步骤S302 判断发动机是否处于发动状态:如果上述步骤S301判断的结果为否,则执行本步骤。本步骤中,判断发动机是否处于发动状态,如果判断结果为是,则说明发电机存在故障,执行步骤S3021发出预警;否则,如果判断的结果为否,即汽车处于断电状态,则执行步骤S303。
步骤S303 判断所测得的电压值是否≥10.8V:如果上述步骤S302判断的结果为否,则执行本步骤。本步骤中,判断所测得的电压值是否≥10.8V,如果判断结果为是,则说明蓄电池正常, 执行步骤S3031;否则,如果判断的结果为否,即所测得的电压值<10.8V,这说明蓄电池缺电或存在故障,则执行步骤S3032发出预警。
对于本实施例而言,所述根据所测的蓄电池电压值计算出蓄电池的剩余电量的步骤中,该蓄电池的剩余电量由以下公式(I)计算获得:
其中,y为电量百分百,x为蓄电池电压值。
对于本实施例而言,上述获取汽车熄火瞬间及经设定时间后蓄电池的电压值的步骤具体如图4所示,其包括以下分步骤:
步骤S501 获取汽车熄火瞬间的电压值X1及经设定时间的电压值X2:本步骤中,获取汽车熄火瞬间蓄电池的电压值X1,及经设定时间后蓄电池的电压值X2,用于后续计算蓄电池在汽车熄火状态下的耗电量。
步骤S502 判断汽车在所述设定时间内是否重新发动过:本步骤中,判断汽车在所述设定时间内是否重新发动过,如果判断的结果为是,则放弃在步骤S501中所获取的电压值X1和X2,并返回步骤S501;否则,如果判断的结果为否,即汽车熄火后在所述设定时间内没有重新启动,则在步骤S501所取得的电压值X1和X2有效,执行步骤S106。
对于本实施例而言,上述计算出汽车在熄火状态下24小时内的耗电量的步骤具体如图5所示,其包括以下分步骤:
步骤S601 将电压值X1和X2分别代入公式(I):本步骤中,将所获取的电压值X1和X2分别代入公式(I),求得汽车在熄火瞬间的剩余电量Y1,及经设定时间后蓄电池的剩余电量Y2。
步骤S602 求差:本步骤中,将步骤S601中的剩余电量Y1和Y2进行求差,得到熄火状态下汽车在设定时间内的耗电量Y=Y1-Y2。
步骤S603 计算出汽车在熄火状态下24小时内的耗电量:根据所述设定时间与24小时的线性关系,计算出汽车在熄火状态下24小时内的耗电量。例如,若所述设定时间为4小时,则在本实施例中,汽车在熄火状态下24小时内的耗电量为24/4*(Y1-Y2)。
步骤S604 判断汽车在熄火状态下24小时内的耗电量是否处于正常的耗电量范围内:本步骤中,判断汽车在熄火状态下24小时内的耗电量是否处于正常的耗电量范围内,如果判断结果为是,则电路正常;否则,若判断结果为否,即汽车在熄火状态下24小时内的耗电量过大,超出了汽车在熄火状态下24小时内的正常消耗电量,这说明汽车车载电子电路存在异常,可能是汽车车载电子没有关闭灯原因,还在消耗蓄电池的电,则发出预警。在实际应用当中,不同车型、不同蓄电池类型,汽车在熄火状态下正常的耗电量范围不同,在本实施例中,以24小时的耗电量不超过该蓄电池充满时电量的一半为正常耗电量。
对于本实施例而言,上述检测汽车在熄火状态下、蓄电池的漏电电流的步骤具体如图6所示,其包括以下分步骤:
步骤S701 检测汽车在熄火状态下、蓄电池的漏电电流:本步骤中,在汽车熄火状态下,通过检测蓄电池电路中的静态电流来获取蓄电池的漏电电流,用以判断蓄电池的漏电情况。
步骤S702 判断蓄电池的漏电电流是否处于正常的漏电电流范围内:本步骤中,判断蓄电池的漏电电流是否处于正常的漏电电流范围内,如果判断的结果为是,则蓄电池正常,其状态如S704所示;否则,若判断的结果为否,即蓄电池的漏电电流过大,超过了蓄电池正常的漏电电流,说明蓄电池已经老化或存在异常,需要进行保养或跟换,如S703S所示,发出预警。
本发明实现上述发明目的的基于FPGA的在线汽车蓄电池监测装置,其结构框图如图7所示,包括:准备就绪模块1、发动机工作状态和蓄电池电压值检测模块2、蓄电池和发电机状态判断模块3、蓄电池剩余电量计算模块4、熄火电压获取模块5、耗电量计算模块6、漏电电流检测模块7和输出模块8;其中,准备就绪模块1用于开始工作;发动机工作状态和蓄电池电压值检测模块2用于获得汽车发动机发动或熄火状态和测量蓄电池的电压值;蓄电池和发电机状态判断模块3用于判断蓄电池和发电机当前的状态是否正常;蓄电池剩余电量计算模块4用于根据所测的蓄电池电压值计算出蓄电池当前的剩余电量;熄火电压获取模块5用于获取汽车熄火瞬间及经设定时间后蓄电池的电压值;耗电量计算模块6用于根据获取的汽车熄火瞬间及经设定时间后蓄电池的电压值,计算出汽车熄火状态下在24小时内的耗电量;漏电电流检测模块7用于测量汽车在熄火状态下、蓄电池的漏电电流;输出模块7用于对检测、计算和判断所得的蓄电池电压值、剩余电量、漏电电流、汽车熄火状态下在24小时内的耗电量、蓄电池状态是否正常、发电机状态是否正常进行输出和反馈。
如图8所示,本实施例中,上述蓄电池和发电机状态判断模块3进一步包括发电机状态判断单元31和蓄电池状态判断单元32;其中,发电机状态判断单元31用于判断发动机处于发动状态下,所测得的电压值是否≥12.72V,从而判定发电机正常或故障;蓄电池状态判断单元32用于判断发动机处于熄火状态下,所测得的电压值是否≥10.8V,从而判定蓄电池正常或蓄电池缺电/故障。
如图9所示,本实施例中,上述耗电量计算模块4进一步包括:瞬间剩余电量计算单元41、求差单元42、24小时耗电量计算单元43以及24小时耗电量判断单元44;其中,瞬间剩余电量计算单元41用于求得汽车在熄火瞬间的剩余电量Y1,及经设定时间后蓄电池的剩余电量Y2;求差单元42用于计算熄火状态下汽车在设定时间内的耗电量Y=Y1-Y2;24小时耗电量计算单元43用于根据所述设定时间与24小时的线性关系,计算出汽车在熄火状态下24小时内的耗电量;24小时耗电量判断单元44用于判断汽车在熄火状态下24小时内的耗电量是否处于正常的耗电量范围内。
总之,本发明能够在线监测汽车蓄电池的电压、剩余电量、漏电电流、熄火状态下的耗电量,并能对蓄电池性能和发电机状态正常与否做出判定等,是智能汽车电子领域,检测、监控方面的一个全新的方案;它能有效地避免由发电机和电池故障造成的安全隐患,减少汽车使用过程中的风险和潜在损失的可能性,具备十分好的现实应用价值和推广价值;而且本发明基于FPGA的汽车在线电池监测方法及装置,具有容易实施,价格低、性价比高、操作简单易用、对汽车改造小等优点。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。