《基于单片机的智能充电器设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能充电器设计毕业论文.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的智能充电器设计毕业论文目 录1 绪论11.1课题研究的背景、目的与意义11.2国外研究现状21.2.1国外研究现状21.2.2国研究现状21.3研究容与章节安排52 方案比较和选择62.1总体设计框图62.2电源模块72.2.1电源方案的选择72.3充电方法82.3.1锂电池的充电特性82.3.2充电方案的选择92.4 SOC估算方法102.4.1 SOC估算方法的选择102.5通信方式112.5.1 通信方式的选择112.6本章小结123 硬件设计与实现133.1单片机电路133.2充电电源电路163.2.1变压电路163.2.2整流、滤波电路173.2.3 TL494脉宽调制电
2、路173.2.4 DC-DC电路193.3电压采集电路1937 / 403.4温度采集电路213.5报警电路213.6本章小结224 软件设计与实现234.1软件开发环境234.1.1 Qt5.4集成开发环境234.2单片机程序设计234.2.1 整体设计逻辑概述234.2.2 电压、温度数据采集244.3上位机软件程序设计254.3.1 整体设计概述254.3.2 程序逻辑流程图254.3.3 UI界面254.4 上下位机的通信设计274.4.1 通信协议概述274.4.2 上下位机通信流程图274.5 本章小结285 调试与分析295.1充电电路检测295.2温度电路检测305.3电压电路
3、检测315.4充电器运行检测325.5 本章小结336 总结与展望34参考文献35致谢371 绪论如今随着人们物质生活水平的提高,人们的出行越来越离不开电动交通工具,尤其是锂电池电动自行车。对于锂电池的充电方案的研究也越来越多。本章节从目前存在并应用的基于单片机的智能充电器的设计方案进行分析,集中分析锂电池充电器充电系统的研究背景、意义以与国外在这个方面的研究,明确本课题研究的主要目标、容与本论文的框架结构。1.1课题研究的背景、目的与意义随着全球经济的发展,锂电池对于人们生活的影响越来越大。锂电池具有储能密度高,寿命长等优点,在当前社会应用围极广1。如今锂电池在出行工具、娱乐工具等领域市场所
4、占比重很大2。目前锂电池应用的领域很广泛,尤其是电动自行车领域。2006年前后,锂电池组开始出现在我国的电动自行车领域。到2008前后,以锂电池作为车载电池的电动自行车得以大围推广3。如今锂电池电动自行车在我国已经普与4。然而随着人们对锂电池产品需求的发展,锂电池的频繁充放电已经成为常态。在三星手机出现爆炸事件发生后,人们对锂电池的安全性越来越重视,尤其是充电过程中,锂电池安全更为重要。所以锂电池的风险管理越来越重要5。与此同时,频繁的使用电子设备,电源电池经常充放电,这对电池的寿命是极大地考验,再加上很多商用的的锂电池充电器不能很好的解决锂电池充电安全问题,所以需要更多的人去研究更安全的锂电
5、池充电器。一些大众的电池充电器采用的事高电流快速充电技术,在电池满电后不能做出判断,终止重点,这导致所充的电池组温度会很高,这极大的影响了电池组的使用寿命6。当今社会,科学技术快速进步,关于锂电池的充电技术也有了突飞猛进的质变。一些更为进准的充电控制算法开始出现,并被人们用在实际的充电器设计中。为了满足人们对家用锂电池产品的安全性、智能性、人机交互性等方面的要求,充电器设计要更加智能化。智能化的锂电池不仅能提高充电效率,使得资源高效利用还能减少充电时间,提高客户的体验度,并能保证锂电池的使用寿命7。本设计采用的方案是用TL494芯片和单片机 STM32F103组合,并用Qt开发控制软件的整体方
6、案。TL494芯片作为充电电源的主控芯片,能满足电动自行车锂电池组的充电需求。STM32单片机含资源很多,能很好的处理采集的数据和控制设计所需要的外设。再加上上位机的软件能使得所设计的充电器智能、安全,同时保护好电池,保证电池的使用次数。1.2国外研究现状市场需求增加是科技投入的动力,在智能充电器市场也是如此,相关的工作人员采用更为先进的方案实现充电器安全,智能。在过去几十年里,由于锂电池技术的日益成熟以与锂电池相比较镍镉、镍氢电池具有极大的优势,所以对于镍镉、镍氢电池这类电池充电系统的研究越来越少,但在锂电池的研究上投入精力巨大。所以锂电池充电器的研究更加火热。1.2.1国外研究现状德国 M
7、entzer UlectronicGmbH 和 Wemer Retzlafr 8合作研发的 BADICHUQ 系统首次车载实验,并于1992年进行二次改进的 BADICOACH 系统。他们所设计的动力电池充电系统,在充电过程中能智能的显示电池组的充电状态,包括电池组的电压、电流、温度。此外整套系统还能用PC机控制。其系统的一个特色便是测量电压的方案是用非线性电路来检测,并用脉宽信号控制充电过程中的电压和电流。美国科技在智能充电领域也有很先进的技术,如知名的通用公司,研发出了纯电动车动力锂电池的充电系统,并将该系统用在了其产品EV1电动汽车上。该公司的智能充电系统包括了温度检测控制模块、电量显示
8、模块、软件控制模块等,其软件控制模块能智能的采集和显示温度和电压电流等数据9。此外还有一些发达的国家也在积极的研发先进的电池组充电系统,如加拿大 Zader 研发的电池组充电管理系统10,日本青森工业研究中心11一直在研发的电池组智能充电系统,韩国 SAMSUNG公司设计的SDI BMS12和DEV5-5系统功能都比较完善。1.2.2国研究现状我国作为一个电池的生产大国和消费大国,每年会生产和消费巨量的锂电池,但是在电池的充电技术方面投入的研发精力和资金相对于国外比较少。最近几年国家一直倡导中国要从制造到智造转型,并加上消费升级,我国的锂电池充电器市场越来越大。在电动自行车领域,随着轻捷、体积
9、小的锂电子电池组代替原来笨重的铅蓄电池,该领域对智能的锂电池充电器需求更多。如今在我国,随着单片机、传感器等技术的快速发展,智能的锂电池充电器充电和控制技术也在迅速发展13。在我国,高校是很多先进科学技术研发的前沿阵地,在电池的充电技术方面也是如此。如今我国的好多工科专业强势的大学,如知名的清华、北理、北航、北交、大学等,在原先研究的技术基础上通过和相关企业合作,将研发的技术转化为实际产品。其中高校中最为代表性的有,由理工大学研究所研发的智能锂电池组充电管理系统EQ7200HEV。企业中研究成果最为突出的有比亚迪公司,其公司所研发的智能电池组充电管理系统已经具有国际科技水平。当前,在国,对于锂
10、电池组的充电系统的研究主要研究重点在充电温度控制,电池组的电压、电流检测,电池的剩余容量估算和充电过程中的供电电源的电压电流控制等方面14。基于52单片机开发智能充电器系统技术成熟、操作方便、成本较低,在单片机技术应用广泛的今天,开发产品更容易为人们所使用。王晔和马斋爱拜15将AT89C52、MAX1898、光耦6N137和LM7805联系在一起设计了锂电池智能充电器系统。他们所设计的充电系统能先检测电池组的SOC,如果电池SOC过低,便能够预先低电流充电,在电池剩余容量在一定的SOC方位,将实现高电流快速充电,当电池组的开路电压接近最高值时,便进行高电压低电流充电,在此过程中一直监控充电系统
11、的温度和SOC值,如果出现异常,系统将自动断电、报警,保证了充电的安全性。他们所设计的充电系统较好的满足了人们对于充电产品的需求,但是该系统的人机交互性还有待提高。王晓侃和苏全卫16设计的系统是基于AT89C2051 单片机的。该系统在充电过程中能智能的显示电池的电压、SOC值、电流、电池组温度等状态数据。同时其系统还具有电池组管理功能,能合理的提高电池的使用寿命。该系统设计功能性强,人机交互性好,但将多项功能集中在一起,出现问题时,修复成本高。朋17设计的电动自行车锂电池组充电管理系统,采用的控制芯片是 BQ77910 芯片,其系统在硬件的基础上还设计了监控软件用来管理整个系统。该系统能实时
12、的检测和显示电池组的当前各类数据,在充电过程中,即时的通过单片机处理,然后优化充电方案,能有效的避免出现充电短路等问题。该系统整体功能完善,不过集成化有待提高。杜江18采用两路CAN实现CECU与VMS和LECU的通讯。其系统采用了性能较高的TMS320F2808芯片,在利用片资源AD模块精准的采集数据,为了提高采集数据的精准度,在采集温度数据、电压数据、电流数据时,该系统都是多路采集,这充分的利用了单片机的片资源。该设计还利用脉宽调制技术控制风扇,这保证充电系统的温度得到有效控制。该系统只是进行了仿真,在理论上进行了验证,能否做出产品有待验证。贾小龙19设计的锂电池充电监控管理系统,不仅有硬
13、件设计还有软件设计。该系统的软件设计部分能实时的监控和显示电池组的状态信息。硬件设计部分是整个设计的关键,能实现电池组的电压、温度、电流的数据采集和数据处理,电池剩余容量的估算等功能。整个系统的设计功能很好的实时显示电池组的各种数据,但是在系统的稳定性方面还有待进一步完善。王凤波20设计的基于AD7280A的中型锂离子电池组管理系统利用扩展卡尔曼滤波在Thevenin电池模型上对SOC初值进行了修正,提高了SOC估算的精度,减少能量耗散的同时,大大提高了系统的安全性。但此系统可扩展性差,在减少电能损耗方面还有待进一步研究。吴迪21在锂电池充电控制与管理方法研究过程中重点解决了一下三个方面,单体
14、锂电池主动充电控制方式、过热保护和过充保护。但是其系统基于遗传算法的运行机制比较复杂工作量较大,运行速度相对较慢。清华大学的元栋,晓明等22采用了8xC749单片机,设计了电动自行车智能充电器的方案,重点介绍了均衡充电和脉冲充电两种技术,该技术较为先进,具体的实用性,需要进一步研究。综上所述,这些研究虽然都取得了一些成果,但是同样存在系统架构、电路庞大,成本高等特点。与此同时由于各种电池的充放电特性有区别,再加上实验资源缺乏,具体的解决方案不完善,好多设计都存在充电效率低下的状况。另外,这些虽是具备了基本的检测、监控、报警等功能,但在数据采集方面,其可靠性、准确性和抗干扰性等与国外仍有较大差距
15、。因此还需要好长时间才能追上国外的技术水平。1.3研究容与章节安排为锂电池提供适宜的充电电源和智能控制充电过程是一个相对复杂的过程,要针对所需的充电电池组进行设计对应的充电电源。同时还要选择单片机的类型,并设计单片机控制电路,从而实现对于充电过程的可靠、高效、智能控制。在整个设计的关键是在于充电电源、充电方式、电池电量显示、充电器温度预警机制和自动完毕充电过程方面的研究。具体要设计的电路有电源模块电路、单片机控制模块电路、电压、温度采集电路等。本文主要容是:第一章是绪论部分,这部分容介绍了研究的背景和意义,国外研究现状、本文的主要容和章节安排。第二章介绍了总体设计框架,进行了电源类型、充电方法
16、、SOC估算方法和通信方式方案的比较和选择。第三章分析了硬件部分中各模块电路的原理和具体实现。第四章详细的介绍了软件设计的思路和程序的逻辑,以与UI界面和通信流程图。第五章是整个设计的调试和结果分析。第六章是整个设计的总结和展望。2 方案比较和选择本章从基于单片机的智能充电器的功能需求和总体设计框架出发,介绍了总体设计框图、充电方法、SOC估算方法、通信方式等从而为基于单片机的智能充电器设计提供了具体的解决方案。2.1总体设计框图本设计框图由电池组、充电电源电路、报警电路、电压检测电路、温度检测电路、单片机、上位机和UI界面组成。如图2.1所示:报警电路电源电路电池组控制检测温度检测开关电压单
17、片机 ( STM32 )通信上位机(PC机)UI 界 面图2.1 充电系统框图电池组是充电器实现其功能的基础。电源电路是由降压电路、整流线路、滤波电路和电压升降控制电路组成,该模块为电池组提供了充电电源。报警电路主要组成元器件是蜂鸣器,当电池充满或温度超过警戒值时,单片机会做出判断,从而是向报警电路发出指令,之后报警电路做出应答。此电路主要是提醒用户,充电温度过高或者是已经充满电了。电压检测电路实现的功能是通过检测到的电压与所设的标准值进行比较后进行一定的量化从而确定目前电池的电量。温度检测电路实现的功能是通过温度传感器检测到的温度,判断温度数值是否处在安全围,如果超出围,立即断开电源,并进行
18、报警,从而控制充电过程,保证充电安全。单片机STM32控制电路以STM32为核心组成。STM32是一款功能强大、高性能、低成本、低功耗并且片资源非常丰富的嵌入式应用。STM32主控制电路作为整个智能充电器系统的中心,主要完成数据处理、数据分析和 A/D 转换等功能。其中A/D转换器将转换后的模拟信号转换为数字信号以完成数据的处理。上位机和UI界面模块主要是电脑通过串口通信,获取单片机采集的数据,在Qt工程中对数据进行处理和显示。本系统具有操作简单,功耗低,人机交互能力强,安全性能高等优点。本充电器的要实现的功能是,在对锂电池的充电过程中一直显示电池的动态电量和充电时间以与整个充电器的温度;当充
19、电器或电池的温度超过警戒值时,自动断电并且进行报警;当电池充满电时,单片机通过判断检测到的电压数据后发送指令,使继电器工作,自动停止充电。对所要设计的充电器性能要求有如下几项:1.安全性:对锂电池充电时,如何保证人员的人身安全和电池组的安全是至关重要的。2.易于使用:充电器应具有较高的智能性,不需要操作人员过多干预充电过程。3.人性化:充电器应该具有更好的人机交互性,使得操作人员能更直观的感受充电器对锂电池的充电过程。2.2电源模块2.2.1电源方案的选择(1)方案一 普通电源:用变压器将家用的220V交流电变压为低压交流电,之后将变压后的低压交流电整流滤波,然后将家用的交流电变换为输出稳定的
20、低压直流电,最终能作为电池组的充电电源。使用该方案设计的电源电路输出的电压较为稳定并且波纹震荡相对较小,但是缺点比较明显,如能选择的电压围比较窄,中间浪费的电能多。(2)方案二 开关电源:家用交流电通过变压器变压后,输出低压交流电,之后经过整流堆桥,滤波电容(大的电解电容)后,除高频杂波和同相干扰信号,输出低压直流电,之后经过电感线圈等作用下,进一步滤除高频杂波,在交直流电转换后,电流进入开关电路,开关电路是整个电源电路的关键。开关电路的核心是两个开关管,两个开关管的轮流导通和截止,直流电便能转换为高频率的脉动直流电,之后再送到高频开关变压器上进行降压处理。经过高频开关变压器降压后的脉动电压,
21、同样要使用二极管和滤波电容进行整流和滤波,除此之外还有一两个电感线圈和滤波电容一同滤除电流中的高频交流成分,最后输出为较为理想的低压直流电。开关电源具有电压可调围宽、效率高,输出电压相对稳定等特点。经过上述两种方案的比较后,该设计选取方案二的开关电源设计,开关电源设计一般采用集成芯片,像SG3524、BD494、SAQ8818、TL494等芯片都属于此类,这些芯片功能强大,包含了开关电源控制所需的全部功能。由于芯片TL494实用性最强,稳定性最高,所以在开关电源电路中实用非常可靠。确定开关电源的技术指标。开关电源的设计指标是为了符合本电池组的充电参数,具体如下: 1)输入电压:AC 220V
22、2)输出电压:DC +12.6V 3)恒定电流1.5A,最大电流2A,最小电流1A 4)电网频率:(50-60)HZ 5)输出精度:2% 6)输出功率:19W(额定) 7)电源效率:期望值为80%2.3充电方法2.3.1锂电池的充电特性充电方法依据的是电池的充电特性23,本设计针对的是锂电池,所以要对锂电池的充电特性做研究,锂电池的充电特性分析和充电方案具体选择如下文。锂电池通常分为锂金属电池和锂离子电池两大类25,因为锂离子电池能充电,所以常说的锂电池也指锂电子电池。而锂离子电池又有很多种类,像锰酸锂电池、磷酸铁锂电池、三元锂电池等,它们能反复充电,并且储能多,能成为动力电池。由于各种类锂电
23、池的充放电特性差别不大,下面便以磷酸铁锂电池为例进行锂电池充电特性研究。锂离子电池26的充电过程比较复杂,不同类型的锂离子电池在不同的充电条件下充电特性会有不同,不过整体差别不大,所以研究磷酸铁锂电池的充放电特性具有代表性。研究充电特性,提出针对性的充电方案能提高充电的安全性和增加电池的使用次数。不管是钻酸锂电池和锰酸锂电池,还是磷酸铁锂电池都有相同的充电特性,端电压是唯一区别,所以,研究磷酸铁锂电池的充电特性得出的结论适用与别的类型的锂电池,针对锂离子电池的充电特性,要使得电池不受损的前提下又想使电池充满电,则电池组的充电电压需要限定覆盖在额定输出值1%以,即3.2士50mV。锂电池的充电特
24、性中需要注意的一点就是,充电在给电池组充电时,不能再电池组达到电压临界值时断电,电池组将会就产生不可修复的损坏。 磷酸铁锂电池本身的电化学特性决定了在其充电时,正极中的锂离子通过聚合物隔膜移动到负极,锂离子从Fe04层面间迁移出来,经过电解液进入负极C附近与C复合,且发Fe2+/Fe3+的氧化反应,为平衡电荷,电子从外电路到达负极,电池负极显然无法吸收所有的电子,且随着充电过程的进行符合还原的效率下降,当负极电子饱和时仍然有一些锂离子,这将导致电池电压再度上升,造成二次过充,破坏了负极材料又降低其使用寿命,甚至会引发安全问题24。2.3.2充电方案的选择(1) 方案一 恒流充电法:恒流充电法顾
25、名思义就是充电过程中保持电流恒定,如图2.2所示。采用恒流充电法充电,由于电路简单,所以比较好控制,但从图中能明显看出,恒流对应的直线与充电过程中的电流曲线相差比较大,会对电池损害较大。图2.2恒流充电法曲线图2.3恒压充电法曲线(2)方案二 恒压充电法:在整个充电过程中,充电电压保持不变,随着电池组的端电压升高,电流慢慢减小。如图2.3所示,该方法充电,充电过程更接近于最正确充电曲线。采用恒压充电,电池组产生的电解水很少,能防止蓄电池过充,从而延长电池使用寿命。该方案由于电流较大,对电池寿命也有损害。方案二和方案一相比较,方案二优势更为明显,所以选择方案二。2.4 SOC估算方法2.4.1
26、SOC估算方法的选择(1) 方案一 阻法:用阻抗仪检测电池组的直流电阻。所谓的直流阻指的是极短时间,电池组的端电压变化量与电流变化量相比所得的数值。针对某些种类电池来说,用此方法估算电池的剩余容量比较精准,但对于直流阻比较小的动力锂电池组而言,并不适宜。所以用阻法进行估算锂电池组的电量不是一种很好的选择。(2) 方案二安时法:此方法的基本原理是将电池组看作一个黑箱子,认为进电池的电量等于电池放电的电量,在对温度、电池老化、充放电率、自放电率进行很好补偿的情况下,在短暂时间此方法估算的电池的剩余容量值比较准确。尽管这种方法估算SOC比较简单,易于实现,但是会出现累计误差,其中计算数值的一个重要参
27、数也就是补充系数k难以确定,所以该方法并不适宜。(3) 方案三开路电压法:电动车锂电池组开路电压指的是静态时电池组的端电压,负载电压对应的是充放电时电池端电压,开路电压和负载电压两者都是直接测量值。电动车锂电池蓄电池组开路电压法是一种最为简单的SOC测量方法,其基本工作原理是将检测到的电池开路电压对应电压和SOC对照表来查找电池剩余容量。以单体锂电池为例,单体锂电池的剩余容量和电压有对应关系,具体如下表2.1。表2.1 电压与剩余电量关系表电压剩余容量电压剩余容量3.58v0% 3.81v55%3.63v5%3.84v60%3.65v 10%3.87v65%3.69v15%3.90v70%3.
28、71v20%3.93v75%3.72v25%3.97v80%3.73v30%4.03v85%3.74v35%4.08v90%3.76v40%4.12v95%3.77v45%4.15v99%3.79v50%4.16-4.22V100%本设计做的是锂电池充电器针对的是电动自行车锂电池组。上面三种方案经过比较后,最后的开路电压法满足检测实用原则,所以最为适宜。2.5 通信方式2.5.1 通信方式的选择 本设计的总的方案是将温度检测电路和电压采集电路采集的数据发给上位机后进行处理和显示,所以需要单片机和上位机进行通讯,具体采用哪一种通信方式需要进行方案比较和选择,具体如下。(1) 方案一串口通信:一般
29、用于上下位机通信。上位机一般指的是电脑,本设计用的也是电脑。下位机一般指的是单片机,本设计所使用的单片机是STM32。串口通信是在工程应用中很常见。在PC机与单片机通信中常通过有线的串口进行通信。单片机机通常将模拟信号经过AD采集进行模数转换处理,之后经数字信号处理,最终通过串口发送数字信号给PC机,反之PC机可以给单片机机发送指令等信息。常见的通信串口包括RS232、RS485、RS422等。不同的串口在电平特性会有差别,但是在PC机与单片机进行通信时,其电平特性不会影响通信,各种转接接口的使用使串口通信特别方便。(2) 方案二蓝牙通信:蓝牙看技术最初是一种为了替代RS232数据线的无线技术
30、标准。能通过无线电波实现设备间的通信。使得设备间能实现无线连接,其通信本质还是串口通信。对于本设计来说采用蓝牙通信模块进行通信,性价比不高。上述两种方案进行比较后,第一种串口通信方式比较适宜本设计。2.6本章小结通过对所要设计充电器功能需求和总体设计框架的介绍,明确了设计充电器所需实现的功能。对锂电池的充电特性的介绍和比较图2.3.1和图2.3.2后,可以看出,在采用开关电源设计方案下,利用恒压充电方法充电相比较恒流充电法充电对电池保护更好。经过对三种SOC估算方法的比较,最终选择了最为适宜的开路电压法,并介绍了锂电池的电压电量关系表,为电池剩余电量的计算提供了依据。同时确定了串口通信为本设计
31、通信方式。3 硬件设计与实现此部分介绍的是硬件的设计与实现。对硬件的各功能模块进行了原理图、实物图等方面的介绍。同时详细的说明了硬件的具体实现。3.1单片机电路本设计采用的是STM32F103VBT6芯片,STM32具有性能高、成本低、功耗低等特点。其基于ARM Cortex-M3核,STM32F103属于“增强型”系列。其时钟能达到72MHz。本设计采用的单片机型号具有128K存。具体实物如以下图3.1。该单片机的最小系统电路原理图包含MCU、I/O口、电源电路、RS-485电路和JTAG电路,具体原理图分别对应如以下图3.2,图3.3,图3.4,图3.5,图3.6,图3.7。图3.1 ST
32、M32实物图图3.2 MCU引脚图图3.3 I/O口图图3.4 电源原理图图3.5 BOOT处原理图图3.6 RS-485原理图图3.7 JTAG原理图将原理图生成PCB,经过布线后,最终布好线的PCB图如以下图3.8。图3.8 PCB图3.2充电电源电路对于所设计的锂电池组充电器来说,充电电源电路是所有电路中最重要的部分。本设计要实现最对12V锂电池组充电,并且采用的是恒压充电方式,所以充电电源电路要将220V的交流电变压、整流、滤波、升降压,最终输出12.6V的稳定直流电。整个充电电源电路包含了变压电路、整流电路、滤波电路、TL494脉宽调制电路和DC-DC电路,具体介绍如下。3.2.1变
33、压电路电压电路实现的功能是将家用交流电变压为低电压(一般低于36V的安全电压下)的交流电。变压电路的原理如图3.9,变压器由铁芯(或磁芯)和线圈组成,线圈有绕组,它可以变换交流电压、电流和阻抗。供电电路中的变压电路由变压器代替,具体实物如图3.10。该变压器能稳定输出26V交流电。图3.9 变压器原理图图3.10 变压器实物图3.2.2整流、滤波电路整流电路如图3.11有四个二极管桥式连接,原理是利用二极管的单向性,将交流电变成直流电,实物如图3.12使用的是额定交流电压为1000V,额定电流为10A的电桥。滤波电路由两个电解电容组成,电解电容的电容值是1000uf,耐压值是1000V,能满足
34、充电器的充电需要。整流滤波电路的焊接图如以下图3.13所示。图3.11 电桥电路图图3.12 整形堆桥实物图图3.13 整流、滤波焊接电路图3.2.3 TL494脉宽调制电路TL494是一种固定频率脉宽调制电路,具体实物如图3.15,而原理图如图图3.14它包含了开关电源控制所需的全部功能,广泛应用于桥式单端正激双管式、半、全桥式开关电源。其工作原理如图3.5.1,其部的组成电路有基准电压产生电路、振荡电路、间歇期调整电路、两个误差放大器、脉宽调制比较器以与输出电路等。其中1、2脚是误差放大器I的同相和反相输入端,3脚是相位校正和增益控制,4脚为间歇期调理,其上加03.3V电压时可使截止时间从
35、2%线怀变化到100%,5、6脚分别用于外接振荡电阻和振荡电容,7脚为接地端,8、9脚和11、10脚分别为TL494部两个末级输出三极管集电极和发射极,12脚为电源供电端,13脚为输出控制端,该脚接地时为并联单端输出方式,接14脚时为推挽输出方式,14脚为5V基准电压输出端,最大输出电流10mA,15、16脚是误差放大器II的反相和同相输入端。根据充电器的充电需求,焊接电路如图3.16。图3.14 TL494图图3.15 TL494实物图图3.16 TL494焊接实物图3.2.4 DC-DC电路DC-DC电路是直流变(到)直流的转换器。本设计中直接用的是模块。图3.17 DC-DC模块图3.3
36、电压采集电路本设计采用开路电压检测法进行电池组电量估算。本设计用来充电的电池组是由3节单体锂电池组成,最高电压是12.6V,所以采用单片机中的ADC测电压电路中要加分压电阻。电压采集电路原理图如以下图3.18,实物图如图3.19。单片机ADC采集电压是12位的,二进制12位也就是4096,所以采集到的电压的精度为1/4096。单体电池的电量对应的电压值和ADC值的对应表如下表3.1。图3.18 电压检测模块原理图图3.19 电压检测模块实物表3.1 电压、剩余电量、ADC值关系表电压剩余容量ADC值3.58v0%17603.63v5%17843.65v10%17943.69v15%18133.
37、71v20%18233.72v25%18283.73v30%18333.74v35%18383.76v40%18483.77v45%18533.79v50%18623.81v55%18723.84v60%18873.87v65%19023.90v70%19173.93v75%19323.97v80%19514.03v85%19814.08v90%20054.12v95%20254.16-4.22V100%20643.4温度采集电路本设计需要采集温度数据为报警电路提供判断依据。设计中采用的是DTH11传感器,实物图如以下图3.21。从原理图3.20中能知道,2引脚是数据接口。传感器检测到主机的开
38、始和延时信号后,要进行响应,先是响应信号(一定时间的低电平),后是延时准备输出信号(一定时间的高电平),然后每隔固定时间的低电平(间隔信号),具体的数据是不同间隔时间的(高电平)代表0和1,信号传输完成后,DHT11拉低电平。具体使用时根据其通信协议特点,编写相应的驱动程序,来采集温度数据。图3.20 DTH11原理图图3.21 DTH11实物图3.5报警电路报警电路比较简单,具体原理图和实物图如以下图所示。在本设计中,当整个充电器温度超过警戒值后便进行报警。图3.22 蜂鸣器电路原理图图3.23 蜂鸣器模块实物图3.6本章小结本章主要实现了对硬件电路的设计。硬件电路包含了单片机电路、电源电路
39、、电压采集电路、温度采集电路、报警电路。实现的主要功能是为锂电池组提供12.6V的稳定直流充电电压,能通过单片机的ADC功能采集电池组的电压数据,从而根据电压与电池容量的关系表判断出电池组的剩余电池容量,能采集温度数据为报警电路提供判断依据。4 软件设计与实现锂电池充电器的软件设计是以硬件电路为基础,并以功能需求为依据,最终明确软件设计的整体方案和具体实现。以单元检测为思想,将整个软件部分模块化。每一模块对应单一的功能。并进行单独的设计、编程和调试,最后再将各个模块组合测试、修改,最后实现整个软件设计的全部功能。4.1软件开发环境4.1.1 Qt5.4集成开发环境Qt是一个广泛用于开发GUI程
40、序的跨平台的C+应用程序开发框架,其又被称为部件工具箱。其特点是含信号和槽机制,为界面和逻辑代码层提供了便利的编写机制。Qt5.4版本集成了项目浏览工具、C+代码编辑器、qmake开发工具链等开发工具。4.2单片机程序设计4.2.1 整体设计逻辑概述单片机采用的是STM32F103。本设计要用到单片机的GPIO口、USART、定时器等资源。硬件层的I/O分配表如表4.1,驱动层的API表如表4.2所示,整个单片机程序的逻辑流程图如图4.1所示。单片机控制模块包括温度数据采集模块、电压数据采集模块等。单片机控制模块初始化,创建各项工作任务,中断程序处理等。硬件环境初始化包括IO控制端口初始化,定
41、时时钟初始化,AD初始化等。要实现的是将采集到的数据通信给上位机,同时在单片机逻辑判断中,要判断温度和电压是否超过警戒值,如果超过就要与时报警和控制充电电源电路断开。表4.1硬件层的I/O分配表输入/输出模式外设功能I/O口备注DTH11采集温湿度数据PA8电压检测模块采集电压PA9输出Led显示系统状态PE8BEEP报警PB5DTH11发送温度数据PA83.3V电压检测模块发送电压数据PA95V1路继电器控制充电开关PE105V其他串口PA9-10表4.2驱动层的API表外设INITAPI备注DTH11void DHT11_InInit(void)/void DHT11_OutInit(vo
42、id)void DHT11_Test(void)Ledvoid LED_Init(void)LED_REDBEEPvoid BEEP_Init(void)BEEPADCvoid adc_Init(void)ADC_ConvertedValue4SystemInit()GetData()Value maxVYBeepOff、RelayOffBeepOn、RelayOnNValue minVYBeepOn、RelayOn图4.1 逻辑流程图4.2.2 电压、温度数据采集单片机采用ADC资源进行采集电压。STM32F103中的ADC功能是12位的,精准度达到设计要求,为了使读取的电压数据更加准确,本
43、设计采集4路电压数据,然后进行平均,并将电压数据以一秒为周期通信给上位机,上位机通过开路电压法进行计算出电池组的剩余电池容量,同时单片机中的主函数对所采集的电压数据进行判断,作为继电器,蜂鸣器工作的逻辑依据。温度采集用的是DTH11,根据DTH11的工作原理,通过驱动程序接口读取温度数据。本设计中设定1s读取一次温度数据,同时将数据上传给上位机进行处理。4.3上位机软件程序设计4.3.1 整体设计概述上位机整体设计思路是先分别建立三个Qt工程,串口通信工程、充电器工程、温度数据处理工程,分别搭好这三个工程的框架后,再建立一个总的工程,并将之前的三个工程提升为总工程中的子工程。本软件设计中将下位
44、机采集到的数据通过信号与槽机制,最后在充电器界面的LCD模拟部件中显示出来。该工程将接收到的电压数据,在做计算后,得出电池的剩余电量,最后以百分比的形式在充电器界面的LCD模拟部件中显示出来。同时该UI界面还显示目前的时间和充电的时间。4.3.2 程序逻辑流程图发送数据emit signalshow TempValue()tab_datadealthism_protocolCharger(主工程)tab_serialtab_chargerm_execprotocolslotshow TempValue(Qstring)signalshow TempValue(msg)ConnectConnec
45、tsignalGainTempValue(void)Updata(emit信号)ConnectslotGain TempValue()图4.2 程序逻辑流程图4.3.3 UI界面上位机软件设计将串口通信工程、充电器工程、温度数据处理工程提升后,运行后的软件界面如下三图所示。串口工程界面设置了串口配置项,包括串口号、波特率、校验位、数据位和停止位,同时放置了小的窗口部件用以显示串口信息和串口发送的数据。充电器工程界面条形显示部件用以显示当前的时间和充电使用的时间。同时还放置了两个LCD部件用以显示承受的温度数据和将电压数据处理为电池剩余容量的数据。温度数据处理工程,是将串口传来的温度数据承受到,同时将对应的时间也一块放到坐标系中,动态的显示温度数据,最终形成一条曲线。图4.3 串口通信界面图4.4 充电工程界面图4.5 温度数据处理界面4.4 上下位机的通信设计4.4.1 通信协议概述上下位机通过串口通信,通信协议代码的具体流程图在下面有介绍。4.4.2 上下位机通信流程图上下位机通信的流程图如以下图4.6所示。UI-Buttonrexec chargerGet completeprotocol
限制150内