基于单片机的智能充电器的硬件和软件实现.docx
《基于单片机的智能充电器的硬件和软件实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能充电器的硬件和软件实现.docx(13页珍藏版)》请在冰豆网上搜索。
基于单片机的智能充电器的硬件和软件实现
智能充电器
摘要:
本次设计主要完成对镍镉或镍氢电池的基于单片机的智能充电器的硬件和软件实现。
该充电器主要由电源,微处理器控制电路,充电电路,检测电路,显示电路以及报警电路六个部分组成。
检测电路实时检测当下电压电流温度,微处理器STC12C5A60S2AD通过内部AD采样获取对应电池参数,经过运算处理调整输出PWM的占空比,从而控制充电电路的电流以及电压大小,对电池充电进行智能控制,并将采集电压电流温度进行显示,当某一参数超过预定指标报警器报警,此时可通过按键停止充电。
否则,在指定时间内如果一直报警系统将自动停止充电。
实验验证,该设计具有数字化、智能化的特点。
关键词:
检测,镍镉电池,控制,PWM,充电
Abstract:
thisdesignismainlydoneonNI-CDorNi-MHbatterychargerbasedonmicrocontrollerintelligenthardwareandsoftwareimplementation.Thechargerismainlycomposedofpowercontrolcircuit,microprocessor,chargingcircuits,testcircuits,showcircuitaswellasalarmcircuitiscomposedofsixparts.Detectioncircuitforreal-timedetectionofsubjectsatthemomentofvoltageandcurrenttemperature,themicroprocessorSTC12C5A60S2ADthroughinternalADsampleGetsthecorrespondingcellparameters,afteroperationprocessingadjustmentoutputPWMduty,therebycontrollingthechargingcircuitcurrentandvoltagesize,chargethebatteryforintelligentcontrolandacquisitionofvoltageandcurrenttemperaturedisplay,asapredeterminedindicatorsparametersexceedthealarmbypressingthekey,thistimetostopcharging.Otherwise,if,withinaspecifiedperiodoftimehasbeenwarningsystemwillautomaticallystopcharging.Experimentalverificationofthedesignwithdigital,intelligentfeatures.
Keywords:
test,nickel-cadmiumcell,control,PWM,charging
1前言
自蓄电池发明以来,已有一百多年了,目前广泛使用的有镍镉电池、镍氢电
池、铅酸电池和锂离子电池等。
各种便携式电子设备,如笔记本电脑、移动电话、
无绳电话、对讲机、摄像机、小型电台和测量仪器,都要求电池轻、薄、短、小
且容量大。
为了满足这种要求,世界各国都投入巨大的人力和财力,开发新型电
池。
目前,由于常规充电技术不能适应各类新型电池的要求,因此严重影响电池
的使用寿命。
实践证明,免维护电池的浮充电压偏差5%,浮冲寿命将减少一半。
锂离子电池的充电电压超过4.1V±50mV,将造成电池永久性损坏。
如果采用镍
镉电池常用的-△V检测法,控制镍氢电池快速充电,可能造成镍氢电池因严重
过充而损坏。
为了满足镍镉、镍氢电池快速充电的不同要求,我们分析研究了这两种电池的特性,并成功设计了能够兼顾镍镉、镍氢电池快速充电的智能化充电器。
2系统方案设计
2.1方案一
该方案采用STC12C5A60S2作为主控MCU,采样电路实时对电池电压电流温度进行采集,主控MCU通过内部AD采集数据并进行计算处理产生相应PWM波,控制充电电路的开关频率,有效地控制充电电路的电压和电流大小,从而对电池进行智能化充电,与此同时,将采集的数据给予显示以及必要时的报警。
原理图如图2.1所示。
图2.1方案一充电器系统总图
2.2方案二
该方案采用STC89C52单片机作为主控芯片,检测电路将检测的电压电流以及温度通过ADC0832采集并通过多路转换器送给主控MCU,经过计算处理,控制PWM发生电路,控制PWM的输出,控制充电电路,进而达到对电池充电的智能控制。
原理图如图2.2所示。
图2.2方案二充电器系统总图
2.3方案论证与选择
对于方案一所用的STC12C5A60S2微处理器,内部集成8通道10位的ADC,也有2路可编程计数器阵列PWM,由采样电路采样所得各个数据可直接送往微处理器中进行AD采样,计算处理后控制内部PWM,从而控制充电电路,达到对电池的智能充电。
对于方案二,采用89C52微处理器,由采样电路采集回来的数据需要经过ADC0832,再经过多路转换器依次将电流,电压,温度送给微处理器,进行处理后控制外部PWM产生电路进而控制充电电路,对电池进行不同方式的充电。
比较方案一和方案二,方案一中的STC12C5A60S2集成了AD与PWM产生电路,结构简单,经济实惠,且STC12C5A60S2内部AD为10位,能达到较好效果。
综上所诉,选择方案一。
3理论分析与计算
充电过程中,每秒钟各测一次电池温度,电池温度小于3O℃时,充电脉宽每15S加一,大于35~C时,充电脉宽每15秒钟减一,30℃至35~C时,充电脉宽保持不变。
这样,充电脉宽随电池温度的高低会在lO至94之间自动调整,即每节电池每秒充电时间为50ms至470ms之间,保证电池在温度不高的情况下以最短的时间充满。
判断电池是否充满程序采用了两种方法:
定压法和一△法,定压法就是在电池瞬间放电结束1Oms后测量此时的电池电压,只要此时电池静止电压到一定的值(本文取的是1.6V),就认为电池已经充满,充电结束,转入浮充状态。
在测量电池的静止电压时要注意两点:
一是电压测量的时间点相对于瞬间充放电结束点是固定的,这样测出的电池电压才有可比性。
二是电池电压测量可采用多次采样求平均法,本文采取连续8次A/D采样,然后求平均,这样得出的电压值非常准确和稳定。
一△法是指电池在充满时,随着充电时间的继续增加,电池的静止电压不但不上升,反而会出现下降,当MCU检测到这一现象时,就认为电池已经充满而转入浮充。
定压法和一△法两种方法同时使用,能够防止发生个别电池因为性能不良一△不出现造成电池长久充电而引起的损坏。
4系统电路设计
本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系也会对相关电路中的参数计算、元器件选择、以及核心器件进行说明。
4.1单片机模块
单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。
并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等,无不含有CPU控制器。
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
共4个16位定时器,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,转换速度可达250K/S(每秒钟25万次),针对电机控制,强干扰场合。
STC12C5A60S2管脚图如图4.1。
图4.1STC12C5A60S2管脚图
4.2DS18B20模块
DS18B20数字温度计提供9-12位摄氏度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。
DS18B20通过一条连接线(加上地线)。
它的测量范围为-55—+125℃,并且在-10—+85℃精度为±5℃。
除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。
每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上,因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域DS18B20,这一特性在HVAC环境控制,探测建筑物,仪器或机器的温度以及过程监控和控制等非常有用。
其封装结构如图4.2所示。
详细的引脚说明如表4.1所示。
图4.2DS18B20封装机构图
表4.1DS18B20引脚功能表格
8引脚SOIC封装
TO-9封装
符号
说明
5
1
GND
接地
4
2
DQ
数据输入/输出引脚:
对于单线操作,漏极开路。
当工作在寄生模式时用来供电
3
3
VDD
可选的VDD引脚:
工作在寄生模式时VDD必须接地
4.3充电及检查模块
充电电路主要由一BUCK电路构成,通过R10检查电池电流,P1.7口检查电压与R10两端电压差为电池电压,微处理器处理数据后通过P3.4口控制MOSFET的开关状态,控制充电电流。
原理图如图4.3所示。
图4.3充电及检查电路原理图
4.412864显示模块
QC12864B汉字图形点阵液晶显示模块可显示汉字及图形。
其内置有8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM);显示内容为128列×64行;其类型为STN;与MCU接口为8位并口或串行。
此外,QC12864B有多种软件功能,如:
光标显示、画面移位、自定义字符、睡眠模式等。
在本设计中主要显示电池两端电压,电池电流,电池温度。
其接口电路如图4.4所示。
图4.412864接口
4.5电源模块
由LM2576开关电源芯片制成的可调,电流可达3A的电源,为充电电路提供电源。
原理图如图4.3所示。
图4.4基于LM2576电源原理图
5系统软件设计
系统软件总流程图如图5.1所示,中断流程图如图5..2所示。
图5.1主流程图
图5.2中断流程图
图5.2是T0中断程序处理框图。
T0中断服务程序是最重要的部分,主要完成了九大功能:
即时间的产生,显示刷新,电池放入检测,充电之前的放电电压检测,充电期间的充,停,放,停,充满检测,温度检测,根据电池温度改变充电脉宽,浮充,T0中断基本上完成系统软件90%以上功能。
上图已经把进入T0中断后要完成的工作和每一步工作的顺序画的非常详细,这里作几点补充说明,一是每秒的前半秒对充电槽电池进行处理,按照充电、停充、放电、停止放电、四个过程顺序工作,如果四个过程的总时间少于0.5s,多出的时间电池就处于不充不放的静止状态,二是在充电过程中,为了减少大电流充电对电池产生的极化损害,充电按照以下顺序进行:
充电静止5ms放电5ms静止10ms充电。
知道电池充满,这样充电对电池有一定的修复作用。
第一充电槽充电脉宽存放在60H单元中,充电过程中,没秒钟各检测一次电池温度,电池温度小于3