当前位置: 首页 > news >正文

基于单片机智能充电器系统设计

摘 要

在我们的日常生活中,手机已经变得越来越重要了。我们经常需要使用手机,打电话、发短信、上网、看电影、听歌、玩游戏等等。随着大屏幕和高主频的手机出现,锂离子电池就变得更加重要了,其锂离子电池充电器也受到广大消费者的重视。
该课题主要是设计一种基于单片机的锂离子电池充电器,在设计上,通过AT89C52和MAX1898可以控制实现预充,快速充电,及恒压充电。该设计可以监控充电过程中的各个状态,实现电路简单,成本较低,而且充电效果很好,包括安全性高,耗时短,对电池损坏小,满足一般用户的要求。本文还对充电器的核心器件MAX1898充电芯片、AT89C2051单片机进行了较详细的介绍。
该智能充电器具有检测锂离子电池的状态;自动切换充电模式以满足充电电池的充电需要;充电状态显示的功能。通过光耦6N137可以实现定时切断MAX1898的电源,减少能耗,同时也延长了它的使用寿命。

关键词: 锂电池,充电器,单片机,AT89C52, MAX1898

2 电池的充电方法与充电控制技术

2.1电池的充电方法和充电器
下面先对电池基本参数进行简单的介绍。
电池的额定电压:额定电压是指电池正常工作时正极与负极之间的的电压,通常锂离子电池的额定电压为3.6V。电池充满电时的电压与电池的阳极材料有关:阳极材料为石墨时,电池电压为4.2V;阳极材料为焦炭,电池电压为4.1V。通常锂离子电池的铭牌上标识的是加阳极材料的压降后的电压。即通常是4.2V或4.1V。
电池容量:电池容量是指电池存储电量的大小。电池容量的单位是mA h,中文名称是毫安时(在衡量大容量电池如铅蓄电池时,为了方便起见,一般用Ah来表示,中文名是安时,1Ah=1000mAh)。定义是以20小时为标准。例如800mAh电池是指连续放电电流为40mA,放电完毕共耗时20小时。另一种是以W/CELL计算,即单位极板消耗功率,定义是以15分钟为标准.例如1221W电池为每一CELL供电21W可供电15分钟。
充放电速率:有时率和倍率两种表示法。时率是以充放电时间表示的充放电速率,数值上等于电池的额定容量(安·小时)除以规定的充放电电流(安)所得的小时数。倍率是充放电速率的另一种表示法,其数值为时率的倒数。原电池的放电速率是以经某一固定电阻放电到终止电压的时间来表示。单位为C。放电速率对电池性能的影响较大。一般地,对于每块电池厂家都有规定的充放电速率,充电速率过大,很可能造成过电流充电,使电池内部消耗较大的能量,产生热能,对电池不利;充电速率过小意味着充电时间较长。充电速率,电池容量,充电时间及充电电流之间的关系为:充电速率=充电电流/电池容量;充电速率=1/充电时间;充电时间=电池容量/充电电流。
2.1.1 电池的充电方法
1、恒流充电
(1)恒流充电:充电器的交流电源电压通常会波动,充电时需采用一个直流恒流电源(充电器)。当采用恒流充电时,可使电池具有较高的充电效率,可方便地根据充电时间来决定充电是否终止,也可改变电池的数目。恒流电源充电电路如图2.1所示。
(2)准恒流充电:准恒流充电电路如图2.2所示。在此种电路中,通过直流电源和电
在这里插入图片描述

图2.1 恒流电源充电电路
池之间串联上一个电位器,以增加电路内阻来产生恒定电流。电阻值根据充电末期的电流进行调整,使电流不会超过电池的允许值。由于结构简单、成本低廉,此种充电电路被广泛应用充电器中。
在这里插入图片描述

图2.2 准恒流充电电路
2、恒压充电
恒压充电电路如图2.3所示。恒压充电是指每只单体电池均以某一恒定电压进行充电。当对电池进行这一充电时,电池两端的电压决定了充电电流。这种充电方式的充电初期电流较大,末期电流较小。充电电流会随着电压的波动而变化,因此充电电流的最大值应设置在充电电压最高时,以免造成电池过充电。
另外,这种充电方式的充电末期电压在达到峰值后会下降。电池的充电电流将变大,会导致电池温度升高。随着电池温度升高,电压下降,将造成电池的热失控,损害电池的性能。
在这里插入图片描述

图2.3 恒压充电电路

3 锂电池充电器电路设计

3.1系统整体框架
系统主要由STC89C52单片机、MAX1898锂电池充电芯片和光耦6N137这三部分和一些相关的器件组成,如图3.1所示。系统连接好锂电池,上电开始工作。单片机就会给6N137一个信号,通过它给MAX1898供电开始工作。MAX1898芯片会检测锂电池的电压,判断是否需要充电,如果需要充电,则向其充电,同时单片机计算时间、相关指示灯会亮和闪烁。当电池进入恒压充电阶段或者充电出错时,MAX1898会发出一个信号,信号经过反相器反转后,输入到单片机的外部中断端,单片机就会做出相应的动作,让指示灯发出相应信号提示使用者。等到系统设定的3个小时后,单片机又会向6N137发出控制信号,此时就会切断MAX1898的电源,停止对锂电池充电,同时指示灯也会发出信号提醒使用者电池已经充满电。
在这里插入图片描述

图3.1 系统框图
3.2单片机STC89C52
本设计采用STC89C52单片机作为系统的处理器,需要用到单片机的外部中断、定时器中断和普通I/O口等资源。我们可以通过单片机的外部中断端口检测芯片MAX1898发出的信号,通过程序控制MAX1898的供电电源和外围的led亮与灭,来展示给使用者,充电器的工作状态。定时器可以用来作为充电器的计时器,当时间到了,就会切断电源和改变相应的led状态。它是51系列单片机的一个成员,是8051单片机的升级版。它有几个主要组成部分:中央处理器、存储器、并行I/O口、定时器/计数器。内部自带4K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,STC89C52构成的单片机系统是具有结构简单、造价低廉、效率高的微控制系统,节省了成本,提高了系统的性价比。[7]STC89C52芯片的最小单片机系统如下图3.2所示:

在这里插入图片描述

图3.2 单片机最小系统

3.3电源产生芯片LM7805
本系统需要外接12~18V直流电源供电,通过芯片LM7805达到5伏电压,向系统供电。
端稳压IC来组成稳压电源所需的外围元件极少,且有一定的电压、电流输出,能够获得不同的电压和电流,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、
在这里插入图片描述

图3.3 lm7805样品
方便,而且价格便宜。该系列集成稳压IC型号中的lm78后面的数字代表该三端集成稳压电路的输出电压,如lm7806表示输出电压为正6V,lm7909表示输出电压为负9V。
因为三端固定集成稳压电路的使用方便,电子制作中经常采用。LM7805 主要特点:输出电流可达 1A、输出电压有:5V、过热保护、短路保护、输出晶体管 SOA 保护。

4 锂电池充电器软件设计

4.1程序功能
基于单片机STC89C52和MAX1898的智能电池充电器的程序需要完成以下的功能:系统上电通过6N137向MAX1898提供电源,使能MAX1898,开始充电,同时启动定时器0,允许外部中断和定时器中断,打开总中断。预充电和恒流充电时,定时器每过1秒就会控制1号灯亮/灭(即周期性闪烁)。当进入恒压充电状态时,CHG会发出高电平,外部中断产生,此时,定时器每过5秒就会控制1号灯亮/灭;等到计时器计时到3小时时,单片机就会发出一个信号给6N137用以切断MAX1898的电源,停止充电,此时1号灯就会熄灭,表示充电过程结束,可以取下电池使用。
4.2程序流程图
单片机控制的智能充电器的程序流程图如图4.1所示:其中初始化包括了接通MAX1898的电源、打开总中断、开启外部中断、启动定时器,控制指示灯亮灭等。进入While循环,等待定时器和外部中断。
在这里插入图片描述

图4.1 程序流程图
外部中断发生后,单片机的动作流程图如下图4.2所示:当有外部中断信号到来时,表示进入恒压充电阶段或者充电出错了,此时单片机就会执行产生外部中断后的相应程序,让指示灯每过5秒转变一次状态,提醒使用者。
在这里插入图片描述

图4.2 外部中断发生后程序流程图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

http://www.dtcms.com/a/286183.html

相关文章:

  • 如何检查GitHub上可能潜在的信息泄漏
  • 深入理解 Redis 集群化看门狗机制:原理、实践与风险
  • synchronized锁升级过程【AI笔记,仅供自己参考】
  • Pythonday17
  • 中国1km逐月潜在蒸散发数据集 - matlab按shp批量裁剪
  • lesson17:Python函数之递归、匿名函数与变量作用域
  • 电脑装机软件一键安装管理器
  • sky-take-out项目Mybatis的使用
  • MyBatis 动态 SQL:让 SQL 语句随条件灵活变化
  • Java面试宝典:Maven
  • UE5多人MOBA+GAS 番外篇:使用ECC(UGameplayEffectExecutionCalculation)制作伤害计算的流程
  • 【Java新特性】Java 17 新特性全解析
  • 嵌入式Linux:什么是线程?
  • Docker搭建Elasticsearch和Kibana
  • 图机器学习(12)——社区检测
  • 飞牛上使用Docker方式部署LibreTV,再配合内网穿透,实现免费无广告刷剧的服务教程
  • Oracle ADG 一键自动化搭建脚本
  • 【宇树科技:未来1-3年,机器人可流水线打螺丝】
  • Go语言实战案例-模拟登录验证(用户名密码)
  • 什么是高光谱相机,它与数码相机有什么区别?
  • C#引用转换核心原理:类型视角切换
  • 弧焊机器人智能节气装置
  • Android 开机流程中的图片与动画解析
  • leetcode:冗余连接 II[并查集检查环][节点入度]
  • Android 之 audiotrack
  • 协作机器人操作与编程-PE系统示教编程和脚本讲解(直播回放)
  • 多模态大模型重构人机交互,全感官时代已来
  • PPIO × Lemon AI:一键解锁全流程自动化开发能力
  • Rust交叉编译自动化实战
  • 服务器内存满了怎么清理缓存?