搜索
bottom↓
楼主: lisn3188

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

  [复制链接]

出0入0汤圆

 楼主| 发表于 2012-8-12 16:41:50 | 显示全部楼层
xuan2012 发表于 2012-8-12 15:59
Lz的mpu6050与HMC5883L之间的数据是通过辅助I2c传输的么?是的话能否指教一下  ...

是的,使用是MPU6050的 AUXSCL AUXSDA 连接到HMC5883, 但是并没有用6050采集5883的数据。而是通过设置成直连接的方式。

出0入0汤圆

发表于 2012-8-13 16:09:41 | 显示全部楼层
lisn3188 发表于 2012-8-12 16:41
是的,使用是MPU6050的 AUXSCL AUXSDA 连接到HMC5883, 但是并没有用6050采集5883的数据。而是通过设置成 ...

Lz能否分享一下6050和5883L的寄存器配置啊

出0入0汤圆

发表于 2012-8-13 18:18:07 | 显示全部楼层
顶一个先

出0入0汤圆

发表于 2012-8-16 15:44:54 | 显示全部楼层
谢谢楼主的分享~

出0入0汤圆

发表于 2012-8-19 02:02:49 来自手机 | 显示全部楼层
蓝海de梦 发表于 2012-7-25 09:45
不知道LZ的陀螺仪积分周期是多少,这软件,单片机向上位机发送频率一大就显示溢出,会很卡,姿态解算的反三 ...

你用的什么微控制器?

出0入0汤圆

发表于 2012-8-19 07:22:30 | 显示全部楼层
lisn3188 发表于 2012-6-11 16:47
需要上位机可以 到 http://www.chiplab7.com/goods.php?id=9 这里去下载最新的。

最新的貌似下不了啊

出0入4汤圆

发表于 2012-8-19 07:56:50 | 显示全部楼层
上位机开源不?想玩玩3D显示

出0入0汤圆

发表于 2012-8-19 09:01:05 | 显示全部楼层
lxl_lw 发表于 2012-8-19 02:02
你用的什么微控制器?

stm32f103单片机

出0入0汤圆

发表于 2012-8-19 09:34:36 | 显示全部楼层
lisn3188 发表于 2012-8-12 16:41
是的,使用是MPU6050的 AUXSCL AUXSDA 连接到HMC5883, 但是并没有用6050采集5883的数据。而是通过设置成 ...

lz你好,看了你的miniIMU源代码,写得很清晰,是学习的好资料。

但有一个问题,在你的例程中用GPIO模拟IIC的方式来读取这些传感器的值,如果我在程序中还要使用中断,比如定时中断或外部中断,这样是不是会对模拟的IIC通讯造成影响呢?有没有测试过这样情况啊。

出0入0汤圆

发表于 2012-8-19 11:35:07 | 显示全部楼层
Eastnorth 发表于 2012-8-19 09:34
lz你好,看了你的miniIMU源代码,写得很清晰,是学习的好资料。

但有一个问题,在你的例程中用GPIO模拟I ...

模拟的IIC 应该不会有什么影响   如果用的是硬件的IIC 就有可能死了                                                                     

出0入0汤圆

发表于 2012-8-19 12:57:14 | 显示全部楼层
Name_006 发表于 2012-8-19 11:35
模拟的IIC 应该不会有什么影响   如果用的是硬件的IIC 就有可能死了                                    ...

如果在GPIO通过bit-bang方式传输SDA上的数据或SCL上的时钟信号的时候,有中断产生,CPU会先去处理中断程序,然后回来。这就会使某一个数据bit或某一个时钟位的时间拉长,这样会不会给挂在IIC总线上的其他器件造成误读或读取失败呢?

硬件IIC的问题了解,只是不知道模拟的方式是否足够可靠,如果有中断的话。

出0入0汤圆

 楼主| 发表于 2012-8-19 15:05:53 | 显示全部楼层
Eastnorth 发表于 2012-8-19 12:57
如果在GPIO通过bit-bang方式传输SDA上的数据或SCL上的时钟信号的时候,有中断产生,CPU会先去处理中断程 ...

像这样的系统 要求中断程序执行时间尽量的短。I2C时序并不会那么矫情,同一个读周期里,两个时钟间us级的差别不会有影响。

出0入0汤圆

 楼主| 发表于 2012-8-19 15:07:18 | 显示全部楼层
agnd 发表于 2012-8-19 07:22
最新的貌似下不了啊


网站正在备案中。

出0入0汤圆

 楼主| 发表于 2012-8-19 15:15:28 | 显示全部楼层




以上是最新的软件包。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-8-19 22:00:05 | 显示全部楼层
谢谢楼主共享

出0入0汤圆

发表于 2012-8-26 13:19:03 | 显示全部楼层
请问楼主,这些代码是什么运算,从哪里得来的?
  1.   // compute reference direction of flux
  2.   hx = 2*mx*(0.5f - q2q2 - q3q3) + 2*my*(q1q2 - q0q3) + 2*mz*(q1q3 + q0q2);
  3.   hy = 2*mx*(q1q2 + q0q3) + 2*my*(0.5f - q1q1 - q3q3) + 2*mz*(q2q3 - q0q1);
  4.   hz = 2*mx*(q1q3 - q0q2) + 2*my*(q2q3 + q0q1) + 2*mz*(0.5f - q1q1 - q2q2);         
  5.   bx = sqrt((hx*hx) + (hy*hy));
  6.   bz = hz;     
  7.   
  8.   // estimated direction of gravity and flux (v and w)
  9.   vx = 2*(q1q3 - q0q2);
  10.   vy = 2*(q0q1 + q2q3);
  11.   vz = q0q0 - q1q1 - q2q2 + q3q3;
  12.   wx = 2*bx*(0.5f - q2q2 - q3q3) + 2*bz*(q1q3 - q0q2);
  13.   wy = 2*bx*(q1q2 - q0q3) + 2*bz*(q0q1 + q2q3);
  14.   wz = 2*bx*(q0q2 + q1q3) + 2*bz*(0.5f - q1q1 - q2q2);  
复制代码

出0入0汤圆

 楼主| 发表于 2012-8-27 09:19:48 | 显示全部楼层
zz274510110 发表于 2012-8-26 13:19
请问楼主,这些代码是什么运算,从哪里得来的?


分别计算 磁力计估算的磁向量与现在的姿态差,用于修正姿态

出0入0汤圆

发表于 2012-8-27 09:40:03 | 显示全部楼层
zz274510110 发表于 2012-8-26 13:19
请问楼主,这些代码是什么运算,从哪里得来的?

这代码是附送的??

出0入0汤圆

发表于 2012-8-27 20:26:52 | 显示全部楼层
lisn3188 发表于 2012-8-27 09:19
分别计算 磁力计估算的磁向量与现在的姿态差,用于修正姿态

这么复杂的计算有出处和公式吗,请问在哪里能找到理论根据?

出0入0汤圆

发表于 2012-9-2 13:39:13 | 显示全部楼层
强帖,顶起,楼主霸气侧漏啊……!!!

出0入0汤圆

发表于 2012-9-2 14:50:23 | 显示全部楼层
楼主高手啊,赞一个~

出0入0汤圆

发表于 2012-9-2 17:12:56 | 显示全部楼层
高手 看着很鸡动!


有空了也去搞搞去

出0入0汤圆

发表于 2012-9-3 14:09:57 | 显示全部楼层
新手,先mark

出0入0汤圆

发表于 2012-9-3 14:30:52 | 显示全部楼层
谢谢楼主共享

出0入0汤圆

发表于 2012-9-5 18:23:16 | 显示全部楼层
程序飞得不错.好好学习

出0入0汤圆

发表于 2012-9-7 10:54:57 | 显示全部楼层
多謝分享!用了您的源碼和上位機軟件調試MPU050,下載程序后發現有時候正常,有時候感覺mpu6050的各個軸好像有被比例放大了,稍微動一下上位機那邊就偏的很厲害。
另外在靜置的時候航向角是無法靜止的,要嘛順時針勻速旋轉,要嘛就逆時針勻速旋轉。當然也有正常的時候,反正是同樣的程序下載之後運行的狀態可能有不小的差別。
盼複!

