lisn3188 发表于 2012-4-21 18:18:50

miniIMU AHRS 姿态板首试 动如脱兔 静若处子

不断的改程序测试再改再试,经几几个星期的努力,姿态仪的数据终于可以拿出来见人了。
硬件组成:
MPU-6050 集成3轴陀螺仪和3轴加速器
HMC5883L 3轴地磁传感器
BPM085气压高度计
STM32F103T8负责解算姿态
目前达到的效果是俯仰 横滚 航向稳定在0.1度内。高度与气压和温度有关,0.5米内波动。使用四元数表示姿态,
磁力计和加速度通过Pi环修正陀螺仪输出。
中间还有一些坎坷,上位机软件一直找不到有公开协议的,要么就是协议太复杂,要么就是效果不佳,自己动手做了一个:



http://player.youku.com/player.php/sid/XMzg0NzMyNjI0/v.swf

clogord 发表于 2012-4-21 18:30:38

高手 不知道LZ开源不

wszyjsw2 发表于 2012-4-21 18:55:53

我以为他会开源 看到他底下的淘宝地址后 我就知道他不会开源了

kevinzcp 发表于 2012-4-21 18:59:21

亮点是显示器左侧的彩页

lisn3188 发表于 2012-4-21 19:12:52

kevinzcp 发表于 2012-4-21 18:59 static/image/common/back.gif
亮点是显示器左侧的彩页

这都让你看出来了,哈哈,房子是租的,平时焊接的时候我有甩锡的习惯,怕把人家房子搞脏了。
所以用超市的海报贴一层上去。

报名一下,有没有人想要这3D显示上位机的协议和软件,我拿出来给自己调试姿态仪的朋友。


lisn3188 发表于 2012-4-21 19:13:35


/**************************实现函数********************************************
*函数原型:                void UART1_ReportIMU(int16_t yaw,int16_t pitch,int16_t roll
                                ,int16_t alt,int16_t tempr,int16_t press)
*功  能:                向上位机发送经过解算后的姿态数据
输入参数:
                int16_t yaw 经过解算后的航向角度。单位为0.1度 0 -> 3600对应 0 -> 360.0度
                int16_t pitch 解算得到的俯仰角度,单位 0.1度。-900 - 900 对应 -90.0 -> 90.0 度
                int16_t roll解算后得到的横滚角度,单位0.1度。 -1800 -> 1800 对应 -180.0->180.0度
                int16_t alt   气压高度。 单位0.1米。范围一个整型变量
                int16_t tempr 温度 。 单位0.1摄氏度   范围:直到你的电路板不能正常工作
                int16_t press 气压压力。单位10Pa一个大气压强在101300pa 这个已经超过一个整型的范围。需要除以10再发给上位机
                int16_t IMUpersec姿态解算速率。运算IMUpersec每秒。
输出参数:没有       
*******************************************************************************/
void UART1_ReportIMU(int16_t yaw,int16_t pitch,int16_t roll
,int16_t alt,int16_t tempr,int16_t press,int16_t IMUpersec)
{
        unsigned int temp=0xaF+2;
        char ctemp;
        UART1_Put_Char(0xa5);
        UART1_Put_Char(0x5a);
        UART1_Put_Char(14+2);
        UART1_Put_Char(0xA1);

        if(yaw<0)yaw=32768-yaw;
        ctemp=yaw>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=yaw;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(pitch<0)pitch=32768-pitch;
        ctemp=pitch>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=pitch;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(roll<0)roll=32768-roll;
        ctemp=roll>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=roll;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(alt<0)alt=32768-alt;
        ctemp=alt>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=alt;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(tempr<0)tempr=32768-tempr;
        ctemp=tempr>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=tempr;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(press<0)press=32768-press;
        ctemp=press>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=press;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        UART1_Put_Char(temp%256);
        UART1_Put_Char(0xaa);
}

/**************************实现函数********************************************
*函数原型:                void UART1_ReportMotion(int16_t ax,int16_t ay,int16_t az,int16_t gx,int16_t gy,int16_t gz,
                                        int16_t hx,int16_t hy,int16_t hz)
*功  能:                向上位机发送当前传感器的输出值
输入参数:
        int16_t ax加速度 X轴ADC输出 范围 :一个有符号整型
        int16_t ay加速度 Y轴ADC输出 范围 :一个有符号整型
        int16_t az加速度 Z轴ADC输出 范围 :一个有符号整型
        int16_t gx陀螺仪 X轴ADC输出 范围 :一个有符号整型
        int16_t gy陀螺仪 Y轴ADC输出 范围 :一个有符号整型
        int16_t gz陀螺仪 Z轴ADC输出 范围 :一个有符号整型
        int16_t hx磁罗盘 X轴ADC输出 范围 :一个有符号整型
        int16_t hy磁罗盘 Y轴ADC输出 范围 :一个有符号整型
        int16_t hz磁罗盘 Z轴ADC输出 范围 :一个有符号整型
       
输出参数:没有       
*******************************************************************************/
void UART1_ReportMotion(int16_t ax,int16_t ay,int16_t az,int16_t gx,int16_t gy,int16_t gz,
                                        int16_t hx,int16_t hy,int16_t hz)
{
        unsigned int temp=0xaF+9;
        char ctemp;
        UART1_Put_Char(0xa5);
        UART1_Put_Char(0x5a);
        UART1_Put_Char(14+8);
        UART1_Put_Char(0xA2);

        if(ax<0)ax=32768-ax;
        ctemp=ax>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=ax;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(ay<0)ay=32768-ay;
        ctemp=ay>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=ay;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(az<0)az=32768-az;
        ctemp=az>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=az;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(gx<0)gx=32768-gx;
        ctemp=gx>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=gx;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(gy<0)gy=32768-gy;
        ctemp=gy>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=gy;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
//-------------------------
        if(gz<0)gz=32768-gz;
        ctemp=gz>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=gz;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(hx<0)hx=32768-hx;
        ctemp=hx>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=hx;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(hy<0)hy=32768-hy;
        ctemp=hy>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=hy;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        if(hz<0)hz=32768-hz;
        ctemp=hz>>8;
        UART1_Put_Char(ctemp);
        temp+=ctemp;
        ctemp=hz;
        UART1_Put_Char(ctemp);
        temp+=ctemp;

        UART1_Put_Char(temp%256);
        UART1_Put_Char(0xaa);
}

dds 发表于 2012-4-21 19:14:10

看起来还不错。

ghostxdy 发表于 2012-4-21 19:35:15

关注,看后很激动。请问上位机是用什么实现的?

bygreencn 发表于 2012-4-21 20:50:26

直接共享就完了,还报什么名啊

liang_work 发表于 2012-4-21 21:25:07

顶一下.

chenshuqu 发表于 2012-4-22 01:52:46

不知道楼主的上位机是用什么软件做的?

wxws 发表于 2012-4-22 02:17:29

非常不错的东西

lisn3188 发表于 2012-4-22 09:18:20

ghostxdy 发表于 2012-4-21 19:35 static/image/common/back.gif
关注,看后很激动。请问上位机是用什么实现的?

上位机是VB做的,用了iocomp的控件

Name_006 发表于 2012-4-22 20:10:58

lisn3188 发表于 2012-4-22 09:18 static/image/common/back.gif
上位机是VB做的,用了iocomp的控件

楼主好厉害 搞了几星期就弄出来了我搞了 两三个月了 总是断断续续的 现在有被中断了 ~~~还没搞出来 {:cry:}

shanyan 发表于 2012-4-22 20:15:57

海报上面有奶罩!!!{:lol:}

zlutian 发表于 2012-4-22 20:26:27

楼主不是一般牛啊。上位机串口偶也在学习中,不过用的是C++Builder.

electrlife 发表于 2012-4-22 20:55:39

唉,目前用加速度传感器,并没有做到0.1度的精度!
很想知道LZ用的是什么型号加速度传感器?

electrlife 发表于 2012-4-22 20:56:04

唉,目前用加速度传感器,并没有做到0.1度的精度!
很想知道LZ用的是什么型号加速度传感器?

lisn3188 发表于 2012-4-22 21:24:32

本帖最后由 lisn3188 于 2012-4-22 21:44 编辑

electrlife 发表于 2012-4-22 20:56 static/image/common/back.gif
唉,目前用加速度传感器,并没有做到0.1度的精度!
很想知道LZ用的是什么型号加速度传感器? ...

