使用stm32的ADC得到准确的电压

发布者:平和的心情最新更新时间:2020-01-23 来源: eefocus关键字:stm32  ADC  电压 手机看文章 扫描二维码
随时随地手机看文章

一、引脚多一点的stm32单片机存在VREF-和VREF+引脚

由上面的供电图知道,如果存在VREF-和VREF+引脚,那么ADC是由这两个引脚供电的,ADC的采集电压范围为:VREF-

二、引脚少的单片机(48脚)没有引出VREF-和VREF+引脚


VREF-和VREF+引脚在单片机内部与VDDA和VSSA连在一起,因为不像上面单独给VREF+一个稳压源,因此可能存在供电电压不稳的问题。于是需要一些方法来对转换结果进行矫正。

ADC的通道17就是单片机内部的一个稳压源。可以读取它的数据来进行矫正。

该稳压源电压为1.16V到1.24V,精度不是很准确,要求不高,可以凑合着用。


具体使用方法是:增加一个通道17的采集(如本来要采集2个通道,现在采集3个通道),把通道17的测量数值记为ADrefine,目标通道测量数值为ADchx,则目标电压为:


Vchx = Vrefine* (ADchx/ADrefine),其中Vrefine为参照电压=1.20V。


程序上:


在STM32提供的库函数中,如果要开启内部参考电压功能,使用的库函数和开启温度内部温度传感器的函数是一样的,只是在后面采集ADCx_Channel_x通道的时候不同而已。开启函数为: ADC_TempSensorVrefintCmd(ENABLE);


注:必须设置TSVREFE位激活内部通道:ADCx_IN16(温度传感器)和ADCx_IN17(VREFINT)的转换。


关于操作源码,可以参考正点原子不完全手册 第二十一章 内部温度传感器实验,对于内部电压值的测量和温度传感器的方法是一样的,只是使能的ADC通道不一样,其他都是一样的,所以,可以直接参考。


三、引脚少的单片机(48脚)没有引出VREF-和VREF+引脚(方法二)


在某些stm32单片机中还存在VREFINT_CAL(直接在数据手册中搜索VREFINT_CAL)

这个值是ST在出厂测试时,25度,VDDA电压3V,读通道17的数值。我们知道引脚少的单片机VREF+与VDDA是连在一起的,因此当参考电压为3V,25度,ADC测量1.2V的结果就是VREFINT_CAL。这样我们可以测量通道17的数值来计算VDDA的电压:

比如:参考电压为3V,25度,ADC测量1.2V的结果VREFINT_CAL=100,现在我读通道17的数值是200,因为测量对象一直是稳压源1.2V,可是测量数值翻倍了,那肯定是参考电压折半了嘛。


这样相当于我能测量参考电压大小,于是就能计算目标电压大小:(把上面的式子代入)

四、采样时间会影响采样精度


因为ADC的采样需要一定的电流大小,因此外部阻抗的大小会影响采样的时间。阻抗越大,电流越小,需要采样时间越长。

关键字:stm32  ADC  电压 引用地址:使用stm32的ADC得到准确的电压

上一篇:STM32定时器的TRGO信号
下一篇:stm32影子寄存器、预装载寄存器

推荐阅读最新更新时间:2024-11-06 19:36

嵌入式系统学习——STM32之GPIO
----第一篇:GPIO库 文档说明和约定: 该文档主要是对STM32F4各个模块的库进行翻译和说明。文档中加入了作者的一些理解,建议和小贴士。并且在文档最后,加入了一些使用该库模块的案例。希望大家通过对该文档的阅读,可以更好的使用STM32的库函数进行学习和项目开发。之所以选用1.4.0版本进行翻译和说明,因为该版本群众基础较好,有大量的使用者和相关资料。后续也会推出新版本库和CubeMX库的翻译和说明,希望大家喜欢和支持。如果大家觉得文档有什么问题,麻烦请提出,如果确认问题存在,作者会及时修改。 相关术语说明: gpio:通用输入输出接口 gpio管脚:一个io管脚,这个管脚可以有多个配置。在库函数中用GPIO_Pin_1
[单片机]
电压驱动型脉宽调制器TL494
1 TL494的特点与功能 TL494的特点与功能 TL494是美国德州仪器公司生产的电压驱动型脉宽调制器,可显示器、计算机等系统电路中作为开关电源电路,TL494的输出三极管可接成共发射极及射极跟随器两种方式,因而可以选择双端推挽输出或单端输出方式,在推挽输出方式时,它的两路驱动脉冲相差180度,而在单端方式时,其两路驱动脉冲为同频同相。 TL494的内部功能框图如图1所示。其引脚功能如下: 1、2脚分别为误差比较放大器的同相输入端和反相输入端。 3脚为控制比较放大器和误差比较放大器的公共输出端,输出时表现为或输出控制特性,也就是就在两个放大器中,输出幅度大者起作用。当3脚的电平变高时,TL494送出的驱动脉
[应用]
程控多功能三相功率源的设计
   前言   程控三相交流功率源的应用十分广泛,它被大量应用于冶金、通信、化工、电力及军工等诸多行业。用于交流调压、调功、调光及电机软启动等工业自动化控制领域,还可以用于计量以及产品的性能试验等方面。用于计量和产品试验等领域的功率源对于其输出波形要求较高,要求功率源输出完整的正弦波信号,对于正弦波的失真度有一定的限制。目前此类交流功率源的实际输出功率都很小,它们一般只强调单项指标,即电流或电压输出。而用于电能表计量时,其功率源输出的不是真实的功率,而是利用产生“虚功率”的方法来实现电能的计量。在某些产品的性能试验或计量过程中需要产生实际的交流功率,且要求其任意相的电流、电压、相位都能够独立调节。目前的交流功率源都无法满足要求,
[电源管理]
基于STM32从零写操作系统系列---熟悉win+linux交叉编译环境
本章将讲述交叉编译环境的学习,环境平台是ubuntu,工具链是gcc-arm-none-eabi。 目的: 熟悉交叉编译环境,了解如何下载BIN格式的程序文件到单片机。 实验1: 一个简单的交叉编译与程序下载过程 环境搭建(以我的平台为例): 安装win7 64位系统,具体教程可百度 在windows系统上安装VMware虚拟机,具体教程可百度 在虚拟机上新建虚拟机,安装ubuntu系统 在ubuntu系统使用命令安装make(如果没有),gcc-arm-none-eabi交叉编译工具 在windows系统上安装ST-Link Utility软件,用于下载bin格式文件到是stm32单片机 在windows系统上安装编
[单片机]
基于<font color='red'>STM32</font>从零写操作系统系列---熟悉win+linux交叉编译环境
MSP430 ADC12(二)
本程序使用了中断标志,while语句等待转换完成,每一次转换完成后即开始下一次转换 #include msp430.h int main(void) { volatile unsigned int i; WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer P6SEL |= 0x01; // 使能A/D通道A0 REFCTL0 &= ~REFMSTR; // 把控制权移交给ADC12_A ref控制寄存器 ADC12CTL0 = ADC12ON+ADC12SHT02+ADC12REFON+ADC12REF2_5
[单片机]
基于STM32数据采集器的设计
  数据采集技术在工业、航天、军事等方面具有很强的实用性,随着现代科技发展,数据采集技术在众多领域得到了广泛的应用和发展。同时对数据采集器的精度、抗干扰能力、安全和通信兼容等方面提出了更高的要求。基于上述要求提出了一种基于STM32F101 的数据采集器的设计方案,该数据采集器使用MODBUS 协议作为RS485 通信标准规约,信号调理电路与STM32F101 的AD 采样通道之间均采用硬件隔离保护,可同时采样3 路DC0-5V 电压信号、3 路DC4-20mA 电流信号和6 路开关量输入信号,实验证明本数据采集器具有较高的测量精度,符合工业现场应用需求。   信号采集主要包括电压信号、电流信号、频率信号以及开关量信号,随着现代
[单片机]
基于<font color='red'>STM32</font>数据采集器的设计
stm32专题十一:串口通信(一) USART理论
/************************************************************************************************************/ RS232(负逻辑):由三条线(RX、TX、GND)组成。-15v ~ -3v代表逻辑1,+3 ~ +15v代表逻辑0,这里的±是相对于GND而言。 RS485:与232不同,485采用差分双绞线。RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之问,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪
[单片机]
<font color='red'>stm32</font>专题十一:串口通信(一) USART理论
NI宣布推出四款高电压非同步降压控制器
美国国家半导体公司 宣布推出四款全新的高电压非同步降压控制器,其完备的功能特性主要包括:适用于极高的输入电压,可以提供卓越的脉冲宽度调制(PWM)控制,而且还可减少电磁干扰(EMI)。 这几款高度集成且操作简单的降压控制器可以在高输入电压下,产生功率灵敏的低电压电路,最适用于电信、网络系统及工业基建设备。新推出的这几款控制器属於PowerWise® 高能源效率产品,当利用高供电电压驱动低电压负载时,效率可高达85%。 LM5085、LM25085、LM5088以及LM25088等四款降压控制器除了适用于高达75V的输入电压以外,还可将输出电压调低至1.2V,并输出5A以上的负载电流。此外,这四款控制器都只
[工业控制]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved