最近在使用树莓派采集气体流量的大小,想一想原理很简单,利用ad转换模块采集气体流量传感器(AWM 3300V)的输出电压就ok了,但是当我使用PCF8591T采集时,采集到AWM 3300V的初始电压是准确的(与万用表测得的电压一致),但是当我打开气泵充气时,PCF8591采集到的电压上下浮动很大,而且不准确,按照AWM 3300V的设计原理,流量越大,输出电压越大,我使用万用表测得的电压是没问题的。所以,我推断是PCF8591采集电压有些问题,但是气泵没工作时采集的电压很准确,我最近几天都在研究这个问题,不知道哪些地方出了问题。希望大神帮忙提示一下。
树莓派利用wiringPi来读取电压的代码:
#include <wiringPi.h>
#include <pcf8591.h>
#include <stdio.h>
#define Address 0x48
#define BASE 64
#define A0 BASE+0
#define A1 BASE+1
#define A2 BASE+2
#define A3 BASE+3
int main(void)
{
int value;
wiringPiSetup();
pcf8591Setup(BASE,Address);
while(1)
{
value = analogRead(A2);
printf("Analoge: %d mV\n",value*3300/255);
delay(1000);
}
}
气泵开启前读取电压值(万用表读取1.16V):
Analoge: 1164 mV
Analoge: 1164 mV
Analoge: 1151 mV
Analoge: 1151 mV
Analoge: 1164 mV
Analoge: 1164 mV
Analoge: 1151 mV
Analoge: 1151 mV
气泵开启后读取电压值(万用表读取2.85V):
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 2950 mV
Analoge: 3300 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 2627 mV
Analoge: 3222 mV
Analoge: 77 mV
Analoge: 77 mV
Analoge: 77 mV
|