基于PIC16F676的镍氢电池充电管理系统设计

发布者:满足的36号最新更新时间:2011-05-23 关键字:PIC16F676  镍氢电池充电 手机看文章 扫描二维码
随时随地手机看文章

  随着科技的发展,对便携式仪器仪表的需求越来越多。为这些仪表选择充电电池并设计充电管理电路是这类产品设计的重要内容。镍氢电池与其它类型电池相比,具有比容量大(相当于镍镉电池的两倍),无污染、无记忆、重量轻,价格适中(只有锂离子电池一半的价格)等优点,在国内仪器仪表行业中越来越受到青睐。

  1镍氢电池充电系统设计理论基础

基于PIC16F676的镍氢电池充电管理系统设计

   正极上析出氧气,负极上析出氢气。这三个化学反应决定了镍氢电池充电电路要求如下:

  1)电池充电终止电压:

   电池充电时,极板上的活性物质已经全部饱和,电池电压不再上升而是略有下降。此时,若继续大电流充电,将会大大影响电池的寿命,此时的电压称为充电终止电压,一般单节电池不超过1.6伏。充电终止电压与电流充电率、环境温度、电池生产工艺等因素有关。电压负增量控制方法是一种公认的比较先进的控制方法(-△V),电压从峰值下降5~10Mv/节时及时终止快速充电;最大电压控制方法可以作为辅助控制方法。

  2)电池充电电流:

   充电电流取决于电池容量C。现在新型镍氢电池可以达到1C以上的充电率,但充电电流过大会使电池内部压力升高较快,安全阀打开,电池漏液,引起安全问题。在设计中,充电电流取0.5C。

  3)电池充电时间:

   电池充电时间和充电电流的大小有关,充电电流取0.5C左右时,电池充满约需要2~3小时。

  4)电池温度:

   在电池充满电后会发生析氧和析氢反应,使电池内部压力增大,温度上升。当电池温度超过55度或者温度超过2度/分时候应及时终止快速充电。另外,如果环境温度低于5度或者高于40度时候不应该启动快速充电。[page]

   目前,大多数充电电路仅采用上述的一个或者两个参数进行控制,很难达到理想的控制要求。为此,本文设计了一种新型柔性充电管理电路;通过对上述几个参数同时进行综合控制,可以更高效、更加安全地完成充电管理过程。

  2镍氢电池充电管理电路硬件设计

基于PIC16F676的镍氢电池充电管理系统设计

   电池充电原理图如图1所示,包括充电控制电路和充电状态检测电路。充电电路以PIC16F676为核心,PIC16F676是Microchip推出的一款新型PIC单片机,DIP14或者SOIC14封装,2个定时器,输出IO口切换频率可以达到250KHZ,2KFlash,多路AD,使得PIC16F676特别适用于低成本的电池管理系统。芯片内部集成了上电复位、欠压检测和看门狗电路,使用内部晶振(4M晶体),这些都极大的简化了外围电路的设计。

   充电电路以及充电过程:

   PIC16F676的RC3口或者RC4口用于输出占空比可调的PWM脉冲信号控制NPN三极管8050的通断。启动RC3口通过定时器1控制引脚输出高低电平即可以对电池进行充电控制。电池充满时候,停止定时器,RC3输出低电平,NPN三极管截止,便可以停止充电。

   在一个PWM脉冲周期中,当NPN三极管导通时,MOSFET管BD442的栅极为高电平,外部电源经过肖特基二极管,检测电阻给电池充电;当NPN三极管8050截止时候,MOSFET管BD442的栅极为低电平,外部电源停止充电。在下一个PWM脉冲周期,重复上述过程。

