前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微小电流检测-pA级.IV转换模块

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

作者头像
云深无际
发布2024-08-20 15:13:46
710
发布2024-08-20 15:13:46
举报
文章被收录于专栏:云深之无迹

另外,一些波动的情况是因为没有滤波。这里有个有趣的话题就是先放大还是先滤波。 小信号先滤波在放大的话,输出端信号基本上没了,如果先放大,再滤波,再放大就好很多了.

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

下面是正好看了一些期刊的文章,就顺手截图了,也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

代码语言:javascript
复制
https://www.jlc.com/portal/vtechnology.html

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

代码语言:javascript
复制
https://badboy2002.xyz/2022/02/03/note/li-chuang-eda-bi-ji/

学学这个

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

没有就先建封装

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

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

看看我的大电阻

然后这里再调整一番

长条俩脚-CTLJ

然后和自己的符号对应上

这个智能尺寸也好用

建个原理图试试,好使

怪好看的咧

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

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

这次差不多

就可以看见了

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

有点丑

找个现成的copy

顺眼不少

我去,尺寸还在啊

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

然后包起来

代码语言:javascript
复制
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采集看一下。

代码语言:javascript
复制
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,但在某些时刻有一些不同的非零值。这是传感器的读数在不同的时间点发生了变化。

代码语言:javascript
复制
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)”的方法。这里的关键思想是将一个高阻抗电阻连接到传感器的电极上,以创建一个虚拟的地点。

在这个电路中,虚拟地点通过高阻抗电阻与传感器电极相连。这可以减小地回路引入的干扰。然后,测量差分电流信号,并通过电流放大器和滤波器进行处理。

虽然这并非严格的差分测量,但虚拟地点的使用有助于抑制共模干扰,提高系统的抗干扰能力。

那这个差分测量的线怎么连接:

传感器连接:传感器的单电极通过一个高阻抗电阻与地相连,形成虚拟地点。

电流放大器连接:将电流放大器的一个输入连接到传感器电极,另一个输入连接到虚拟地点。电流放大器测量这两个输入之间的差异。

测量系统连接:将电流放大器的输出连接到测量系统。这可以是数据采集卡、微控制器或其他适用的测量设备。

下篇文章继续做完它。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档