灵活的电池充电系统设计探讨
可以保存,并在启动的时候进行比较。自动检查方法局限于很特殊的条件。一般来说,大多数应用中选择预编程和预执行。在这篇文章中,我们会重点介绍预编程,并把注意力集中在电池充电是附加功能的应用中。
如前所述,两种电池充电器的感测和控制部分硬件是相同。电池充电器所需的外部硬件原理图如图3所示。
图3:电池充电器的简化原理图
要确定电池状态,就要进行电压、电流、温度的测量,把他们通过复用器输入微控制器中的ADC。根据这些值,在固件中确定状态,充电电流通过改变PWM占空比来控制。PWM输出连接到SEPIC变换器(其控制流进电池的电流)里的MOSFET门。这些步骤关系到CPU,因此有些延迟。不同的电池,特别是锂电池,对于过充电非常敏感,在高电压下可能变得非常不稳定。要额外增加过电压和过电流保护,硬件保护电路就要增加比较器。这些比较器会关闭充电直到用户复位或达到一个安全的工作环境。
根据测量到的参数值和电池类型,CPU决定电池状态和相应的PWM占空比。传统上,CPU检测充电曲线所需的条件,可以在代码中定义为常数,并可手动修改。例如以下代码。
当充电曲线需要改变时,BATTERY_PROFILE设置为0或1以在两种充电曲线之间进行切换。所有状态的电压、电流、温度限制都保存为常数,并可以作出相应改变。如果同一电池类型需要不同的电平,需要修改代码键入新参数。这意味着这种应用的用户需要注意代码改变充电曲线和充电器限制。通过使用组件式方法,当开发人员选择合适的IP模块时,可以键入参数来改变电池充电器充电曲线。例如,锂电池和镍氢电池组件如图4所示。
图4:可以为不同电池键入参数的GUI
使用这些组件,应用工程师可以添加充电器组件到已有的应用中,并设置适当的充电曲线。所有其他的硬件(比较器,PWM等)和软件(状态机)也都由组件生成。使用可编程结构,例如赛普拉斯的PSoC,通过软件程序,硬件组件就可编程并实现。这种方法可以用于实现图3中锂电池和镍氢电池的充电器硬件。在项目中增加一个USB部件,电池参数就可以送到计算机。数据绘制实现使用C#软件工具。其他任何通讯方式和类似工具都可以用来绘制数据。电池模拟器可以用来模拟锂电池和镍氢电池的实时获得图形。得到的图形如图5所示。
图5:锂电池和镍氢充电图形
在电流中看到的噪声是使用电压仿真器改变电压时的开关噪声。由于使用电压仿真器,电压改变特别快,对应电压的变化,PWM输出的建立时间和响应就可以看到上面的噪声结果。在电池中电压变化是非常缓慢的,从而开关噪声并不明显。
图1和图2锂电池和镍氢电池的充电阶段可以在图5中看到。因此可以看出,只需简单改变SoC固件,就可以使用同样的硬件实现多种充电器。通过简单部件,就可以增加充电功能到主要应用中。
电池充电系统 DC-DC转换器 SEPIC变换器 相关文章:
- 开关DC-DC转换器的EMI方案(04-29)
- 高效率DC-DC转换器三项基本技术(02-16)
- 隔离式3.3V转5V转换器的分立设计(03-18)
- 如何利用微变压器集成隔离功能(08-17)
- 采用X2Y技术的DC-DC转换器 (09-24)
- DC-DC转换器的电源转换效率和功率电感性能的解决方案(02-25)