基于PIC16F676的镍氢电池充电管理系统设计

  充电状态检测电路:[page]

  1) 电池端电压检测:通过精密电阻R18,R19分压获得电池端电压,将此信号接到PIC16F676的RC1引脚AD检测引脚。

  2) 电池温度检测:在电池组内内置一个具有负温度系数的热敏电阻,通过测量热敏电阻的端电压可以准确地测量到电池组的温度。为保证测量精度,回路中采用了精密稳压源LM385以产生精确的基准电压(1.25V)。此基准电压1.25V同时作为PIC16F676芯片AD转换的参考电压。

  3) 充电电流检测:由运算放大器LM324构成一个差动放大器,检测PIC16F676的充电电流。充电电流过大时候,应减小PWM的占空比;反之,应增大PWM的占空比,从而使充电电流维持在何时的范围内。

  3 镍氢电池充电管理电路软件设计

   本系统利用电池电压,温升、充电时间以及电压变化量等参数来综合判断是否应该结束充电过程。软件按功能可以分为PWM控制模块、计时模块以及电压检测、电流检测、温度检测等几个部分。程序流程图如图2所示。

   系统工作时候,PIC16F676不断检测电池组端电压。若此电压数值低于1.25NV(N为电池节数),检测环境温度,如果环境温度在5~40度之内,则启动PWM开始充电。在充电过程中,CPU不断采集充电电流的大小,并将实测电流数值与设定数值相比较。若两者相差超过10%时,调整占空比,可使充电电流维持在设定数值附近。另外,CPU还将不断测量电池端电压、电池温度,并对充电时间进行计时。当这些参数满足下列的充电终止条件时候,停止充电:当电池电压大于设定电压或者电池电压出现5~10毫伏/分钟/节的负△V变化时;电池温度超过55度,或者出现0.5度/分的温升时候,充电时间大于180分钟(本系统采用0.5C充电),都应该停止充电。

   在电池长时间闲置或者放电情况下,在充电前期电压会出现起伏,形成-△V。通过设置延时定时器,在充电初始10分钟内不判断电池电压变化,可防止误判断终止充电。[page]

   本系统软件的核心部分为AD转换和定时器产生PWM这两个模块。下面给出这两个部分的相应的程序,编译环境为PIC16。

///////////////////////////////////AD初始化程序//////////////////////
void AD() //电量测试子程序
{
    ADCON0=0X59; //启动AN3 AN0,AN1作模拟口
    ADCON1=0X84; //结果右移
    TRISA3=1;    //做输入口用
    ADGO=1;    //启动AD
    ADIF=0;     //清除AD标志
    while(ADIF==1); //等待AD采样完成
    ADIF=0;     //清除AD标志
    while(ADGO)continue; //等待转换结束
}
///////////////////////////////////TMR1 定义///////////////////////////
void tmint()
{
   GIE=1;
   PEIE=1;
   TMR1IF=0;
   TMR1IE=1;  //设置中断使能
   T1CON=0x31;  // 预分频设置1:8  开定时器
   TMR1H=0x9E;
   TMR1L=0x57;  //定时参数
}
/////////////////////////////////定时器中断服务程序////////////////////////
void interrupt clkint0(void)
{
   TMR1IF=0;
   TMR1H=0x9E;         //初值25000;200毫秒
   TMR1L=0x57;         //25000-1
   s0=1;
}

  4 结论

   此充电电路经过实际调试,试验性能可靠,可很好地实现快速充电和电池保护等功能能。而且简单实用。通过修改软件中相应的设定值,此电路不仅可以给不同节数的电池充电,也可以用来给铅酸、镍铬、锂离子等不同品种的电池充电。该电路具有很好的推广价值。若能进一步完善该电路,在充电过程中加入具有去极化功能的放电环节,将会提高电池的充电接受能力。

 

 

 

关键字:PIC16F676  镍氢电池充电 引用地址:基于PIC16F676的镍氢电池充电管理系统设计

上一篇:PICl6C78系列混合信号嵌入式芯片的原理和应用
下一篇:基于PIC单片机的电波数码显示时钟的设计

推荐阅读最新更新时间:2024-03-16 12:36

1.2v镍氢电池充电电路图(六款镍氢电池充电电路途详解)
镍氢电池的工作原理 镍氢电池充电特性曲线如图1所示。当恒定电流刚充入放完电的电池时,由于电池内阻产生压降,所以电池电压很快上升(A点)。此后,电池开始接受电荷,电池电压以较低的速率持续上升。在这个范围内(AB之间),电化学反应以一定的速率产生氧气,同时氧气也以同样的速率与氢气化合,因此,电池内部的温度和气体压力都很低。 1.2v镍氢电池充电电路图(一) 自制充电器用LM324的4个运算放大器作为比较器,用TL431设置电压基准,用S8550作为调整管,把输入电压降压,对电池进行充电,其原理电路见图。其特点是电路简单、工作可靠、无需调整、元器件容易购买等,下面分几个部分进行介绍。 1.基准电压Vref形成 外接电源
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved