怎么根据读到的ADC值,推算实际电压值(二)
来源:互联网 发布:google seo 编辑:程序博客网 时间:2024/04/28 02:22
写在前面:接上一篇文章,理论上能够根据读到的ADC值,推算出实际电压值;但是,对于管脚少于64pin封装的STM32芯片,采用的ADC参考电压是内部电源引脚上的输入电压,所以,就有可能造成不同的锂电池、LDO会有不同的参考电压值,虽然STM32可以正常工作,但是参考电压不同,就会造成根据读到的ADC值,推算的电压值并不准确。
无独有偶,笔者在实际开发中就遇到了这样的问题:在研发新项目时,延用了上个项目的电压处理模块,由于上个项目使用的是3V的LDO,而目前项目使用的是3.3V的LDO,这就导致在新项目里推算出的电压值出现了拐点,如下图:
由于出现了拐点,所以低电判断就不准确,后来根据数据手册,找到了两个内部的ADC通道,这个参考电压值的典型值为1.20V,而且基本不随外部供电电压的变化而变化。
STM32的ADC可以直接测量2个内部信号源,其中一个是温度传感器,另一个是内部参考电压。其中,温度传感器和通道ADCx_IN16相连接。内部参考电压VREFINT和ADCx_IN17相连接。
具体操作方法为:在测量某个通道的电压值之前,先读出ADCx_IN17引脚参考电压的ADC转换数值,记为AD_CH17,再读出要测量通道的ADC的转换数值,记为AD_CHX。则要测量的电压数值为:
V_CHX = 1.2 * 100 * (AD_CHX / AD_CH17);
因为用到浮点运算,所以扩大100倍,便于比较,注意把电压检测的间隔调大一点,保证浮点运算的时间;
注:必须设置TSVREFE位激活内部通道:ADCx_IN16(温度传感器)和ADCx_IN17(VREFINT)的转换
阅读全文
0 0
- 怎么根据读到的ADC值,推算实际电压值(二)
- 怎么根据程序读到的ADC值,推算实际电压值?
- STM32的ADC(DMA)读取电位器外设的电压值
- STM32学习笔记:adc采样得到的电压值用485发送给pc
- STM32学习笔记:adc采样得到的电压值用485发送给pc
- 天干地支的推算(根据公元纪年的年月日推算干支的年月日)
- F28335的ADC采集电压不对(采集的电压值乱飘)
- 什么是ADC的参考电压,为什么需要参考电压?
- CC2530的ADC采集外部电压
- 根据工作日历推算工作日的算法
- STM32芯片ADC内部的CH17参考电压的用途(转)
- IE6 getElementById读到name的值了
- 电压、电流和数字及工程实际值信号转换工具,做工控的人不用再麻烦计算啦!
- STM32芯片ADC内部的CH17参考电压的用途
- 根据日期推算星期
- ADC循环采集六路电压(转)
- 根据年月日推算是星期几的公式
- CPU的工作电压(核心电压,I/O电压)
- hadoop中的filesystem和localfilesystem
- MySQL性能调优my.cnf详解
- win10重新装机后的一点配置
- Netty4框架的初步使用
- JSON中数据对象嵌套
- 怎么根据读到的ADC值,推算实际电压值(二)
- 用dlib和opencv进行不同角度人脸检测及68个关键点提取(Python)
- nio 通道交流(复制文件小案例)API(三)
- java中string和int互相转化
- active mq 多个消费者实战(发布订阅模式)
- HTML基础入门--前端界面的相关代码--字体大小--背景颜色等设置
- miniui tree 根据名称或者编码查询
- java--查找素数
- 高通平台device tree生成platform device的过程(MSM8909)