一、引言
本文实现的锂离子电池监测系统由DS2762锂离子电池监测芯片、51单片机、液晶显示模块组成。其中的核心功能由DS2762芯片完成的。本文介绍了系统的硬件实现和软件设计,以及DS2762芯片的特性和相关控制软件程序。本系统功能强大、结构简单,可用于数码相机、智能电话及其它便携式仪器的智能锂离子电池模块中。
二、系统硬件结构及工作原理
1、系统硬件结构。本系统的硬件设计力求简洁,以便使单片机能够完成更多其他功能。硬件实现如图1所示:
图1硬件结构图
整个系统由DS2762锂离子电池监测芯片、51单片机和液晶显示模块组成。DS2762芯片是MAXIM公司推出的新一代智能锂离子电池监测芯片,集数据采集、信息储存、安全保护于一身,具有功能强大、硬件接线简单等特点。它完成对电池当前状态的监测,包括当前电池的充/放电状态、电压、电流、温度和剩余电量等参数的监测。DS2762芯片能自动采集这些数据,并将其放在存储器中。
DS2762的引脚功能如下图2所示:
图2引脚功能
pIO:可编程的I/O端。根据要控制用户含义的外围电路。
VDD:电池正极输入。
Vin:感应电压输入。
51单片机按照用户要对电池的相应参数读取和处理,然后送往液晶显示模块显示。由于存放这些参数的EEpROM具有非易失性,所以本系统具有掉电保护功能。由图1可见,单片机是整个系统的控制处理中心,由于大量的工作由单片机完成,明显地降低了系统硬件复杂度,极大地提高了系统的智能化。
液晶显示模块显示用户要了解的电池当前状态信息,用户根据这些信息以作出相应的处理。它仅仅接受单片机的控制和访问。
工作原理:系统上电后,先确定电池的工作方式:单片机每88ms监测一次电压,将DS2762的IS1和IS2两端的压差(Vis=Vis1-Vis2)转换成电流后存入电流寄存器。若Vis为正值,说明电池正在充电;若Vis为负值,说明电池正在放电,也就是仪器正由锂离子电池直流电源供电。接着单片机对DS2762发出采集电压、温度的控制命令。由于DS2762内部有A/D转换器和数字温度传感器,可自动将电压、温度测量值存入DS2762相对应的寄存器,因此,单片机只要等待其采样完毕后,读取寄存器的内容,最后送液晶显示模块显示。
电池的剩余电量可用电流累加寄存器的值求得。电流累加寄存器的值是由DS2762实时自动测量电池电流后更改的,无须对其进行控制。电池充电时该值新增,放电时该值减少。单片机读取此值后即可获得剩余电量。
场效应管FET1、FET2等构成DS2762的充放电保护回路。过压保护:假如电池电压Vin超出过压门限电压Vov,延时Tovd后,DS2762将关闭充电场效应管FET1.欠压保护:假如电池电压Vin低于欠压门限电压Vuv,延时Tuvd后,DS2762将关闭充电和放电场效应管FET1、FET2,进入睡眠方式,等待充电指令。充电过流保护:假如Vis(Vis=Vis1-Vis2)超出过流门限Voc,延时Tocd后,DS2762将关闭场效应管FET1、FET2.放电过流保护:假如Vis低于-Voc,延时Tocd后,DS2762将关闭放电场效应管FET2.短路保护:假如SNS脚的电压超过短路门限电压,延时Tscd后,DS2762将关闭放电场效应管FET2.
三、系统软件实现及流程图
为了满足监测的实时性,单片机采用按时中断的方式访问DS2762,进行电池参数采集。首先设置单片机的计数器为按时方式,开启按时器,按时长度可随要灵活设定;然后单片机运行其他程序,等待按时中断的到来,按时中断发生之后进行中断服务程序,对数据进行采集、处理和显示;最后重新初始化按时中断,返回。图3是系统总体流程图,图4是中断服务流程图。
图3系统总体流程图
图4中断服务程序流程图
DS2762与单片机进行数据通讯时仅用一根数据线(DQ),因此必须严格按照芯片的读写时序要求来编写程序,这样才能保证数据的正确读写。图5、图6是DS2762芯片对电池的工作方式和剩余电量进行监测的程序流程图:
图5电池工作方式监测流程图
图6剩余电量监测流程图
说明:1>单片机对DS2762进行任意存储命令操作时,在发出每个命令之前都必须按照DS2762的复位时序要求。先发出复位信号且等待DS2762的应答(以示DS2762准备接受或发送数据),然后再发出一个ROM命令用以选择总线上要访问的DS2762.在本文的程序流程图中此过程用DS2762的初始化来代替。2>在读取寄存器的值时,为防止读取错误,先要检查DS2762是否正在修改寄存器的内容。这可通过判断EEpROM寄存器的EEC位即可。
四、结束语
本文介绍的基于DS2762芯片的锂离子电池监测系统是一种便携式仪器的一部分。系统硬件设计简洁,且同单片机配合使用,不仅极大地提高了智能化,而且功能强大、操作方便,能够与其他功能协同工作。