Questions tagged «adc»

ADC是模数转换器。该设备将模拟信号转换为数字形式。数字电路主要使用它进行模拟测量。

3
Arduino Nano:使用模拟输入测量微小电压
我需要使用Arduino Nano上的10位ADC尽可能准确地测量0v至40mV 。我每秒只需要一个样本。 我计划将AREF引脚保持在高于地面40mV的位置,适当屏蔽所有物体,在硬件和软件中使用低通滤波器,并使用适当平滑的电源。 我可能会获得哪种精度? 我还能做些什么来提高准确性?
9 arduino  adc 

2
使用Analog In测量Arduino的电源电压
我使用5v电池(升压模块为3.7v)为Arduino供电,我需要测量电压。假设电池提供大电流,通过模拟输入测量电压安全吗?像这样: 我问的原因是,我对Arduino的ADC体系结构和局限性了解不多。因此通常,出于安全考虑,我会这样做: 第一张图中的连接对ADC安全吗?提前致谢! 注意:此处也提出了类似的问题:(Monitor DC Power Usage),但是它不能回答电池上高电流负载的问题。

1
用合成的ROM内核模拟一个简单的测试台
我对FPGA领域是一个全新的领域,并认为我将从一个非常简单的项目开始:一个4位7段解码器。我纯粹用VHDL编写的第一个版本(基本上是单个组合select,不需要时钟),并且似乎可以使用,但我也想尝试使用Xilinx ISE中的“ IP内核”功能。 因此,现在我正在使用“ ISE Project Explorer” GUI,并使用ROM内核创建了一个新项目。生成的VHDL代码为: LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- synthesis translate_off LIBRARY XilinxCoreLib; -- synthesis translate_on ENTITY SSROM IS PORT ( clka : IN STD_LOGIC; addra : IN STD_LOGIC_VECTOR(3 DOWNTO 0); douta : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END SSROM; ARCHITECTURE SSROM_a OF SSROM IS -- …

2
Arduino在断开的引脚中具有输入值
我是arduino的新手。也许是一个基本问题... 如果我加载此程序: int mval = 0; void setup() { Serial.begin(9600); // set up the LCD's number of columns and rows: } void loop() { mval = analogRead(1); Serial.println(mval); delay(1000); } 我得到的值在300到400之间变化。当我认为该值必须为0时,表示该输入没有任何连接。 有任何想法吗??这是通过USB连接到我的笔记本电脑的arduino UNO

2
蓝牙简单示波器
我当时正在考虑制造一个简单的示波器,它可以测量至少2MHz的信号,这就足够了,它可以连接到PC或Android设备。首先,我努力使用USB将“示波器”连接到PC或具有Android USB主机功能的设备,这将为我提供大约12Mbps的传输速度,但我想用蓝牙或其他射频方式来实现。我说的是一些Bluetooth-UART模块,它们能够实现2Mbps的传输速度,而Wi-Fi模块的速度仅为300Kbps。我有一个512K RAM内存,用于缓冲来自12MSPS ADC的样本,因此以2Mbps的速度需要: 512000 ķ b ÿŤ Ë 小号2000000 中号 b p s / 8 b i t s= 2.048 小号È Ç Ò Ñ ds512000 ķbÿŤËs2000000 中号bps/8b一世Ťs=2.048sËCØñds\frac{512000\ Kbytes}{2000000\ Mbps/8bits} = 2.048 seconds 因此,我将丢失2秒的采样,直到我通过蓝牙发送了所有512K缓冲区。通过USB大约是330mS,我认为太多了。有什么办法可以避免这种情况?USB示波器如何工作?

4
感应直流电动机电流
我允许通过直流电动机的电流流过一个小的电阻器,并测量其两端的电压。我需要将此模拟电压提供给微控制器的ADC进行一些信号处理。我的问题是,微控制器在隔离电源上运行,要检测的电压在非隔离侧。我觉得使用模拟隔离器不是一个好的解决方案。一种解决方案是在非隔离侧使用外部ADC并以数字方式隔离ADC输出,但是当电动机沿其他方向运行时,该ADC不能承受负电压。请帮忙。

5
可变条件下用于噪声传感器的高分辨率ADC
介绍 为了回答有关自适应放大器的问题,建议为了处理可变条件,简单地使用分辨率更高的ADC可能更经济,这样我就不必担心放大问题,并且可以进行缩放在软件中。 总览 我正在尝试为基于人体的纺织品拉伸传感器设计一个数据采集电路。因为它的拉伸(约1个数量级,10K的纺织品而变化电阻 -100K与30%的拉伸)。确切的范围会有所不同,具体取决于纺织品的切割方式,是否被汗水浸湿,温度,材料的年龄,安装的方式等。整个物品必须尽可能小,因为它是安装在手上的,因此尽量减少组件数量是一大优势。ΩΩ\OmegaΩΩ\Omega 而且,我希望该电路可用于性能可能较差的其他应用程序。举例来说,如果我用纺织品的廉价版,我的电阻范围可以是坏的为100 300。ΩΩ\OmegaΩΩ\Omega 信号路径 [纺织品]-> [惠斯通电桥]-> [低通]-> [仪表放大器]-> [ADC]-> [AVR] 要求 因此,我正在寻找一种满足我要求的ADC。ADC应为: 16位以上 尽可能易于使用:如果已经为AVR / Arduino编写了接口代码,那就更好了…… ...同时尽可能全面:我已经看到一些带有低通滤波器和内置PGA的ADC –只要不使配置麻烦就更好 8个以上的通道,或者如果很容易实现,则为2个4个以上的通道。编辑:如果我正在使用惠斯通电桥,也许我想要8个差分输入通道(所以16个通道)... 我认为工作电压无关紧要...(最好不高于5V) 表面贴装 不需要便宜(一次性) 我认为SPI与I2C无关... 100+赫兹 研究 到目前为止,通过Google搜索,我发现了以下芯片: 线性器件提供各种16-24位delta sigma ADC,我见过其中一些推荐:http ://parametric.linear.com/html/no_latency_delta_sigma_adcs?p=5312974 Microchip提供了一系列选项,我推荐了其中的一些选项:http : //www.microchip.com/ParamChartSearch/chart.aspx? branchID=11022&mid =10& lang=en&pageId= 79 模拟设备具有许多具有放大器和滤波器的综合数据采集芯片(无需外部信号处理工具): http://www.analog.com/cn/analog-to-digital-converters/ad-converters/ad7783/products/product.html http://www.analog.com/cn/analog-to-digital-converters/ad-converters/ad7715/products/product.html http://www.analog.com/cn/analog-to-digital-converters/ad-converters/ad7709/products/product.html 我还没有看过TI芯片... 以及以下教程: http://arduino.cc/blog/2010/11/29/tired-of-a-10-bit-res-hook-up-a-better-analog-to-digital-converter/(LTC2400) http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1275676171(TI ADS8341) …
9 sensor  adc 

1
使用光电二极管和ADC测量光水平
我正在尝试使用光电二极管通过ATMega168上的ADC测量光水平。我已经使微控制器代码正常工作(测量引脚上的值并将其报告为led亮度),但是我无法让光电二极管报告取决于照明水平的电压。 我看到我可以用一个运放(在此处)完成此操作,但我希望能够在没有运放的情况下做到这一点。我有一个5伏的电源,我想使光电二极管吐出0到5伏之间的值。是否可以使用不需要狡猾的放大器的狡猾电路?我问这个问题是因为我想知道如何为此目的使用光电二极管(我不想使用LDR)。谢谢! 编辑 哦,是的,这是我正在使用的光电二极管的数据表。

2
PIC12F675 GP4不起作用
我正在为一个项目使用PIC12F675,除一件事情外,其他所有东西都工作正常。GP4不能用作数字IO。我已经看了很多配置和代码,但是找不到任何东西。 配置: #pragma config FOSC = INTRCCLK #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config MCLRE = OFF #pragma config BOREN = ON #pragma config CP = OFF #pragma config CPD = OFF 码: #include <xc.h> #include <math.h> #include "config.h" #define _XTAL_FREQ 4000000 void delay(unsigned int …
9 pic  c  embedded  programming  audio  oscillator  spark  dc-dc-converter  boost  charge-pump  eagle  analog  battery-charging  failure  humidity  hard-drive  power-supply  battery-charging  charger  solar-energy  solar-charge-controller  pcb  eagle  arduino  voltage  power-supply  usb  charger  power-delivery  resistors  led-strip  series  usb  bootloader  transceiver  digital-logic  integrated-circuit  ram  transistors  led  raspberry-pi  driver  altium  usb  transceiver  piezoelectricity  adc  psoc  arduino  analog  pwm  raspberry-pi  converter  transformer  switch-mode-power-supply  power-electronics  dc-dc-converter  phase-shift  analog  comparator  phototransistor  safety  grounding  current  circuit-protection  rcd  batteries  current  battery-operated  power-consumption  power-electronics  bridge-rectifier  full-bridge  ethernet  resistance  mosfet  ltspice  mosfet-driver  ftdi  synchronous  fifo  microcontroller  avr  atmega  atmega328p  verilog  error  modelsim  power-supply  solar-cell  usb-pd  i2c  uart 

4
STM32 ADC噪声2
我刚刚用STM32F2测试了我的第二个设计,现在是STM32F207ZFT6,ADC的性能与我的第一个应用程序相同-ADC中的强噪声。 未连接任何信号的电流输入噪声: 注意:在上面的信号图中,垂直轴是ADC位而不是伏特!不要被它的图例“ [V]”所迷惑,在本测试中,我们使用经过修改的程序来查看粗略的ADC数据。 即使CPU模拟引脚短路到GND,也会出现相同的噪声,如下所示: 我认为,采样信号中存在超过30 LSB的永久性峰值,甚至更多,尽管它们不应超过5-10 LSB。 另一个细节: 2面PCB,在底面上还有其他连接,但大多数连接是GND信号-数字和模拟通用,模拟地没有分开。由于电路板的功耗极小,低于100 mA,因此我认为它不会引起此类噪声。 参考电压VREF 3.3V由运算放大器缓冲,被100nF和钽电容并联10uF阻断,与VREF / 2相同;每个处理器电源引脚均被100nF电容阻塞 在我们较旧的应用程序中,我们使用了相同的设计概念,但是所使用的处理器是AduC834。它也有12位ADC,信号噪声只有几个LSB,没有问题。主要区别在于使用了AduC的内部参考电压,没有外部参考电压 我们已经测试过将处理器模拟接地引脚与板的公共GND断开连接,并用额外的导线将其直接连接到参考电压VREF接地,没有影响 它是三相网络测量设备,有3个模拟电压通道和3个电流通道,带有可切换的增益前置放大器。CPU振荡器为25 MHz,内部时钟为PLL的120 MHz,ADC时钟为30 MHz(符合技术规格),我们已经测试过将主内部时钟(因此也包括所有辅助时钟)降低到四分之一,但没有任何影响 ADC周期性地采样输入信号,每50 Hz网络周期进行128次转换,即每156微秒。结果通过DMA传输到内部RAM中;来自RAM的数据通过绝缘的RS485(在另一块板上)传输,并在我们的程序中可视化。我们试图将转换时间延长到最大,但没有效果 除CPU外,只有3个opam,2个模拟开关,I2C温度计和3个ULN开关(测试期间未使用),由线性LF33稳定器供电,通常由另一块板上的开关提供的5V DC供电,但是在测试过程中,开关为断开连接,LF33由清晰的实验室5V直流电源供电。我敢肯定,除了处理器振荡器以外,其他都无法在板上振荡。 用示波器检查信号没有决定性的结果,信号太弱 有这个处理器系列ADC性能经验的人吗? 关于信号强度:即使模拟输入短路,在示波器上我也会看到5-10 mV(峰对峰)的噪声-用同轴电缆测得,该接地电缆的最小接地线焊接到板上。使用标准探头时,噪声可能大约是接地不良的两倍(一般的EMC噪声?)。 这是我的董事会的形象: 和董事会的底部: 如上所述,即使信号接地,ADC转换后的数据中仍然存在约30 LSB的噪声。
9 adc  noise  stm32 

10
您为什么不能仅对ADC样本取平均值以从ADC获得更高的分辨率?
我试图从我的Arduino ADC中获得10位以上的精度,但是我无法真正弄清其背后的理论。经常引用的Atmel应用说明(http://www.atmel.com/Images/doc8003.pdf)指出: 重要的是要记住,正常平均不会增加转换的分辨率。抽取或插值是求平均的方法,结合过采样可以提高分辨率 然后他们提出的“抽取”建议是移动小数点。这相当于将移动的每个位置的二进制读数减半,因此您最好将基数10的值除以2或4或8或除以已有的值。我了解抽取错误吗?
8 arduino  adc 

1
ADC上的DNL,INL和ENOB异常差
我目前正在尝试表征MCU及其外围设备,尤其是板载ADC。但是,运行常规测试程序(即,对于ENOB为正弦波,对于DNL和INL为锯齿波),我发现结果相当差。长话短说,ADC“是” 12位-意味着人们期望其中有大约10位的分辨率。但是,无论我如何尝试,ENOB似乎都稳定在8.5位左右。与DNL和INL相似-我获得的最佳结果是对信号进行64次过采样时。第44页的数据手册确实说过,人们可能希望DNL约为±3 LSB-但是,这就是我超采样时得到的。原始信号的峰值约为7 LSB。到目前为止,我尝试了一些操作: 在ADC输入和地之间接一个10 nF的电容(在某种程度上确实起作用-如果没有ENOB为7.5) 对4倍,8倍和其他一些像素进行过采样,最高可达256倍。就像人们可能期望的那样,这也改善了结果,尽管效果并不明显。较大的过采样会产生更好的结果,而4倍几乎等于没有过采样。 降低ADC模块时钟并增加采样窗口。这些都不是特别有效。增大采样窗口对ENOB和DNL的影响很小。放慢时钟时间并没有任何效果。 同样,使用外部或内部引用似乎也不会产生效果,尽管我没有对外部引用进行大量实验-也许这是下一个要考虑的问题。对有一天可能阅读的人的参考文献进行小的编辑 - 在我的情况下使用外部参考文献会产生较差的结果。换句话说,我的MCU上的内部参考似乎更准确-或外部参考不如我预期的好。 现在的问题是,在什么时候可以接受ADC质量低劣或某种程度上受到损坏?我可以尝试其他哪些测试来改善ADC特性。请注意,我使用函数发生器生成输入信号。在这一点上,我只是被卡住了-即用尽了论坛线程 来 阅读 -我将非常感谢任何建议。

3
电池的电压和电流测量单端还是差分?
我正在尝试为电池充电/监视项目测量电池的电流和电压。我已经阅读了所有有关电流感应(包括高端和低端感应)的信息。而且我决定使用分流电阻器进行电流测量,因为与其他电流测量设备相比,它们更精确。我的电池将是锂离子电池,并且该电池支架的最大额定值为(4.3V,40A)。 但是,我对如何使用ADC测量电压和电流感到困惑,即应该单端还是差分测量。下面给出了我的电路的非常粗略的草图。(该ADC将与微控制器接口) 可以将电池连接到降压转换器以进行充电。并且ADC也可以看到。 (请注意,我的草图可能不准确,但我的意思是我在此处和图中写的所有内容) 我的想法是,如果我尝试以这种方式测量电池的电压和电流(如下图所示),我的电压将是差分的(因为电池的负极端子未直接接地,因此两者之间存在分流)必须将其馈入差分输入ADC,而由于分流器的一条腿接地,因此要最终测量电流。 如果我尝试以这种方式测量电池的电压和电流(如下图所示),我的电压将被单端终止(因为电池的负极端子直接接地),并且我的电流测量必须进行差分处理(因为我的分流器位于电源和电池之间)。 现在,我不是ADC方面的专家,但据我所知(如果有ADC数据手册),如果ADC同时具有单端和差分端输入,我们可以将其用作单端输入ADC 或可以使用它作为差分端输入ADC。这意味着我们不能同时将其用作单输入和差分输入。 这使我想到了我的问题。有什么解决方案?我是否应该使用2个不同的ADC,一个用于单端输入,另一个用于差分端输入? 还是我可以差分方式测量电流和电压,然后将它们都馈入配置为差分端输入ADC的单个ADC?PS我不希望使用单端到差分端的AMP,因为我应该以尽可能高的精度来测量这些量,而引入这样的AMP会降低系统的测量精度。 因此,剩下的问题是,我是否可以差分地测量两个量?如下图所示,它只是将电压测量连接馈入差分端输入ADC的“ +”和“-”输入。由于在这种情况下电池的负极端子将处于接地电位,因此可以将其馈入差分输入ADC的“-”端子吗?(由于我在电子领域没有太多知识,所以我不知道这是否可能,或者我在这里问的完全是愚蠢的) 您的宝贵评论将不胜感激, 谢谢。 谢谢。

1
使用ADC测量PIC自己的VDD-in电压
处理器:PIC18F66K22 编译器:C18(XC8也可以) 我刚刚编写(并成功测试)代码以测量AN4模拟引脚上的电压。 现在,我想尝试其他方法,不确定在理论上是否可行。 我的测试板上有一个PIC处理器,其VDD,AVVD连接到电源(范围从0(如果电池为空/已断开)到4,2(充满电)。 我可以使用ADC测量电路板的VDD(-in)吗? 为什么不?: 它不是ANx引脚,不确定如何使ADC测量它吗?(渠道?) 如果VDD(-in)上的电压下降,我的ADC参考电压也会下降吗?(因此,当我的PIC仅获得3.3V电压时,ADC仍会说它是100%(作为芯片上的最大电压,参考电压也是3.3V)。 你为什么/问什么? 我可以测量通道30(VDDCORE)吗? 我可以将Vref设置为Vdd并使用A / D转换器测量精密基准电压吗?(不确定如何) 或者我可以添加一条从VDD-in到ANx引脚的导线? 当VDD-in约为3,4V时,内部VREF +(4.096V)会保持4 + V吗?有某种转化器可以做到吗? 内部VREF +(4.096V)低于电池的最高电压(4.2V),这是否意味着我会损坏ADC?或仅当电池充满时,结果将达到最大值。(4,096V中的4,2V) 请注意,我对电子学的知识是“低”的。我在学习过程中已经了解了更多有关软件部分的方法,但是我想了解更多有关(嵌入式)电子产品的信息,因为它是嵌入式工程中的关键部分。(可悲的是我的学校怎么没看到这个。)
8 pic  adc 

5
区别:低通滤波器和大电容器?
与微控制器一起使用时,建议在电源引脚和接地之间放置滤波/去耦电容器。我了解这种实现方式的目的,即电容器两端的电压不能瞬时变化,但是单个电容器与低通滤波器之间的显着区别是什么? These are not calculated values; I inserted this just as an illustration. 模拟此电路 –使用CircuitLab创建的原理图 例如,如果我想为我的ADC参考电压提供一个干净的电源来比较输入电压,则可以实现一个低通滤波器以抑制高频波动,或者简单地插入一个适当尺寸的电容器。 我立即想到的是,单个电容器的初始电流需求可能会瞬间超过MCU的最大额定值,但是如果使用电阻器,则该电流将受到限制。使用LPF(带有电阻器)是否可以设计成滤波器的输出阻抗无限大而不给ADC负载?类似地,仅电容器就可以提供足够的电压滤波,但是会不会导致低输出阻抗? 每种过滤实现的利弊是什么,设计人员何时应使用一个或另一个? 还有其他想法吗?
8 adc  filter  low-pass 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.