wswh2o 发表于 2009-4-16 08:42:55

有用过adi的陀螺仪adis16300的嘛,怎么读出来电源电压正确,x轴的加速度也正确,yz的一直

看状态寄存器似乎是量程溢出了,咋回事儿

feng_matrix 发表于 2009-4-16 13:39:20

呵呵,不用怀疑器件,我操作ADIS16355也出这个错误。
这种错误多数是你的程序问题,最简单的办法:你连续发送两次yz读取命令,后一次应该就能读到数字
你仔细看看DATASHEET,在第一个SPI周期发送寄存器读取命令,在下一条命令发送周期结束后才能读取上一条命令的返回值。

wswh2o 发表于 2009-4-16 14:16:34

是这么做的,读取电源电压很正确。
第一次设置地址,第二次读出2个字节的数据。
我怀疑是那个地方配置错了?
有个用户设置的校准寄存器地址是0x20 0x22 0x24你涉及到了吗

feng_matrix 发表于 2009-4-16 15:04:43

每一轴矫正寄存器都有,你直接读的结果应该是已经校正过的数据,除非你要重新校正

wswh2o 发表于 2009-4-16 17:31:48

x的校正是一开始是c,yx都比较大,我想给他清了,但是只有x能清,yz都请不掉

wswh2o 发表于 2009-4-16 17:37:37

你仔细看看DATASHEET,在第一个SPI周期发送寄存器读取命令,在下一条命令发送周期结束后才能读取上一条命令的返回值。
是结束后也就是第三个周期?还是第二个周期中?
我的理解是第二个周期结束了也就读出来了

wswh2o 发表于 2009-4-16 18:50:43

00008b 02c815 04fff8 060000 080000 0ac1b5 0ce000 0ee000 10cfdb 12d077 14d400 16c0be 1afff8 200000 228401 248101 260082 28b000 2a0001 2c0000 2e0096 300000 320e00 340006 36000b 380406 3c0010
这是读出来的寄存器的值,前2个字节是地址,后面4个是值。

wswh2o 发表于 2009-4-16 18:51:20

原来读出来是好的,现在原因不明就不对了

feng_matrix 发表于 2009-4-20 15:45:46

在第二条命令发送完成后,第三条发送前
SPI是同步循环的,一边出一边进
发送的结束了,上次返回的也就回来了

wswh2o 发表于 2009-4-20 16:21:30

好了,把偏执寄存器都清0了

feng_matrix 发表于 2009-4-20 16:27:49

adis16300封装与16350一样吗?
好像adis16300只有一轴陀螺仪,为什么要用这个呢?
感觉如果只要加速度话,没必要买这么贵的器件啊

wswh2o 发表于 2009-4-20 16:59:33

3轴都有

wswh2o 发表于 2009-4-20 16:59:53

另外2轴可以算出来

feng_matrix 发表于 2009-4-20 17:11:30

啊!可以算出来?

wswh2o 发表于 2009-4-29 14:09:44

呵呵,是算出来滚角和倾角

ljqzxm 发表于 2009-6-5 10:05:26

请问读取adis16350的数据不稳定,有3种情况:1正确,2数据左移了一位,3是00,这是怎么回事啊、程序是连续读0x38寄存器

ljqzxm 发表于 2009-6-5 10:12:01

adis16350是上升沿读上升沿写么?不会差周期么?

w222w 发表于 2009-6-12 14:02:42

ADIS16350AMLZ什么价格啊?两个能拿到吗?

feng_matrix 发表于 2009-6-12 14:53:52

楼主是否搞错寄存器了,这个ADIS16300是个三轴加速度+单轴陀螺仪
加速度应该XYZ都有数值输出的,陀螺仪倒是只有一个轴


另外我虽未用过ADIS16300,但这东东明显是个“残疾”IMU模块啊,缺少两轴陀螺仪,又有PITCH/ROLL输出
说明它的应用范围是有限制的,楼主是否确定在不外加传感器的前提下,你可以用这东东?
比如Y轴一旦有直线变加速运动,姿态数据一定是错的。
页: [1]
查看完整版本: 有用过adi的陀螺仪adis16300的嘛,怎么读出来电源电压正确,x轴的加速度也正确,yz的一直