基于无线充电的移动机器人锂电池电压估算方法与实现
2021-04-22张余恒彭一准葛泽凡
张余恒,彭一准,葛泽凡
(天津科技大学电子信息与自动化学院,天津300222)
随着科技与社会的进步,人们对充电方式也提出了新的要求,无线充电技术是一种与传统充电技术有着很大区别的新兴技术.相对于传统充电技术,无线充电技术具有便利性、实用性、美观性、环保性的优势,有很大的发展空间,也是国内外研究的热点之一.随着无线充电技术充电效率的提高、充电距离的增大、充电便利性与安全性的提高、充电设备的小型化等,无线充电技术将会成为主导未来充电产品与设备的主流技术,因此设计一种针对无线充电的监测系统是必要的.郭佑民等[1]根据锂电池在远程测控终端中应用的要求,设计了一种基于BQ27750 的远程测控终端电源检测系统.鲁照权等[2]考虑到蓄电池的健康状况和环境温度因素,提出了一种蓄电池剩余电量估算新方法.申双琴[3]利用单片机A/D 转换模块设计了用于扫地机器人的电量监测模块.基于以上研究背景,本文提出了一种基于无线充电的移动机器人锂电池电压估算方法,该方法通过均值滤波算法和误差处理算法减小电压模拟值采集误差,利用Matlab拟合函数进行电压估计,旨在能够实时监测锂电池电压,实现机器人低电压自动返航充电功能.
1 系统框架
通过数学建模方式建立电压与电量模拟值的数学模型,其电压监测系统可用在移动机器人上,例如巡检机器人等,图1 为本团队设计的巡检机器人的结构框图,其中包括了锂电池电压监测系统.系统主要由无线充电模块和电源模块组成,其中无线充电模块由无线充电发射端和接收端构成,电源模块由APM电压电流计传感器与锂电池构成.无线充电装置是采用电磁感应方式利用电磁波感应原理进行充电.无线充电的发射端和接收端各有一个线圈,通过220 V 交流电为发射端供电,使发射线圈产生电磁信号,而接收端线圈通过感应该电磁信号从而产生电流为锂电池充电.将无线充电模块发射端设计成充电桩形式固定在充电点,然后将接收端安装在轮式移动机器人身上,当机器人需要充电时返回充电点进行充电[4].
图1 带有锂电池电压监测系统的巡检机器人结构框图Fig. 1 Structure of the patrol robot with lithium battery voltage monitoring system
电源模块的一端与无线充电模块接收端相连,充电电压与充电电流经过APM 电压电流计传感器流向锂电池.将传感器自带的6P 连接线中的信号线和地线连接到Arduino2560 单片机的模拟IO 口上,利用单片机读出此时电压对应的模拟值,同时把锂电池测电器直接接在电池上,记录当前电压模拟值对应的实时电压.这样可以得到一组锂电池电压值和与之对应的电压模拟值,再利用Matlab 中的cftool 工具将这二者的函数关系式拟合出来,得到关于锂电池电压与电压模拟值对应的数学模型[5],最终机器人利用单片机读取电压模块的模拟值估计电压真实值.
当检测到电压估计值小于设定的充电阈值(14.8 V)时,表明机器人处于低压状态,此时机器人需要充电,然后通过上位机树莓派3B 运行远程导航程序,指定充电点为目标点进行导航,最终通过充电桩近程对接技术实现移动机器人的自主充电.当检测到电压估计值大于设定的充满阈值(16.5 V)时,表明电池已充满电,机器人离开充电桩,继续执行巡检任务.
2 硬件结构
监测系统实物图及充电桩实物图见图2 和图3.
图2 监测系统实物图Fig. 2 Physical diagram of the monitoring system
图3 充电桩实物图Fig. 3 Physical diagram of the charging post
系统选用的无线充电模块利用电磁感应式无线充电技术,由能量发射、能量接收和控制模块组成.利用电力电子技术实现电能的整流、逆变和输出部分的调节功能,工频交流电经过整流、高频逆变电路转换为高频交流电,为发射线圈进行励磁,并通过互感作用将能量传递到接收线圈,接收线圈经过高频整流和输出调节电路为蓄电池供电.为了降低系统损耗,在机器人未进行充电,即空载时,控制器可以断开主电路继电器,同时设置指示灯和蜂鸣器反映系统的状态[6].
系统选用的锂电池是4S 航模锂电池,最大充电电流可以达到20 A.
系统选用的测电模块是APM 电压电流计传感器,能够检测电池电压和电池电流.
系统选用的单片机是Arduino2560,其是一款便捷灵活的开源电子原型平台,利用此单片机模拟IO口读取锂电池电压模拟值,并通过数学模型估计出电压真实值.
3 软件设计
由于电压模拟值在实际采集过程中波动相对较大,采集到的模拟数据不稳定,导致拟合误差过大,不能直接使用.先采用均值滤波方式减小误差,即在相同电压下采集15 个电压模拟值并做均值处理,见表1.经过均值滤波后的电压模拟值和与之对应的锂电池实测电压值见表2.
利用Matlab 中的cftool 工具对锂电池实测电压与电压模拟值进行拟合.先输入表2 中的电压模拟值和实测电压值,打开cftool 工具,在cftool 界面中选择X、Y 数据,并设置拟合模型的类型为一元二次多项式(图4),即可得到一个关于实测电压值与模拟值之间的多项式拟合模型.从图4 左侧的输出结果中可以看出,拟合后的多项式为式(1),其中x 为APM 电压电流计传感器采集到的电压模拟值,该变量作为已知变量由Arduino2560 实时采集,y 是待估计的锂电池电压.
表1 电压模拟均值表Tab. 1 Table of voltage analog mean
表2 实测电压值–电压模拟值对应表Tab. 2 Table of measured and analog voltage value correspondence
图4 实测电压值与电压模拟值拟合图Fig. 4 Fitting diagram between measured and analog voltage values
建立数学模型的过程中,首先初始化电压电流计传感器,然后利用Arduino2560 单片机和锂电池测电器读取电压模拟值和实测电压值.读取失败则返回初始化传感器重新读取,读取成功后对同一个电压内的模拟值做均值滤波处理,最后将处理后的电压模拟值均值和电压值用Matlab 工具拟合,生成电压与模拟值之间的函数关系式[7].
选取1 组随机测得的电压模拟值代入多项式进行计算验证,见表3.由表3 可以看出,预期电压值基本接近实测电压值.不过为了防止采集到的连续模拟值出现突变情况,在程序端设计了一个误差处理算法,确保测量电压的稳定.在实际采集过程中通过观察发现,电压模拟值的变化是一个连续缓慢的过程,经过实际测量,相邻的两个电压模拟值之差的绝对值小于等于3.为了防止电压模拟值突变造成的测量误差,在单片机程序端加上一个约束条件.其约束条件为前后相邻两次采集的模拟值之差的绝对值不能超过阈值5,否则说明当前电压模拟值的测量偏差较大,舍弃该电压模拟值并返回重新测量,接着判断下一次采集的电压模拟值是否满足该判断条件;若满足条件,则将该电压模拟值代入拟合的多项式中,计算出电压估计值,不满足条件则继续循环采集[8].具体系统工作流程如图5 所示.
表3 锂电池电压对比验证Tab. 3 Voltage comparison validation of lithium batteries
图5 系统工作流程图Fig. 5 Flow chart of the system
移动机器人通电后,首先初始化电压电流计传感器,判断单片机是否接收到电压模拟值数据,再将采集的模拟值存入程序变量中,然后判断相邻两次采集到的模拟值之差的绝对值是否小于等于5,若不满足就重新读取电压模拟值,如果满足该条件则将当前电压模拟值代入拟合的多项式中,求解出电压估计值并保存[9].
4 一种高精度锂电池电压估计方法
在上述方法的基础上,将APM 电压电流计传感器换成库仑计模块,并修改相应程序,可得到更加精确的电压估计值和剩余电量百分比.其工作原理是通过测量一个特定电阻两端的电压值,再把这个电压值除以它的电阻值得到它的电流值,对这个电流和时间进行积分,从而得到准确的电压和剩余电量百分比[10].该电压监测系统如图6 所示.
本系统中电池管理模块由带串口通信的库仑计模块和锂电池构成.库仑计带有UART 串口通信功能,通过串口与单片机进行通信,利用单片机按照库仑计模块的通信协议读取库仑计测得的真实电压和剩余电量百分比.库仑计在使用之前需要先设置初值,设定满电时剩余电量显示为100%,处于低压临界值14.8 V 时为20%.这种通过高速采样电流积分获取锂电池电压值的方法具有较高的准确性[11].
图6 高精度电压监测系统Fig. 6 High-precision voltage monitoring system
库仑计接线原理如图7 所示,该电路由电源、库仑计模块和负载组成.库仑计除串口线之外还有4根线,图中细红线和细黑线分别接在电池的正极和负极,为库仑计供电;电池正极直接接在负载正极上,库仑计的电流粗黑线I-接在电池负极上,电流粗红线I+接在负载的负极上.
本系统通过单片机与库仑计模块串口连接,从中读取监测到的锂电池的实时电压和剩余电量百分比,但是由于移动机器人不需要实时读取电量,以免造成资源浪费,所以在本系统中设定每隔15 s 更新一次电压值和剩余电量百分比,其工作流程如图8 所示.首先在程序端初始化库仑计与串口;然后判断是否是第一次运行程序中库仑计定义函数或者前后两次运行该函数的时间之差大于15 s,如果不是则继续运行主函数,如果满足条件则单片机通过串口向库仑计下发指令,库仑计收到指令后立刻启动中断服务函数向串口返回数据;最后在程序端解析出电压和电量百分比的值并保存.该方法不仅可以得到锂电池的真实电压值,还可以通过剩余电量百分比的形式表现出来.经实验验证,测量结果精准,估计的锂电池电压能够满足机器人实现低压返航功能.
图7 库仑计接线原理图Fig. 7 Schema of coulometer wiring
图8 高精度锂电池电压系统工作流程图Fig. 8 Flow chart of high-precision lithium battery voltage system
5 结 语
本研究提出了一种基于无线充电的移动机器人锂电池电压估算方法,阐述了电压估算方法的系统框架和实现过程,针对本方案中的无线充电模块、电源模块进行展开说明,对系统的软硬件设计原理和实现过程进行简单描述,最后通过实验证明该方法可以确保移动机器人获取电源的实时电压估计值,能基本满足使用要求.在此基础上,提出一种使用库仑计通过电流积分的方式得到准确电压值的方法,为机器人的电池电压监测工作提供了可行的技术解决方案.