超越分压器的Arduino模拟输入的标定电压


16

我最近建立了一些光纤弯曲传感器,我想通过Arduino将它们获得的值读取到计算机中。我测量与光这个光电二极管工业光纤。目前,我在另一端提供LED以及2.2V的光电二极管。我的问题与以下事实有关:用万用表在光电二极管上测得的电压波动是线性的,但随着光纤变形(甚至是非常剧烈的变形)而很小。在光纤笔直的情况下,取决于光纤(很难对它们进行相同的评分),电压会徘徊在1.92V左右,弯曲时它将上升至1.93-1.94V。我不担心在软件上可以扩展到相同的电压。

我担心的是在使用Arduino进行A / D时会丢失分辨率。如果我的电压波动在10mV左右,即使我使用分压器将电压提高到5V,Arduino的10位A / D也不会量化它吗?我正在寻找的是模拟缩放器。如何扩展1.92和1.94之间的范围以覆盖从0V到5V的整个范围,以便可以利用Arduino A / D的整个范围?

我觉得这必须在电子产品中很常见,但是我从来没有正式研究过,所以很多事情对我来说是迷路的。

(您可能会像davr一样在想:“为什么要使用光纤进行弯曲感应?为什么在弯曲光纤时会期望电压发生变化?”诀窍是卸下光纤电缆一侧的包层。当电缆弯曲离开刻痕时,更多的光从电缆中射出,导致接收器中的电压下降,反之亦然。)


您愿意显示接收器的示意图吗?您是否提供1.9 V的偏置电压?
endolith

如果您是说接收器的原理图,我链接到上面的数据表。再次出现:i-fiberoptics.com/pdf/IFD91.pdf如果您是说如何将其连接起来,则可以在照片中看到。接收器是黑色的。我通过红线给它提供2.2V(尽管在照片中它是一块锂离子电池),并带有橙色点,使其到达接收器的侧面,并且我正在测量接地电阻两端的电压另一边。
露台

Answers:


11

因此,如果我理解正确,您是否希望能够在1.9V信号之上“读取” 10 mV的变化?

如果是这样,那么我建议两个单独的阶段。第一个将是光电二极管放大器(第9页是最标准的电路)。这将有助于将来自光电二极管的电流转换为电压。

第二阶段将是仪器放大器,例如德州仪器(TI)的INA系列(最好的,但也可能很昂贵)。这将有助于消除您的“共模”信号(在这种情况下为1.9 V)。您还可以在仪表放大器中增加增益,或者在同相端最后添加一个简单的运算放大器以帮助增益。您的信号达到必要的5V。

我并不是说这将是完美的,但是我认为这是一个好的开始。

最后一点,我喜欢戴维关于钳位的想法,即使这些钳位会在A / D转换器上造成一些测量误差。不过,更重要的是,如果可以摆放它,请尝试使用比741更好的运放。这很常见,但规格很糟糕。输入端子上3或4 mV的失调电压确实会弄乱一个小的信号,就像您要测量的那样。

〜克里斯·加梅尔


1
您不需要仪表放大器。一个简单的差分放大器就可以了。不过,您需要恒定的1.9 V电源作为参考。我猜想像这样的东西已经存在于电路中,作为传感器的偏置。绘制原理图会有所帮助。同样,在消除偏置之后,您需要重新添加另一个偏置,以使其在ADC的0至5 V范围之间。
endolith

1
我同意您不需要一个,但这是一个好主意。仪表放大器只是一个在其之前具有缓冲器的差分放大器(有时会增加电阻器来获得增益)。如果您仅使用差分放大器,那么您将受到差分放大器中电阻器的支配。有时低至1K。如果他正在尝试测量某些东西,那么高阻抗(来自iAmp的缓冲器)确实可以帮上忙(即没有电流流入测量设备)。
克里斯·加梅尔

12

从这个意义上讲,信号调理是非常普遍的。您想使用一个放大器,以使10mV的范围跨度(例如)arduino的整个0-5V范围。这可以使用运算放大器(例如LM741)来完成。您可能还想在信号调节器/ ADC的输入上使用“电压钳”(例如:两个齐纳二极管),以确保该值不超过5V。如果您在线浏览运算放大器的数据表和/或信号调理电路,则应找到有关所需内容的指南。


4

建议您看一下差分PGA(可编程增益放大器)和DAC的组合,传感器输出进入“ +”输入,而DAC进入“-”输入。(或者集成的东西可以为您提供等效的功能。)基本上,请查看低增益信号,找出其偏移量,然后将该电压施加到DAC上,然后提高增益。

TI的PGA308看起来可能是一个不错的解决方案。

如果您想要一个较便宜的解决方案,请再次使用固定增益差分放大器(标准的4电阻+运算放大器)+稳定,安静的8位DAC(稳定性/噪声特性比精度更重要)。差动放大器的“ +”输入上的传感器输出和“-”输入上的DAC输出。

读者的练习:表明您可以通过使用带有DAC的二进制搜索技术并确保增益不大于G1 =满量程ADC输入电压,来使差分放大器输出脱离饱和并进入线性范围,除以DAC标称步长和DNL(差分非线性)之和。我可能会使用(G1 / 2)和G2中较小的一个,其中G2 =满量程ADC输入电压除以您关心的传感器输出电压范围。


在目前的时间限制下,目前对我来说太雄心勃勃了,但感谢您的建议。我很高兴能进一步为将来的原型开发模拟信号调理。
露台

为什么需要DAC?您只是在生成直流偏移吗?这似乎太过分了。
endolith

是的 DAC的前提是必须在很大范围内更改DC偏移。如果您的系统电压仅在一个狭窄的范围内(假设您已经正确进行了公差分析),那么电阻分压器和基准电压源就足以产生失调电压。或者稍微复杂一点,就是一个电阻网络+多路复用器(某些DAC是这样)。如果您不需要超高速或超高分辨率,那么DAC并不是真正复杂或昂贵的设备。
詹森·S

3

使用光纤作为弯曲传感器可能不是一个不错的选择,难道光纤的全部目的都不是让您轻松地将光弯曲到拐角处而损失最小吗?


2
是的,但是如果您剥去外套并用剃须刀轻轻刮掉一侧上的包层,则弯曲光纤时所通过的光量会有所不同。一个不错的功能是您会收到双向信号。如果弯曲远离得分,则较少的光线通过,如果弯曲,则更多的光线通过。您将不得不使用两个传统的弯曲传感器来实现这一点。他们看起来也很酷。
露台

2

您需要做两件事:使用差分输入与1.9v标准(或接近1.9v)标准进行比较,以及使用放大器来提高该差分的分辨率。

为了获得最佳结果,您应该使用外部高质量仪表放大器或运算放大器。但是您可以尝试使用微控制器内置的功能。Arduino Mega(ATMega2560芯片)和Arduino Leonardo都在芯片上提供了用于ADC的差分放大输入的选项。(Uno没有这个)。ATMega2560可以对多个传感器进行放大差分ADC的多个通道(多路复用)-阅读数据表以查看可能的引脚组合。它具有200倍的放大选项,这将使整个1024步分辨率达到25 mv。您只需要将25 mV窗口放置在需要的位置即可!

对于您的目的而言,这可能没有噪声,也可能没有噪声-它的质量不如您可以在外部以更高的美元建造的质量。

比较困难的部分可能是获得稳定而准确的1.9v参考。


来这里说这个。+1!
尼克·约翰逊
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.