出0入0汤圆

 楼主| 发表于 2012-9-7 11:10:36 | 显示全部楼层
werren 发表于 2012-9-7 10:54
多謝分享!用了您的源碼和上位機軟件調試MPU050,下載程序后發現有時候正常,有時候感覺mpu6050的各個軸好 ...

1. 各轴的数据被放大,这个不太可能的。这个软件只是将你上传的数据用波形的方式显示,它本身不会进行解算和数据加工处理。你应该从下位机的程序入手,检查一下。
2.如果只有MPU6050,解出来的YAW航向是不能确定的。你需要加入磁力计。

出0入0汤圆

发表于 2012-9-7 17:12:02 | 显示全部楼层
lisn3188 发表于 2012-9-7 11:10
1. 各轴的数据被放大,这个不太可能的。这个软件只是将你上传的数据用波形的方式显示,它本身不会进行解 ...

      感謝回覆!
     “使用四元数表示姿态,磁力计和加速度通过Pi环修正陀螺仪输出。”。。。。搜了一下大概知道怎麼回事,但是沒有看懂。故再次請教:
      1.  如果沒有磁力計修正的話單純MPU6050能否計算輸出準確的水平旋轉角度(類似航向),比如我將傳感器水平放置,旋轉720度之後它能否算出我旋轉的720度(精度)。
      2.  不需要指明南北航向如何把水平旋轉的角度剝離出來?
      3.  若得空還請樓主講解一下磁力計和加速度是如何修正陀螺儀輸出的。

出0入0汤圆

 楼主| 发表于 2012-9-7 21:05:14 | 显示全部楼层
werren 发表于 2012-9-7 17:12
感謝回覆!
     “使用四元数表示姿态,磁力计和加速度通过Pi环修正陀螺仪输出。”。。。。搜了一 ...

1. 单纯使用陀螺仪积分出来的角度会漂,来自几个方向:
1). 陀螺仪本身的零偏和温漂 还有线性度
2). 积分的速度,或者是说积分的频率,当然,积分更新越快越好
3). 积分时间的偏差。
由于以上的因素,当你旋轉720度之後,能否得到720度的精度,我在这只能回答你,一般很难达到。

2. 这个我不清楚。


出0入0汤圆

发表于 2012-9-8 20:59:44 | 显示全部楼层
lisn3188 发表于 2012-9-7 21:05
1. 单纯使用陀螺仪积分出来的角度会漂,来自几个方向:
1). 陀螺仪本身的零偏和温漂 还有线性度
2). 积分 ...

热心的楼主,问个问题,HMC5883L出来的数据不是很正确,貌似地磁分量偏移了,怎么解决呢??

出0入0汤圆

发表于 2012-9-8 21:02:39 | 显示全部楼层
mark~~~~~~~~~~~~~~

出0入0汤圆

发表于 2012-9-8 23:22:05 | 显示全部楼层
解算代码贴出来一起学习下啊

出0入0汤圆

发表于 2012-9-9 14:55:33 | 显示全部楼层
wangjt1988 发表于 2012-9-8 23:22
解算代码贴出来一起学习下啊

偷偷貼一下,若有不妥請樓主說明我再刪除
還有很多不懂的地方,希望有人過來上課。
/**************************实现函数********************************************
*函数原型:           void IMU_AHRSupdate
*功  能:         更新AHRS 更新四元数
输入参数: 当前的测量值。
输出参数:没有
*******************************************************************************/
#define Kp 1.0f   // proportional gain governs rate of convergence to accelerometer/magnetometer
#define Ki 0.53f   // integral gain governs rate of convergence of gyroscope biases

