Questions tagged «adc»

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

6
为什么数字示波器仍然如此昂贵?
我是爱好电子产品的初学者,我想知道为什么数字示波器仍然如此昂贵? 在廉价的GHz CPU,USB 3,ADSL调制解调器,DVB-S接收器,蓝光播放器等时代,它们都具有非凡的时钟频率/采样率,这让我想知道为什么数字示波器能够对带宽为10MHz仍然非常昂贵,100MHz已经是高端。 如何解释呢? ADC与上述设备之一与数字示波器的区别是什么?

7
如何使用ADC测量负电压?
我正在使用带有内置10位ADC的PIC微控制器,希望测量-1至-3V范围内的电压。 我曾想过要在反相模式下使用运算放大器,以使电压为正,然后将其馈送到微控制器的ADC,但是在这里,我必须使用负电源为运算放大器供电,对吗?我现在不想使用负电源,并且想知道是否有可能实现这种配置?你能帮忙吗?



6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 



5
用于测量高压直流电压(最高1000V)的电路
我是E&E的最后一年学生,我正在尝试构建一个功率计,该功率计必须能够测量相当高的DC电压,最高1000 V DC。我正在使用一个输入电压范围为0-2.5 V的简单12位ADC进行测量。一个简单的分压器和运算放大器缓冲器是否足以满足该应用的需要,或者是否需要另一种类型的前端模拟电路,因为电压这么高?


4
14位ADC的有效位数
我有一个14位ADC。但是,查看数据表(请参阅第5页的表2),有效位数(ENOB)始终小于12位。 为什么我的DAC仅具有12位精度时却声称自己是14位ADC?如果多余的两位毫无意义,那又有什么意义呢?
18 adc 

