微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AVR的笔记本电池检测仪

基于AVR的笔记本电池检测仪

时间:03-30 来源:互联网 点击:
2 软件功能的实现

软件的实现分单片机和程序两部分。其中单片机完成协议转换功能上位机软件实现检测功能。

2.1 SMBUS总线与RS232协议的转换

电池检测仪是由ATMEGA88把数据从电池取出,通过RS232把数据发给上位机。或从上位机接收数据转发给电池,可见在信息传送过程中,电池检测仪起到了桥接的作用。电池版本的不同信息容量也不同,如对于BQ2060系列的电池,只有127个字节的信息。ATMEGA88共有lK的SRAM,完全可以将全部寄存器存入到单片机中,而对于BQ20280的智能电池,电池信息容量为1752个字节,无法完全存放,只能将数据分批发送出去。本文使用分组发送的方法转发数据,在单片机内部为SMBUS总线和RS232各分配32字节的收发缓冲区,数据都组装成帧发送.单片机在收发到一个完整的帧后才启动后续操作。数据帧的格式为:第一字节同步字符0xFE,第二字节数据长度字节,最大值29.从第三字节开始数据字节。内容为ASCII码的数字和字母。最后一字节是数据帧结束字节OxFD。当收到帧起始字,ATMEG88把数据放入接收缓冲区,当收到帧结束字节后,处理数据并放人到发送缓冲区.启动发送。为了避免数据溢出现象,还加入了超时处理.当处理一帧数据超过2ms时视为数据收发失败。将此帧数据删除。

2.2电池可配置编程的实现

对于BQ20270等系列的高档电池,电量计量芯片内部集成了Flash存储器。可以使用SMBUS总线对电池的配置在线更新。本文提出的电量检测仪实现了对Flash的编程操作,完成了生产一块电池的全部操作。在进行编程之前,要先准备一个原装镜象文件。这个文件里包含了电池的器件配置信息如电阻特性曲线、化学特定数据等.对电池执行一个写操作,写入0x08,置电池为编程模式.数据通过SMBUS写入电池,完成后发送校正命令.电池执行内部的自动校正算法把电池校准,再将电池专用信息写入包括生产日期、序列号等.将所有写入的信息再读出来与原有信息比较进行数据校验,如检查数据无误,复位电池恢复5分钟后,向电池发送阻抗匹配追踪使能命令0x21,电池就可以正常工作了。

2.3智能电池检测流程

检测智能电池的整个流程是在七位机的软件下控制完成的,在电池的生产流程中,参数的变化是很频繁的,为了能适应各种不同电池的检测本文采用读取配置文件的方法。在上位机软件启动时,首先要加载的后缀为INI的电池配置文件,配置文件主要结构是一个settings段。段中存储的是关键字.智能电池的每一个寄存器都三个关键字。分别是寄存器的地址、寄存器的最大值、寄存器的最小值。上位机软件根据配置文件动态生成要检测的内容界面,根据地址向检测仪发送串口命令.检测仪把此命令转发给电池,电池会返回此命令的值,上位机收到后与加载的最大值和最小值比较。如果超出范围则检测不通过.软件会用不同的颜色标出。上位机加载配置文件完毕后,第一步检测电池的的基本信息如设计电压、设计容量、电压、电流、循环次数等.如不正确上位机软件自动写入正确值;第二步启动充放电电路检测电池内部的保护电路和加载电流,如不正确则报警,并记入日志文件:第三步检测热敏电阻是否工作正常.如不正常报警并记往日志文件:最后校正电路参数。如果电池不能正常工作.还可以用智能电池检测仪对电池重新编程。

3 结论

本文对智能电池检测仪的工作原理和实现方法进行了详细阐述。实现了电池的基本信息检测、充放电检测、热敏电阻等检测.并且实现了智能电池的在线编程。智能电池检测仪具有效率高、配置灵活、使用方便等特点.在电池生产中取得了良好的效果。

本文创新点:本文提出了采用AVR单片机对笔记本电池检测进行充放电、温度等检测.流程采用上位机软件配置,提高了电池检测流程的效率和灵活性。

本文提出电池检测仪已批量生产30套,每套售价2万元。一个检测仪每月可检测约4K块电池.可节省大量人工和时间,直接经济效益1万元左右。

作者:高艳芬,何明星,王伟    来源:《微计算机信息》(嵌入式与SOC)2009年第25卷8-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top