您的当前位置:首页正文

基于单片机控制的锂电池充电模块

2022-07-24 来源:易榕旅网


西华大学毕业论文 目 录

摘 要 ............................................................................................................................ 3 引 言 ............................................................................................................................ 5 1 概述 ................................................................................................................................ 6

1.1 课题研究的背景 .................................................................................................. 6 1.2 锂电池充电特性 .................................................................................................. 6 2 理论计算 ........................................................................................................................ 7

2.1 方案论证与比较 .................................................................................................. 7

2.1.1 BUCK降压电路选择 ................................................................................. 7 2.1.2 电流控制 .................................................................................................... 7 2.1.3 总体方案设计 ............................................................................................ 8 2.2 理论分析与计算 .................................................................................................. 9

2.2.1 输出电流分析与计算 ................................................................................ 9 2.2.2 BUCK电路元件参数分析与计算 ........................................................... 10 2.2.3 BUCK电路输出效率分析计算 ............................................................... 12 2.2.4 NTC负温度系数电阻计算 ...................................................................... 13 2.2.5 PI控制原理 ............................................................................................... 15

3 系统设计 ...................................................................................................................... 19

3.1 供电电源设计 .................................................................................................... 19 3.2 BUCK降压电路设计 ......................................................................................... 20 3.3 控制显示电路设计 ............................................................................................ 23 3.4 输出电压、电流检测电路设计 ........................................................................ 24 3.5 输出恒定电流电路设计 .................................................................................... 27 3.6 过温、过压保护电路设计 ................................................................................ 30 4 软件设计 ...................................................................................................................... 34

4.1 软件设计原理及设计所用工具 ........................................................................ 34 4.2 软件设计结构图 ................................................................................................ 35 5 系统测试 ...................................................................................................................... 36

1

西华大学毕业论文 5.1 主要测试仪器、仪表 ........................................................................................ 36 5.2 系统测试 ............................................................................................................ 36

5.2.1 测试方法 .................................................................................................. 36 5.2.2 测试参数记录表及测试数据 .................................................................. 36 5.3 测试结果分析 .................................................................................................... 37 6 结论 .............................................................................................................................. 38 总结与体会 ...................................................................................................................... 39 谢 辞 .......................................................................................................................... 39 参考文献 .......................................................................................................................... 40 附录 .................................................................................................................................. 41

程序源代码 ............................................................................................................... 41 电路原理图 ............................................................................................................... 51 PCB设计图 ............................................................................................................... 53 实物图 ....................................................................................................................... 53

2

西华大学毕业论文 摘 要

电子技术的飞速发展使得各种各样的电子产品都朝着便携式和小型轻量化的方向发展,也使得更多的电子产品采用基于电池的供电系统。目前,较多使用的电池有镍镉、镍氢、铅蓄电池和锂电池,它们的各自特点决定了它们将在相当长的时期内共存与发展。由于不同类型电池的充电特性不同,通常对不同类型,甚至不同电压、容量等级的电池使用不同的充电器,但这在实际使用中有许多不便。

本设计以单片机STC12C5A60S2为控制核心,系统由供电电源电路、BUCK降压电路、控制显示电路、输出电压/电流检测电路、输出恒定电流电路、过温/过压保护电路等部分组成。实现了电池充电、LED指示、液晶显示、保护机制及异常处理等充电器所需要的基本功能。本文对锂离子电池的参数特性、充电原理与充电方法进行了详尽的描述,并提出了充电模块的设计思想和系统结构。该电路具有安全快速充电功能,可以广泛应用于室内外锂离子电池的充电,如手机、数码产品电池等。

【关键词】锂电池 STC12C5A60S2 锂电池的参数特性 充电原理与充电方法

3

西华大学毕业论文 Abstract

Electronic technology's fast development causes that various electronic products towards portable type and the small lightweight direction. It also causes the more electrification products to use power supply system which is based on battery. At present, a lot of used batteries contain the nickel cadmium, the nickel hydrogen, the lead accumulator and the lithium battery. Their respective characteristics have decided that they will coexist in a long time development. Due to different types of batteries charge characteristic differently. In general, to different type, even different voltage, capacity rank battery use different battery chargers, but it leads some inconveniences in the actual use.

The control core of the design is the single chip STC12C5A60S2 . The system is composed of a power supply circuit, BUCK circuit, display circuit, output control voltage / current detection circuit, output constant current circuit, over temperature / overvoltage protection circuit. The basic function of achieving the battery charging, LED indicator, liquid crystal display, protection mechanism and exception handling charger is realized. In this paper, the charging parameter characteristics of lithium ion battery、charging principle and charging method is not only described in detail but also putting forward the design idea and system structure of the charging module. The circuit provides safe and fast charging function, which can be widely used in indoor and outdoor lithium ion batteries, such as mobile phone, digital products and so on.

Keywords: Lithium-ion battery; STC12C5A60S2; the charging parameter

characteristics of lithium ion battery; charging rinciple and charging method

4

西华大学毕业论文 引 言

随着社会的快速发展,电子产品小型化、便携化也使得充电电池越来越重要,锂离子电池有较高的比能量,放电曲线平稳,自放电率低,循环寿命长,具有良好的充放电性能,可随充随放、快充深放,无记忆效应,不含镉、铅、汞等有害物质,对环境无污染,被称为绿色电池。基于这些特性,所以锂电池得到了迅速的发展和广泛的应用。锂电池充电器是为锂离子充电电池补充能源的静止变流装置,其性能的优劣直接关系到整个用电系统的安全性和可靠性指标。

本文在综合考虑电池安全充电及成本的基础上,设计了一种基于STC12C5A60S2单片机PWM控制的单片开关电源式锂电池充电模块,有效地克服了一般充电器过充电、充电不足、效率低等缺点,实现了对锂电池组的智能充电,达到了预期效果。该方案设计灵活,可满足多种型号的锂电池充电需求。

5

西华大学毕业论文 1 概述

1.1 课题研究的背景

充电器是为化学电池设计的理想产品,它们使电池的三项关键指标达到最优化,即容量、寿命和安全性。正是锂离子电池在各个领域越来越广泛的应用,推动了对锂离子电池充电器的研究。

目前一些大的厂家生产的充电器都具有以下特点:具备限流保护,电流短路与反充保护线路设计,自动、快速充电、充满电后自动关断等等。有的还具有 LED充电状态显示、低噪声、模拟微电脑控制系统等特点。由于锂离子的特点使得其对充电器的要求比较苛刻。其要求的充电方式是恒流恒压方式,为有效利用电池容量,需将锂离子电池充电至最大电压,但是过压充电会造成电池损坏,这就要求较高的控制精度(精度高于1‰)。

另外,对于电压过低的电池除了需要进行预充、充电终止检测、电压检测外,还需采用其他的辅助方法,作为防止过充的后备措施,如检测电池温度、限制充电时间,为电池提供附加保护,由此可见实现安全高效的充电控制已成为锂离子电池推广应用的目标。

1.2 锂电池充电特性

锂电池充电需要控制它的充电电压,限制其充电电流。锂电池通常都采用三段充电法,即预充电、恒流充电和恒压充电。锂电池的充电电流通常应限制在1C(C为锂电池的容量)以下,单体充电电压一般为4.2V,否则可能由于电压过高造成锂电池永久性损坏。

