微小电流检测-pA级.IV转换模块

描述

高阻抗低频率传感器的工频干扰

纳米摩擦发电机-单电极模式调理电路

微弱电流测量-ADA4530使用要点

微弱电流测量-GUARD保护技术

IV转换-KV版本

微小电流检测-nA级

以上是一些近期写的文章,可以做参考学习。

另外,一些波动的情况是因为没有滤波。这里有个有趣的话题就是先放大还是先滤波。

小信号先滤波在放大的话,输出端信号基本上没了,如果先放大,再滤波,再放大就好很多了.

对于微弱的信号输入来说,滤波肯定不太容易,如果信号放大后,再进行滤波就方便多了,信号经过一个线性系统,在相位或者幅度上都有改变,这样滤波效果应该会更好些!

下面是正好看了一些期刊的文章,就顺手截图了,也bb几句

传感器

程控的意思是,有一些固定的放大倍数,就像10pA x 10G = 100mV

100mV还是很小,那就需要再放大,接着就是要滤波,才能信号好看。

微弱电流信号首先通过 I / V 转换电路变换为相应的电压信号, 再通过程控放大电路将电压信号规范化,然后通过滤波电路消除无用背景噪声获取有用信号,有用信号再经过 A / D 转换模块采集得到相应的数字信号,再使用MCU 处理器对信号进行处理后通过总线传输到计算机进行分析处理计算并显示出来。

传感器

开环的倍数,没得说,至于这个T型,我不知道

传感器

大概就这样了

程控放大电路的主要功能是对输入的弱信号进行适当的放大便于信号的测量, 且放大的增益可通过编程进行改变。

传感器

有程控放大的芯片

传感器

PGA281

我只能说这个文章质量不高,看个热闹就好。

传感器

传感器

这个加了个跟随器,我一会儿看看文章里面怎么说

传感器

这个水平高点,这个我觉得性能更好

传感器

传感器

看这个负数

传感器

这个电压是负数的哦

传感器传感器

我选的这个TLC2201,我居然找不到输入阻抗的大小,妈的。

传感器

有隔离

传感器

第一级放大其实也是反向放大,这里的输出应该是+电压,跟随一下,接着是。

传感器

传感器

传感器

传感器

传感器

传感器

这篇文章有趣的地方在,20pF的电容可以产生8pA的微弱电流

这是直接采样的结果,可以看到有毛刺的东西

传感器

这个24bit的分辨率就是高

传感器

放大倍数的意思是输出的电压要到mv,uv这样的,下一级可以感应到

传感器

传感器

传感器

传感器

传感器

传感器

AD549采用TO-99密封封装。外壳与引脚8相连,因而金属外壳可以独立连至与输入引脚电位相同的一点,使得流至外壳的杂散泄漏极小。

传感器

传感器

1980的这个书就出版了,我看了看

传感器

你看这个写的是不是很清晰

传感器

杨建国的模电看这本

抗混叠滤波器(英语:Anti-aliasing filter,缩写AAF)是一种放在信号采样器之前的滤波器,用来在一个重点波段上限制信号的带宽,以求大致或完全地满足采样定理。此定理表示,当在奈奎斯特频率之上的频率功率为零时,从其信号的采样可实现无模糊重建[注 1]。现实中的抗混叠滤波器会在带宽与混叠之间取舍。可实现的抗混叠滤波器一般允许出现一些混叠,或者减弱一些靠近奈奎斯特极限[注 2]的频内频率[注 3]。因此,许多实用的系统采样会高出实际的需求,以保证所有的重点频率都可重建,这种实践的方式称为过采样。

传感器

传感器

SP好像是个升级版,我不配

传感器

看这个吧

传感器

有些不连接的引脚

传感器

jlc里面的这个器件里面的NC和真实的引脚是分成了两个器件在里面的

传感器

2201,IB可以做到1pA,典型的时候

传感器

典型的是15pA,高下立判了家人们!

传感器

看里面的一些参数

传感器

第一级IV转换过后其实是一个相位颠倒的状态,第一个

传感器

那么需要一个反向的放大器继续把它转回来

传感器

我这里就使用这个芯片

传感器

引脚是差不多的

传感器

这里我选择了一个1G的反馈电阻

传感器

看上面的一些标注

传感器

这个是产品的一些标注信息

传感器

应该是1005

传感器

传感器

传感器

传感器

 

https://www.jlc.com/portal/vtechnology.html

 

传感器

好烦。。。可能是我蠢,这么大的晚上都没有一个像样的建新器件封装的好教程,哪个官方教程按钮又不对:

 

学学这个

另外,也别用高级版了,就不是那高级的人,装回普通版。传感器

没有就先建封装
 

传感器

将这也不知道对不对的参数瞎写上

传感器

看看引脚,有没有什么毛病

 

看看我的大电阻

传感器

然后这里再调整一番

传感器

长条俩脚-CTLJ

传感器

然后和自己的符号对应上

传感器

这个智能尺寸也好用

传感器

建个原理图试试,好使

传感器

传感器

怪好看的咧

传感器

一般是先画封装,然后画这个元件

传感器

但是我觉得这个东西不对劲

传感器

这次差不多

传感器

就可以看见了

传感器

注意这里就选择{}就行 不要自己加字

传感器

有点丑

传感器

找个现成的copy

传感器

顺眼不少

传感器

我去,尺寸还在啊

传感器

传感器

狠狠的打孔,保护鄙人的信号

传感器

然后包起来

 

const int sensorPin = A0;


void setup() {
  pinMode(sensorPin, INPUT);  // Declare the sensorPin as an INPUT
  Serial.begin(115200);       // Set up serial communication
}


void loop() {
  // Read the value from the sensor:
  int sensorValue = analogRead(sensorPin);  // Use int if sensor values are integers
  // Scale the sensor value if needed
  // sensorValue = map(sensorValue, 0, 1023, minValue, maxValue); // Example scaling using map function


  // Print the scaled value to the Serial Monitor:
  Serial.println(sensorValue);


  // Add a delay to control the update rate:
  delay(300);  // Adjust this delay based on your application requirements
}

 

这里是可以在使用完以后写一个arduino的ADC采集看一下。

 

13:01:47.110 -> 0.75
13:01:47.391 -> 0.76
13:01:47.702 -> 0.00
13:01:47.968 -> 0.00
13:01:48.296 -> 0.00
13:01:48.607 -> 0.00
13:01:48.888 -> 0.00
13:01:49.201 -> 0.00
13:01:49.512 -> 0.00
13:01:49.811 -> 0.00
13:01:50.119 -> 0.00
13:01:50.401 -> 0.00
13:01:50.714 -> 0.00
13:01:50.997 -> 0.00
13:01:51.310 -> 0.00
13:01:51.589 -> 0.00
13:01:51.916 -> 0.40
13:01:52.196 -> 0.24
13:01:52.509 -> 0.27
13:01:52.822 -> 0.22
这个arduino串口的adc输出

 

部分时间传感器的输出是0.00,但在某些时刻有一些不同的非零值。这是传感器的读数在不同的时间点发生了变化。

 

const int sensorPin = A0;
const int numReadings = 10;  // 设置滤波器窗口大小
int readings[numReadings];   // 存储读数的数组
int index = 0;               // 数组索引
int total = 0;               // 总和


void setup() {
  pinMode(sensorPin, INPUT);  // 将sensorPin声明为输入
  Serial.begin(115200);       // 启动串行通信,波特率为115200
  
  // 初始化数组
  for (int i = 0; i < numReadings; i++) {
    readings[i] = 0;
  }
}


void loop() {
  // 从传感器读取值:
  int sensorValue = analogRead(sensorPin);


  // 使用滤波器处理传感器读数
  total = total - readings[index];           // 减去旧的读数
  readings[index] = sensorValue;             // 存储新的读数
  total = total + readings[index];           // 添加新的读数
  index = (index + 1) % numReadings;         // 移动索引


  // 计算移动平均值
  int filteredValue = total / numReadings;


  Serial.println(filteredValue);  // 打印滤波后的值到串行监视器
  delay(300);  // 延迟300毫秒
}

 

使用了一个长度为numReadings的数组来存储最近的一些读数,并计算它们的平均值。这有助于平滑传感器读数,减小突变和噪声的影响。这里我实现了一个简单的数字滤波器

对于只有一个输出极的单电极传感器,差分测量可能不适用,因为差分测量通常需要两个引脚来测量信号和其反向信号。

传感器

但是我觉得可以这样设计构成差分测量

通过使用一个负载电阻并将其接地来构成一种差分测量的条件。这种方法被称为单端测量或参考电地测量。在这种配置下,电压测量是相对于地的,但通过负载电阻的电流会引入一个差分测量的效果。 具体来说,传感器产生的信号通过负载电阻流过,然后负载电阻的两个端口的电压差被测量。这样做有助于减小共模噪声的影响,特别是在长线传输的情况下。 可以使用一种称为“虚地技术(Virtual Ground Technique)”的方法。这里的关键思想是将一个高阻抗电阻连接到传感器的电极上,以创建一个虚拟的地点。

传感器

在这个电路中,虚拟地点通过高阻抗电阻与传感器电极相连。这可以减小地回路引入的干扰。然后,测量差分电流信号,并通过电流放大器和滤波器进行处理。 虽然这并非严格的差分测量,但虚拟地点的使用有助于抑制共模干扰,提高系统的抗干扰能力。 那这个差分测量的线怎么连接: 传感器连接:传感器的单电极通过一个高阻抗电阻与地相连,形成虚拟地点。 电流放大器连接:将电流放大器的一个输入连接到传感器电极,另一个输入连接到虚拟地点。电流放大器测量这两个输入之间的差异。 测量系统连接:将电流放大器的输出连接到测量系统。这可以是数据采集卡、微控制器或其他适用的测量设备。

下篇文章继续做完它。

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

全部0条评论

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

×
20
完善资料,
赚取积分