9
实时读取大量的模拟传感器
我正在尝试构建一个像吉他一样脖子的类MIDI控制器。在那个脖子上,有巨大的压力传感器矩阵。控制器将模拟3个字符串。 它的工作方式是:有3条长条状的双面铜带(宽度为0.5厘米,与脖子长一样),它们与电源(可能是3.3V或5V,暂时无关紧要)相连。在这些条带上是一层Velostat,可根据压力改变电阻率。在速凝器的顶部将是另一层连接到某物的铜带行或单元,其通过速凝器层吐出电压读数。由于脖子长约40厘米,因此将至少有80行。 如果您将底部的3条铜带想象成沿着脖子的图表列,则传感器将是单元格还是行,具体取决于测量方法(我认为一个人也可以多路复用这些列,然后有一些特殊条件可能会使此操作变得更容易:由于这是一个类似吉他的控制器,因此不需要测量每个交互!只有最接近控制器主体的触摸才重要。8位的分辨率也应该足够准确。255个压力水平可能仍然超出了需要。 现在的困难点: 测量必须足够实时,以检测锤击等。(不知道需要多高的采样率-为了获得良好的测量和可玩性,需要以几kHz的频率估算),并且控制器的数字输出应为MIDI(在3个单独的通道上-每个字符串一个)或可以用Raspberry Pi处理的数字信号。 现在,由于我的知识真的很有限,所以我想不出合适的工具来完成这项工作。我所知道的是:有可能。有一个相似但不同的控制器,它使用了非常相似的技术(我实际上对其进行了逆向工程,直到我注意到他们拥有专利,并且关于其操作方式的信息并不像我想的那样神秘),这称为ROLI海岸。 TL; DR: 大约240个传感器 可以分成80组,由同一条线路供电 这是一个实时应用程序,我需要从触摸的每个传感器获取压力(某些条件适用,请参见上文) 在此先感谢您,我知道这里有很多书。我很感谢您的任何建议,如果您能帮助我完成我打算制造的可怕混乱,我将非常高兴! 到目前为止,我想到的是: 多行和多行复用,使用MCP3008或更大的ADC读取每个单元并链接(菊花链或类似树的)ATmega,这只会将位置最低的交互作用推向最终信号,但是从我的计算来看,这可能会成为瓶颈通讯开销。还有一个较早的型号包括带状电位器,由于设计不好(多次尝试,效果还不够好),我已将其丢弃。 编辑/更新: 感谢到目前为止的好建议!多亏了他们,我现在能够更清楚地表达我的问题: 我有一个80行* 3列的压力传感器矩阵。当人与传感器矩阵进行交互时,附近的多个传感器将仅沿一列进行触摸。列是机械分离的。传感器的电阻介于100 Ohm和1 kOhm之间。所有这些传感器都需要以8位的深度进行读取,处理并以至少1 kHz的速率发送结果。因此,一次读取/处理所需的时间不到一毫秒。每列的最终输出需要为:对于float32为4个字节,对于uint8为1个字节。float32将指示沿该列的第一次互动的平均位置。交互被定义为压力高于某个阈值的连续传感器簇。这是处理混在一起的地方:色谱柱将向下移动,直到读数超过阈值。然后将其视为交互的开始。存储每个传感器的压力和位置,直到第一个传感器下降到阈值以下(最多(可能)有四个)连续传感器为止。从记录的交互的所有传感器中,将只处理两个传感器-读取最高压力(最低电阻)的传感器,而直接读取最高压力或最高压力的传感器。浮点位置是通过将两个传感器位置的压力加权平均后得出的。交互的总压力将只是两个夹在0和255之间的压力之和(将unit8的两个压力相加到uint16中并除以2而不舍入,丢弃不需要的位-这应该很快)。这需要在每一列上进行。然后将15字节大小的结果通过SPI发送到充当合成器的小型计算机(Raspberry Pi B3)。我对传输的方法没有兴趣。如果SPI不是适合该工作的工具,我愿意采用Raspberry Pi可以处理的任何通信方法。由于这是一种音乐互动应用程序,因此延迟至关重要。 我的确切问题是:可以用一个微控制器解决这个问题而又不会花很多钱吗?我买不起价值数百美元的集成电路用于一个业余项目。您会推荐什么硬件?我需要警惕一些非显而易见的警告吗? 到目前为止,我从答案中得出的方法是分别给每一列供电,然后用5个通过SPI连接到Arduino的16通道ADC(ADS7961)读出行。我担心这可能不是最简单/最便宜的方法,或者不够快而无法达到> 1 kHz的速率。 免责声明:在电气工程方面,我通常是一名理论化学家,并且是一名糟糕的业余爱好者,我所知道的一切都是自学成才的,并且没有任何专业背景(这又是我寻求知识渊博的人的帮助的原因)。我确实知道围绕软件的方式。关于软件的任何事情,我都会花足够的时间解决。另外,我是德国人,所以请原谅语法缺陷。

1
AVR 1.1V内部ADC参考过压
如果我对ADC使用内部1.1V基准电压,而我的模拟输入超过1.1V(比如说2.5V),这对我的微控制器有害吗?还是将ADC值简单地在1.1V时钳位(至0x3FF)? 为方便起见,我附上了ATMega328数据表的摘录框图。

6
如何读取微控制器上的高压?
我想使用微控制器读取高压,例如〜50V。我计划将此作为微控制器的A / D线的输入。但是,当然,您不应该在微控制器的输入端上施加如此高的电压,否则它将被炸掉。 我怎么读高压?最主要的是我需要在读取电压之前降低电压。降低该电压时需要考虑什么? 提前致谢! 编辑:我在PIC18数据表中注意到,它说“模拟源的最大建议阻抗为2.5 kOhms”。这对我如何降低电压(无论是采用电阻分压器等)如何产生影响?

2
通过模拟输入引脚选择4位总线地址:蒙特卡洛模拟显示重叠的地址值
我使用ATtiny44微控制器为硕士论文设计了一个小型传感器PCB 。我的应用程序需要约200个这些板,并且16个始终在本地连接至控制器板。整个网络如下所示: 为了在控制器和传感器板上进行通信,我编写了自己的1针总线(基于时序)。唯一的问题是,当我将其数据发送到控制器板上时,传感器板必须具有一个地址才能知道其在网络中的位置。 因为我在ATtiny上只剩下了1个引脚,所以我想到了一个基于跳线的DAC电路,该电路应根据四个跳线的设置生成一个模拟电压。由于传感器电路使用值(47、470、1k,3k,4k7、10k,100k和220k),并且我想针对生产进行优化,因此我使用了以下DAC值(基本上是100k,50k,20k和10k) )。根据跳线设置,这应该给我一个介于0 V和760 mV之间的不错的值。正是我需要使用ATtiny的内部1.1 V参考电压作为模拟电压读取的内容。启动时,ATtiny会读取该电压并应知道其位置。 模拟此电路 –使用CircuitLab创建的原理图 从理论上讲,这很好。考虑电阻的公差时,我什至在LTspice中进行了蒙特卡洛分析,以确认没有重叠区域(所有电阻均为1%BTW)。您可以在下面找到此分析的图片。 现在,我生产了几块(幸运的是不是200块)这些板,但是有些板未能正确读取其地址(特别是在所有容差立即发挥作用的较高地址区域)。我测量了所有可能的解决方案,最后找出了我的问题。我最初的分析不包括5 V电源电压的容差,该电压是在每个控制器板上通过MC7805从12 V本地产生的。根据数据表,MC7805的输出电压在4.8至5.2 V之间。 在弄清楚这一点之后,我修改了蒙特卡洛分析。现在看起来像这样: 如您所见,有很多重叠的区域,我不能肯定地说这个电压只能表示这个地址。基本上所有的地址都以no开头。8可能会得到错误的读数(对于更高的地址,错误读数的可能性更高)。 我不喜欢比已经使用上板(作为论文我想优化生产)的一个添加不同的电阻值。 我不喜欢加电压参考(例如,齐纳二极管)喂DAC电阻网络。 我不能再修改控制板(并在那里使用更精确的稳压器)。 我仍然可以修改PCB设计/传感器板的原理图! 如何确保始终获得正确的地址读数(通过程序或通过更改电路)?