预充电主要是完成对过放的锂电池进行修复,若电池电压低于3V,则必须进行预充电,否则可省略该阶段,这也是最普遍的情况。在恒流阶段,充电器先给电池提供大的恒定电流,同时电池电压上升,当电池电压达到饱和电压时,则转入恒压充电,充电电压波动应控制在50mv以内,同时充电电流降低,当电流逐渐减小到规定的值时,可结束充电过程。电池的大部分电能在恒流及恒压阶段从充电器流入电池。由此可知,充电器实际上是一个精密电源,其电流电压都被限制在所要求的范围之内。

6

西华大学毕业论文 2 理论计算

2.1 方案论证与比较

基于单片机控制的锂电池充电模块,选择LM2576-ADJ集成电源芯片基于BUCK降压电路原理构成BUCK降压电路,系统输入电压为10V~25V,输出电流为1.5A。微处理器选择STC12C5A60S2单片机;电流检测由INA168集成电流检测芯片完成,并将检测结果送到微处理器IO口,通过PI算法程序控制反馈电路使得输出电路电流维持在1.5A, LCD1602液晶显示电路电流大小;输出电压检测经过分压电阻送到STC12C5A60S2单片机自带的10位AD转换IO口,经AD转换将数据送到P0口,并在液晶上显示电压大小。电路过温、过流保护均由LM339比较器完成。过压保护是在锂电池电量充满,电池两端电压超过额定电压时控制电源芯片0N/0FF引脚使电源停止工作,进而实现停止充电;过温保护由NTC(负温度系数)温度传感器执行,电池温度超过60 ℃时停止充。 2.1.1 BUCK降压电路选择

方案一:采用LM2576-ADJ集成电源芯片构成BUCK电路的恒流源控制系统。LM2576-ADJ输入电压在7 V~40 V,FeedBack引脚电压恒定1.23 V,输出电压稳定可调,电路设计和控制简单。

方案二:选用MOSFET场效应管构成BUCK降压电路,处理器产生PWM,调节PWM占空比控制电源输出电流大小。

方案比较:方案一LM2576-ADJ集成电源芯片,可直接构成BUCK电路,电路设计简单,输出电流容易控制,工作稳定,可实现普通BUCK电路参数。方案二MOSFET构成的BUCK电路对场效应管选择范围广,不同场管由于性能不同外围辅助电路要求也不一样。大多数场效应管需要外加驱动电路,PWM输入要求有稳定的占空比,最终设计参数的实现对电路各个反面设计都有一定的要求。结合以上分析,系统BUCK降压电路设计最终选择方案一。 2.1.2 电流控制

方案一:用STC12C5A60S2两路AD转换器采集采样电阻两端电压值,最终得到采样电阻两端电压,利用公式I=U/R计算得到电路中电流大小,通过计算测得的电流值与设定电流值大小比较,判断比较结果由程序控制完成对电路电流

7

西华大学毕业论文 控制参数补偿使电流输出恒定为1.5 A。

方案二:使用集成电流检测芯片INA168检测流过采样电阻的电流大小,输出端由STC12C5A60S2单片机转换器完成转换,测得的电流值通过PI控制算法程序调节电流控制电路实现电流输出1.5 A。

方案比较:方案一,采样电阻两端电压太小,AD采样最终得到的检测电流不理想,普通的补偿控制达不到系统设计要求。方案二1NA168为电流检测专用芯片,检测精确度高,能准确检测电路中电流的大小,使用PI 控制算法控制电流,使得系统响应速度和质量都得到了提高,是一种比较常用且择优的控制选择方法。因此系统中电流控制选择方案二。 2.1.3 总体方案设计

由上述方案论证及方案选择可知,其总体方案框架如图1、图2所示:

10V~25 V直流电源 5 V电源 微处理器STC89C52 由场效应管构成BUCK降压电路 AD装换器对电压采样,完成AD是 过压、过温检测 LCD1602液晶显示 图1 方案一总体方案框架图

8

西华大学毕业论文 10 V~25 V直流电源 5 V电源 微处理器STC12C5A60S2 由LM2576-ADJ集成元件构成BUCK降压电路 输出电压电流检测 过压、过温检测 否 LCD1602液晶显示 是 开启保护电路 断开保护电路 图2 方案二总体方案框架图

结合方案比较综合考虑最终选选择方案二。

2.2 理论分析与计算

2.2.1 输出电流分析与计算

LM2576-ADJ能构成易于调节和控制的BUCK电路。LM2576-ADJ引脚4为FeedBack,该引脚感知调整输出电压进行反馈回路。由该引脚和运算放大器构成的反馈回路能通过编程实现电路恒定电流输出。同相放大器同相端输入电压大小为采样电阻上的分压大小,即V+=Is×Rs,根据同相放大器(图3)原理可列出计算式:

9

西华大学毕业论文

图3根据同相放大器

VVbfV (1) VRav由设计电路关系计算可得Is*Rs=1.23/Rav,设计中Rs大小为0.1欧姆(精度1‰)的采样电阻,因此可得Is=12.3/Rav,在公式(1)中电阻单位为K,通过调节Rav的值可实现对输出电流的控制。系统要求输出电流大小为1.5 A,计算可得Rav的取值为8.2 K,选择合适的编程求出电阻R1和R2的值。

输出电压为:Vout=Vref(1.0+R2/R1) Verf=1.23V 2.2.2 BUCK电路元件参数分析与计算

经典BUCK电路如图4所示,电路主要组成部分有:场效应管(开关元件)、电感(储能元件)、电容、续流二极管。通过开关管的开通和断开,在储能元件的作用下实现降压。控制开关时间的比例可实现对输出电压和电流的控制,电路设计中开关元件的通断控制通常以PWM控制为主要选择方法,微处理器可产生占空比可调的PWM波形。

图4 经典BUCK电路图

10

西华大学毕业论文

在系统设计中BUCK降压电路由集成芯片LM2576-ADJ、电感、电容构成。电路结构如图5所示。

图5 BUCK降压电路图

1输入电容C5分析、计算与选择 ○

防止电压瞬变在输入中影响转换器稳定运行,铝或钽电解电容之间需要输入引脚+ VIN和接地引脚GND,该电容应位于靠近IC且使用短引线。电路设计中考虑输入电压大小为10 V—25 V之间,结合安全裕量最后选择1000 uF/50 V的点检电容。

2续流二极管D3的分析、计算与选择 ○

由于二极管的最大峰值电流超过最大负荷调节电流,钳位二极管电流等级必须为至少1.2倍的最大负载电流。一个强大的二极管设计,应该有一个额定电流相等的最大电流限制,LM2576能够经受连续输出短路。.二极管的反向电压等级应至少1.25倍的最大输入电压。系统设计负载输出电流为1.5A,最大输出电压为8.4 V,因此设计中续流二极管选择INA5822。

3电感L1的分析、计算与选择 ○

由以下公式可计算电感

E X T=(Vin -Vout)Vout/Vin x 106 / F[Hz] (2)