MPU6050
特征
具有131 LSBs/°/sec 敏感度与全格感测范围为±250、±500、±1000与±2000°/sec 的3轴角速度感测器(陀螺仪)。
可程式控制,且程式控制范围为±2g、±4g、±8g和±16g的3轴加速器。
移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。
数字运动处理(DMP: Digital Motion Processing)引擎可减少复杂的融合演算数据、感测器同步化、姿势感应等的负荷。
运动处理数据库支持Android、Linux与Windows
内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。
以数位输出的温度传感器
以数位输入的同步引脚(Sync pin)支援视频电子影相稳定技术与GPS
可程式控制的中断(interrupt)支援姿势识别、摇摄、画面放大缩小、滚动、快速下降中断、high-G中断、零动作感应、触击感应、摇动感应功能。
VDD供电电压为2.5V±5%、3.0V±5%、3.3V±5%;VDDIO为1.8V± 5%
陀螺仪运作电流:5mA,陀螺仪待命电流:5µA;加速器运作电流:350µA,加速器省电模式电流: 20µA@10Hz
高达400kHz快速模式的I2C,或最高至20MHz的SPI串行主机接口(serial host interface)
内建频率产生器在所有温度范围(full temperature range)仅有±1%频率变化。
使用者亲自测试
10,000 g 碰撞容忍度

electrlife 发表于 2012-4-22 21:44:33

这个也太复杂了,呵呵!
俺用的ADXL345 !

lisn3188 发表于 2012-4-22 21:48:34

