历史上的今天
返回首页

历史上的今天

今天是:2025年03月10日(星期一)

正在发生

2020年03月10日 | 基于ATmega8的电动车蓄电池智能管理系统设计

2020-03-10 来源:eefocus

简介:本文以ATmega8单片机为核心,设计了一种分布式、模块化、通过LIN总线通信且具有智能化充电功能的电动车蓄电池管理系统,实现了对多组蓄电池的有效监测和管理。


引言

电动汽车的无(低)污染优点,使其成为当代汽车发展的主要方向。电动汽车的发展需要解决两大难题,即能量存储和动力驱动。由于短期内动力电池储能不足的问题难以解决,使能量管理技术成为电动汽车发展的关键。在传统充电技术中,常用的恒压充电、恒压限流充电、恒流充电等模式,都是由人工控制充电过程,大多存在着严重的过充电现象。充电质量的好坏,直接影响蓄电池的使用寿命。而新型蓄电池智能管理系统的设计,就是为了在线检测动力电池状态,提高充电质量和效率,使操作人员只担任辅助性工作。


图1系统原理框图


管理系统的组成及硬件设计

本文设计的智能化管理系统是一种分布式、模块化的车载电池监控系统,它主要由主控模块、可控充电系统模块、电压采集子模块、温度采集子模块、电流测量子模块及显示模块构成,通过LIN总线实现相互通信。该管理系统原理框图如图1所示。


图2 LIN总线通信电路图


LIN总线通信电路

LIN总线的通信简单,方便,使智能电源管理系统与汽车的各系统之间既相互联系又相对独立,从而克服了目前电池管理的漏洞,能使汽车和汽车蓄电池的安全性和可控性得到大大的提高。图2为其具体电路,本设计中各个模块均包含该电路,以此实现信息共享和传输,本设计中实际通信波特率为1200bps。其中,pc817起到隔离作用,max1487保证收发信号在时间上错开。


电压检测电路设计

对多个蓄电池串联的电压测量方法主要有变阻分压,继电器开关切换,分布式电压测量3种方案。本设计的检测对象是4组并联、每组为40节串联的末端电压为48V的电池组,其单节电池标称电压为1.2V,主要用来检测电池状态,避免其中的单节坏电池影响使用,要求的精确度不是很高。所以,每个测压模块测量一组电池,即以每8节电池为一单元进行测量。考虑到工艺及成本,测压电路采用变阻分压与继电器开关相结合的电路结构。


图3电压测量电路图


如图3所示,U1~U5为分压后电平,分别连接在单片机带A/D转换功能的PC0-PC4口,完成电压采样。在进行可调电阻R1和固定电阻R2的参数选择时,其分压应保证Ui≤5V,即对第i路采样,


其中,Umax为单元电池组的最大电压。 本设计采用继电器开关,用以检测模块不工作时是否彻底与电池组断开,避免电池小电流放电;采用可调电阻,在A/D转换后的程序处理中可以采用统一的变量设计,简化程序,方便实际调试。


温度检测设计

在温度测量模块中主要使用了DS18B20数字温度传感器,该器件的主要特点为:独特的单线接口只需一个接口引脚即可通信;多点能力使分布式温度检测应用得以简化;不需要外部组件;可用数据线供电;不需要备份电源;测量范围为-55℃~+125℃,增量值为0.5℃;以9位数字值方式读出温度;具有用户可定义的、非易失性的温度告警装置。此外,由于每一个DS18B20有唯一的系列号,因此,多个DS18B20可以存在于同一条单线总线上,给应用带来了极大的方便。


图4 可控充电模块主电路


可控充电模块设计

该模块(见图4)是实际设计中的难点,它与外电网相连,对车载电池进行充电,并能根据控制电路发出的指令或标志位,实现对蓄电池分阶段、以不同电流进行充电,且有自动断电的功能,实现智能充电。根据实际需要的大功率、高电压的特点,其主电路采用全桥拓扑结构,输出回路采用全桥整流,同时,为改善功率开关器件的工作状态,主电路采用了软开关技术。


图5 主控及液晶显示模块电路图


主控及液晶显示模块

主程序模块是整个系统的核心,其根据需要从各模块收集数据,判断分析数据,并把相关信息显示在液晶屏上。当处于充电状态时,根据电流采集子模块发送的信息,结合电池电压参数和温度测量值进行充电控制,依据电流测量模块计算的电量值,实现充电模式的判别和转变,当电充满时,单片机将对数据设立标志,使可控充电模块断开继电器,充电电路与电池组断开。


本设计采用内置T6963C的MGLS240128T点阵液晶显示模块。显示及主控模块的电路如图5所示。其中,VCC为5V电源,D0~D7与MC68HC912D60A的一个8位数据口相连,引脚5、6、8为控制口,用来控制液晶显示模块的读写操作,RST(10脚)为液晶显示模块硬件复位脚。V0口输入液晶显示驱动电压,滑动变阻器用来调节液晶显示亮度。


软件编程及测试

本管理系统的核心软件是在ICCAVR编译环境下用C语言编程实现的。依据硬件设计中的模块化设计,每一个模块中均有一个ATmega8芯片,所以,在编程时按照模块任务进行单独编程,子模块主程序基本包含模块初始化和数据处理,以及串口接收和发送中断程序,在串口中断程序中,主控模块发送数据请求,各子模块在中断程序中根据收到的相关数据串向主控模块发送相应的数据。此外,各子模块根据主控模块返回的数据,进行实际器件的操作,管理系统就这样通过LIN总线进行通信及操作。在通信的软件调试中,通过使用串口调试软件,并将总线数据通过串口连接到PC上,便于监测各个模块的数据,发现问题并进行调试。


结语

本设计采用ATmega8单片机,充分利用了其外围接口多、功能强的特点,操作方便、成本低。整个系统已经在一款电动工程车上使用,系统稳定。

推荐阅读

史海拾趣

问答坊 | AI 解惑

调ADC用的小工具

本帖最后由 paulhyde 于 2014-9-15 03:41 编辑 我花了很大气力写的GUIDE,给组里那个写程序 的调ADC用,希望对大家有用!!!!!!!!!!!!!!!!!!!!!! 忍了忍,还是拿出来分享吧 希望大家有什么好东西也共享一下 互相学习[free] ...…

查看全部问答>

我爱龙芯之简介篇

     前段时间在论坛上上传了一个关于龙芯的PPT,应管理员soso的想法,觉得可以收集一点龙芯的资料,让我们认识自己中国人的芯。以下部分是我结合百科词条摘录的一部分内容,作为对龙芯的简单介绍吧!     其实, ...…

查看全部问答>

嵌入式实时操作系统μCOS-II(第二版)

嵌入式实时操作系统μCOS-II(第二版)…

查看全部问答>

企业虚拟化项目十个重要技术问题中国IDC圈

企业虚拟化项目十个重要技术问题中国IDC圈 利用虚拟化技术,把软件从硬件当中抽取出来,创建灵活、动态的环境,这样的好处很吸引人。不过能 否成功实施该项技术则取决于所需技能、安全和管理工具以及业务驱动因素是否到位。因为,在有些情 况下 ...…

查看全部问答>

请教烧写系统到开发板的问题

大家好,我在往开发板里烧写NK文件的时候在到达99%的时候,超级终端出现了: OEMVerifyMemory FAILED !OEMVERIFYMEMORY: Invalid image 然后烧写进度就停留在了99%,请问是什么错误啊?应该如何修改呢?…

查看全部问答>

这些分类:电子/电器/半导体/仪表仪器 是有下面这些分支吗?

集成电路IC设计/应用工程师 电子工程师 电路工程师 电器工程师 电声/音响工程师 自动控制工程师 仪器/仪表/计量 …

查看全部问答>

LED灯具损坏常见原因及保护方案

replyreload += \',\' + 697127;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

【我给XILINX资源中心做贡献】设计小技巧--Xilinx公司内部资料

设计小技巧--Xilinx公司内部资料这是一个在设计中常犯的错误列表,这些错误使得你的设计不可靠或者速度较慢。为了提高你的设计性能和提高速度的可靠性,你必须确定你的设计通过所有的这些检查。…

查看全部问答>

指纹传感器

有谁用过指纹传感器,分享一下自己的经典稀有资料吧?   网上资源较少,而且用的人也不多,也许你的指纹传感器就是你的自豪。…

查看全部问答>

求助大神一个很简单关于stm32的问题...

小弟刚接触stm32,图片上那个画红线的愣是没看懂,为什么给寄存器赋值先与运算一下呢?刚开始寄存器的值不是复位值么?那也就是全0,与运算一下后不都变成......先谢谢大家啦! [ 本帖最后由 九霄飞瀑 于 2012-3-8 23:51 编辑 ]…

查看全部问答>