mosidao 发表于 2011-3-18 01:43:20

我的5607b气压计显示我在42949495.1m高度。。。难道我在月球?

用的是MAPGPS的arduino的程序。。。不会调试。。。谁知道大概啥原因不,MAPGPS帮忙看看噢

http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_623463MC4GD5.jpg
(原文件名:未命名.jpg)

mosidao 发表于 2011-3-18 01:44:07

回复【楼主位】mosidao
-----------------------------------------------------------------------
串口监视开始输出为:

Coefficient 1 : 44791
Coefficient 2 : 39709
Coefficient 3 : 28845
Coefficient 4 : 27134
Coefficient 5 : 31605
Coefficient 6 : 28992
A: 42949493.54m
A: 42949493.29m
A: 42949494.3m
A: 42949492.39m
A: 42949493.45m

mosidao 发表于 2011-3-18 01:46:45

回复【1楼】mosidao
-----------------------------------------------------------------------

硬件接线 1、2脚接3.3v 3、4脚接地5、6悬空 7 脚接A5 8脚接A4   

我现在得判断是不是气压计有问题,淘宝买的还没确认付款呢。。。

mosidao 发表于 2011-3-18 01:51:32

把气压计放到地板上和举起来没啥反应。。。

MAPGPS 发表于 2011-3-18 07:10:30

你接10K上拉电阻了吗?
(上拉到3.3V)

MAPGPS 发表于 2011-3-18 09:05:18

回复【2楼】mosidao
回复【1楼】mosidao
-----------------------------------------------------------------------
硬件接线 1、2脚接3.3v 3、4脚接地5、6悬空 7 脚接a5 8脚接a4   
-----------------------------------------------------------------------
脚接错了!
应该: 7脚接A4 (SDA), 8脚接A5 (SCL)   

参见我那个洞洞板图.

mosidao 发表于 2011-3-18 09:13:20

晕,我7脚接 的A4 8脚接的A5,写错了。。。
上啦电阻接了的,7;8脚调过来的话输出有报错的,说明接的还是对的

mosidao 发表于 2011-3-18 09:34:06

把引脚重新焊了一遍。。。现在输出为,后面都是大数字了。感觉不像是硬件原因呢。。。

Coefficient 1 : 44791
Coefficient 2 : 39709
Coefficient 3 : 28845
Coefficient 4 : 27134
Coefficient 5 : 31605
Coefficient 6 : 28992
A: 460.75m
A: 208.63m
A: 209.99m
A: 212.36m
A: 212.70m
A: 212.87m
A: 389.14m
A: 136.1m
A: 136.86m
A: 139.23m
A: 140.58m
A: 140.8m
A: 141.26m
A: 141.1m
A: 315.80m
A: 314.77m
A: 65.62m
A: 66.71m
A: 66.37m
A: 67.4m
A: 67.88m
A: 66.12m
A: 68.13m
A: 67.63m
A: 68.39m
A: 68.5m
A: 111.19m
A: 241.27m
A: 42949664.89m
A: 42949665.6m

mosidao 发表于 2011-3-18 22:22:23

看了下MAPGPS的程序,发现我这里的大气压得到的高度是负数然后程序当成无符号数,就变成很大了。
现在的问题是,我这个气压计非常不稳,放在桌面上静置不不动很长时间,测得的气压值波动很大,有几百帕,导致计算得的高度值变化达两米之多,下面是实时得到的数据

mh : -50.92m
pressurepa103121pa
mh : -50.59m
pressurepa103117pa
mh : -50.59m
pressurepa103117pa
mh : -50.92m
pressurepa103121pa
mh : -50.76m
pressurepa103119pa
mh : -49.77m
pressurepa103107pa
mh : -50.92m
pressurepa103121pa
mh : -48.96m


大家帮忙看看哈

MAPGPS 发表于 2011-3-18 22:40:50

大气压在一天内是周期变化的, 有两个波峰/波谷.
这是我的MS5607B在同一地点不同时间测的:

(Afternoon 16:00)
A: 61.50m
A: 61.33m
A: 60.83m
A: 61.13m

(Nightfall 18:00)
A: 45.47m
A: 45.55m
A: 45.47m
A: 45.39m

(Night 19:43)
A: 30.97m
A: 30.88m
A: 30.97m
A: 30.72m

