在使用HX711进行压力测量时遇到的一个问题
本帖最后由 弘毅 于 2018-8-29 11:44 编辑我通过HX711模块(选择转换频率为80Hz)将压力传感器(500kg)与Arduino 2560连接起来,想要做一个压力数据的采集,同时将采集到的压力数据存储到SD卡中。
代码如下:
/*型号(mega2560)
功能:采集并存储压力数据
创建:0803
修改:0824
正在使用的版本*/
#include <HX711.h> //压力传感器AD转换芯片的库文件
#include <SD.h>
const int button=6; //开关,控制程序执行
const int SD_cs =15; //15号引脚为SD卡使能引脚
unsigned long run_time0; //采集压力与之对应的时间
HX711 hx(9, 10, 128, -0.115); //压力传感器AD转换芯片的库函数调用
void setup()
{
Serial.begin(9600);
pinMode(53,OUTPUT);
pinMode(button,INPUT_PULLUP); //给button加一个上拉电阻
hx.set_offset(-16000); //压力传感器AD转换芯片的库函数调用
Serial.println("安装SD卡");
if(!SD.begin(SD_cs))
{
Serial.println("安装失败!");
return;
}
Serial.println("安装完成.");*/
}
void loop()
{
while(digitalRead(button)==HIGH){}
run_time0=micros(); //获取程序运行时间,该时间对应压力
double F=0.01*(hx.bias_read())-2; //获取压力
File dataFile =SD.open("data.txt",FILE_WRITE);
if(dataFile)
{
dataFile.print(run_time0);
dataFile.print(",");
dataFile.println(F);
dataFile.close();
}
else
{
Serial.println("ERROR!");
}
}
实验结束后读取存储到SD卡中的压力数据。在EXCEL内分析获取一个压力所需要的时间,如下图所示:可以看到,获取一个压力数据的间隔大概是14ms。但是在之后的数据中,也发现也有时间间隔是18ms的。我不是很理解。因为AD转换用时应该都一样的吧?那么获取一个压力数据的间隔应该都是18ms。出现一个可以理解,但接连出现好几个我就有点不理解了。恳请各位大神赐教。不胜感激。
是不是读写SD卡占用时间?
页:
[1]