你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
歇斯底里a 发表于 2017-1-17 09:11 你好 我在论坛上看到你的帖子 我最近也在做用STM32内部基准电压测外部电源电池电压 可以把你的部分程序 ...
zddnet 发表于 2016-10-25 22:55 找到解决方法了,就是一定要加上这一行: ADC_TempSensorVrefintCmd(ENABLE);
安 发表于 2015-5-20 09:59 精度肯定不如外部REF的高。如果精度要求不高的情况下,可以使用。
数码小叶 发表于 2015-5-20 14:53 一直用的内部的,可能是没遇到要求特别严的吧
//ADC内部基准电压和温度传感器(要使用片内基准电压和温度传感器,切忌要开启它)
ADC_TempSensorVrefintCmd(ENABLE);
//设置指定ADC的规则组通道,设置它们的转化顺序和采样时间
//ADC1, ADC通道x, 规则采样顺序值为y, 采样时间71.5周期
ADC_RegularChannelConfig(ADC1, ADC_Channel_17, 1, ADC_SampleTime_239Cycles5); //通道17内部基准(1.16-1.26v)
ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 2, ADC_SampleTime_239Cycles5); //通道16内部CPU温度
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 3, ADC_SampleTime_239Cycles5); //通道1 PA1, 测外部电压
//假设V_AR为测得的内部基准的读数,V_Power为测得的外部电压的读数,Kcal为内部基准电压1.2V的校准系数
//V_PowerV为测得的外部电压(V)
V_PowerV = 1.2 * V_Power/V_AR * Kcal;
注意:Kcal需要用高精度表来调整的,因为每个芯片的基准并非1.2V,有偏差的,但校准一次就可以了。
具体就是,先将Kacl设为1,同时用STM32和高精度表测得V_PowerV,Kcal=高精度表V_PowerV/STM32测得的V_PowerV。
ADC_TempSensorVrefintCmd(ENABLE);
还有,内部基准电压是ADC_Channel_17
我的STM32F103C8T6的内部基准电压是1.208V。
以此电压测得的读数作比例,测得的电压和温度值
基本上不随电源电压的影响,而且只有最后一位跳1-2个数
你好 我在论坛上看到你的帖子 我最近也在做用STM32内部基准电压测外部电源电池电压 可以把你的部分程序借我参考参考吗
如楼上所说的,要想高精度,还是外部高精准参考电压。不过内部的参考电压好像也有方法适当提高结果的。
请问使用内部的,读取出来的数据该怎样处理,我遇到电压越大读出的电压越小,电压越小,读出的数据越大,第一次用内部的,还望可以指导下,谢谢
我也加了这句 读出来电压是空的,是什么问题?