(Night 20:46)
A: 24.72m
A: 24.89m
A: 24.72m
A: 24.89m

(Night 21:50)
A: 19.15m
A: 19.23m
A: 19.48m
A: 19.31m

(Night 22:12)
A: 17.57m
A: 17.48m
A: 17.23m
A: 17.65m

(Night 22:34)
A: 15.90m
A: 15.98m
A: 15.82m
A: 15.57m

(Night 23:06)
A: 14.65m
A: 14.82m
A: 14.40m
A: 14.74m

(Night 23:30)
A: 14.57m
A: 14.74m
A: 14.82m
A: 15.15m

eiglxl 发表于 2011-3-18 22:53:24

一天的变化这么大啊,这怎么才好用?

MAPGPS 发表于 2011-3-18 22:57:08

回复【10楼】eiglxl
一天的变化这么大啊,这怎么才好用?
-----------------------------------------------------------------------

用来飞四轴航模没关系呀!
电池续航也就十几分钟而已.

AirPig 发表于 2011-3-18 22:57:11

正常,气压计一般会有漂移,随着天气变化

mosidao 发表于 2011-3-18 23:19:14

问题是我的这些数值随时在变,而且范围达两米多。。。

569969746 发表于 2011-5-11 10:47:06

回复【楼主位】mosidao
-----------------------------------------------------------------------

楼主 您好 我也在用ms5607 希望能与你交流 我qq是569969746 麻烦加下啊 你这个变化范围好大啊 改好了么

569969746 发表于 2011-5-25 20:09:56

回复【13楼】mosidao
-----------------------------------------------------------------------

我的这个芯片数据也是很大,300多米,事实上我在平原上啊,怎么回事,你的是啥原因,搞定了么,求指点

jmp2002911 发表于 2011-5-26 07:46:24

是不是上电后先要标定一下初始高度啊

zhoucheng3768 发表于 2011-8-19 12:03:44

我的MS5607只能读出C0~C6,ADC值一直读不出来。不知什么原因?

uint8_t getBarometerDataBatchRead( uint8_t address7, uint8_t device_start_address, uint8_t* rxBuffer, uint8_t bytesToRead )
{
       int i;
       uint8_t returnval;
       
       //Send start condition and address byte
       returnval = i2cTransmitByte( 0XEE, I2C_SEND_START, I2C_NO_STOP );
       
       if( returnval != I2C_SUCCESS )
       {
                  return i2cFailed(returnval);
       }
       
       // Send start address for read
       returnval = i2cTransmitByte( 0X40, I2C_NO_START, I2C_SEND_STOP );
       
       if( returnval != I2C_SUCCESS )
       {
                  return i2cFailed(returnval);
       }
       
          DelayMs( 10 );          
       // Send new start condition and initiate read
       returnval = i2cTransmitByte( 0XEE, I2C_SEND_START, I2C_NO_STOP );
       
       if( returnval != I2C_SUCCESS )
       {
                  return i2cFailed(returnval);
       }

       returnval = i2cTransmitByte( 0X00, I2C_NO_START, I2C_SEND_STOP );
       
       if( returnval != I2C_SUCCESS )
       {
                  return i2cFailed(returnval);
       }
       
       returnval = i2cTransmitByte( 0XEF, I2C_SEND_START, I2C_NO_STOP );       
       if( returnval != I2C_SUCCESS )
       {
                  return i2cFailed(returnval);
       }
       // Start read
        rxBuffer = i2cReadByte( I2C_ACK_ENABLE, I2C_NO_STOP, &returnval );
        if( returnval != I2C_SUCCESS )
        {
                return i2cFailed(returnval);
        }


        rxBuffer = i2cReadByte( I2C_ACK_ENABLE, I2C_NO_STOP, &returnval );
        if( returnval != I2C_SUCCESS )
        {
                return i2cFailed(returnval);
        }
       
               
       // Read the last byte
       rxBuffer = i2cReadByte( I2C_ACK_DISABLE, I2C_SEND_STOP, &returnval );
       
       if( returnval != I2C_SUCCESS )
       {
                  return i2cFailed(returnval);
       }

        ADC= (g_i2cRxBuf << 16)| g_i2cRxBuf<<8| g_i2cRxBuf;
       
       return I2C_SUCCESS;
}
页: [1]
查看完整版本: 我的5607b气压计显示我在42949495.1m高度。。。难道我在月球?