2
PSoC的混合信号PCB布局
我正在为模拟感测应用开发PCB。它在PSoC3上使用内部ADC。像往常一样,该应用程序是非常受限(11毫米X21毫米)的空间,所以我不得不让我在其中不会有较大的PCB上完成的PCB布局一些妥协。 该电路板由6v稳压电源供电,并包含两个5v线性稳压器。一个MCP1702为数字电源,以及MIC5205为模拟电源。该开发板正在检测五个A1324霍尔效应传感器。每个霍尔效应输出信号均由100nF + 1k RC滤波器滤波。一个传感器位于PCB本身(右下)。另外4个插入右侧的6针连接器。 该芯片充当SPI从设备,但ADC采样始终在 SPI事务之间进行,因此SPI不应干扰模拟信号。 可悲的是,我仍然在模拟信号上看到一些噪声(12位时约为1.5 LSB),我想知道是否可以做一些其他的事情来改善它。 请在新标签页中打开图片,以更高的分辨率查看图片。 添加: 我使用MCP3208完成的其他PCB设计以及相同的双5v电源,相同的传感器和相同的RC滤波器在12位时都没有产生明显的噪声。 PSoC3上的ADC是delta sigma类型。PSoC的此版本限于12位,但另一个部件号具有16位ADC(尽管采样率较低)。 我确实很在意这种噪音,真的很想将其进一步推向12 ENOB。原因不是精度,而是速度测量。当前,这种噪声水平使得无法在机器人上进行精确的位置和速度控制。 添加: 示意图。抱歉,这有点局促,但是您只能读取值。

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.