精华内容
下载资源
问答
  • 我们说一个ADC转换器是8-bit或12-bit的,12-bit的ADC比8-bit的贵,因为8-bit的ADC精度不如12-bit,为什么?  先来看下面的一张图,不同位数的ADC对应的转换结果:(前提: ADC的参考电压VRL = 0V, VRH = 5.12V) ...

      我们说一个ADC转换器是8-bit或12-bit的,12-bit的ADC比8-bit的贵,因为8-bit的ADC精度不如12-bit,为什么?

      先来看下面的一张图,不同位数的ADC对应的转换结果:(前提: ADC的参考电压VRL = 0V, VRH = 5.12V)

      我们知道ADC的转换结果是一个unsigned类型,根据数据的四舍五入取舍即可计算得到答案。比如上图10-bit的ADC,为什么0.012V转换结果是2,而0.014V转换结果是3?首先计算10-bit ADC的识别能力(就是常说的转换精度): 5.12 ÷ 2 ^10 = 0.005V (即5 mV),  然后我们只需要用被转换的电压除以ADC的转换精度即可,0.012 ÷ 0.005 = 2.4 ,根据四舍五入即为2,而 0.014 ÷ 0.005 = 2.8 约等于3。

       

     

    转载于:https://www.cnblogs.com/xiaokangkp0602/p/9156797.html

    展开全文
  • N76E003 ADC计算电压

    2021-03-05 17:57:28
    要记住ADC测量结果无非就是一个代表电压量的值,管脚上的模拟信号转换为12位二进制数据(0xFFF),ADC结果除以满量程ADC值(即0xFFF)就是与参考电压的比例,这个比例乘以参考电压就是实际电压值(Vain)。...

    分享下调试ADC计算电压值理解的相关内容。

    最重要的公式

    要记住ADC测量结果无非就是一个代表电压量的值,管脚上的模拟信号转换为12位二进制数据(0xFFF),例如:如果参考电压是5V,ADC输入也是5V,那ADC转换结果就是0xFFF;如果参考电压是5V,ADC输入是2.5V,那ADC转换结果就是0xFFF除以2。ADC转换结果除以满量程ADC值(即0xFFF)就是与参考电压的比例,这个比例乘以参考电压就是实际电压值(Vain)。
    计算代码如下:

    // CN Spec, 18.1.1, P193, ADC_DATA = 4095 * (Vain/Vref)
    // So: Vain = (ADC_DATA * Vref) / 4095, Vref is 'VDD voltage'
    adc_mgnts[ch].vol = ((adc_mgnts[ch].aver_adc_data * Vref_vol) / 0xFFF);
    

    怎么得到参考电压Vref?

    Vref可以通过计算获得,或者测量得到。
    要求不高可以直接用万用表量管脚pin9,即Vdd的电压(我直接测到就是接近5V),后面计算参考电压的就不用看了。
    计算参考电压Vref的方法见下面代码,其实官方例程里用ADC测量VDD的代码。
    先计算Band-gap(见中文spec例程P195),再用读取到的Band-gap值通过ADC计算VDD值(见中文spec例程P196)

    // CN Spec, 18.1.4, P196, VDD voltage
    Vref_vol = ((0xFFF * Bandgap_Voltage) / adc_mgnts[(ADC_CH_BAND_GAP)].aver_data);
    

    温度传感器LM50计算温度

    上面的ADC转换得到电压值后,通过公式得到温度值。为了方便传输,并提高温度精度到0.01摄氏度,这里用到了modf函数提取double类型的整数部分,得到的结果除以100即是摄氏度。

    #include <math.h>
    #define TEMP_REAL_DATA_MULTIPLE_NUM 100
    
    /* get VDD volume value, unit is 0.01℃ */
    int get_temp_value_by_adc_data(double adc_data)
    {
    	double out;
    	double f;
    	double big_adc_data;
    	int vol_mV = 0;
    
    	/* T = (VO - 500 mV) / 10 mV/℃ */
    	big_adc_data = (((adc_data) - 500.0) / 10);
    	big_adc_data *= TEMP_REAL_DATA_MULTIPLE_NUM;
    
    	f = modf(big_adc_data, &out);
    	vol_mV = (int)out;
    #if (defined DEBUG_MSG) && (defined EN_ADC_COMPUTE_DEBUG)
    	printf("ADC: temp value fmod %e =%f, real out=%e(%d)"CRLF, adc_data, f, out, vol_mV);
    #endif
    
    	return vol_mV;
    }
    
    展开全文
  • STM32f103 ADC 电压转换 采集电压

    千次阅读 2019-12-12 11:21:54
    首先明确一个概念,嵌入式或者说单片机里进行ADC(数模)转化,所采集的数据一般是电流或电压,但绝大多数我们采集的只是电压值。 其实电子电路的取样电路存在电流取样和电压取样,...电路电压经过ADC转换后为一个...
    1. 首先明确一个概念,嵌入式或者说单片机里进行ADC(数模)转化,所采集的数据一般是电流或电压,但绝大多数我们采集的只是电压值。
      其实电子电路的取样电路存在电流取样和电压取样,如果想要直接采集电流,需要在采集端串联电阻,然后采集电阻两端电压,而且电流传感器采样范围也就几十毫安,一般需要放大器。
    2. STM32F103电压采集范围0~3.3V,最终是需要计算转化得到实际值。
      电路电压经过ADC转换后为一个12Bit的数字,要想看到实际的采集电压值,需要这么计算:
      (1)ADC是12bit,采集范围0~3.3V,也就是2^12(4096)对应3.3
      (2)(2^12)/3.3=X/Y X为12bit转换后数值,Y为实际电压。
    展开全文
  • ADC转换值和实际电压的关系

    千次阅读 2020-03-23 17:03:22
    1.首先确定ADC用几位表示,最大数值是多少。比如一个8位的ADC,最大值是0xFF,就是255。...3.要计算电压,就把你的ADC数值除以刚才确定的最大数值再乘以参考电压值。比如你ADC值为0x80,那么实际值就是0x80/(0xF...

    1.首先确定ADC用几位表示,最大数值是多少。比如一个8位的ADC,最大值是0xFF,就是255。
    (一般芯片手册会有说明)

    2.然后确定最大值时对应的参考电压值。一般而言最大值对应3.3V。这个你需要看这个芯片ADC模块的说明。寄存器中有对于输入信号参考电压的设置。

    3.要计算电压,就把你的ADC数值除以刚才确定的最大数值再乘以参考电压值。比如你ADC值为0x80,那么实际值就是0x80/(0xFF+1)*3.3V = 1.65V

    4.计算出来的电压值只是ADC管脚处的电压值。你可以用电压表量一下,计算值和实际值是否一样。

    原文链接:https://blog.csdn.net/chenliang0224/article/details/79960608

    展开全文
  • MCP3421高精度ADC转换

    万次阅读 多人点赞 2015-09-02 15:14:14
    一个项目的需求,使用的单片机型号为stm32f030f4,虽然单片机自带了12位ADC转换器,分辨率可以达到805.66uV(此型号没有内部参考电压,所以使用工作电压作为参考电压,所以精度值计算:3.3V除以2的12次方)。...
  • 典型DPD应用 ... 在斩波转换过程中,开关的电荷注入会引起电流尖峰,进而使施加于ADC输入端的电压产生方向不定(流入和/或流出)的下降或尖峰。压降与连接到ADC输入段的传感器的输出阻抗成比例。 平
  • 典型DPD应用 ... 在斩波转换过程中,开关的电荷注入会引起电流尖峰,进而使施加于ADC输入端的电压产生方向不定(流入和/或流出)的下降或尖峰。压降与连接到ADC输入段的传感器的输出阻抗成比例。
  • 使用DMA将ADC数据存放在内存中,然后计算对应的电压值。然后由串口1发送至上位机。 主要讲一下对于按键和串口的配置与之前都一样只是在按键的中断函数中添加了控制的内容,控制ADC转换开始和关闭,控制DMA的开启和...
  • ADC转换后的值推算还原实际测量电量 1.确定ADC用几位表示,最大数值是多少; 例如一个8位的ADC,最大值是0XFF,就是255 2.确定最大值时对应的参考电压值; 一般而言最大值对应5V,具体需参考芯片ADC模块的说明,...
  • 般可用于采集电压,将电压的模拟信号转换为数字信号,经过计算以获得肉眼可读的电压值。 图21-1(截自stm32f103参考手册) 图21-1为ADC的功能框图,下面将围绕这个框图进行解析。 电压输入范围 图21...
  • adc0809ADC+proteus电压采集数码管显示

    热门讨论 2011-11-24 11:42:30
    电压计算公式: Vout=Vin*(基准电压)/(2的N次方) *1000. 说明:Vout:是要显示的电压。 Vin :采集外部的电压,就是模拟电压,需要转换成数字电压的。 N : 几位AD就是几,比如0809是8位 他就是256. 1000 : 是...
  • 电压检测:对50Hz的正弦电压的正半波进行AD转换,要求半个周期内转换 50 个点的值,并求出50 个点的平均值和有效值,并通过LCD显示和通过串口传到PC机的串口助手上。 50HZ 20ms 10ms半波 半波一次性采集50个点 间隔...
  • 快捷计算ADC按键的电压值,以及转换成8位的ADC
  • 此文件是本人在实际项目中使用的文件: 使用方法如下 1、调用:I2C_Init() 初始化AD5612的引脚 2、输出想要的电压时:...宏定义计算方法:Vout/3*1024。比如想输出0.6V,那么宏定义=0.6/3*1024=204.8可以取204或者205
  • stm32 adc计算

    千次阅读 2015-02-28 12:19:26
    用STM32自带的ADC读取引脚电压值,读回来的数据怎么转换成单位为V的数值??? V(ADC) = Value(ADC) * V(ref)/4096(stm32的ADC是12位的,所以ad字的最大值是4096) 其中V(ADC)为算出的电压值;Value(ADC)为采集的...
  • STM32 AD采样电压计算公式

    千次阅读 2015-08-25 10:17:00
    在使用STM32的ADC进行检测电压时必须回涉及到电压值的计算,为了更高效率的获取电压,现在有以下三种方法: 你得到的结果是你当前AD引脚上的电压值相对于3.3V和4096转换成的数字.假如你得到的AD结果是ADC_DR这个...
  • 在使用ADC时,通常的用法是Vref+接电源VDD3.3V,然后计算时直接用3.3V做参考电压,但是这种方法忽略了一些情况如供电电压有可能随外部一些其他用电器工作使用的大电流而导致电压不稳定,还有可能LDO转换的精度个别较...
  • ADC0804数模转换

    千次阅读 2008-08-20 12:59:00
    原理:ADC0804是一个8位的数模转换芯片,转换时间为100us,输入电压的范围0~5V,增加某些外部电路后,输入模拟电压可以为+/-5V,芯片内部有数据锁存器,当与计算机连通之时,转换电路的输出可以直接连接到CPU数据总线上,无须...
  • 本题目本质上是以单片机为控制器,ADC0809为ADC器件的AD转换电路,设计要求的电压显示,是对ADC采集所得信号的进一步处理。 为得到可读的电压值,需根据ADC的原理,对采集所得的 信号进行计算,并显示在LED上。本...
  • 2、STM32的ADC主要技术指标涉及:分辨率、转换速度、参考电压范围 (1)分辨率 12位精度(分辨率)。不能直接测量负电压,所以没有符号位,即其最小化量程为Vref+/4096=0.00008 ①计算电压值 float型变量ADC_...
  • stc单片机的adc(模数转换器)的基准是基于基于供电电源电压的,这样就造成了一个问题,如果供电电压发生变化,adc读得的值也会发生变化,就出现了测不准的现象,所以大家普遍的用法就是在adc的一个通道外接一个电压...
  • 传统的测量方法是将模拟的正弦电压加到A/D转换器的输入端,然后测量转换器的数字化时域输出采样的频谱。  可以利用FFT来计算A/D转换器输出采样的频谱,但是为了改善频谱测量的灵敏度,必须将FFT频谱泄漏减到。但...
  • 下面简单介绍下,在单片机中AD检测热敏电阻电压值,然后转换成电阻值,求出当前的实际温度。 一、热敏电阻公式 NTC 热敏电阻温度计算公式:Rt = R *EXP(B*(1/T1-1/T2)) 其中,T1和T2指的是K度,即开尔文温度。 ...
  • adc0和adc1

    万次阅读 2019-10-01 01:20:22
    1 单片机里ADC是数模转换器:功能就是将模拟信号(电压0~5V)转换成数字信号 可以转换成8位数字量(即00H~FFH)也可以转换成10位、12位、16位的数字量。转换后的数字量与模拟量在数值上成正比。这样就可以把模拟信号...
  • 实际应用经常只会用到数据转换器...以0至10V的工业控制电压为例,如果我们只允许ADC量化10V的电压,那么,所有的下行设备必须限制在10V,否则将会丢失信息。因此,工业控制中通常留有5%甚至20%的裕量。  其他系统(例
  • 传统的测量方法是将模拟的正弦电压加到A/D转换器的输入端,然后测量转换器的数字化时域输出采样的频谱。  可以利用FFT来计算A/D转换器输出采样的频谱,但是为了改善频谱测量的灵敏度,必须将FFT频谱泄漏减到最小。...
  • 0、ADC基本概念 ADC,即analog to digital converter,模拟到数字的转换器,简称模数转换器。 为什么需要ADC?因为现实的世界中,电信号是连续的,...举个例子,当前的心电电压为1.2V(实际没有这么高),ADC可能会得
  • 例如,模/数转换器(ADC)根据基准电压设置其满量程输入电平。下文讨论了如何在初始精度和温度系数(tempco)之间进行折中,在保证满足系统精度的前提下拓宽电压基准的选择范围。下面介绍的计算方法可根据给定的初始精度...
  • 实际应用经常只会用到数据转换器...以0至10V的工业控制电压为例,如果我们只允许ADC量化最大10V的电压,那么,所有的下行设备必须限制在10V,否则将会丢失信息。因此,工业控制中通常留有5%甚至20%的裕量。  其他系统
  • 单片机笔记——ADC

    千次阅读 2018-07-26 10:17:56
    一个项目的需求,使用的单片机型号为stm32f030f4,虽然单片机自带了12位ADC转换器,分辨率可以达到805.66uV (此型号没有内部参考电压,所以使用工作电压作为参考电压,所以精度值计算:3.3V除以2的12次方)。...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 187
精华内容 74
关键字:

adc转换电压计算