计算出的E X T值与相应的匹配对电感值的选择垂直轴数如图6所示。这个E X T常数是一个能量处理能力和测量电感都取决于类型的核心、核心区、匝数和占空比。

11

西华大学毕业论文

图6 E X T值与相应的匹配对电感值的选择垂直轴数

下一步是确定区域分割的电感E X T从电感的电感 值和对负载电流最大值。值的代码及识别。然后从表1中选择一个合适的电感。电感的选择必须额定的开关52 kHz和1.15倍负载电流的额定电流。电感电流额定值可计算电感的峰值电流:

Ip(max)=ILode(max)+(Vin-Vout)ton/2L (3) Ton为电源开关时间:

Ton= Vout/ Vin×1/fosc (4)

Inductor Code L47 L68 L100 L150 L220

Inductor Value 47 uH 68 uH 100 uH 150 uH 220 uH

表1 电感的电感值代码 The 39 77 212 77 262 77 312 77 360 77 408

Shott Corp 671 26980 671 26990 671 27000 671 27010 671 27020

Pulse Eng PE-53112 PE-92114 PE-92108 PE-53113 PE-52626

Renco RL2442 RL2443 RL2444 RL1954 RL1953

最后分析计算电路中取150 uH的工字形电感。 2.2.3 BUCK电路输出效率分析计算

输出电流1.5 A,电压为8.4 V,输出功率P = I×U = 1.5×8.4 = 11.6 W 。电路中有电感、续流二极管、电容和LM2576-ADJ造成以发热的形式为主的功率

12

西华大学毕业论文 损耗。电路设计要求充电电源效率不得低于70%。 2.2.4 NTC负温度系数电阻计算

热敏电阻的电阻-温度特性可近似地用公式5表示。

R=Ro exp {B(I/T-I/To)} (5)

表2 热敏电阻的电阻-温度特性

R Ro B

温度T(K)时的电阻值 温度T0(K)时的电阻值 温度T0(K)时的电阻值

*T(K)= t(ºC)+273.15

但实际上,热敏电阻的B值并非是恒定的,其变化大小因材料构成而异,最大甚至可达5 K/°C。因此在较大的温度范围内应用公式5时,将与实测值之间存在一定误差。此处,若将公式5中的B值用公式6所示的作为温度的函数计算时,则可降低与实测值之间的误差,可认为近似相等。

BT=CT2+DT+E (6)

上式中,C、D、E为常数。另外,因生产条件不同造成的B值的波动会引起

常数E发生变化,但常数C、D 不变。因此,在探讨B值的波动量时,只需考虑常数E即可。

常数C、D、E的计算:

BnIn(Rn/Ro) (7)

11TnTo C(B1B2)(T2T3)(B2B3)(T1T2) (8)

(T1T2)(T2T3)(T1T3) DB1B2C(T1T2)(T1T2) (9)

T1T2 ED1DT1CT1T1 (10)

常数C、D、E可由图2-5的(温度、电阻值)数据 (T0, R0). (T1, R1). (T2, R2) and (T3, R3),通过式7~10计算。

首先由式7根据T0和T1,T2,T3的电阻值求出B1,B2,B3,然后代入以下各式。 电阻值计算实例:

13

西华大学毕业论文 试根据电阻-温度特性表,求25°C时的电阻值为5 (kΩ),B值偏差为50(K)的热敏电阻在10°C~30°C的电阻值。

步骤:

1 根据电阻-温度特性表,求常数C、D、E。 ○

To=25+273.15 T1=10+273.15 T2=20+273.15 T3=30+273.15 2 代入B=C○

T

T2

+DT+E+50,求BT。

3 将数值代入R=5exp {(BTI/T-I/298.15)},求R。 ○

*T = 10+273.15~30+273.15 电阻-温度特性图如图7所示

电阻温度系数:

图7 电阻-温度特性

所谓电阻温度系数(α),是指在任意温度下温度变化1°C(K)时的零负载电阻变化率。电阻温度系数(α)与B值的关系,可将式11微分得到。

α1dRB (11) 100100(%/℃)RdTT2这里α前的负号(-),表示当温度上升时零负载电阻降低。经过时间与热敏电阻温度变化率的关系如下表所示。

表3 热敏电阻温度变化率

t t 2t 3t

TT1

T2T163.2% 86.5% 95.0%

14

西华大学毕业论文 4t 5t

98.2% 99.4%

图8 热敏电阻温度变化率

目录记录值为下列测定条件下的典型值。

表4 热敏电阻典型值

(1)

静止空气中环境温度从50 °C至25 °C变化时,热敏电阻的温度变化至34.2 °C所需时间。

(2)

轴向引脚、径向引脚型在出厂状态下测定。

另外应注意,散热系数、热响应时间常数随环境温度、组装条件而变化。 2.2.5 PI控制原理

PI设计过程部分包括检测比较、控制器、执行器。通过比较测量值与给定值产生偏差信号,控制器对偏差信号修正处理,执行器对输出部分调整并控制,使系统实现自我调整、稳定工作。

15

西华大学毕业论文 图9 PI控制原理图

比例(P)控制

U(t)Kpe(t) (12)

比例控制能迅速反应误差,从而减少稳态误差。除了系统控制输入为0和系统过程值等于期望值这两种情况,比例控制都能给出稳态误差。当期望值有一个变化时,系统过程值将产生一个稳态误差。但是比例控制不能消除稳态误差。比例放大系数的加大会引起系统的不稳定。

响应曲线图如图10所示:

图10 比例(P)控制阶跃响应

积分(I)控制

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。 为了减小稳态误差,在控制器中加入积分项,积分项的误差取决于时间的积分,随着时间的增加积分项会增大。这样,即使误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减少,直到等于零。

积分(I)和比例(P)通常一起使用,称为比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。如果单独用积分(I)的话,由于积分输出随时间积累而逐渐增大,故调节动作缓慢,这样会造成调节不及时,使系统稳定裕下降。

响应曲线图如图11:

16

西华大学毕业论文

图11 积分(I)控制和比例积分(PI)控制阶跃相应

比例+积分(PI)控制器

t1 U(t)Kpe(t)e(t)dt (13)

T10比较:

PI比P少了稳态误差,PID比PI反应速度更快并且没有了过冲。PID比PI有更快的响应和没有了过冲。

自动测试方法:

为了确定过程的临界周期Pc和临界增益Kc,控制器会临时使它的PI算法失效,取而代之的是一个ON/OFF的继电器来让过程变为振荡。这两个参数很好的将过程行为进行了量化以决定PID控制器应该如何调整来得到理想的闭合回路性能。

由STC12C5A60S2单片机组成的数字控制系统控制中,PI控制器是通过PI控制算法实现的。STC12C5A60S2单片机A/D对信号进行采集,变成数字信号,再在单片机中通过算法实现PI运算,再把控制量反馈回控制源。

PI调节程序如下: ypedef struct PI {

double SetPoint; // 设定目标Desired value double Proportion; // 比例常数Proportional Const double Integral; // 积分常数Integral Const double LastError; // Error[-1] double PrevError; // Error[-2]

17

西华大学毕业论文 double SumError; // Sums of Errors } PI;

/*========================================================== PI计算部分

==========================================*/ double PICalc( PI *pp, double NextPoint ) { ); }

/*========================================================== Initialize PI Structure PI参数初始化

==========================================*/ void PIInit (PI *pp) {

memset ( pp,0,sizeof(PI)); }

double dError, Error;

Error = pp->SetPoint - NextPoint; // 偏差 pp->SumError += Error; // 积分 pp->PrevError = pp->LastError; pp->LastError = Error;

return (pp->Proportion * Error // 比例项 + pp->Integral * pp->SumError // 积分项

18

西华大学毕业论文 3 系统设计

3.1 供电电源设计

BUCK电路输入直流电源电压为10 V~25 V,系统中STC12C5A60S2、LCD1602液晶显示、TPL0501等供电由LM7805将10 V~25 V的输入电压稳定后提供。

用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6 V,7909表示输出电压为负9 V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。LM7805的内部框图为图12,其电参数如表5。

图12 LM7805的内部框图

19

西华大学毕业论文

符号 V0

测试条件

Tj=25℃

50mA<I0<1.0A, P0<15W

Vi=7.5V to 20V Tj=25℃, Vi=7.5V to 25V Tj=25℃, Vi=8V to 12V Tj=25℃, I0=5.0mA to 1.5A Tj=25℃, I0=250mA to

750mA Tj=25℃ I0=5.0mA to 1.0A Vi=8V to 25V I0=5.0mA

f=10HZ to 100kHZ,Ta=25℃ f=120HZ, Vi=8V to 18V I0=T1.0A ,j=25℃

f=1kHZ Vi=35V, Ta=25℃

Tj=25℃

表5 LM7805的电参数

最小值 4.8 4.75 62

典型值 最大值 5.0 5.00 4.0 1.6 9 4 5.0 0.03 0.3 0.8 42 73 2 15 230 2.2

5.2 5.25 100 50 100 50 8 0.5 0.8

单位 V V mV mV mV mV mV mV mV mV/℃ uV dB V mΩ mA A

参数 输出电压

线性调整率 △V0

负载调整率 静态电流 静态电流变化率 输出电压温漂 输出噪音电压 纹波抑制比 输入输出电压差 输出阻抗 短路电流 峰值电流

△V0 IQ △IQ △V0/△T VN RR V0 R0 Isc Ipk

系统设计原理图如图13:

图13 系统设计原理图

3.2 BUCK降压电路设计

BUCK电路基本结构如下:

主要组成元件包括开关元件、储能元件、续流二极管。通过控制场效应管的开通和关断,在开通时输入电源直接对负载供电,关断后储能元件中储存电能对

20

西华大学毕业论文 负载供电。开关导通时等效电路和开关关断时等效电路如图14所示。

图14 开关导通时等效电路和开关关断时等效电路

1从电路可以看出,电感L和电容C组成低通滤波器,使 us(t)的直流分量○

可以通过,而抑制 us(t) 的谐波分量通过;电容上输出电压 uo(t)就是 us(t) 的直流分量再附加微小纹波ur(t)。

2电路工作频率高,一个开关周期内电容充放电引起的纹波ur(t) 很小,相○

对于电容上输出的直流电压Uo有:|ur(t)|>0 电容上电压可以看作恒定。电路稳态工作时,输出电容上电压由微小的纹波和较大的直流分量组成,可以看作是恒定直流。

3一个周期内电容充电电荷高于放电电荷时,电容电压升高,导致后面周○

期内充电电荷减小、放电电荷增加,使电容电压上升速度减慢,这种过程的延续直至达到充、放电平衡,此时电压维持不变;反之,如果一个周期内放电电荷高于充电电荷,将导致后面周期内充电电荷增加、放电电荷减小,使电容电压下降速度减慢,这种过程的延续直至达到充、放电平衡,最终维持电压不变。这种过程是电容上电压调整的过渡过程,在电路稳态工作时,电路达到稳定平衡,电容上充、放电也达到平衡,这是电路稳态工作时的一个普遍规律。

4开关开通时,电感电流增加,电感储能;而当开关关断时,电感电流减○

小,电感释能。假定电流增加量大于电流减小量,则一个开关周期内电感上磁链增量为: Δ=L(Δt)〉0 ;此增量将产生一个平均感应电势:u=Δ/t〉0此电势将减小电感电流的上升速度并同时降低电感电流的下降速度,最终将导致一个周期内电感电流平均增量为零;一个开关周期内电感上磁链增量小于零的状况也一

21

西华大学毕业论文 样。这种在稳态状况下一个周期内电感电流平均增量(磁链平均增量)为零的现象称为:电感伏秒平衡。这也是电力电子电路稳态运行时的又一个普遍规律。

系统设计中选用LM2576-ADJ集成芯片构成BUCK电路。稳压器LM2576-ADJ是单片集成电路的理想适合于开关稳压器的简单方便的设计Buck变换器。使用LM2576-ADJ集成芯片组成BUCK电路使整个电路设计更加简单,输出电流电压易于控制。系统设计中利用LM2576-ADJ FeedBack引脚实现对恒定电流输出的控制。

续流二极管IN5822具有正向电流大,反向电压高等特点。 LM2576-ADJ引脚图如图15:

图15 LM2576-ADJ引脚图

LM2576内部结构图如图16:

图16 LM2576内部结构图

22

西华大学毕业论文 本系统的BUCK电路输入电压为10 V~25 V,使用主要元件有:输入电容、LM2576-ADJ、电感、输出电容、续流二极管(IN5822)。

电路设计原理图如图17:

图17 BUCK降压电路图

电路设计中输入电容和输出电容选择1000 uF/50V电解电容,电感选择150 uH工字形电感,续流二极管选择IN5822。

1N5822正向电流为3 A,反向电压20 V~40 V。

3.3 控制显示电路设计

系统控制器使用STC12C5A60S2单片机,通过编程PI 算法对输出电流控制使输出电流恒为1.5 A输出。输出电压、输出电流显示由编程将数据送到单片机P0口,编程控制在LCD1602液晶上显示出系统输出电压、输出电流。STC12C5A60S2最小系统控制电路设计原理图如图18:

23

3.4 输出电压、电流检测电路设计

LCD1602 液晶显示电路原理图设计如图19。

按键扫描等。上电复位后P1口为弱上拉型IO口。

西华大学毕业论文 图18 STC12C5A60S2最小系统控制电路

ADC后数据被送到P0口,在LCD1602液晶上显示电压、电流值。

图19 LCD1602 液晶显示电路图

样,完成A/D转换。P0口与LCD1602液晶显示的八位数据位对应连接,完成

STC12C5A60S2单片机的AD转换口在P1口,有8路10位高速A/D转换

STC12C5A60S2单片机P1口选P1.2、P1.4,分别对输出电压、输出电流采

器,速度可达到250 KHz。8路电压型输入A/D,可做温度检测、电池电压检测、

24

西华大学毕业论文 STC12C5A60S2单片机A/D转换原理如图20所示:

图20 STC12C5A60S2单片机A/D转换原理

STC12C5A602单片机ADC由多路选择器、比较器、逐次逼近寄存器、10DAC、转换结果寄存器以及ADC_CONTR构成。

STC12C5A602单片机的ADC是逐次比较型ADC,逐次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序的对每一输入电压与内置的DA转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量的对应值。

从图3-8可以看出,通过多路模拟开关,将通过ADC0-7的模拟量输入送给比较器。用D/A转换的模拟量与本次输入的模拟量通过比较器进行比较,将比较结果保存到逐次比较器,并通过逐次比较器输出转换结果。A/D转换结束后,最终的结果保存到ADC转换结果寄存器ADC_FLASH。同时,置位ADC_CONTR中的AD转换结果标志位ADC_FLASH,以供程序查询或发出中断申请。

INA168和电流监测高侧,单极电流并联监视器,输入共模电压范围宽。输入共模和电源电压是独立的可以从2.7 V至36 V的INA168范围2.7 V—60 V的电流监测。静态电流仅为25 μA,这允许连接电源的任何一侧具有最小误差的分流电流测量。在图3-9的电路,输入电压(VIN+,VIN–)等于RS和输出电压、输出电压,等于IO•RL的跨导。INA168是200 μ/ V的完整的传递函数为本设计的应用测量放大器。最大差分输入电压的精确测量为0.5 V,产生一个100 μA输出

25

西华大学毕业论文 电流多达2 V的差分输入电压不会造成损害。差分测量(引脚3和4)必须是单极应用到引脚3正向的电压。如果一个无效电压应用到引脚3,输出电流IO将是零,但不会造成损害。

1NA168检测原理电路如图21:

图21 1NA168检测原理电路图

已知系统中Is=1.5 A,Rs=0.1 Ω,STC12C5A60S2单片机A/D转换参考电压为供电电压Vcc,采样电阻上的电压Vs=Is × Rs = 0.1 × 1.5 =0.15 V。为了能满足输入电压要求取RL=100 K,采样电压达到3 V才能满足采样要求。该电压送到单片机A/D转换I/O口,编程控制完成ADC过程。

INA168管脚如图22:

图22 INA168管脚图

输出电压经过两个100K电阻分压后直接送进STC12C5A60S2单片机一路IO口完成AD转换,AD转换后将数据送到P0口,编程控制LCD1602显示出对

26

西华大学毕业论文 应的电压值。输出端与负载串联了一个0.1Ω(误差0.1%)采样电阻,输出电流就是流过采样电阻的电流。设计中选用专门的电流检测芯片INA168对电流完成检测。INA168将待检测电流转换成电压输出。其关系为VO = ISRSRL/5k,将得到的电压VO送进单片机另一路IO口完成AD转换,控制LCD1602液晶显示对应电流大小。其电路图如图17所示。

3.5 输出恒定电流电路设计

系统恒定电流输出控制原理:LM2576-ADJ,FeedBack引脚电压为1.23V,通过运放组成同相放大器和该引脚构成反馈回路,可实现恒流输出。运算放大器同相端电压为采样电阻上的分压,反相端反馈电阻采用可编程数字电位器。

数字电位器选择TPL0501(封装为SOT-23)。TPL0501是一个单通道、具有256 个雨刷器位置的线性电阻分布的数字电位器,可被用作3-终端电位器或作为2-终端可变电阻器。TPL0501 目前提供100 kΩ的端电阻。TPL0501使用三线SPI兼容的串行数据接口。三个输入接口:芯片选择(CS),数据时钟(SCLK),数据输入(DIN)。驱动器CS为低电平串行接口,时钟数据同步到SCLK的上升沿移位寄存器。再将数据加载到移位寄存器,驱动CS高存到适当的电位器控制寄存器和禁用串行接口。把CS低在整个串行数据流,以避免数据损坏。

TPL 阻值与对应数据表

表6 TPL 阻值与对应数据

Step 0 1 2 3 4 5 6 7 8 9 10 11

Binary 0 1 10 11 100 101 110 111 1000 1001 1010 1011

100kΩ

RHW( kΩ) RWL( kΩ) 0.00 0.39 0.78 1.17 1.56 1.95 2.34 2.73 3.13 3.52 3.91 4.30

27

RHW /RWL

0.00 0.00 0.01 0.01 0.02 0.02 0.02 0.03 0.03 0.04 0.04 0.04

100.00 99.61 99.22 98.83 98.44 98.05 97.66 97.27 96.88 96.48 96.09 95.70

西华大学毕业论文 100010 1100 100011 1101 100100 1110 100101 1111 100110 10000 100111 10001 101000 10010 101001 10011 101010 10100 101011 10101 101100 10110 101101 10111 101110 11000 101111 11001 110000 11010 110001 11011 110010 11100 110011 11101 110100 11110 110101 11111 110110 100000 110111 100001 111000 111001 111010 111011 111100 111101 111110 111111 1000000 1000001 1000010 1000011 1000100 1000101 1000110

13.28 4.69 13.67 5.08 14.06 5.47 14.45 5.86 14.84 6.25 15.23 6.64 15.63 7.03 16.02 7.42 16.41 7.81 16.80 8.20 17.19 8.59 17.56 8.98 17.97 9.38 18.36 9.77 18.75 10.18 19.14 10.55 19.53 10.94 19.92 11.33 20.31 11.72 20.70 12.11 21.09 12.50 21.46 12.89 21.86 22.27 22.66 23.05 23.44 23.83 24.22 24.61 25.00 25.39 25.76 26.17 26.66 26.95 27.34

34 12 35 13 36 14 37 15 38 16 39 17 40 18 41 19 42 20 43 21 44 22 45 23 46 24 47 25 48 26 49 27 50 28 51 29 52 30 53 31 54 32 55 33 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 86.72 95.31 88.33 94.92 85.94 94.53 85.55 94.14 84.77 93.75 84.38 93.36 83.98 92.97 83.59 92.58 83.20 92.19 82.81 91.80 82.42 91.40 82.03 91.02 81.64 90.63 81.25 90.23 80.86 89.84 80.47 89.45 80.06 89.06 79.69 88.67 79.30 88.28 78.91 87.89 78.52 87.50 78.13 89.11 77.73 77.34 76.95 76.56 76.17 75.78 75.39 75.00 74.61 74.22 73.83 73.44 72.66 72.27 71.88 0.15 0.05 0.16 0.05 0.16 0.06 0.17 0.06 0.17 0.07 0.18 0.07 0.19 0.08 0.19 0.08 0.20 0.08 0.20 0.09 0.21 0.09 0.21 0.01 0.22 0.10 0.22 0.11 0.23 0.11 0.24 0.12 0.24 0.12 0.25 0.13 0.25 0.13 0.26 0.14 0.27 0.14 0.27 0.15 0.28 0.29 0.29 0.30 0.31 0.31 0.32 0.33 0.33 0.34 0.35 0.35 0.36 0.37 0.38

… ……28

西华大学毕业论文 11111010 11111011 11111100 11111101 11111110 11111111

97.66 98.05 98.44 98.63 99.22 99.61

2.34 1.95 1.55 1.17 0.78 0.39

41.57 50.20 63.00 84.33 127.00 255.00

250 251 252 253 254 255

TPL0501 SPI时序如图23:

图23 TPL0501 SPI时序

TPL0501数字电位器引脚如图24:

图24 TPL0501数字电位器引脚图

本系统输出电流的大小主要是控制采样电阻两端的电压,Is=Vs/Rs。采样电阻,同相放大器和LM2576-ADJ构成反馈电路。LM2576-ADJ FeedBack引脚电压为1.23 V,通过控制运算放大器反馈电阻的大小可控制输出电流的大小。系统中反馈电阻使用可编程数字电位器TPL0501。其数字电位器的大小由编程实现调节从而实现对输出电流的控制,程序中采用数字PI算法控制的方法对数字电位器的大小控制,完成对输出电流的控制。

电路原理图设计如图25:

29

西华大学毕业论文

图25 输出恒定电流电路图

3.6 过温、过压保护电路设计

系统设计要求充电电压超过8.4 V,充电温度超过60℃时,关断充电电路。保护电路主要又LM339N比较器和逻辑或非门组成。在比较器同相端电压超过设定值时电路产生控制信号,并传送到控制电路输入端。控制电路由8050NPN三极管组成共射极开关电路,可以完成对LM2576-ADJ开通和关断控制。

LM339N包括四个独立工作电压比较器,从一个单一的电源很宽的范围内电压。这两者之间的分别供应2 V至36 V,VCC至少是1.5 V输入共模电压。漏极电流是独立的电源电压。输出可以连接到其他的集电极开路输出实现。LM339和LM339N的操作特点是从0 °C ~70 °C。

LM339N内部结构如图26:

图26 LM339N内部结构图

30

西华大学毕业论文 LM339N管脚如图27:

图27 LM339N管脚

设计中过压、过温保护分别使用LM339N比较器,通过外围电路的辅助电气关系完成在输出电压和温度达到门限时电路停止工作。

一般三极管都是正向导通,反向截止。加在二极管上的反向电压如果超过二极管的承受能力,二极管就被要击穿损毁。但是有一种二极管,它的正向特性与普通二极管相同,而反向特性却比较特殊:当反向电压加到一定程度时,虽然管子呈现击穿状态,通过较大电流却不损毁,并且这种现象的重复性很好;相反,只要管子处在击穿状态,尽管流过管子的电流变化很大, 而管子两端的电压却变化极小,起到稳压作用。这种特殊的二极管叫稳压管。稳压管是利用反向击穿区的稳压特性进行工作的, 因此,稳压管在电路中要反向连接。稳压管的反向击穿电压称为稳定电压,不同类型稳压管的稳定电压也不一样,某一型号的稳压管的稳压值固定在一定范围。实际应用中,如果选择不到稳压值符合需要的稳压 管,可以选用稳压值较低的稳压管,然后串联一只或几只硅二极管“枕垫”,把稳定电压提高到所需数值。这是利用硅二极管的正向压降为0.6~0.7V的特点来进行稳压。因此,二极管在电路中必须正向连接,这与稳压管不同。

图28 稳压管

31

西华大学毕业论文 NTC负温度系数传感器是Negative Temperature Coefficient 的缩写,意思是负温度系数,泛指负温度系数很大的半导体材料或元器件。所谓NTC温度传感器就是负温度系数温度传感器。它是以锰、钴、镍和铜等金属氧化物为主要材料,采用陶瓷工艺制造而成的。这些金属氧化物材料都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。温度低时,这些氧化物材料的载流子(电子和空穴)数目少,所以其电阻值较高;随着温度的升高,载流子数目增加,所以电阻值降低。NTC温度传感器在室温下的变化范围在100~1000000 Ω,温度系数-2%~-6.5%。NTC温度传感器可广泛应用于温度测量、温度补偿、抑制浪涌电流等场合。

NTC热敏电阻的温度特性可用下式近似表示:

RTAe式中:

RT:温度T时零功率电阻值。

BT (14)

A:与热敏电阻器材料物理特性及几何尺寸有关的系数。 B:B值。 T:温度(k)。 更精确的表达式为:

RTexp(A式中:

RT:热敏电阻器在温度T时的零功率电阻值。 T:为绝对温度值,K; A、B、C、D:为特定的常数。

本系统设计要求当充电压超过设定门限,充电温度超过设定门限时电路具有自我关断保护功能。该部分的保护电路主要使用元件有:LM339N、稳压二极管1N4738、NTC负温度系数传感器、74LS02逻辑或非门、8050三极管等。过压保护将输出电压分压得到的分压送到比较器同相端与稳压二极管稳定电压比较,当输出电压超过门限时,比较器输出由低电平变换高电平。同理过温保护则是利用NTC负温度系数随温度的升高电阻值变化而得到不同的分压,有设定60℃的电位器分压比较,在温度超过设定门限时比较器输出电平变化。

32

BCD) (15) TT2T3

作。

电路设计原理图如图29:

电路设计原理图如图30:

图29 过温、过压保护电路图

西华大学毕业论文 两路比较器的输出电信号送到逻辑或非门,输出端驱动8050三极管。只要

有一种保护电路被启动,都会使控制端输出关断信号,使LM2576-ADJ停止工

图30 8050三极管

33

西华大学毕业论文 4 软件设计

4.1 软件设计原理及设计所用工具

本设计所用工具为C编译器-IAR Embedded Workbench,是IAR Systems公司

的一款开发工具。在本次设计中,软件实现的主要功能是通过中断、A/D转换后将系统输出电压、输出电流在LCD1602上显示。同时控制3个LED灯对电压大小分段进行显示提示。 34

西华大学毕业论文 4.2 软件设计结构图

软件设计结构图如图31所示:

开始 系统初始化 否 初始化完成 是 液晶扫描 系统中断 否 等待中断触发是

AD输出电流检测 AD输出电压检测等待中断触发 主函数 送数据到LCD1602液晶显示 LED状态显示灯 结束

图31 软件设计结构图

35

西华大学毕业论文 5 系统测试

5.1 主要测试仪器、仪表

表7 测试仪器、仪表

仪 器 滑动变阻器 示波器

可调式直流稳压恒流电源

数字万用表

型 号 Bx7-14 UTD2102CEL DK08006384 VC890D

精 度 0.05%

3% +0.1% 4位半

厂 商 上海爱镇电器厂

粤 制

5.2 系统测试

5.2.1 测试方法

测试使用学生可调式直流稳压电源、数字万用表、滑动变阻器、示波器等。

测试时通过改变滑动变阻器阻值,分别测得输出电压和对应的输出电流大小。最后对测得的多组数据进行比较、分析和计算。并计算出每组数据电源工作效率数值。

5.2.2 测试参数记录表及测试数据

表8 参数记录及测试数据

实际电压 显示电压 实际电流 显示电流 输入电压 2.00V 2.36V 3.12V 3.52V 3.93V 4.07V 4.52V 5.13V 5.53V 6.07V 6.28V 6.52V 6.89V 7.13V

总电流 0.52A 0.57V 0.67A 0.78A 0.87A 0.80A 0.89A 1.05A 1.03A 1.10A 1.12A 1.10A 1.34A 1.35A

效率 68.27% 72.58% 78.86% 80.72% 75.44% 85.56% 87.63% 84.66% 88.36% 86.53% 87.96% 88.03% 89.14% 87.32%

实际效率 65.38% 70.38% 79.68% 81.73% 81.81% 88.18% 88.59% 88.48% 89.32% 88.33% 89.83% 87.96% 93.12% 89.78%

2.052V 2.410V 3.058V 3.614V 3.876V 4.088V 4.632V 5.309V 5.558V 6.146V 6.166V 6.624V 6.874V 7.261V 1.53A 1.53A 1.54A 1.73A 1.63A 1.56A 1.57A 1.63A 1.57A 1.58A 1.57A 1.53A 1.63A 1.67A 1.587A 1.585A 1.585A 1.668A 1.624A 1.507A 1.587A 1.507A 1.585A 1.585A 1.585A 1.507A 1.664A 1.668A

36

9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V 9.0V

西华大学毕业论文 1.51A 1.56A 1.49A 1.53A 1.49A 1.56A 1.56A 1.63A 1.63A 1.63A 1.63A 1.65A 1.65A 1.63A 1.51A 1.52A 1.49A 1.56A 1.63A 1.64A 1.64A 1.71A 1.71A 1.71A 1.71A 1.70A 1.70A 1.73A 1.70A

1.507A 1.521A 1.489A 1.518A 1.507A 1.507A 1.584A 1.587A 1.587A 1.507A 1.587A 1.583A 1.588A 1.534A 1.489A 1.531A 1.509A 1.584A 1.507A 1.585A 1.587A 1.588A 1.893A 1.589A 1.585A 1.608A 1.585A 1.507A 1.508A

9.0V 9.0V 9.0V 9.0V 13.7V 13.7V 13.7V 13.7V 13.7V 13.7V 13.7V 13.7V 13.7V 13.7V 13.7v 13.7V 13.7V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V 17.2V

1.42A 1.31A 1.27A 1.30A 0.40A 0.48A 0.59A 0.71A 0.77A 0.86A 0.96A 1.02A 1.07A 1.14A 1.08A 1.21A 1.16A 0.41A 0.42A 0.52A 0.54A 0.62A 0.73A 0.80A 0.84A 0.91A 0.98A 0.98A 1.02A

91.49% 89.52% 84.83% 83.65% 71.77% 58.64% 74.17% 67.28% 73.28% 70.16% 72.83% 76.95% 77.99% 75.33% 78.31% 74.83% 78.79% 51.46% 55.13% 66.36% 73.88% 73.43% 68.45% 70.39% 72.33% 73.06% 72.96% 70.71% 70.15%

91.09% 91.52% 84.26% 85.30% 60.36% 60.49% 71.99% 70.38% 67.28% 72.21% 76.34% 78.52% 79.91% 78.69% 79.29% 73.63% 78.19% 49.77% 57.99% 69.31% 73.43% 76.96% 75.17% 74.93% 77.28% 76.35% 76.64% 80.36% 80.62%

7.71V 7.92V 7.94V 8.38V 2.22V 2.55V 3.73V 4.20V 4.70V 5.22V 6.16V 6.65V 7.10V 7.54V 7.77V 8.03V 8.34V 2.25V 2.57V 3.78V 4.28V 4.80V 5.52V 6.03V 6.53V 7.03V 7.60V 7.83V 8.32V 7.759V 7.999V 7.999V 8.283V 2.261V 2.559V 3.785V 4.124V 4.781V 5.209V 6.036V 6.793V 7.222V 7.670v 7.829V 8.103V 8.298V 2.291V 2.643V 3.745v 4.324V 4.931V 5.409V 6.096V 6.594V 7.112V 7.759V 7.909V 8.169V

5.3 测试结果分析

通过测试数据可看出电源设计输出电流比较稳定,PI调节后电流在1.5A 附近波动,其充电效率达到了设计要求。

37

西华大学毕业论文 6 结论

本文围绕锂电池充电模块设计为中心,重点介绍了锂离子电池的充电原理与充电方法、充电模块的设计思想和系统结构。本文所设计充电模块以STC12c5A60s2单片机为控制核心,电路按照实际电路功能可划分为系统指示灯电路、电源电压与环境温度采样电路、精确基准电压产生电路和开关控制电路,并进行了单元电路的具体设计,通过具体的硬件电路设计,实现了电池充电、LED指示、保护机制等充电器所需要的基本功能。

在本次设计中,软件实现的主要功能是通过中断、A/D转换后将系统输出电压、输出电流在LCD1602上显示,同时控制3个LED灯对电压大小分段进行显示提示。

本次设计虽然完成了主要的任务,基本达到设计的要求和目标。但是,由于个人在知识面和能力方面还有限,再加上条件的限制,基于单片机控制的锂电池充电模块各项技术指标的提高、诸多功能的完善还需要进一步的研究和开发,此外在完成基本功能的基础上,还需要努力提高软件的效率、硬件系统的稳定性、进一步降低系统功耗等。

38

西华大学毕业论文 总结与体会

毕业设计是我们作为大学生在学习阶段的最后一个环节,是对所学基础知识和专业知识的一种综合应用,是我们步入社会参与实际工作的一次极好的演示,也是对我们自学能力和解决问题能力的一次考验,是学校生活与社会生活间的过渡。在完成毕业设计的时候,我尽量把实践与理论相结合,这样更有利于自己能力的提高。

社会是在不断变化与发展,对人才的要求也越来越高,要用发展的眼光看问题,要学会学习,学会创新,学会适应社会的发展要求。在走出校园,迈向社会之即,把握今天,才能创造未来。

本文所设计控制系统虽然完成了主要的任务,基本达到设计的要求和目标,但是要应用于实际工业产品生产研发,还有很大的距离,还需要进一步的研究和完善。未来的锂离子电池将会具有更高的能量密度,更小的体积和更轻的重量。随着对锂离子电池的深入研究,对电池各种参数的了解将越来越多,也越来越精确。与其相应的新的充电方法和充电控制也会诞生,今后也必将会出现更新更好的锂离子电池充电器芯片。

谢 辞

本文是在刘晓旭和曹林老师的指导下完成的。我要感谢我的导师刘老师和曹老师。他们为人随和热情,治学严谨细心。在我论文的整个写作过程中,他们对我提出了许多宝贵的意见和建议,从选题、定题开始,一直到最后论文的修改润色、定稿,刘老师和曹老师始终认真负责地给予我细致地指导,帮助我开拓研究思路。正是他们的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢刘老师和曹老师。

我要感谢我所在实习单位的领导和同事。在我工作期间,他们允许我使用公司的电脑资源上网查询所需的写作资料,他们尽量给我少安排工作任务,让我能够空出更多的时间来进行论文的写作,万分感谢领导和同事的帮助。

39

西华大学毕业论文 参考文献

[1] 童诗白,华成英.模拟电子技术基础.高等教育出版社,2006 : 9~214 [2] 阎石.数字电子技术基础. 高等教育出版社,2005:66~135 [3] 丁元杰.单片微机原理及应用.机械工业出版社,2005:1~363 [4] 彭介华.电子技术课程设计指导.高等教育出版社,2010 :261~274 [5] 谭浩强.C程序设计教程.清华大学出版社,2008 :1~311

[6] 谭浩强.C程序设计教程学习辅导.清华大学出版社,2008 :3~185 [7] 彭颖.一种锂离子电池充电器芯片的设计[D].华中科技大学,2005 [8] D.Linden.Handbook of Batteries[J].McGraw-Hill,2003(1):34~35

[9] Zhang W,Skelton D,Martinez R.Modeling and analysis of an off-line battery charger for single cell lithium batteries[J].IEEE Circuits and Systems, 2004, 2(4):1796~1802 [10] 栾城强.单节锂离子电池充电器[J].电子技术应用,2006(5):32~34 [11] 洪敏.二次锂离子电池性能介绍[J].工业材料,2002(4):23~25

[12] 左平.灵活的电池充电器解决方案[J].电子设计应用,2008(4):128~129 [13] 盛丽.锂离子电池智能充电器的硬件设计[D].辽宁广播电视大学,2008

[14] 文丰.锂离子电池智能充电器的设计与实现[J].微计算机信息,2008,2(13):310~315

40

西华大学毕业论文 附录

程序源代码

#include #define uint unsigned int #define uchar unsigned char

sbit en=P3^4; sbit rs=P3^5; sbit SCLK=P2^4; sbit CS=P2^2; sbit DIN=P2^1; sbit led1=P2^5; sbit led2=P2^6; sbit led3=P2^7; uchar

code

table1[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e,0x56,0x41};

uchar table2[6]; uchar table3[]=\"Vout=\"; uchar table4[]=\"I=\"; uchar table5[5]; float I; float A0,B0; uint R=0x80;

ypedef struct PI {

double SetPoint; // 设定目标Desired value double Proportion; // 比例常数Proportional Const

41

西华大学毕业论文 double Integral; // 积分常数Integral Const double LastError; // Error[-1] double PrevError; // Error[-2] double SumError; // Sums of Errors } PI;

void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

/*========================================================== PI计算部分

==========================================*/ double PICalc( PI *pp, double NextPoint ) { ); }

/*==========================================================

double dError, Error;

Error = pp->SetPoint - NextPoint; // 偏差 pp->SumError += Error; // 积分 pp->PrevError = pp->LastError; pp->LastError = Error;

return (pp->Proportion * Error // 比例项 + pp->Integral * pp->SumError // 积分项

42

西华大学毕业论文 Initialize PI Structure PI参数初始化

==========================================*/ void PIInit (PI *pp) { } void PI()

{

PI sPI; // PI Control Structure

double rOut; // PI Response (Output) double rIn; // PI Feedback (Input) PI Init ( &sPI ); // Initialize Structure sPI.Proportion = 0.5; // Set PI Coefficients sPI.Integral = 0.5;

sPI.SetPoint = 100.0; // Set PI Setpoint for (;;) // Mock Up of PI Processing {

rIn = sensor (); // Read Input

rOut = PICalc ( &sPI,rIn ); // Perform PI Interation actuator ( rOut ); // Effect Needed Changes } }

memset ( pp,0,sizeof(PI));

void ADC_Power_On() //AD转换电 {

ADC_CONTR|=0x80; delay(5); }

float get_ad_result() //取AD结果函数,它是十位AD转换,每十

43

西华大学毕业论文 次平均,最后取低八位作为AD采样数据

{ uint i,q=0;

float ad_average_result; for(i=0;i<30;i++) {

ad_average_result=0;

ADC_RES=0x00; //高八位数据清零

ADC_RESL=0x00; //低两位清零 ADC_CONTR|=0x08; delay(10);

while((ADC_CONTR&0x10)==0);

//启动AD转换

ADC_CONTR&=0xe7; //将 ADC_FLAG 清 0 ad_average_result=ADC_RES*4+ADC_RESL; q=q+ad_average_result; }

ad_average_result=q/30;

ad_average_result=(ad_average_result*5.02)/(1.023); return ad_average_result; }

//---------------------电压采样程序------------------------- float ADC(uchar channel) //测电压 {

float Vin=0;

ADC_CONTR=0x80|channel; //设置AD转换口 delay(10);

Vin=get_ad_result(); delay(10); return Vin;

44

西华大学毕业论文 }

void write_com(uchar com) // 向1602写命令 { rs=0; P0=com; delay(5); en=1; delay(5); en=0; }

void write_data(uchar date) { rs=1; P0=date; delay(5); en=1; delay(5); en=0; }

void init()

{ en=0;

write_com(0x38); write_com(0x0C); write_com(0x06); write_com(0x01); write_com(0x80); }

// 向1602写数据

//1602初始化 45

西华大学毕业论文

uint Dprocessing(float V,float I) {

uint Vout,Iout; uint R;

Vout=(uint)(V*2.03);

Iout=(uint)(((I-2701.5)/0.123)*1.96)+63; if(Vout>=6500&&Vout<=7200) { led1=0; led2=1; led3=1; } else

{ if(Vout>7200&&Vout<=8200) { } else {

if(Vout>8200&&Vout<=8400) { } else

led1=0; led2=0; led3=0; led1=0; led2=0; led3=1;

46

西华大学毕业论文 led1=1; led2=1; led3=1;

} }

{ }

if(Iout<1515) { R=1; } else {

if(Iout>1485) { } } return R; }

void display(float data0,float data1) //显示电压、电流 { uchar i;

uint DATA0,DATA1; DATA0=(uint)(data0*2.03);

DATA1=(uint)(((data1-2701.5)/0.123)*1.96)+63;

table2[0]=DATA0/1000; table2[1]=10;

R=2;

47

西华大学毕业论文 table2[2]=(DATA0%1000)/100; table2[3]=(DATA0%100)/10; table2[4]=DATA0%10; table2[5]=11;

table5[0]=DATA1/1000; table5[1]=10;

table5[2]=(DATA1%1000)/100; table5[3]=(DATA1%100)/10; table5[4]=DATA1%10; table5[5]=12; write_com(0x80); for(i=0;i<5;i++) {

write_data(table3[i]); delay(10); }

write_com(0x80+0x05); for(i=0;i<6;i++) {

write_data(table1[table2[i]]); delay(10); }

write_com(0x80+0x40); for(i=0;i<2;i++) {

write_data(table4[i]); delay(10);

}

48

西华大学毕业论文 write_com(0x80+0x42); for(i=0;i<6;i++) {

write_data(table1[table5[i]]); delay(10); } }

void TPL0501(uchar data2) { uint i; CS=1; delay(20); CS=0; delay(20); for(i=0;i<8;i++) {

SCLK=1; DIN=data2&0x80; data2<<=1; SCLK=0; delay(10); } CS=1; } void main() {

uint R=0x80; uint X;

49

西华大学毕业论文 //设置管脚工作方式

P1M0=0x10; P1M1=0x14; led1=1; led2=1; led3=1; init();

ADC_Power_On(); while(1) {

A0=ADC(4); delay(10); B0=ADC(2);

X=Dprocessing(A0,B0); if(X==1) { R=R-2; if(R==0) { R=0x04;

}

} if(X==2) { R=R+2; if(R>255) { R=0x10; }

}

50

}

电路原理图

delay(500);

TPL0501(R);

display(A0,B0);

西华大学毕业论文 51

西华大学毕业论文

52

西华大学毕业论文 PCB设计图 实物图

53

因篇幅问题不能全部显示,请点此查看更多更全内容