void IMU_AHRSupdate(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz) {
  float norm;
  float hx, hy, hz, bx, bz;
  float vx, vy, vz, wx, wy, wz;
  float ex, ey, ez,halfT;

  // 先把这些用得到的值算好
  float q0q0 = q0*q0;
  float q0q1 = q0*q1;
  float q0q2 = q0*q2;
  float q0q3 = q0*q3;
  float q1q1 = q1*q1;
  float q1q2 = q1*q2;
  float q1q3 = q1*q3;
  float q2q2 = q2*q2;   
  float q2q3 = q2*q3;
  float q3q3 = q3*q3;         
  
  now = micros();  //读取时间
  if(now<lastUpdate){ //定时器溢出过了。
  halfT =  ((float)(now + (0xffff- lastUpdate)) / 2000000.0f);
  }
  else        {
  halfT =  ((float)(now - lastUpdate) / 2000000.0f);
  }
  lastUpdate = now;        //更新时间

  norm = invSqrt(ax*ax + ay*ay + az*az);      
  ax = ax * norm;
  ay = ay * norm;
  az = az * norm;                       

  norm = invSqrt(mx*mx + my*my + mz*mz);         
  mx = mx * norm;
  my = my * norm;
  mz = mz * norm;                       

  // compute reference direction of flux
  hx = 2*mx*(0.5f - q2q2 - q3q3) + 2*my*(q1q2 - q0q3) + 2*mz*(q1q3 + q0q2);
  hy = 2*mx*(q1q2 + q0q3) + 2*my*(0.5f - q1q1 - q3q3) + 2*mz*(q2q3 - q0q1);
  hz = 2*mx*(q1q3 - q0q2) + 2*my*(q2q3 + q0q1) + 2*mz*(0.5f - q1q1 - q2q2);         
  bx = sqrt((hx*hx) + (hy*hy));
  bz = hz;     
  
  // estimated direction of gravity and flux (v and w)           估计重力方向和流量/变迁
  vx = 2*(q1q3 - q0q2);
  vy = 2*(q0q1 + q2q3);
  vz = q0q0 - q1q1 - q2q2 + q3q3;
  wx = 2*bx*(0.5 - q2q2 - q3q3) + 2*bz*(q1q3 - q0q2);
  wy = 2*bx*(q1q2 - q0q3) + 2*bz*(q0q1 + q2q3);
  wz = 2*bx*(q0q2 + q1q3) + 2*bz*(0.5 - q1q1 - q2q2);  
  
  // error is sum of cross product between reference direction of fields and direction measured by sensors
  ex = (ay*vz - az*vy) + (my*wz - mz*wy);
  ey = (az*vx - ax*vz) + (mz*wx - mx*wz);
  ez = (ax*vy - ay*vx) + (mx*wy - my*wx);

if(ex != 0.0f && ey != 0.0f && ez != 0.0f){
  exInt = exInt + ex * Ki * halfT;
  eyInt = eyInt + ey * Ki * halfT;       
  ezInt = ezInt + ez * Ki * halfT;

  // adjusted gyroscope measurements
  gx = gx + Kp*ex + exInt;
  gy = gy + Kp*ey + eyInt;
  gz = gz + Kp*ez + ezInt;

  }

  // integrate quaternion rate and normalise
  q0 = q0 + (-q1*gx - q2*gy - q3*gz)*halfT;
  q1 = q1 + (q0*gx + q2*gz - q3*gy)*halfT;
  q2 = q2 + (q0*gy - q1*gz + q3*gx)*halfT;
  q3 = q3 + (q0*gz + q1*gy - q2*gx)*halfT;  
  
  // normalise quaternion
  norm = invSqrt(q0*q0 + q1*q1 + q2*q2 + q3*q3);
  q0 = q0 * norm;
  q1 = q1 * norm;
  q2 = q2 * norm;
  q3 = q3 * norm;
}

/**************************实现函数********************************************
*函数原型:           void IMU_getYawPitchRoll(float * angles)
*功  能:         更新四元数 返回当前解算后的姿态数据
输入参数: 将要存放姿态角的数组首地址
输出参数:没有
*******************************************************************************/
void IMU_getYawPitchRoll(float * angles) {
  float q[4]; // 四元数
  volatile float gx=0.0, gy=0.0, gz=0.0; //估计重力方向
  IMU_getQ(q); //更新全局四元数
  
  angles[0] = -atan2(2 * q[1] * q[2] + 2 * q[0] * q[3], -2 * q[2]*q[2] - 2 * q[3] * q[3] + 1)* 180/M_PI; // yaw
  angles[1] = -asin(-2 * q[1] * q[3] + 2 * q[0] * q[2])* 180/M_PI; // pitch
  angles[2] = atan2(2 * q[2] * q[3] + 2 * q[0] * q[1], -2 * q[1] * q[1] - 2 * q[2] * q[2] + 1)* 180/M_PI; // roll
  if(angles[0]<0)angles[0]+=360.0f;  //将 -+180度  转成0-360度
}

