南昌工程学院本科毕业设计(论文)
第五章 系统测试
硬件设计完成将待设计的系统分割成各个功能模块,然后组合成一个合理的可行性方案的任务,用Protel等相关软件完成硬件原理图的设计后,制成PCB板。软件设计则负责根据系统相关的功能要求,进行模块的编程等,完成硬件设计后,我们可以通过Keil4.0等类似软件对单片机烧入程序,最后便可进行锂离子电池电量检测系统的检测试验,定时记录相关数据,对锂离子电池电量检测结果的准确性进行测试。
系统测试的思路可以针对BQ2040内的三个重要寄存器:Full Charge Capacity(FCC)、Remaining Capacity(RM)、Discharge Count Register(DCR)。通过每隔一定时间读取这三个寄存器的数据,这样记录多组数据后,可以通过以下几个主要关系进行验证分析系统的准确性及可靠性:
① RM ≤ FCC。
② 放电的逆过程即充电,充电期间,若RM数值停止递增,则RM=FCC,这时我们读取的RM应近似等于FCC,此时DCR=0。若要锂离子电池充分充电,我们还可以根据BQ2040进行充电控制,向RM写入一个用户自定义的值。
③ DCR随着RM的递减逐渐增大,直到RM=0,锂离子电池放电和自放电都会使DCR增大,但当RM=0后,只有放电才使DCR增大。
23
结论
结 论
本文针对基于单片机的锂离子电池电量检测系统的设计进行研究,对该系统的总体设计等方面进行了详细叙述,硬件系统设计主要包括模拟量信号采集部分,电量检测部分,中央处理控制部分,LED驱动输出显示等各个部分的设计,检测结果采用了直观的数码显示,可直接显示锂离子电池的剩余电量信息,避免了人工计算。另外本文还完成了软件系统的设计,用C语言进行编程,实现数据的采集、转换、存储和传输,进一步证实了本设计的有效性和可行性,同时本文给出了硬件原理图、软件流程图及源程序设计。
在设计过程当中,充分考虑了锂离子电池的性能特点,本系统的电路设计结构简单,基于W78E365单片机,用BQ2040进行锂离子电池电量检测,以TM1629驱动控制LED数码输出显示锂离子电池的剩余电量,用较少的外部元件实现高精度测量,降低了开发成本,提高了锂离子电池电量检测效率。经过反复多次的设计及修改,该系统的各项指标均达到了设计要求,具有很高的实用价值。
由于毕业设计的时间限制,希望今后在以下方面进行更深一层的研究: (一)硬件方面:硬件抗干扰能力上还需得到进一步的提高。 (二)软件方面:增加锂离子电池电量检测更多相关功能。
24
南昌工程学院本科毕业设计(论文)
参考文献
[1] 赵灵智,汝强.锂离子电池材料的研究现状[Z],2009:3~4.
[2] 李申飞,易菊兰.电池电量精确测量方法的研究与实现[J].计算机工程与应用,2009,45(17):244~224.
[3] 郭炳焜,锂离子电池.长沙:中南大学出版社,2002.
[4] 王海明,郑绳楦,刘兴顺.锂离子电池的特点及应用[Z],2004:132~134. [5] 张俊谟.单片机中级教程[M].北京:北京航空航天大学出版社,2006.3.
[6] 张友德,赵志英,涂时亮.单片机微型机原理、应用与实验.上海:复旦大学出版社,2004.
[7] 张培根,孙占辉,张欣,张村峰.MCS-51单片机原理与应用.北京:清华大学出版社. [8] 戴仙金.51单片机及其C语言程序开发实例[M]北京:清华大学出版社,2008. [9] 朱清慧等.Proteus教程—电子线路设计、制版与仿真[M].北京:清华大学出版社,2008. [10] bq2040 Gas Gauge IC With SMBus Interface, Texas Instruments Incorporated,2005. [11] Anbuky A.H,Pascoe P.E,VRLA.battery state-of-charge estimation in telecommunication power systems[J].Industrial Electronics, IEEE Transactions on Volume 47, Issue 3, June 2000 Page(s):565~573.
25
致谢
致 谢
毕业设计象征着大学生涯的结束,这也是一个至关重要的环节,它能有效地检验我们的学习成果,也是我们理论联系实际的一次机会。在这几个月的时间里,饶繁星老师严谨的治学态度和热忱的工作作风使我十分佩服,其渊博的专业知识,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。虽然在毕业设计的整个过程中我遇到过很多的问题,但他的指导让我受益匪浅,和我同一组的同学也给我了我极大的帮助,加上自己不断的努力摸索,最终完成了毕业设计。在此对帮助我的老师和同学们表示深深的感谢。
经过这次毕业设计,我在理论知识、研究能力及外语水平等各方面的能力都有了很大的提升,并且还提高了我的动手能力与设计能力,同时还学会了使用Protel、KeilC、Autocad等软件的常用操作。这些都是我在平时学习和生活中所得不到的锻炼,更是我人生中宝贵的经历。
大学四年,学到的不仅是书本上的知识,对我来说最重要的是学会如何做人,这才是这几年得到的最宝贵,最值得珍惜的财富,相信在以后的人生道路上,会有我的一番作为。感谢母校四年来对我的培养与教导。
最后,我在此感谢在百忙之中为我的毕业设计评阅并提出宝贵意见的专家们! 由于水平有限,本文难免有遗漏和错误之处,恳请各位老师批评指正,谢谢!
26
南昌工程学院本科毕业设计(论文)
附 录
#include #include #include
sbit SMBC=P1^6;//sbit SMBC=P1^4; //bq2040中SMbus的时钟端 sbit SMBD=P1^7;//sbit SMBD=P1^5; //bq2040中SMbus的数据端 unsigned char bq2040_Command_RC=0x0f; //读剩余电量的指令 signed char bq2040_Command_C=0x0a; //读电流的指令 unsigned char bq2040_Command_BS=0x16; //读电池状态 unsigned char ReceiveData_L, ReceiveData_H, Current_H_7, BatteryStatus_L_6, BatteryStatus_L_5;
//从BQ2040接收数据的低位,高位,电流正负位(正表示充电,负表示放电),电池状态充放电判断(0表示充电,0x40表示放电),电池状态满充判断(0表示未充满,0x20表示充满)
unsigned char ack; //用于判断接收确认是否超时,超时为1,未超时为0 void Delay(void) //延时子程序 { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
27