sunrain_hjb的BLOG
Develop Helpful and Effective apps to make Jobs easier and Better!

 

      对手持设备来说,电池的充放电曲线非常重要,一般由电池厂家提供。我们在开发的过程中会按照这个标准的充放电曲线设计程序。但设备的工作模式有很多种,为了测试在各模式下电池的放电情况,我们可以自己写个小工具记录下电池的放电状态,然后通过Excel或者Matlab绘制出其放电曲线。

      WinCE下电池驱动分MDD和PDD两层,对于一般应用来说,只要实现PDD层,链接标准的MDD层LIB,生成电池驱动battery.dll即可。PDD层的代码实现可参考C:\WINCE600\PLATFORM\DEVICEEMULATOR\SRC\DRIVERS\BATTDRVR。

      实现完电池驱动并添加了WinCE的电源管理组件后,WinCE系统就可以监测电池状态并给出相应的提示。同时应用程序可以调用GetSystemPowerStatusEx2()获取当前电池的信息。通常情况下,电池的信息主要是指当前的充电状态及电压值,如果硬件支持,还可以得到当前的充放电的电流值。

      加入电池驱动后,任务栏和Shell中会有相应的状态提示,如下图。如果不需要Shell中的提示,可以设置注册表关闭。

clip_image002

      在我们的平台上,收集并绘制了几种工作模式下的放电曲线,如下。

clip_image004

clip_image006

clip_image008

顺便也在M8上做了个测试,截图如下。

clip_image010

可以看到M8在播放电影时,电池的放电曲线要干净一些。

得到以上这些曲线后,软件设计就可以作为参考了。

附上一段Matlab的代码:

close all;

clear all;

data = load('D:\我的文档\桌面\电池放电曲线\30-08-08-20-BatLog.txt');

x = data(:,1);

y1 = data(:,2);

y2 = data(:,3);

figure(2);

subplot(2,1,1),plot(x,y1);

subplot(2,1,2),plot(x,y2);

posted on 2010-01-18 20:42  sunrain_hjb  阅读(1954)  评论(9编辑  收藏  举报

Map