ZhangzrJerry 2024-06-20 21:49 采纳率: 0%
浏览 5

各位佬,想问下柔性分布式压力传感器要怎么测电阻阻值

我的电路图如下,有一个4*4的电阻矩阵,我这里用面包板搭了个demo,利用mega2560的数字IO口列选电阻,然后四路adc一起测电压

img

采样原理如下,电压探针的位置接四路adc,上面四路列选,当选中该列时置低电平,其余列置高电平

img

出现了一个问题,就是我在按压左下红色框框住的压敏电阻时(电阻和压力成反比,压力增大,电阻减小),红色电阻对应的那路adc不变,其他三个蓝色电阻对应的那三路adc测出来的电压变低了,我不是很理解为什么
有没有佬可以教教我怎么测这个东西的电阻

img

// 测得电压
array([[4.99755859, 4.99755859, 4.99755859, 4.99755859],
       [4.99755859, 4https://img-mid.csdnimg.cn/release/static/image/mid/ask/3fec226259af4311b506d633d84b852a.png "#left")
.99755859, 4.99755859, 2.32177734],
       [4.99755859, 4.99755859, 4.99755859, 2.30712891],
       [4.99755859, 4.99755859, 4.99755859, 2.28271484]])

完整的测试代码如下

void encode(int i, int j, int val);

void setup()
{
Serial.begin(115200);

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);

pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);

digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}

void loop()
{
for(int i=0;i<4;++i)
{
if(i > 0)
{
digitalWrite(1 + i, LOW);
}
else
{
digitalWrite(5, LOW);
}
digitalWrite(2 + i, HIGH);
for(int j=0;j<4;++j)
{
send(i, j, analogRead(A0 + j));
delay(50);
}
}
}

void send(int i, int j, int val)
{
Serial.print(i);
Serial.print(',');
Serial.print(j);
Serial.print(',');
Serial.println(val);
}
  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-06-20 21:49
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    首先,很高兴看到你正在尝试使用Arduino Mega2560来测量柔性分布式压力传感器的电阻值。这是一个很有挑战性的项目,但通过一些基本的电子原理和调试技巧,我们可以逐步解决问题。

    问题1:为什么按压压敏电阻时,其对应的ADC读数不变?

    这可能是由于几个原因造成的:

    1. 接触不良:确保传感器和面包板之间的接触良好,没有松动或氧化。
    2. 电路设计问题:检查电路设计是否正确,特别是地线和电源线的连接。
    3. 传感器特性:柔性压力传感器可能在低压力下变化不明显,需要更大的压力才能看到明显的电阻变化。

    问题2:为什么其他三个电阻对应的ADC读数会降低?

    这可能是因为当你按压一个传感器时,它改变了整个电路的总电阻,从而影响了其他传感器的电压分配。这可以通过以下方式解释:

    • 当你按压一个传感器,它的电阻降低,导致通过它的电流增加,这可能会影响其他传感器的电流分配,从而影响它们的电压读数。

    问题3:如何根据ADC读数来计算出电阻值?

    要计算电阻值,你需要知道一些基本参数,比如电源电压和ADC的参考电压。以下是一个基本的计算方法:

    1. 读取ADC值,并将其转换为电压。例如,如果ADC读数是1023(最大值),参考电压是5V,那么电压 ( V = \frac{1023}{1024} \times 5 )。
    2. 使用欧姆定律 ( V = I \times R ) 来计算电阻,其中 ( I ) 是通过传感器的电流。如果电流未知,你可能需要使用已知的电流源来测量。

    调试建议:

    1. 校准传感器:在没有压力的情况下测量每个传感器的基线ADC读数。
    2. 逐步增加压力:逐渐增加压力,并观察ADC读数的变化,以确定传感器的灵敏度。
    3. 检查电路:确保所有连接都是正确的,没有短路或断路。
    4. 使用示波器:如果可能,使用示波器来观察电压和电流的变化,这可以帮助你更好地理解电路的行为。

    参考链接:

    希望这些信息能帮助你解决问题。如果你需要更具体的帮助,或者有其他问题,请随时告诉我。祝你的项目顺利!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月20日

悬赏问题

  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题