无线传感器网络节点太阳能供电系统设计
无线传感器网络节点太阳能供电系统设计关键词:太阳能;锂电池;充电管理芯片时间: 2012-05-18 13:59:14 来源:单片机与嵌入式系统作者:王小强,欧阳骏,纪爱国引言电源是嵌入式系统的重要组成部分, 特别是对于野外布置的无线传感器网络节点来说, 供电线路的铺设难度较大, 采用电池供电时需要定期更换电池, 在一定程度上增加了系统维护的成本。 太阳能供电系统不仅解决了野外长时间无人监护的网络节点的供电问题, 而且还具有供电持久、环保节能和便于维护等优点,具有良好的应用前景。太阳能供电系统设计的关键问题是通过太阳能电池板对锂电池进行充电,同时需要实时检测充电电压和充电电流, 避免因过充而导致锂电池永久性损坏; 此外还需要设计锂电池放电保护电路,对放电电压进行实时监测,防止过放电导致锂电池损坏。1 太阳能供电系统简介太阳能供电系统主要由太阳能电池板、 可充电锂电池、 充电控制器和放电保护电路组成。由于太阳能电池板的输出电压不稳定, 传统的太阳能供电系统往往因为锂电池充放电管理不合理,导致锂电池使用寿命大大缩短。本文提出了一种基于太阳能的 ZigBee 无线传感器网络节点供电系统设计。 该系统能够自动管理锂电池的充电过程并进行有效的能量储存, 通过对电池电压的监测避免锂电池过度放电,以达到延长锂电池寿命的目的。此外由于 ZigBee无线传感器网络节点所需电压为 3. 3 V ,而锂电池的工作电压一般在 3. 6~ 4. 2 V( 正常放电电压为 3. 7 V ,充满电时的电压为 4. 2 V) ,所以需要 DC-DC 转换芯片产生所需要的工作电压。对于 ZigBee 无线传感器网络节点而言,首先要考虑的是低功耗。这里选用 TI 公司推出的完全兼容 ZigBee2007 协议的 SoC 芯片 CC2530 ,其工作电压是 3. 3 V 。综合考虑上述因素,提出如图 1 所示的太阳能供电系统总体示意图。该系统中,太阳能电池板产生的能量通过充电管理电路被存储在锂电池中,同时对锂电池提供充电保护, 防止过充; 由于电池放电时其端电压会逐渐降低, 因此需要放电保护电路对放电电压进行监测, 当电池电压下降到一定程度时切断放电电路, 避免锂电池过放电。 由于电源单元本身应尽可能少地消耗电池能量, 必须提高电源的转换效率, 因此设计了一个具有高效率的 DC-DC 转换电路,为节点上的负载提供稳定的电压。2 太阳能供电系统单元电路设计太阳能发电系统各个单元电路的设计主要采用集成 IC 外加少量阻容器件的形式实现。 系统设计的思路是: 首先估算系统总功耗, 然后选择合适的锂电池, 进而根据锂电池的容量来选择所需的太阳能电池板; 根据太阳能电池板和锂电池的充电电压、 充电电流等参数, 可以选择合适的充电管理 IC 来设计充电控制电路;最后根据锂电池输出电压和 ZigBee 无线传感器网络节点所需的工作电压来设计合适的 DC-DC 变换电路。2. 1 锂电池的选取ZigBee 无线传感器网络节点在数据发送期间所需的峰值电流为 29 mA , 在数据接收期间所需的峰值电流为 24 mA 。通常情况下,每个 ZigB ee 无线传感器网络节点会设计几个传感器。假设各种传感器所需的工作电流为 30 mA ,那么数据发送期间所需要的总电流为 59 mA ,数据接收期间所需要的总电流为 54 mA ,为了讨论问题方便,总电流取 60 mA ,那么锂电池可以选取容量为 900 mAh 。表面上看, 900 mAh 的锂电池可以供该节点连续工作时间为: 900 mAh / 60 mA=15 小时。但是实际系统中, ZigBee 无线传感器网络节点对数据的采集一般是定时采集,例如采集温度数据,由于温度变化减慢,所以可以定时采集,在此节点每小时工作 50 s ,其他时间都在休眠 (休眠时工作电流在 μA 级,所以可以忽略不计 )。那么实际情况是: 系统采用容量为 900 mAh 的锂电池供电, 节点工作电流为 60 mA , 每小时工作 50 s ,可以计算出容量为 900 mAh 的锂电池可供节点工作时间为: 1080 小时 =45天,即一个半月的时间。当然上述讨论也是一种典型情况,如果系统需要每小时使节点工作时间大于 50 s ,则每节锂电池可以供节点工作的时间可能会缩短,这需要看具体的系统要求,但是一般情况下,选择锂电池时只需要能保证系统在充满电后可以连续工作 15~ 20 天就可以满足系统要求。这主要是考虑到我国部分南方地区在雨季可能连续半个月的时间不出太阳, 这时就需要考虑适当选取容量大一点的锂电池。本设计所选用的是容量为 900 mAh 的锂电池,市场价在 15~ 30 元左右,该电池正常放电电压为 3.7 V ,充满电后电压为 4.2 V ,一般正常丁作电压为 3.6~ 4.2 V 。2. 2 太阳能板的选取选取太阳能电池板时主要考虑太阳能板的最大输出电压和输出电流。一般给锂电池充电的电压要大于 4. 2 V ,太阳能板的输出电流决定了充电时间。常用的太阳能板主要有单晶和多晶电池板两种, 单晶板和多晶板的区别在于最高效率的单晶电池片比最高效率的多晶电池片效率高约 1%。由于单晶的有刀角而并非完整的正方角,在使用中远远低于多晶,而且市场数量明显少于多晶。同功率的单晶电池板价格要比同功率的多晶板高些。本文采用的是输出电压为 5. 5 V ,输出电流为 140 ~ 150 mA 的单晶太阳能电池板,尺寸为 95 mm× 95 mm ; 主要是考虑到野外安装时, 如果太阳能电池板的体积太大不容易安装。2. 3 充电管理电路设计充电管理电路连接着太阳能电池板和锂电池,主要功能是将收集到的能量有效地存储在锂电池中, 同时提供对锂电池充电过程中的过压、 过流保护, 防止因过充对锂电池造成的损害。上海如韵电子有限公司的 CN3063 芯片可以用于太阳能电池供电的单节锂电池充电管理芯片。该芯片内部的 8 位模拟一数字转换电路,能够根据输入电压源的电流输出能力自动调整充电电流, 用户不需要考虑最坏情况, 可最大限度地利用输入电压源的电流输出能力,非常适用于太阳能电池等电流输出能力有限的靠电压源供电的锂电池充电的应用。充电控制电路如图 2 所示。当太阳能电池板输入电压大于低电压检测阈值和锂电池端电压时, CN3063 开始对锂电池进行充电, 引脚输出低电平时红色 LED 亮, 表示充电正在进行; 当充满电后,引脚输出低电平时绿色 LED 亮,表示充电完毕。最大充电电流由 ISET 引脚的外接电阻决定,考虑到系统扩展需要,在本设计中,外接电阻 R1 取值为 3. 6 k Ω ,则充电电流为:这里需要注意一点, 虽然最大充电电流设为 500 mA , 但是当使用单片太阳能板时, 最大输出电流为 150 mA ,此时 CN3063 芯片会自动调整最大允许充电电流为 150 mA ,这就是“ 输入限流模式 ” 。在此模式下用户只需要关注系统最大充电电流即可,所以该芯片非常适合利用太阳能电池等电流输出能力有限的电压源对锂电池进行充电的应用。 这里设计的最大充电电流为 500 mA ,主要是考虑到系统升级需要,比如某些场合下可以使用两块太阳能板并联,则最大充电电流可以达到 300 mA ,此时系统硬件不需要改动。锂电池充电过程示意图如图 3 所示。锂电池充电过程分析。当 FB 端检测到锂电池端电压低于 3 V 时,进行预充电,此时充电电流为最大充电电流的 10%;当 FB 端检测到锂电池端电压大于 3 V 时,调整为恒流充电模式,同时自动检测锂电池端电压。当锂电池端电压达到 4. 2 V 时,自动调整充电模式为恒压充电模式,此时用小电流对锂电池充电,主要是为了防止 “ 虚充 ” ,当充电电流减小到充电结束阈值时,充电周期结束。从整个充电过程分析可以看到, CN3063 芯片可以自动检测充电电压,进而实现自动调节充电模式,使得充电效率较高。因此, 使用该芯片设计锂电池充电电路较为简单,利于推广应用。2. 4 放电保护电路和系统供电电路设计传统的放电保护电路是使用一路 ADC 来不断检测电池电压, 当电池电压降低到一定程度时切断放电电路。这在理论上是很容易实现的,但是在 ZigBee 网络节点中,系统软件设计时需要定时查询该路 ADC 的数值,这在一定程度上也增加了系统的功耗。在此提出了一种使用电池端电压检测芯片 CN301 组成的锂电池电压检测电路,无需系统软件支持,完全使用硬件电路来检测电池端电压,当达到过度放电阈值时,自动切断系统放电电路。放电保护电路如图 4 所示。该电路工作原理分析:当电池端电压下降到过度放电低电压检测阈值时, LBO 引脚输出低电平, NMOS 管截止, PMOS 管栅极为高电平, PMOS 管截止,放电回路被切断,起到了保护锂电池过度放电的作用; 当太阳能板自动对锂电池充电, 充电电压达到高电压检测闯值时, LBO 输出高电平, NMOS 管导通, PMOS 管栅极为低电平, PMOS 管导通,放电回路重新被打开,如果 ZigBee 节点软件设计时配置为上电后自动加入网络并进行数据采集,那么该节点将会自动加入到原来的网络中。锂电池过度放电低电压检测阈值计算公式如下:其中, Vrth 为该芯片设定的阈值,大小为 1. 135 V ; ILBI 为引脚偏置电流范围为 -100 ~100 nA ,一般取 0 即可。因为该芯片工作电流在 1. 8μA ,所以对于电阻 R1 和 R2 的选型需要注意,应当选择阻值大一些的电阻。笔者选用 R1 为 2MΩ , R2 为 1MΩ ,这样流过电阻的电流在 μA 级,功耗很低。由于锂电池电压范同为 3. 6~ 4. 2 V , ZigBee 网络节点的工作电压为 3. 3 V ,所以需要根据输入/输出的电压差来选择适当的 LDO 芯片,同时还需要考虑 LDO 的静态电流和效率。笔者采用 RT9183-33PG 芯片实现电压转换,该芯片在输出 3. 3 V 时,所需要的压差为 110 mV ,静态电流为: 380μA 。3 PCB 布局注意事项在具体的 PCB 布局时需要注意以下问题:① CN3063 的 ISET 引脚外接电阻 R1( 充电电流编程 ),应尽可能靠地近 CN3063 。② CN3063 的 VIN 、 BAT 引脚的外接电容要尽可能地靠近 CN3063 。③ 为了使系统能够达到设定的最大充电电流,需要将 CN3063 背面裸露的金属板焊接到PCB 板的地端,以达到最大的散热效果;否则,在充电过程中, CN3063 芯片的热阻将增大,这将导致充电电流减小。一般采取的措施是 PCB 顶面放置焊盘,接到 CN3063 的裸露的铜面上, 为了便于焊接, 可以放置 4 个小焊盘, 4 个小焊盘的面积要略小于 CN3063 底部裸露铜片的面积,这样既有利于焊接,又有利于芯片的散热。结语电源的设计优劣关乎系统设计的成败, 本文以 ZigBee 网络节点太阳能供电系统为例进行了讲解, 通过充电控制电路和放电保护电路来实现对锂电池充放电的保护功能, 延长锂电池的使用寿命,非常适合于野外布置的 ZigBee 无线传感器网络节点使用,本文的分析方法也适用于其他需要太阳能供电的系统。