“软计算”的应用

几年前在设计电池组时,我发现基于过程变量之间精确关系的“经典”编程方法是一个非常痛苦的过程,需要无数次“修正”来处理处理信息的高度不确定性。当过程变量不可靠时,神经网络、模糊逻辑和自由代理可以简化设计……

通过Peter Galan, JDS Uniphase公司 二七年九月一日

几年前在设计电池组时,我发现基于过程变量之间精确关系的“经典”编程方法是一个非常痛苦的过程,需要无数次“修正”来处理处理信息的高度不确定性。当过程变量不可靠时,神经网络、模糊逻辑和自由代理可以简化设计过程,并创建具有更高可靠性的最终产品。

电池充电器监测几个过程变量,包括电池电压(UC),电池温度(TC)和电池电量(QC),这是计算电流流入电池的积分。一个额外的变量——负delta电压(-DUC)——伴随着电池充电过程。

在NiCd或NiMh电池的充电过程中,这四个参数随时间而变化。由于不同的电池和环境条件,例如环境温度、通风、初始容量和以充电循环次数表示的年龄,前三个参数表现出明显的离散性。

模糊逻辑提供了一种鲁棒的控制方法。

负三角电压也不是很可靠。电池可能会出现约20毫伏的临时电压下降,在电压恢复上升前只会持续几分钟。另一个电池可能在不同的时间表现出不同的电压降。

例如,当电池由10个电池串联而成时,这种现象就会成为一个问题。所有10个电池同时显示电压下降的概率非常低。在14v的测量范围内捕捉两到三个电池的电压降(加起来为40 - 60mv)可能是一项具有挑战性的任务。

如果附带的工艺变量不是很可靠,有没有办法建立一个可靠的电池充电器?答案是肯定的。

解决这类任务的最佳方法之一是使用软计算技术。

软计算技术使用了人工智能领域中众所周知的复杂算法,如神经网络和模糊逻辑。智能电池组可以适当地建立在模糊逻辑与自由体相结合的基础上,自由体是另一种主要用于机器人和其他人工智能应用的现代技术。

利用四个自由体对四个过程变量进行监控,提出了一种解决电池充电器问题的模糊方法。每个代理持续监测一个变量,除了负delta电压代理,“模糊”测量值分为三种模糊状态:低,中,高。负delta电压代理只使用两种状态:假或真。

模糊状态处理和去模糊化模块处理代理提供的模糊变量。该模块的输出是充电/放电电流的“清晰”(换句话说,非模糊)值。(镍镉电池和镍氢电池需要偶尔完全放电,以避免记忆效应。)

充放电控制模块在充放电操作期间使用这个脆度值作为pid环路设定点。

运行模式控制模块决定了智能电池组及其内部模块的运行模式。它的工作原理类似于有限状态机(FSM),处理四个输入变量并生成以下输出状态或操作模式:

  • 电池放电;

  • 充电电池;

  • 为所有电器供电,包括以升压模式运行的风扇;

  • 为所有电器(包括正常模式下的风扇)供电;而且

  • 为所有(外部)设备供电,不包括风扇。

  • 关掉电源,睡觉。

如果电源供应过低,无法为任何外部或内部设备供电,电池组可以自己进入睡眠模式。在这种情况下,只有当ac/dc适配器插入设备时,它才会“唤醒”,此时它将立即进入充电模式。

NiCD电池的四个主要特性:电池电压、UC、电池温度、TC、电池电荷、QC和负delta电压。

此外,操作模式控制模块在LCD或LED面板上持续监控和指示关键信息,包括:

  • 当前运行模式;

  • 充放电操作时的充放电电流;

  • 消耗电流和剩余充电时间;而且

  • 异常条件。

自由运行代理提供的模糊化信息包括充电状态(金色体积)、涓流充电状态(橙色体积)、中等充电状态(清晰体积)。在中等或滴流充电阶段,棕色区域的充电电流取决于负delta电压剂值。经过去模糊处理的输出变量根据所选择的充电电流范围获得一个清晰值。

风扇控制模块使用开环控制来设置呼吸设备中风扇的速度。三个按钮为该控制模块提供输入,如果剩余电量过低,操作模式控制模块可以禁用风扇的升压模式。

作者信息
Peter Galan是控制软件工程方面的专家。他曾为工业和电信公司从事过许多项目;目前他在加拿大渥太华的JDS Uniphase工作。可以在……找到他petergalan@rogers.com