出0入0汤圆

发表于 2012-9-9 15:18:25 | 显示全部楼层
lisn3188 发表于 2012-9-7 21:05
1. 单纯使用陀螺仪积分出来的角度会漂,来自几个方向:
1). 陀螺仪本身的零偏和温漂 还有线性度
2). 积分 ...

加入HMC5883L,模塊靜置一段時間航向可以穩定了。模塊旋轉一定角度停止旋轉時候航向指針會逆著我旋轉的方向漸漸拉回去。
具體操作:   將模塊水平放置,順時針轉過任意角度,航向指針也會順時針旋轉,當我停止旋轉后航向指針馬上就開始慢慢逆時針漸漸旋回最後才穩定在一定的角度。因為代碼還沒理解,請萬能的樓主繼續點撥一二。
同樣的四元數計算出來的橫滾和俯仰角都是正常而且很穩定的,爲什麽航向角不穩定?

出0入0汤圆

发表于 2012-9-9 19:11:13 | 显示全部楼层
IMU_AHRSupdate  请问输入此函数9轴信息的单位都是什么

出0入0汤圆

发表于 2012-9-9 19:50:20 | 显示全部楼层
werren 发表于 2012-9-9 15:18
加入HMC5883L,模塊靜置一段時間航向可以穩定了。模塊旋轉一定角度停止旋轉時候航向指針會逆著我旋轉的方 ...

陀螺或罗盘没校正好。
陀螺过冲了。

出0入0汤圆

发表于 2012-9-9 20:17:50 | 显示全部楼层
看下面  囧rz

出0入0汤圆

发表于 2012-9-9 20:18:16 | 显示全部楼层
js200300953 发表于 2012-9-9 19:50
陀螺或罗盘没校正好。
陀螺过冲了。

這麼說來應該是羅盤沒有校好的原因。我現在只是用加速度和陀螺儀,不會有那種狀況出現了。可是仍然是航向角每隔一段時間(約5秒)就增加0.1度,這個是不是所謂的漂移?如何消除?

出0入0汤圆

发表于 2012-9-9 20:56:31 | 显示全部楼层
werren 发表于 2012-9-9 20:18
這麼說來應該是羅盤沒有校好的原因。我現在只是用加速度和陀螺儀,不會有那種狀況出現了。可是仍然是航向 ...

在只用陀螺仪和加速度计的情况下,如果你仅绕Z轴绕,当然不会察觉,你试试绕X或Y轴绕。
要纠正那个漂移,就加上罗盘了。罗盘和加速度计是好基友。

出0入0汤圆

 楼主| 发表于 2012-9-10 07:55:49 | 显示全部楼层
werren 发表于 2012-9-9 15:18
加入HMC5883L,模塊靜置一段時間航向可以穩定了。模塊旋轉一定角度停止旋轉時候航向指針會逆著我旋轉的方 ...

这个情况应该是磁力计没有校准,或者是说周围的磁干扰扭曲了地球磁力线。在这个情况下,还会出现航向角漂乎不定。

出0入0汤圆

发表于 2012-9-10 13:36:02 | 显示全部楼层
lisn3188 发表于 2012-9-10 07:55
这个情况应该是磁力计没有校准,或者是说周围的磁干扰扭曲了地球磁力线。在这个情况下,还会出现航向角漂 ...

所谓的地磁模块校准,是在上电时放在水平,然后记录下这个时候三个方向的磁场方向?然后在后期旋转的时候再以原先磁场的方向作为参考?

出0入0汤圆

发表于 2012-9-19 00:17:46 | 显示全部楼层
楼主强人·   学习中!

出0入0汤圆

发表于 2012-9-20 17:00:47 | 显示全部楼层
感谢楼主

出0入0汤圆

发表于 2012-9-23 10:03:41 | 显示全部楼层
新手,mark

出0入0汤圆

发表于 2012-9-28 15:55:09 | 显示全部楼层
看这图挺不错的,支持一下

出0入0汤圆

发表于 2012-9-29 09:08:02 | 显示全部楼层
lisn3188 发表于 2012-4-26 21:39
终于找到一个大BUG,影响速度的Bug.现在上位机可以发布了。
可能还有更多的问题。希望用这个软件的同志们能 ...

谢谢楼主的无私奉献 需要哈哈

出0入0汤圆

发表于 2012-9-29 18:15:32 | 显示全部楼层
iocomp可以实现3D吗??求共享iocomp学习资料

出0入0汤圆

发表于 2012-10-3 17:12:54 | 显示全部楼层
请问楼主,你的pitch  roll 下面的那个图是怎么做的?

出0入0汤圆

发表于 2012-10-9 22:29:22 | 显示全部楼层
楼主着实强大啊!

出0入0汤圆

发表于 2012-10-12 13:48:18 | 显示全部楼层
能买到成品吗,好想买个学习。

出0入0汤圆

发表于 2012-10-13 13:55:59 | 显示全部楼层
购买淘宝的那个飞控板,能直接调节电调控制电机吗?我想买

出0入0汤圆

发表于 2012-10-13 14:03:30 | 显示全部楼层
你淘宝怎么没那个飞控了?昨天还见到了.....

出0入0汤圆

 楼主| 发表于 2012-10-13 17:15:17 | 显示全部楼层
sxljm888 发表于 2012-10-13 14:03
你淘宝怎么没那个飞控了?昨天还见到了.....

家里出了些事情,暂时关店。谢谢你的关注。

出0入0汤圆

发表于 2012-10-13 18:21:24 | 显示全部楼层
期待开源

出0入0汤圆

发表于 2012-10-13 19:50:58 | 显示全部楼层
liu106 发表于 2012-10-13 18:21
期待开源

   就是开源的哦  不过要购买才有 源码送的  

出0入0汤圆

发表于 2012-10-15 16:13:33 | 显示全部楼层
关注,看后很激动。请问上位机是用什么实现的?

出0入0汤圆

发表于 2012-11-9 19:03:11 | 显示全部楼层
werren 发表于 2012-9-9 14:55
偷偷貼一下,若有不妥請樓主說明我再刪除
還有很多不懂的地方,希望有人過來上課。
/****************** ...

请问
void IMU_AHRSupdate(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz)
这个函数中的参数 :  gx  、gy 、gz           ax 、   ay  、 az      mx  、   my 、   mz
分别要传递什么数据进去呢?
gx  ,  gy  ,  gz   参数代表的是传递加速度的值么??  mx   my   mz   和  ax   ay  az代表的又是什么呢?

出0入0汤圆

发表于 2012-11-12 16:19:22 | 显示全部楼层
MARK一下。

出0入0汤圆

发表于 2012-11-12 20:44:09 | 显示全部楼层
先mark一下 以后有机会一定搞一个

出0入0汤圆

发表于 2012-11-20 12:48:57 | 显示全部楼层
标记一哈 ,以后可能有用

出0入0汤圆

发表于 2012-11-21 08:45:22 | 显示全部楼层
关注中,做个标记

出0入0汤圆

发表于 2012-11-21 09:20:25 | 显示全部楼层
标记一下,学习

出0入0汤圆

发表于 2012-11-21 11:25:08 | 显示全部楼层
学习了……………………

出0入0汤圆

发表于 2012-11-21 12:23:03 | 显示全部楼层
不错不错,学习一下,
头像被屏蔽

出0入0汤圆

发表于 2012-11-21 21:25:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2012-11-22 09:08:21 | 显示全部楼层
多谢楼主  ~~顶一下

出0入0汤圆

发表于 2012-11-22 11:19:06 | 显示全部楼层
留名等火

出0入4汤圆

发表于 2012-11-22 11:24:57 | 显示全部楼层
标记,说不得以后有用。

出0入0汤圆

发表于 2012-11-22 12:52:36 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2012-11-22 12:56:58 | 显示全部楼层
顶一个!

出0入0汤圆

发表于 2012-11-23 21:28:01 | 显示全部楼层
像我这种不会上位机的有福了

出0入0汤圆

发表于 2012-11-29 13:51:29 | 显示全部楼层
楼主的MPU6050 和 HMC5883L  的连接方式是将 MPU6050的  6脚AUX_DA和7脚AUX_CL个 HMC5883L的 1和16脚的IIC总线连接,STM32的IO口跟MPU6050的24,23脚的SDA和SCL连接。
但是想不明白,为什么不直接将MPU6050的24,23,HMC5883的1和16跟 STM32的IO口连接呢?这样连接跟楼主的连接方式在程序上有何区别?

出0入0汤圆

 楼主| 发表于 2012-11-29 14:41:49 | 显示全部楼层
taizhou1234 发表于 2012-11-29 13:51
楼主的MPU6050 和 HMC5883L  的连接方式是将 MPU6050的  6脚AUX_DA和7脚AUX_CL个 HMC5883L的 1和16脚的IIC ...

这两种接法不一样, MPU6050还有一个功能 是可以自动去读磁力计的测量值然后存在自己的FIFO中。
我最初是想用MPU6050 去读HMC5883的数据,然后处理器直接一次从6050中读九轴的数据。

出0入0汤圆

发表于 2012-11-29 21:41:11 | 显示全部楼层
lisn3188 发表于 2012-11-29 14:41
这两种接法不一样, MPU6050还有一个功能 是可以自动去读磁力计的测量值然后存在自己的FIFO中。
我最初是 ...

但是实际测试发现,直接将MPU6050的24,23,HMC5883的1和16跟 STM32的IO口连接  也可以正常工作。

不知楼主能否详细说说这两者的接法在使用上有何不同之处?

但是没发现有例子使用MPU6050读取 HMC5883L 数据的程序,楼主有无相关参考的?

出0入0汤圆

发表于 2012-12-3 17:47:19 | 显示全部楼层
楼主帮忙界定一下下面视频的怎么样?
http://v.youku.com/v_show/id_XMzcyNDc4NTc2.html

出0入0汤圆

 楼主| 发表于 2012-12-3 20:15:18 | 显示全部楼层
COMPASSNAVHK 发表于 2012-12-3 17:47
楼主帮忙界定一下下面视频的怎么样?
http://v.youku.com/v_show/id_XMzcyNDc4NTc2.html

做得不错。上位机上的画线那一段没看明白。

出0入0汤圆

发表于 2012-12-4 01:16:02 | 显示全部楼层
挺有意思的,不错

出0入0汤圆

发表于 2012-12-4 07:35:09 | 显示全部楼层
这个很强~~~

出0入0汤圆

发表于 2012-12-5 01:21:50 | 显示全部楼层
非常强大,要学习学习

出0入0汤圆

发表于 2012-12-7 12:55:31 | 显示全部楼层
lisn3188 发表于 2012-4-26 21:45
下面是通信协议:

好人一生平安!

出0入0汤圆

发表于 2012-12-9 18:52:52 | 显示全部楼层
能发个原始传感器的曲线么。我的加速度计即使不动也跳动很厉害,不知道什么原因

出0入0汤圆

 楼主| 发表于 2012-12-10 10:32:37 | 显示全部楼层
brb2010 发表于 2012-12-9 18:52
能发个原始传感器的曲线么。我的加速度计即使不动也跳动很厉害,不知道什么原因 ...

没有原始传感数据的,这只是一个波形显示器,如果是加速度计即使不动也跳动很厉害。应该从程序方面找一下原因,或者是传感器的问题

出0入0汤圆

发表于 2012-12-10 12:32:54 | 显示全部楼层
lisn3188 发表于 2012-12-10 10:32
没有原始传感数据的,这只是一个波形显示器,如果是加速度计即使不动也跳动很厉害。应该从程序方面找一下 ...

我用的也是mpu6050.我在看看是什么原因。顺便问下:ustra->dr寄存器,写入的值可以是什么类型的?我传感器的值是int,串口发送时转换成unsigned char,是不这块的问题?

出0入0汤圆

 楼主| 发表于 2012-12-10 22:52:57 | 显示全部楼层
brb2010 发表于 2012-12-10 12:32
我用的也是mpu6050.我在看看是什么原因。顺便问下:ustra->dr寄存器,写入的值可以是什么类型的?我传感 ...

请注意看前面帖子的通信协议。如果你不知道  usart->dr寄存器,写入的值可以是什么类型的? 请先去学习 单片机会好一些。
传感器的输出当然是一个int 类型,直接输入 子程序:
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)

就可以了。

出0入0汤圆

发表于 2012-12-11 11:40:38 | 显示全部楼层
昨天已经弄好了。是变量类型的问题

出0入0汤圆

发表于 2012-12-21 18:54:52 | 显示全部楼层
我的横滚角显示正常,其他角度开始显示是正常的,但是一会就变成0了。不知道为什么?

出0入0汤圆

 楼主| 发表于 2012-12-21 19:07:58 | 显示全部楼层
brb2010 发表于 2012-12-21 18:54
我的横滚角显示正常,其他角度开始显示是正常的,但是一会就变成0了。不知道为什么? ...

这个可能和你的程序有关系,如果可以,到www.chiplab7.com下载最版本的软件试试。
仍然不能解决的,你需要检查下位机的程序是否正常运行了

出0入0汤圆

发表于 2012-12-21 19:43:37 | 显示全部楼层
lisn3188 发表于 2012-12-21 19:07
这个可能和你的程序有关系,如果可以,到www.chiplab7.com下载最版本的软件试试。
仍然不能解决的,你需 ...

下了新的还是有问题,我再查查吧……好奇怪的问题。

出0入0汤圆

发表于 2012-12-29 11:01:28 | 显示全部楼层
楼主,我按你的通信协议发数据,只有RX灯一直闪,没有曲线出来,哪里问题?

出0入0汤圆

 楼主| 发表于 2012-12-29 15:05:36 | 显示全部楼层
flyforyou85 发表于 2012-12-29 11:01
楼主,我按你的通信协议发数据,只有RX灯一直闪,没有曲线出来,哪里问题? ...

应该是协议 没有对上,校验失败的可能性大一些,你试试新版本的。到www.chiplab7.com下载。

出0入0汤圆

发表于 2012-12-29 16:06:11 | 显示全部楼层
谢谢楼主,我再试试!

出0入0汤圆

发表于 2013-1-5 14:17:23 | 显示全部楼层
lisn3188 发表于 2012-4-26 21:45
下面是通信协议:

为什么下载下来不能完全解压,缺少什么压缩分卷。好郁闷啊???????求助

出0入0汤圆

发表于 2013-1-5 17:19:14 | 显示全部楼层
mark,好东西.

出0入0汤圆

发表于 2013-1-5 18:02:51 | 显示全部楼层
楼主的地平仪那个怎么做的,就是roll和pitch的显示,用的什么控件?

出0入0汤圆

 楼主| 发表于 2013-1-5 22:06:13 | 显示全部楼层
wangjt1988 发表于 2013-1-5 18:02
楼主的地平仪那个怎么做的,就是roll和pitch的显示,用的什么控件?

直接用图片  做的。

出0入0汤圆

发表于 2013-1-6 02:20:28 | 显示全部楼层
lisn3188 发表于 2013-1-5 22:06
直接用图片  做的。

莫非楼主的网站给360盯上了?


开玩笑啦!
  6月份的MiniAHRS_PRO.exe没报木马
12月份的MiniAHRS_PRO2.exe报了木马,不知是不是真的有问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-1-6 10:00:13 | 显示全部楼层
我也买过楼主的模块,不错的~

出0入0汤圆

发表于 2013-1-6 10:32:25 | 显示全部楼层
wszyjsw2 发表于 2012-4-21 18:55
我以为他会开源 看到他底下的淘宝地址后 我就知道他不会开源了

超级聪明人,看重点拉

出0入0汤圆

发表于 2013-1-6 10:45:17 | 显示全部楼层
mark
mark

出0入0汤圆

 楼主| 发表于 2013-1-6 16:28:09 | 显示全部楼层
OTD_WIND 发表于 2013-1-6 02:20
莫非楼主的网站给360盯上了?

很多客户 和我反应上位机软件 引起360报病毒的,  建议要用的还是添加信任吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 21:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表