简介
本文演示的硬件和软件,以创建一个实用的移动工程工具来监控和检查卫生随着铅酸蓄电池等诸多参数的组合,汽车电池被选为一个简单的例子。许多现代类型的电池(如锂电池)的设计与智能电池芯片内置的,它提供了大量有关负责他们的状态等信息。铅酸电池通常由简单的,没有任何形式的在他们的智能电池芯片,使汽车车间的任务,以测试电池。
然而,有足够的空间在任何汽车有一个微小的传感器,可以实时监控铅酸电池,所以一个小项目的设立是为了得到适当的硬件和软件协同工作,提供智能电池一样的功能用于汽车电池。
一个简单的和非侵入性的方式被使用,因此,没有电缆或电线是要被切割或在汽车中断开,只有探针附着到电池端子,并且在电池线1非接触式电流传感器。
背景
智能电池芯片,因为它通常被认为是在现代的电池,例如锂电池持续收集三种运行时间参数:电池电压,电池电流和电池温度。根据智能电池芯片的功能,它可以发送原始数据或执行计算,以呈现更高级的数据,基于原始输入数据,例如计算电池的充电 - 放电循环的次数。
提供的用于铅酸电池的智能电池芯片的功能相当于同三个传感器的需要:电压,电流和温度。Arduino的微控制器平台似乎是一个良好的开端,这些传感器。它结合了硬件和软件比较好,可以与Windows PC上运行的软件轻松通过串行连接进行通信。
下面的图示出了电池参数是如何通过汽车微控制器测量,处理,记录和可选发送到Windows PC的破坏NET应用程序battmon。
说明汽车电池的智能监控器(battmon)有显著能力获得,显示和记录几个关键电池参数,并计算出基于几个充电或发动机起动周期来通知用户有关电池的健康和预期寿命等几个电池的性能。下面原始的汽车电池参数显示和记录
- 电池电流
- 电池电压
- 电池温度
基于它们,从车载电池中,以下的电池参数,计算出的上述数据,显示活在运行时间和记录到SD卡以及
-
剩余容量SOC的状态(0到100%),分别,而
- 充电
- 在休息
- 放电
- 发动机启动方式:电流消耗和时间
- 电池内阻
- 电池起动安培(CA),而如果温度足够低,则冷起动安培(CCA)
- 的充放电循环数
- 估计电池容量(A *小时)的基础上库仑负责接受和无罪释放
- 充电时间
Battmon可以提供重要的电池健康信息:
- 在几秒钟内
- 而不需要从汽车卸下电池
- 对机动车辆而驾驶,停放时,当发动机关闭
视觉上屏幕和,如是否电池正在接受电荷,以及如何好。下图突出显示这些点上,从汽车电池,身体健康起汽车发动机采取battmon截图(10秒图表记录滚动窗口)。
从长远来看,有机会的可以安装在汽车battmon运作了一段时间,它可以让battmon收集足够的数据用于汽车电池的数据统计分析,并随着时间的推移或温度得到电池的发展趋势。
此外,通过检查battmon记录的数据,有可能分离并探讨电池行中的任何怀疑电压或电流尖峰,槽或不寻常的事件。
Battmon - 微控制器部分
battmon的微控制器部分的目的是为了执行三个任务:
- 收集毫秒时间尺度的原始数据电池
- 执行原电池有限的数据处理
- 保存数据到SD卡和/或发送实时数据到PC机
在库仑(Q)电池充电是通过集成的电池电流随着时间的推移,分别为正和负电流连续地计算,所以充电和充电列分别计算并监控如何电池被释放,并分别接受电荷。
下图说明battmon微控制器部分的设计。Arduino的欧诺R3兼容的微控制器使用。
硬件
电池电压传感器
电压传感器是基于内置的Arduino微控制器与1 5伏10位ADC通道0:3分,因此,提供0到15伏特的范围,以涵盖大部分的汽车电池电压测量的需要。建于电压传感器似乎是在硬件的温度补偿,但对于校准进行了测试。
电池电流传感器
拆分回路直流霍尔电流传感器使用,它提供了线性电压输出正比于电池电流。几款车型都试过了,用YHDC + -100电流传感器作为最实用的项目。-100A的负电流产生的阅兵式0 V输出,没有电流,使2.4伏和+ 100A的正向电流,使5.0伏特。直流电流传感器连接到Arduino的微控制器的5伏10位ADC通道1。
电池电流传感器进行校准的微控制器。电池电流传感器提供,需要温度补偿,这是由软件在battmon的微控制器部分完成信号。
可选的高电流范围分割闭环直流霍尔传感器支持的ADC 2路的重型发动机配备的车辆,占地+ -500A电池的电流范围。
温度传感器
温度传感器内置到的Arduino微控制器内部ADC通道,并使用单独的校准范围为-20°C至+70°C。微控制器电路板被安装在或靠近的汽车电池,因此温度报道的微控制器被假定为接近汽车电池的温度。
组装单片机设置的照片显示为已组装设置下方,作为安装在汽车电池(微控制器电路板被认为是包裹在塑料袋)。
微控制器软件
收集汽车电池的数据是在微控制器battmon部分的第一项任务。其软件由两部分组成:一次性初始化步骤和测量回路的功能不断被调用。
在初始化过程中,微控制器的日期和时间由RTC时钟初始化,并且SD卡进行检查,以探讨是否可以创建一个日志文件。此外,微控制器的串行端口在11520波特率最高速度初始化。
一用造成最大数据传输率约为1组完整的数据,每4毫秒/ D转换的ADC上的Arduino微控制器的模拟输入的默认设置。更快的速率是可能的通过设置微控制器的ADC时钟至高达1 MHz,这能提供更高的采样速率,但导通,以产生相当嘈杂电压数据。还是在微控制器的源代码较高的ADC速率选择留在条件编译volt_amp_temp.ino文件。
//使用默认ADC时钟设置,即在每个呼叫111微秒的默认分频功能的回报。 //更快的选项:设置ADC时钟到了极致高速,即到1 MHz。然后analogRead(PORTNO)返回16微秒 //#定义FASTADC 1 //建议的最大ADC时钟频率是由转换电路内部DAC的限制。 //为了获得最佳性能,ADC时钟应不超过200千赫。 //然而,频率高达1 MHz不降低ADC的分辨率显著。 //工作频率高于1 MHz时没有特点的ADC。 //电池电流探头运行在1 MHz的重读确定 //电池电压探头运行噪音在1 MHz #IFDEF FASTADC //定义设置和清除寄存器位 #ifndef CBI #定义CBI(SFR,位)(_SFR_BYTE(SFR)=〜_BV(位)) #ENDIF #ifndef SBI #定义SBI(SFR,位)(_SFR_BYTE(SFR)| = _BV(位)) #ENDIF #ENDIF
测量回路功能读取电压,温度和电流传感器反复的原始数据。这取决于有多少微控制器有做在每个通,一个环可以采用少至4毫秒。
此外,测量循环代码使用一些智能逻辑,找出任何显著变化是否在任何的这些电池参数发生,并且执行积分的电流随着时间的推移,以分别计算出电池的库仑电荷为进来或出去。
监控电池充放电充过的电池寿命可以提供有价值的信息,通过Windows PC上battmon。NET程序作进一步分析。
下方的图表显示battmon的单片机软件部分的设计:
送电池数据到PC机串口
有没有必要送每一次测量循环完成各道次的电池数据。相反,测量功能采用一些聪明的逻辑,找出任何显著变化无论是在任何这些电池参数发生。如果是这样,数据的发送与逗号作为分隔符下面的文本格式:
现场 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
意思 | 日期时间戳 | 电池电压 | 电池电流 | 电池温度 | 电池状态 | 充电了 | 付费 | 理由发送 |
计量单位 | ISO 8601格式毫秒 | 伏 | 安培 | 摄氏度 | C,D,I编码状态 | 库仑 | 库仑 | C,V,T,B编码的原因 |
范围 | 时间现在或过去 | 0到15伏 | -100 A到100Å | -20°C至+70°C | 充电,放电,空载时(怠速) | > 0■ | > 0■ | 下改变电流,V为电压,B两种,T代表温度 |
其中一个例子字符串
从battmon串行数据输出:
2014-01-30T20:48:28.321,14.3,0.6,16.1,C,118481,94206,C
在C#代码,数据,每一个这样的行会匹配battmon C#的数据结构(除原因遥感领域,这是不对应)。
[Serializable接口] 公共 结构 strctBattMonData { 公开日期时间dtBattDateTime; public double dblBatVolts; public double dblBatAmperes; public double dblBattTemp; public char chBattState; public long liQIn; public long liQOut; }
样品battmon串行数据输出文件包含在本文中。
因此,微控制器以恒定的波特率115200波特,但在可变数据速率发送电池数据。由于Windows电脑可以处理更大量的数据吞吐量从阅读的电池数据比单片机产生,测量回路发送一条线,即使在电池参数未检测到更换电池的数据,如心脏跳动的信号,每一秒。
然而,如果观察到任何这些电池参数没有显著变化,没有数据被记录到SD卡。如果其中:电压,温度或电流没有变化,数据被立即记录到SD卡中。由于记录数据到SD卡是缓慢的,一些暂态数据可以被跳过。
Battmon - .NET应用部分
在Windows平台上,微软NET框架4.5用来开发Battmon部分,其执行在线电池的数据处理和在几种形式进行显示:
- 汽车式模拟仪表(V,A,℃)
- 数字显示(V,A,℃)
- 软件图表记录(电压,电流随时间变化)
在分析之前录制battmon数据,现场仪表不活跃,而battmon图表记录器获取的数据文件,然后允许滚动到所需的检查点。此外,所有先前录制的文件是由时间戳总结了通过下拉菜单中的属性表录制时进行快速审查(无纸记录数据)。
下面拍摄的画面展示了在一个画面的所有功能:
NexGen公司。NET控件中使用了battmon用户界面的一部分,用于模拟汽车风格的仪表和数字显示器。
battmon的数字显示以及软件图表记录显示瞬时值,正是因为他们是从battmon单片机接收。电流和电压含有一定的抖动时,汽车配件经营,所看到的屏幕截图。这将导致模拟仪表的生涩操作。以流畅简洁的纹波过滤器只适用于模拟计值号针运动。其结果是,battmon瞬间截屏可以显示不同的值,用于模拟和数字电流,由于模拟仪表显示平滑值,而数字显示器可显示瞬时之一。
汽车电池电量显示为充电(SoC)的取值范围为0%至100%的三(3)模式状态:充电时,处于静止状态,并且在实际的电池温度显示放电略高于电量指示组。
电池的开路电压测量值,以确定SOC为其他部分可以用于估计当所有汽车配件被关闭,发动机不运转时充电状态 - battmon会探测到这种情况时,电池电流是不大于±0.1阿多(中间栏指示器)。
由于SoC的是通过表函数在20°C在C值测量铅酸蓄电池计算:
系统芯片 | - C / 3 | - C / 5 | - C / 10 | - C / 20 | - C / 100 | 在休息 | + C / 40 | + C / 20 | + C / 10 | + C / 5 |
0 | 9.5 | 10.2 | 10.99 | 11.46 | 11.5 | 11.6 | ||||
10 | 9.95 | 10.6 | 11.27 | 11.6 | 11.68 | 11.7 | 11.7 | 12.08 | 12.38 | 12.6 |
20 | 10.38 | 10.91 | 11.5 | 11.85 | 11.89 | 11.9 | 11.9 | 12.25 | 12.6 | 12.75 |
30 | 10.72 | 11.12 | 11.68 | 12.06 | 12.08 | 12.1 | 12.55 | 12.55 | 12.8 | 12.95 |
40 | 10.88 | 11.33 | 11.88 | 12.21 | 12.24 | 12.25 | 12.7 | 12.85 | 12.85 | 13.2 |
50 | 11.15 | 11.55 | 12 | 12.33 | 12.28 | 12.3 | 12.8 | 13.05 | 13.2 | 13.35 |
60 | 11.35 | 11.65 | 12.11 | 12.45 | 12.39 | 12.4 | 12.9 | 13.15 | 13.3 | 13.52 |
70 | 11.5 | 11.8 | 12.25 | 12.5 | 12.49 | 12.5 | 12.95 | 13.2 | 13.4 | 13.7 |
80 | 11.6 | 11.9 | 12.35 | 12.55 | 12.57 | 12.58 | 13 | 13.3 | 13.65 | 14 |
90 | 11.65 | 12.45 | 12.5 | 12.58 | 12.59 | 12.6 | 13.15 | 13.6 | 14.1 | 15.2 |
100 | 11.7 | 12.08 | 12.5 | 12.6 | 12.62 | 12.63 | 13.5 | 14.2 | 15.2 | 15.9 |
battmon通过执行电池电压调整-0.0235 V /℃的温度变化,使电压至20℃,以确定系统芯片。
的Battmon C#代码结构
对于battmon NET应用程序的类名称显示在下面的图片:
超一流的Generic12Vbattery
只包含足够的成员和方法来表示一般的铅酸6芯12伏电池。
Generic12Vbattery
类也包含静态
表中的C因子在运行时放电,充电和在无负载(怠速)在确定收费系统(SoC)的状态。
// 保护静态双[] cdblSOCVALS =新的双[NUMSOCTBLCOLS] // --------------放电----- |〜空载〜| ++++++++充电+++++++++ // - C / 3〜C / 5 - C / 10 - C / 20 - C / 100在休息+ C / 40 + C / + 20℃/ 10 + C / 5 {-0。333,-0。20,-0。10,-0。05,-0,01, 0,0,0,025,0,05,0,1,0,2 } ; //
对于特定的电池,另一类AutomotiveBattery
源自Generic12Vbattery
超类。人们在这里用户可以设置的CA,CCA和容量值,以及品牌,型号和序列号。当battmon将收集的数据与实际的汽车电池,它会再比较哪个用户提供了新的电池与实际测量制造商的数据表所提供,从而使一个想法就已经给电池从新怎样降低。
专用类batt_data_parser
服务只有一个目的:从battmon微控制器验证电池的数据,可以通过串口实时发送或从SD卡读取。
Ser_Port_Listener
类具有描述性的名称和处理,通过串口接收实时的电池数据,验证每个字段对可接受的序列号范围。
两个设置类负责持久化存储:BattMonSettings
类持有battmon。NET程序设置,而设置
类保存了所有已知的最新汽车关键电池参数。在battmon主屏幕的下拉列表是从持久检索到的数据建立设置
类的实例。
Form1中
包含一个单一的并发队列的传入流量表单片机和C#的用户界面之间的数据交换。
// // 电池数据包队列 的公共 ConcurrentQueue <Generic12Vbattery.strctBattMonData> cnquBattDataQueue = NULL;
就说明了如下图:
在battmon的C#代码智能逻辑能够检测发动机起动事件,该事件被计数并从正在进行的电池数据记录分别记录。在运行时执行的操作电池发动机起动事件中快速分析,并立即显示出来。
battmon而汽车发动机在怠速运行在Windows 8平板电脑上运行的现场的照片如下所示。A型USB连接器上可以看出片剂的与从发动机室中的黑线来承载由battmon Arduino的基于微控制器发送的实时电池数据的左上角。
视频汽车起动时记录battmon现场操作也可以。Battmon .NET项目可以单独从本文开头的链接下载。它可以为任何Windows 7或8平台(ARM,Win32或X64)来构建。
过去的汽车电池数据Battmon分析
一旦battmon才知道的任何发动机启动周期的数据,无论它是用单片机发动机启动时连接到PC机实时运行,或数据被导入到从记录的微控制器运行SD卡独立battmon上电脑,快速浏览是立即可用的任何过去的发动机起动数据。
下拉列表包含所有已知battmon发动机起动事件在很短的格式,其中包括时间戳和关键参数,如起动电机运行,电池温度,内部电阻的持续时间,来计算CA,最大放电电流,库仑释放和进一步如果电池有足够的时间来充电了多长时间。屏幕截图battmon显示的一部分展示了它。
有计算的,并在此部分battmon屏幕上,这在下面解释的示数的汽车电池参数。
发动机起动周期
下拉框显示一个发动机起动周期的日期和时间,这是突出。长启动马达跑在几秒钟内如何,其最大电流消耗电池供电,以安培为单位。
充电输出与收费
库仑的电荷,在库仑,分别为负责外出时启动运行,并负责准备回电池时,发电机充电电池。这些值被预计为同一量级。如果他们是截然不同的,然后电池不被充电足够的发动机运行后启动周期之后。
完全充电复选框,充电时间
一次充电汽车电池拍摄时使用标准电池时,充电电流随时间下降,最终接近零计算。充电时间给出了一个想法长途车需要如何操作电池发动机起动后恢复其充电状态。
电池内阻和CA
电池内阻显示在欧姆,起动安培(CA)是计算每个发动机起动循环。
前次发动机起动事件可以被处理,以显示和分析月规模汽车电池的内阻作为时间的函数来检测电池内电阻是否发生恶化,或者作为函数的电池温度。这种图的示例如下所示:
Battmon的功能增强了汽车仪表盘的电池图标
Battmon功能可能会成为汽车车载嵌入式计算机固件的一部分。这样一来,关键battmon数据可以通过在车辆仪表盘上的智能电池图标来表示,存储在板载了更多的电池信息,计算机需要时检索审查。
因此,一个原始的两家国有汽车仪表板的电池警告图标(不亮健康的电池和亮时电池电压过低)
可以替换为更翔实的智能电池图标可供机动车辆驾驶员/驱动器,具有实时的电池数据,如原型图所示为两种情况:一个健康的汽车电池和蓄电池硫酸,它接受主管不佳:
......
对于数字汽车仪表盘带有触摸屏功能监听智能电池图标会打开一个对话框,有更多的信息,类似于battmon C#。NET应用程序提供。
景点
这battmon项目表现出了如何收集和分析汽车铅酸蓄电池的实时数据在运行时显示它们,以及使用基于Arduino的微控制器和C#。NET Framework应用程序的Windows PC上的组合录制到microSD卡。电量(SOC)和其他关键电池参数的状态都来源于生活的电池数据。
相关推荐
基于物联网的电动汽车智能充电监控系统设计 本论文旨在设计一个基于物联网的电动汽车智能充电监控系统,该系统能够实时监控电动汽车的充电状态,提高用户体验和电动汽车市场的核心竞争力。该系统的设计基于智能充电...
在智能处理与应用中,物联网技术可以实时监控电动汽车电能供给网络的运行状态,实时监控电池的状态、电机的状态、充电桩的状态等,可以实时监控电动汽车电能供给网络的运行安全性和可靠性。 智能处理与应用的另一个...
本文主要探讨的是基于窄带物联网(NB-IoT)的电动汽车智能充电系统,该系统旨在解决电动汽车充电基础设施建设不完善的问题,降低充电桩建设和监管成本,提升充电服务质量。窄带物联网是一种低功耗广域网络技术,特别...
此外,物联网技术的应用还可以解决电动汽车行业中的一些问题,如充电麻烦、电池剩余容量不一、电压、电流是否稳定等问题,通过物联网技术的应用,可以实时监控电动汽车的运行情况,预测和预防故障的发生,提高电动...
本文介绍了一个基于物联网技术的智能感知电动汽车辅助管理系统方案,该系统旨在提升电动汽车的使用体验,优化充电服务,并确保电池的安全与高效使用。系统的主要功能包括电池信息采集与展示、信息查询、车辆智能导航...
本文提出了一种基于物联网的电动汽车辅助管理系统,旨在解决这些问题,实现电动汽车与智能电网的有效结合。 物联网技术的应用使得电动汽车和充电站之间能够实现高效的信息通信,这对于提升电动汽车的使用体验和管理...
物联网在电动汽车领域的...参考文献中提到的研究进一步证明了这一趋势,如薛飞等人关于基于物联网的电动汽车智能充换电服务网络电池管理的研究,以及杨永标等人的相关探讨,均展示了物联网在电动汽车领域的广泛前景。
综上所述,物联网技术在电动汽车充电设施的应用涵盖了调度、监控、计量计费和维护等多个环节,它为电动汽车产业的发展提供了强有力的技术支撑。随着物联网技术的不断进步,我们有理由期待更智能、更高效的电动汽车...
标题中的“电子功用-支持电子支付的物联网电动车”暗示了我们即将探讨的是一个结合了电子技术、物联网(IoT)以及电子支付功能的创新电动车应用。这种电动车利用现代信息技术,为用户提供更加便捷、智能的出行体验。...
《基于物联网的智能电池测试系统设计》是一篇深入探讨现代电池测试技术的论文,主要关注如何利用物联网技术提升电池测试的智能化水平。该系统由下位机、中位机、上位机以及物联网系统四大部分构成,旨在满足电池行业...
电动汽车充电设施监控系统是电动汽车产业健康发展的重要组成部分,其目的是确保电动汽车的能源供给并保障充电过程的安全。当前,全球各国都在积极推动电动汽车的发展,并建设相应的充电设施。例如,美国、英国、...
【电动汽车换电运营模式...通过物联网技术的应用,电动汽车换电运营模式得以实现高效、安全、智能化的管理,进一步推动了电动汽车产业的发展。同时,也为构建智能电网、实现新能源汽车的广泛推广提供了有力的技术支撑。
2. 动力电池:主要应用于电动汽车、储能电站等领域,具有高能量密度、长寿命等特点。对动力电池的全生命周期监管不仅关系到能源利用效率,也直接影响到环保和安全问题。物联网技术的应用,使得对电池性能的监测和...
电动汽车智能充电桩方案是一种现代化的电力基础设施,用于为电动汽车提供安全、高效的充电服务。随着电动汽车的普及,智能充电桩作为其重要配套设备,对于推动绿色出行、减少碳排放具有关键作用。本方案聚焦于电动...
5. 能源管理:物联网技术还可以用于公交车的能源管理,如电动汽车的充电监控,根据车辆回库时间和电池状态,智能安排充电,保证车辆的正常运营。 6. 维护预警:通过对车辆状态的持续监控,系统能提前发现潜在的故障...
二是具备智能监控功能,能实时监测电池状态,预防过充或过放,延长电池寿命;三是采用通信技术,实现远程控制和故障诊断,提高运营效率;四是确保充电设施的稳定性,以应对各种恶劣环境条件;五是融入电力网格管理...
此外,智能充电网络的构建,通过互联网和物联网技术,可以实现充电预约、远程监控和故障预警等功能,提高充电服务的便利性和效率。 充电桩作为电动汽车充电的关键设备,其技术特点包括充电功率、兼容性、安全防护和...
1. 智能化升级:通过物联网、云计算、人工智能等技术,实现电桩的远程监控、预测维护和自我优化。 2. 网络化布局:构建覆盖城市、高速公路的充电网络,消除“里程焦虑”。 3. 国际化合作:加强国际合作,统一标准...
综上所述,本文涵盖了电动汽车电池管理系统的最新进展,半导体封装技术的创新,以及人工智能领域的硬件加速技术,这些都是当前科技发展的重要领域,对于推动新能源汽车、物联网和人工智能应用的快速发展起着关键作用...
4. **信息技术集成**:智能充换电网络通常会整合物联网技术,实现充电设施的远程监控和智能调度。用户可以通过手机应用或车载信息系统查询最近的充电站、预约充电时间,甚至实现远程启动充电功能。 5. **电网互动**...