×

设计基于Arduino的自动测量系统

消耗积分:2 | 格式:zip | 大小:0.14 MB | 2022-11-07

张文

分享资料个

描述

目标:设计基于 Arduino 的自动测量系统,可以测量范围内的电压和电流(可变)

[在这种特定情况下:{-500mV...+500mV},{-5V...+5V}]。

它会自动选择适当的范围并重新连接 AMS 的适当元件(以使用 Arduino ADC 实现最佳精度)

AMS 必须抓取一个要测量至少 5 次的值,并呈现平均值及其标准偏差 平均值和变化是使用相关单位在串行监视器上呈现的,并且必须每 5 秒更新一次。

必须足够了解 sqrt 操作相对于时间而言是昂贵的 - 因此我将在这里计算平方 STR(标准偏差)。

系统块:

块号 1:2 个输入缓冲器和一个差分放大器

 

pYYBAGNkeCiAXJMwAAELO-bUfo8188.png
 

这是我们的系统输入,两个输入信号通过缓冲器输入(对于大输入阻抗),然后是差分放大器

输出电压:V+ - V-

蓝线代表 V+,灰线代表 V- 电压。

 

pYYBAGNkeCqAaAw_AAASBMJrALE769.png
 

 

我们如何为差分放大器选择电阻:

我们想要获得 Vout=V+-V-,因此我们以下列方式选择我们的电阻器:

R1=R2=R3=R4=500[kΩ]。

我们将差分放大器输出连接到缓冲器以保持其电压。

笔记:

该模块中的所有运算放大器都具有 ±5[V] 电源电压。

为了实现 ±5[V],我们使用了两个电源,如下图所示:

 

 

poYBAGNkeCyAQwdKAAASMWYcOYw992.png
 

 

 

模块 2:±5[V] 范围的求和放大器

 

pYYBAGNkeDGAYsOtAACGtObZgWg213.png
 

该模块的工作是将 {-5[V]…+5[V]} 范围内的差分电压转换为 {0[V]…5[V]}。

我们需要进行这种转换,因为 Arduino 不能插入负电压。

该放大器的输出函数必须为 Vout=(5[V]+Vin)/2

为了做这个转换。

 

poYBAGNkeDOAR-F_AAAk56TgU8M825.png
 

 

我们如何为差分放大器选择电阻:

输入为 V1 和 V2,V2=5[V],V1=Vin(这是输出

从前一个块 1) 因此为了得到

放大器输出功能我们相应地选择了电阻。

RA=100[Ω],RB=500[kΩ],R1=R2=500[kΩ]。

在我们选择所有这些电阻之后,我们会收到以下输出

功能:

Vout=(5[V]+Vin)/2

因为 RB<

 

块号 3:带缓冲器的 ±500[mV] 范围的求和放大器

 

pYYBAGNkeDaAFzwJAADNjWA9VQ8348.png
 

该模块的工作是将 {500[mV]…+500[mV]} 范围内的差分电压转换为 {0[V]…500[mV]}。

该放大器的输出函数必须为 Vout=(500[mV]+Vin)/2 *10

为了做这个转换。

我们使用了分压器和缓冲器,因此分压器的点进入运算放大器的非反相输入端。所有这些都是为了保持我们需要这个功能的 500[mV] 电压。

我们如何为差分放大器选择电阻:

输入为 V1 和 V2,V2=500[mV],V1=Vin(这是输出

从前一个块 1) 因此为了得到

放大器输出功能我们相应地选择了电阻。

RA=450[kΩ],RB=50[kΩ],R1=R2=500[kΩ]。

在我们选择所有这些电阻之后,我们会收到以下输出

功能:

Vout=(500[mV]+Vin)/2 *10

注1 :1+RA/RB = 10,我们正在与之相乘。

注2 :对于上一张幻灯片中提到的分压器,我们使用了如下图所示的电阻:

 

poYBAGNkeDiASdgtAAALFnfvqcQ491.png
 

 

模块 4:差压整流器

 

pYYBAGNkeD-AeEwAAADIi5KiQ0M064.png
 

 

为什么我们仍然使用整流器?:

该模块用于下一个模块(模块 5)。该模块的输出是比较器 OA 非反相输入的输入。

 

poYBAGNkeEGAcvIZAAAbC5m3u-k545.png
 

 

我们通过以下方式实现了上述电路:

当我们的输入信号(从块号 1 输出)大于 0 时,A1 放大器充当缓冲器。

A2放大器的两个输入端与输入信号电位相同,所以A2实际上输出的是正信号。

当信号小于0时,A1的输出等于0[V],A2将输入信号反相。

总体结果是输入信号的绝对值。

该模块中使用的所有电阻器都等于 R=500[kΩ]。

 

块号 5:带继电器的Comperator OA

 

pYYBAGNkeEOAFSgpAABp7pzMJ1M322.png
 

V+ 中的比较器输入是前一个模块 4 的整流差分输出电压。

在 V- 上,我们从第 3 块提到的缓冲放大器中得到 500[mV]。

我们可以从中选择两个范围:{-5[V]…+5[V]},{-500[mV]…+500[mV]}。

如果差分电压的绝对值大于 500[mV],继电器将输出处理此电压范围的模块 2 的输出。

如果差分电压的绝对值小于 500[mV],继电器将输出块 3 的输出。

继电器输出(绿线)连接到 A0,橙色线连接到引脚 2。

 

系统流程图:

 

pYYBAGNkeEaAKn5UAAAiAxasZTk133.png
 

 

一些证明系统阻抗非常高的证据:

 

poYBAGNkeEmAf6J5AAEFijcy1Dw283.png
 

在上面的附件中,我们可以看到对于不同的电压范围,无论我们有什么电压,输出电流总是0[A]。

将其除以 0[A] 输出电流将导致 Rinput = (Voltage(in)[V])/(Current (in)[A])=(Voltage(in)[V})/(0[A]) = ∞

这意味着在我们被要求设计此 AMS、差分直流电压表的范围内,我们的输入阻抗实际上是无限的。

为了达到这个结果,我们使用了缓冲运算放大器(用于两个输入),众所周知,他的特征之一是他的 Rinput 等于无穷大。

注意:即使电压==0[v] 我们得到 0/0 = '未定义',但这并不重要,因为在这种情况下无论如何都没有连接(电压或电流)。

 

 

 

 

 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !