WinCE 电池电量数模转化及百分比转化
来源:互联网 发布:自适应单页源码 编辑:程序博客网 时间:2024/06/06 01:55
这一阶段主是要是在做PND的案子.是在WINCE平台下.分到的模块是电源管理.内容
挺多的.但是很觉得有意思.这几天在做电池.将电池的数字信息从寄存器中读取,
经过转化为模拟电压值.最后根据放电曲线转化为相对应的百分比.原来在看代码
的时候,还以为读取的已经是转化后的模拟量.后来,从网上查了下资料才了解要根
据ADC转化的位数以及相对应的最大参考电压通过写算法来将数字量转化为模拟量
. 用到的芯片是ALC5611,它将ADC和TOUCH PENAL集成到芯片中.电池接AUX4.电池
信息从TOUCH PENAL的寄存器中读取.ADC的转化位数为12bit,即相应的十进制数为
4096. 电路接的VDD为Vout = 3.3V.电池最大电压为Vcc = 4.2伏.因此相应
的,4096对应3.3V.在电路中,在将电池接入到AUX4以前,串联一个电阻(R1)再关联
一个电阻(R2)起到分压的作用.因此,相应的求数字量转化为模拟量的公式即为:
Vcc = ((R1+R2)/R2)*Vout;
4096/3.3 = V_digital/Vout;
Vout = ((R1+R2)/R2)*V_digital*3.3/4096;
在网上查了些资料,找到了一些关于百分比转化的算法.贴出来,分享.
在电压曲线中可分为4. 10~3. 80V ,3. 80V~3. 60V ,3. 60~3. 30v 这三个区间,对电池电压值进行分区间的处理,三个区间上的曲线斜率近似为:
4. 10~3. 80V : K1 = (100 - 70) / (4. 10 - 3. 80) ;
(近似曲线斜率)
3. 80~3. 60V : K2 = (70 - 20) / (3. 80 - 3. 60) ;
3. 60~3. 30V : K3 = 20/ (3. 60 - 3. 30) ;
4. 10~3. 30V : K= 100/ (4. 10 - 3. 30) ;
在进行电池电量百分比的转换时,当我们获得在559~455 这个区间内的采样值后,首先获得原来
的百分比值voltage _ percent = ( even _ samp -455) ·100/ (559 - 455) 。然后针对不同的区间进
行相应的调整,得到的电量百分比分别为:
4. 10~3. 80V : voltage_percent + = ( 4. 10 -even_samp*7. 5/1024) ×( K - K1 )
3. 80~3. 60V : voltage_percent + = ( 3. 80 -even_samp *7. 5/1024) ×( K - K2 )
3. 60~3. 30V : voltage _percent - = ( even_samp - 3. 30V*7. 5/1024) ×( K - K3 )
这里,用的10bit的数模转化。最大的参考的电压为7.5。因此,1024对应的就是7.5。可以根据具体的情况,用公式进行相应的计算。
- WinCE 电池电量数模转化及百分比转化
- 将数值转化成百分比
- Android 字符串转化为百分比
- 把小数转化为百分比
- wince json数据格式转化
- 将分数转化为百分比字符串
- sql server 将小数转化为百分比
- javascript把number转化成百分比
- 转化
- 电池电量百分比修改
- 行列转化及合并
- 变量声明及转化
- 时间转化及应用
- WINCE下点阵转化为位图
- 获取WinCE电池电量
- origin 作图:如何将纵坐标转化为百分比形式
- 后缀表达式转化及求值
- 线程的状态及转化
- 保护Windows系统需认识预安装环境WINPE(2)
- div+css - 工具 - Microsoft Typography微软印刷技术 - WEFT 3网页嵌入字体3 - Wizard向导 - Fonts to embed待嵌入字体
- 男人心疼女人的十种经典方式
- 回忆是美好的天空(Version 1.1)
- div+css - CSS标准 - 9.5 Floats浮动
- WinCE 电池电量数模转化及百分比转化
- JavaScript事件汇总
- 学习TCP
- 无法安心看书,决定暂时少上CSDN和BBS
- 设计ASP.NET应用程序的七大绝招
- 类的sizeof
- C#匿名方法–异常Retry机制和WinForm线程安全访问
- Asp.NET常用函数
- 计算机人要具备的基础知识!