完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
**ADC检测实际电压值方法**
最近学习STM32单片机的基础部分,之前一直用的是STC系列的8位单片机,比如STC8A8K64S4A12,一款STC公司高性能单片机,可以满足跑个小型RTOS(Small RTOS)。于是学习之余,在B站看到一位大佬用STC8芯片加0.96寸oled屏幕制作一款简易的示波器,突然心中一动,正好手中缺一款对精度和功能都要求不高的检测装置(其实是囊中羞涩,好的示波器一款的上千,现实面前不得不低头啊),正好可以设计出来用于简单的为后续实验检测设计提供保障,果断买原件来制作。 在制作期间,研究了大佬的电压演算过程,发现很是奇怪,不知道其中奥妙,具体列举下:Vx = (uint32)BGV_ADR * ADCx * l*** / ADCbg / 100,其中BGV_ADR定值为65015,l***是浮动校准值,范围0-600,ADCx为实际STC8单片机的AD采样值,基于12bit,所以范围是0-4095,ADCbg是单片机第十六通道,也就是内部基准电压值(VREF非常重要)的采样值。就是这样一个奇葩的公式,Vx为采集到的当前电池电压。其中电池接入电压为3.7v左右,外部串联了2个电阻分压用。 图1.1 简单分压电路图 下面我们就用初中学过的分压公式:Vc=VCC*(R4/(R4+R3)),大致计算一下值因该为0.617v,如果此时我们的输入电压利用3.3v(单片机电源输入电压),则计算值为0.55v左右。那么接下来,把它接到单片机的一路12bitADC采样端,基准电压值VREF为2.5v,为此我们来采用通常的电池电压采样方式计算一下:Vc=VREF*(采样值/4096)[此处特别强调:ADC采样时数字量的大小取决于基准电压,而不是输入的VCC,这是个重大误区],此处经统计采样值为1600-1800之间,那么Vc取中点值1700计算为1.0375v,咦,咋和0.55v不等呢,说明此时有问题,这样的方式计算的结果是不对的。 图1.2 proteus仿真结果 那么,这个时候疑问就来了,为什么会出现这样的结果呢?难道说是公式不对吗?这样的计算方式不是在很多例子中最常用的吗?比如说之前的PCF8591、STM32ADC检测电压值等等。 我要说的是这样的计算公式使用范围是有限制的,重点突出的是ADC的采样功能,而对采集计算的到的电压值是存在误差的,当然有些简易电路也是适用的,不如说可调电位器,简单的2分压电路,所以到这里你就会发现,1.0375v/2=0.5187是接近0.55v的,但是也仅仅是接近而已,误差很明显的。为此我通过以上几种方式总结出一种比较精准的方法,那就是如果我们在接了外部电阻,且采样端电阻值已知的情况下,我们可以得到公式:Vc=VREF*(ADC采样值/(4096*R4)),也就是在原来的基础上加入了一个分压电阻值2K,为了使得到的电压值更加精准,在VREF的定值上在加入浮动校准值最好是按照每100,0.02V增长规律即可(此处电压校准值仅限于上述电路,不同分压电路,请以实际计算值为准)。 到这里我们比较精准的电压计算公式就有了。这里还是要特别提醒,ADC采样值在多次求取平均值时会有100-300的误差,比如开路时单次值为4095,而去多次平均值后变为了43xx(这个本人估计是在采样期间受到单片机供电电流、电压影响,对此采样在延时和程序语句执行中时间长短可能会影响),可见误差显现,这个是在STC8中发现的问题,在STM32上没有试过。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1850浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
615浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
506浏览 3评论
510浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
491浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 23:43 , Processed in 0.526047 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号