Name_006 发表于 2012-4-22 20:10 static/image/common/back.gif
楼主好厉害 搞了几星期就弄出来了我搞了 两三个月了 总是断断续续的 现在有被中断了 ~~~还没搞出来 { ...

这两天在忙写说明书,晚点整理一下把3D显示那一部分的软件发上来,让大家用这个调试。下位机的协议代码在6楼。

wolflsh 发表于 2012-4-22 23:19:40

Nice Job! 做得挺好。

MrLCL 发表于 2012-4-23 07:30:22

lisn3188 发表于 2012-4-21 19:12 static/image/common/back.gif
这都让你看出来了,哈哈,房子是租的,平时焊接的时候我有甩锡的习惯,怕把人家房子搞脏了。
所以用超市 ...

你也爱甩锡?你喜欢横甩,我喜欢垂直甩。

li20030505 发表于 2012-4-23 08:33:24

做得很好啊

lyzhangxiang 发表于 2012-4-23 08:41:41

哇确实很不错IMU强大。
解姿态算法方面说个思路吧

hydgq 发表于 2012-4-23 09:40:50

楼主,请在百忙之中抽点时间,针对初学者对加速度计、陀螺仪、磁罗盘等传感器使用方法,编程思路、注意事项。搞个讲座,造福菜鸟。一枝独秀不是春,万紫千红春満园。谢谢!

span42 发表于 2012-4-23 09:53:33

这个nb啊,不得不顶

bigallium 发表于 2012-4-23 12:17:48

有点想买...= =

htjgdw 发表于 2012-4-23 22:10:18

本帖最后由 htjgdw 于 2012-4-23 22:11 编辑

楼主厉害啊。
姿态结算处理的很不错,很稳。看来我也得加把劲儿了!呵呵

小汪88 发表于 2012-4-23 22:39:45

仰慕你的上位软件

killin 发表于 2012-4-24 16:39:50

上位软件蛮漂亮

dujun168 发表于 2012-4-26 18:20:24

mark study

493697821 发表于 2012-4-26 20:51:11

LZ高级{:victory:}

lisn3188 发表于 2012-4-26 21:39:38

终于找到一个大BUG,影响速度的Bug.现在上位机可以发布了。
可能还有更多的问题。希望用这个软件的同志们能及时反馈。



服务器无法上传这么大的文件?才3M不到。

lisn3188 发表于 2012-4-26 21:45:23




下面是通信协议:

xzjt 发表于 2012-4-26 21:59:30

兄弟你太好了,功德无量啊!{:hug:}

KF_ling 发表于 2012-4-26 22:26:30

{:handshake:}楼主好犀利啊,真好需要,谢谢啦

largeboss 发表于 2012-4-26 22:35:27

楼主犀利
向楼主学习

thxl_kis 发表于 2012-4-26 23:36:26

我也顶一下

wisology 发表于 2012-4-27 10:02:40

只用一个,如:void UART1_ReportIMU(int16_t yaw,int16_t pitch,int16_t roll,int16_t alt,int16_t tempr,int16_t press)发送给上位机就可以吧?

up101 发表于 2012-4-27 10:14:13

强大的上位机

lisn3188 发表于 2012-4-27 10:30:02

wisology 发表于 2012-4-27 10:02 static/image/common/back.gif
只用一个,如:void UART1_ReportIMU(int16_t yaw,int16_t pitch,int16_t roll,int16_t alt,int16_t tempr, ...

可以的。两个函数可以独立调用

loongsuns 发表于 2012-4-27 10:55:01

上位机的确很强大,如果再结合一下机械模型就碉堡了,记得之前有人发过用c#做的四轴那个可以借鉴一下。

mfkiwl 发表于 2012-5-1 04:29:04

这个真要做个记号,以备学习

chensi007 发表于 2012-5-1 07:35:11

楼主不是一般的强悍!!我们公司也有自己写这软件。用于XBOX/PS3/WII手把中的GYRO的数据与原厂手把比对。

cuso4 发表于 2012-5-1 10:58:37

楼主牛B啊,几周时间久搞定了,我现在断断续续还在弄呢。上位机用MFC就写了两周多的时间,还没有完全ok。姿态这一块还是一大片的模糊啊。。。向楼主学习了

lisn3188 发表于 2012-5-21 23:03:57

回楼上,两个帧是独立的,所以你的做法是可行的

cai_mouse 发表于 2012-5-22 21:46:38

谢谢楼主的分享.....{:smile:}

ddcour 发表于 2012-5-22 22:45:18

楼主牛得可以啊

苦行僧 发表于 2012-5-22 23:16:28

强帖留名,我的四轴之路有宽了{:lol:}

skystalker 发表于 2012-5-30 22:49:00

楼主放快速地变姿态的视频出来看看效果如何 现在这个只能说静若处子 动如脱兔还差一半吧

yangjing1228 发表于 2012-6-8 09:57:35

楼主太好了,非常感谢!学习学习

ycwjl728 发表于 2012-6-8 10:26:30

大头显示器也掩盖不住楼主横溢的才华

cys179 发表于 2012-6-8 15:24:28

无法解压怎么回事?

40342zz 发表于 2012-6-10 18:02:35

楼主你好,使用了你的上位机,很好很强大,万分感谢~~
这两天试了试书上写的旋转矢量求四元数,用的三字样优化算法,但是解算出的倾角误差很大,跟直接积分的感觉一样,如果单轴转动效果不错,三轴都有转动时转动后回到初始姿态误差有几十度,如果做圆锥运动误差就更明显,按照书上以及很多论文的说法这种算法效果应该不错,我不清楚问题出在哪里,这种算法的误差会有这么大么,程序用仿真一点点检查过了,不知道是我程序问题还是理解问题或者是算法问题,希望能得到帮助~
我用的6050,算法是从《惯性导航》上找的

etdz 发表于 2012-6-10 20:34:27

kevinzcp 发表于 2012-4-21 18:59 static/image/common/back.gif
亮点是显示器左侧的彩页

兄弟,够眼力。{:titter:}

lisn3188 发表于 2012-6-11 08:31:40

40342zz 发表于 2012-6-10 18:02 static/image/common/back.gif
楼主你好,使用了你的上位机,很好很强大,万分感谢~~
这两天试了试书上写的旋转矢量求四元数,用的三字样 ...

这个方法我没有试过。书上的东西和实际有些差别的。

xiaoding818 发表于 2012-6-11 09:41:45

喜欢3D效果,可是我用VC,不知道有谁会弄啊

sz_works 发表于 2012-6-11 14:55:55

楼主威武 来顶你下

nongxiaoming 发表于 2012-6-11 15:20:24

lisn3188 发表于 2012-4-21 19:13 static/image/common/back.gif
/**************************实现函数********************************************
*函数原型:                void UA ...

需要上位机~~~可否传一下~~~

lisn3188 发表于 2012-6-11 16:47:41

nongxiaoming 发表于 2012-6-11 15:20 static/image/common/back.gif
需要上位机~~~可否传一下~~~

需要上位机可以 到 http://www.chiplab7.com/goods.php?id=9 这里去下载最新的。

zhengxg1990 发表于 2012-6-11 17:03:30

看视频里面那个方块有时候和实物的姿态在角度上有点偏移嘛。

lisn3188 发表于 2012-6-11 17:30:50

zhengxg1990 发表于 2012-6-11 17:03 static/image/common/back.gif
看视频里面那个方块有时候和实物的姿态在角度上有点偏移嘛。

有偏是因为,我的显示器不是朝北的,与正北有角度。也就是在指向显示器的时候会有一个偏角。

蓝海de梦 发表于 2012-6-11 22:48:38

谢谢LZ的分享

苦行僧 发表于 2012-6-11 23:01:07

LZ能不能知道知道姿态解算啊,最近一直在看这个{:lol:}

Garbage614 发表于 2012-6-24 02:25:26

lz 厉害谢谢上位机

lizhijieli 发表于 2012-6-29 10:10:46

lisn3188 发表于 2012-6-11 16:47 static/image/common/back.gif
需要上位机可以 到 http://www.chiplab7.com/goods.php?id=9 这里去下载最新的。

看看效果如何再评论

lizhijieli 发表于 2012-6-29 11:59:38

lisn3188 发表于 2012-6-11 16:47 static/image/common/back.gif
需要上位机可以 到 http://www.chiplab7.com/goods.php?id=9 这里去下载最新的。

有BUG,每秒10帧居然,一打开端口就报错

yh8637 发表于 2012-6-29 13:28:22

相当NB!i不顶不行!

wanglongwx 发表于 2012-6-29 17:53:06

不错……借鉴

lisn3188 发表于 2012-6-30 00:22:41

lizhijieli 发表于 2012-6-29 11:59 static/image/common/back.gif
有BUG,每秒10帧居然,一打开端口就报错

你好,你出现的这们问题是由于操作系统缺少了一些部件引起的,具体的解决办法请参考:
http://www.pcmmc.com/runtime-error-91-object-variable-or-with-block-variable.php

kexiao 发表于 2012-6-30 10:59:20

东西不错

zhengfengran 发表于 2012-6-30 14:15:14

真心佩服楼主

zhengfengran 发表于 2012-6-30 15:46:53

请问楼主:有姿态结算,最后能不能输出控制四轴电机电调的控制信号啊

Y-Edison 发表于 2012-7-1 21:36:39

顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Y-Edison 发表于 2012-7-1 21:43:10

这个论坛真的很强大

oldbreadman 发表于 2012-7-2 23:28:18

很好很强大,正好需要上位机和STM32的串口发送数据的源程序,谢谢了,楼主!

lizhijieli 发表于 2012-7-3 09:15:34

lisn3188 发表于 2012-6-30 00:22 static/image/common/back.gif
你好,你出现的这们问题是由于操作系统缺少了一些部件引起的,具体的解决办法请参考:
http://www.pcmmc. ...

我测试发现该软件运行时很占资源,显示数据时一拖动软件就挂了,3D显示也比较卡

phwj2006 发表于 2012-7-3 10:03:39

楼主神人,软件很给力,对大家应该帮助很大。
算法什么的能公开就更给力了!呵呵

lisn3188 发表于 2012-7-3 10:25:55

lizhijieli 发表于 2012-7-3 09:15 static/image/common/back.gif
我测试发现该软件运行时很占资源,显示数据时一拖动软件就挂了,3D显示也比较卡 ...

是的,这个波形显示非常占资源最新版本的 修正了一些bug但是还是建议上传的帧率不要超过 20hz。
当然电脑的配置 也是会影响图形显示的

睿睿 发表于 2012-7-4 16:07:58

楼主厉害 看起来好高级哦

GNMXD 发表于 2012-7-4 18:45:36

赞。。。{:lol:}

GNMXD 发表于 2012-7-4 18:48:37

求背景音乐。。。

XUEPENGBIN 发表于 2012-7-5 13:40:30

收藏一下//用得着的时候好找

ksh84222 发表于 2012-7-7 09:06:19

学习中,{:smile:}

济南电子爱好者 发表于 2012-7-9 09:28:47

谢谢楼主的分享

danvey 发表于 2012-7-20 21:25:20

厉害,厉害,感谢楼主分享。

蓝海de梦 发表于 2012-7-25 09:45:20

不知道LZ的陀螺仪积分周期是多少,这软件,单片机向上位机发送频率一大就显示溢出,会很卡,姿态解算的反三角函数很耗时间,不知道LZ是怎么解决的,就算我5ms的积分周期,采集数据+四元数更新+欧拉角解耦+数据放送,远远超过5ms了而且上位机还卡,显示数据溢出,是不是上位机姿态解算来不及??想知道LZ咋解决的,望解答!

lisn3188 发表于 2012-7-25 14:59:26

本帖最后由 lisn3188 于 2012-7-25 15:01 编辑

蓝海de梦 发表于 2012-7-25 09:45 static/image/common/back.gif
不知道LZ的陀螺仪积分周期是多少,这软件,单片机向上位机发送频率一大就显示溢出,会很卡,姿态解算的反三 ...

陀螺仪积分周期 不限定 约有2ms 500Hz 。
你可能搞错了上位机的作用。你下面解算多快与电脑端的软件无关,它只是一个显示波形的软件,就算上传的不是姿态数据它也一样会按格式把接收到的数据显示出来。

所以 放心地加速计算。在有空或者是定期地上传数据给上位机显示。

蓝海de梦 发表于 2012-7-25 16:09:25

lisn3188 发表于 2012-7-25 14:59 static/image/common/back.gif
陀螺仪积分周期 不限定 约有2ms 500Hz 。
你可能搞错了上位机的作用。你下面解算多快与电脑端的软件无关 ...

你2MS就可以解算出欧拉角啦!好快的速度啊,对了,我如果不加延时,就是每周期发送,上位机就卡了,但是如果我发送完一帧数据后加5ms延时,那么就OK,我也奇怪的,之前传ADXL和HMC5883啥的不加延时一点问题没有,传姿态数据,就卡,

liycobl 发表于 2012-7-25 17:06:29

mark      .

xlwq 发表于 2012-7-25 17:14:30

发现各位高手的关注焦点各不同!{:lol:}

lisn3188 发表于 2012-7-25 17:26:42

蓝海de梦 发表于 2012-7-25 16:09 static/image/common/back.gif
你2MS就可以解算出欧拉角啦!好快的速度啊,对了,我如果不加延时,就是每周期发送,上位机就卡了,但是 ...

每个周期都 发送,那当然卡了,像你5ms 那已经是 200Hz了
这个上位机的最高接收帧频率是 20Hz不建议上传超过这个速度的。
因为波形显示和绘图是需要时间的。

lxl_lw 发表于 2012-8-3 15:11:56

为什么这个模块程序里面发送的是“ab”(随便发的,作为测试),电脑串口显示的却是“O'”(大写O和单引号)呢???{:sad:}{:sad:}{:sad:}

lisn3188 发表于 2012-8-3 16:29:43

lxl_lw 发表于 2012-8-3 15:11 static/image/common/back.gif
为什么这个模块程序里面发送的是“ab”(随便发的,作为测试),电脑串口显示的却是“O'”(大写O和单引号)呢? ...

你可能需要了解什么是 ASCII什么是十六进制

wubingqp 发表于 2012-8-3 22:53:06

上位机是源程序还是一个可执行文件?

shaorei 发表于 2012-8-11 02:01:17

牛人!谢谢上位机。

zm920011 发表于 2012-8-11 12:18:51

上位机相当猛啊{:biggrin:}

lxl_lw 发表于 2012-8-12 03:39:47

lisn3188 发表于 2012-8-3 16:29
你可能需要了解什么是 ASCII什么是十六进制

问题解决,原来板子输出的是TTL电平,还要转换成RS232才能接上电脑。

xuan2012 发表于 2012-8-12 15:59:24

Lz的mpu6050与HMC5883L之间的数据是通过辅助I2c传输的么?是的话能否指教一下{:biggrin:}
页: [1] 2 3 4
查看完整版本: miniIMU AHRS 姿态板首试 动如脱兔 静若处子