久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14561|回復: 16
打印 上一主題 下一主題
收起左側

51單片機怎么使用MPU6050讀取角度值程序 ?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:171069 發表于 2017-4-8 10:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
20黑幣
目前只能初始化mpu6050,如何通過程序使陀螺儀和加速度計的初始值轉化成角度??

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:173909 發表于 2017-4-8 19:01 | 只看該作者

#include <REG52.H>       
#include <math.h>    //Keil library  
#include <stdio.h>   //Keil library       
#include <INTRINS.H>


typedef unsigned char  uchar;
typedef unsigned short ushort;
typedef unsigned int   uint;

//******功能模塊頭文件*******
//#include "DELAY.H"                    //延時頭文件
#include "lcd1602.H"                        //LCD1602文件
#include "MPU6050.H"                //MPU6050頭文件

//******角度參數************
float Accel_ax;
float Accel_az;             //X軸加速度值暫存
float Angle;         //小車最終傾斜角度
uchar value;                 //角度正負極性標記
//float  Accel_x;
//float  Angle_ax;
//float Gyro_y;        //Y軸陀螺儀數據暫存
//*********************************************************
// 傾角計算(卡爾曼融合)
//*********************************************************

float Angle_Calcu(void)         
{
        //------加速度--------------------------

        //范圍為2g時,換算關系:16384 LSB/g
        //角度較小時,x=sinx得到角度(弧度), deg = rad*180/3.14
        //因為x>=sinx,故乘以1.3適當放大

        Accel_ax  = GetData(ACCEL_XOUT_H);          //讀取X軸加速度
        Accel_az  = GetData(ACCEL_ZOUT_H);          //讀取X軸加速度
        Angle = (int)(atan(Accel_ax/Accel_az)*180/3.14);
/*        Accel_x  = GetData(ACCEL_XOUT_H);          //讀取X軸加速度
        Angle_ax = (Accel_x - 1100) /16384;   //去除零點偏移,計算得到角度(弧度)
        Angle_ax = Angle_ax*1.2*180/3.14;     //弧度轉換為度,
    return        Angle_ax;
        Gyro_y = GetData(GYRO_YOUT_H);              //靜止時角速度Y軸輸出為-30左右
        Gyro_y = -(Gyro_y + 30)/16.4;         //去除零點偏移,計算角速度值,負號為方向處理
        Angle  = Angle + Gyro_y*0.01;  //角速度積分得到傾斜角度.*/       
        return         Angle;                                                                                                          
}

void main()
{         //float ax,ay,az,xx,yy,zz;
    float xx;
        delay(500);                //上電延時               
        InitLcd();                //液晶初始化
        InitMPU6050();        //初始化MPU6050
        delay(150);
        while(1)
        {               
                xx=Angle_Calcu();
                lcd_printf(dis,xx);                        //轉換數據顯示
            DisplayListChar(2,0,dis,4);  
        }
}



這是我寫的程序希望能解決
回復

使用道具 舉報

板凳
ID:171069 發表于 2017-4-9 10:40 來自手機 | 只看該作者
mr_zhangpupu 發表于 2017-4-8 19:01
#include        
#include     //Keil library  
#include    //Keil library       

差了好多東西啊
回復

使用道具 舉報

地板
ID:148552 發表于 2017-4-10 21:00 | 只看該作者
陀螺儀直接讀出來的值是沒有任何意義的,但是可以通過四元數計算得到角度,這個角度就反應陀螺儀的實際角度
回復

使用道具 舉報

5#
ID:188289 發表于 2017-4-10 22:31 | 只看該作者
你需要使用模擬IIC來模擬時序 ,進行6軸原始數據讀取,買模塊的店家連接應該有程序,你直接移植過來
回復

使用道具 舉報

6#
ID:171069 發表于 2017-4-19 10:52 來自手機 | 只看該作者
caojunchocjc 發表于 2017-4-10 22:31
你需要使用模擬IIC來模擬時序 ,進行6軸原始數據讀取,買模塊的店家連接應該有程序,你直接移植過來

可以讀取原始值,我想通過算法輸出一個方向的角度,51用dmp沒有必要
回復

使用道具 舉報

7#
ID:171069 發表于 2017-4-19 10:53 來自手機 | 只看該作者
你像風兒來了 發表于 2017-4-10 21:00
陀螺儀直接讀出來的值是沒有任何意義的,但是可以通過四元數計算得到角度,這個角度就反應陀螺儀的實際角度

不會啊
回復

使用道具 舉報

8#
ID:154197 發表于 2017-4-19 23:28 | 只看該作者
本帖最后由 helios 于 2017-4-19 23:32 編輯

角度的話可以用反三角函數,假設你把加速度計初始化為2g,那x軸的角度=180.0*asin((float)x/16384)/3.1416;
然后假設你把陀螺儀初始化為+-2000度/s,那x軸的角速度=gy/16.4
當然你會發現靜止時角速度不為0,需要調零
回復

使用道具 舉報

9#
ID:221855 發表于 2017-7-25 16:02 | 只看該作者
用stc12c5a60s2寫,怎樣 用互補濾波?
回復

使用道具 舉報

10#
ID:148552 發表于 2017-7-25 20:21 | 只看該作者
這里面有,我自己測試過

IAP15W4K58S4-小四軸DIY.zip

577.07 KB, 下載次數: 433

回復

使用道具 舉報

11#
ID:222437 發表于 2017-7-26 00:48 | 只看該作者
我這有基于51單片,在1602顯示角度的陀螺儀gy 271程序
回復

使用道具 舉報

12#
ID:224251 發表于 2017-8-3 09:15 | 只看該作者
啟動MPU6050自帶的DMP,從DMP中得到四元數,再進行歐拉公式換算,就能得到角度
回復

使用道具 舉報

13#
ID:221145 發表于 2017-10-15 22:50 | 只看該作者
參考參考
回復

使用道具 舉報

14#
ID:221145 發表于 2017-10-15 22:50 | 只看該作者
我也在找,51用DMP空間不夠,不知道有沒有更簡單的方法
回復

使用道具 舉報

15#
ID:592012 發表于 2019-8-2 20:57 | 只看該作者
守護靈 發表于 2017-7-26 00:48
**** 作者被禁止或刪除 內容自動屏蔽 ****

1361267482@qq.com,麻煩發一份
回復

使用道具 舉報

16#
ID:421308 發表于 2019-8-3 09:10 | 只看該作者
有沒有原始數據轉換的
回復

使用道具 舉報

17#
ID:233015 發表于 2019-8-14 00:22 來自手機 | 只看該作者
樓主,你好請問一下你這個問題解決了嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久综合狠狠综合久久综合88 | 成人不卡在线 | www.久久久久久久久久久久 | 国产一区二区自拍 | www国产亚洲精品久久网站 | 久久精品欧美一区二区三区不卡 | 欧美 日韩精品 | 精品久久久久久红码专区 | 日韩中文字幕网 | 精品欧美一区免费观看α√ | 午夜私人影院 | 国产精品日日摸夜夜添夜夜av | 亚洲精品在线视频 | 91视频进入| 久久久精品一区 | 国产一区高清 | 欧美成人aaa级毛片在线视频 | 中文字幕在线免费视频 | 亚洲福利网 | 国产欧美日韩精品一区二区三区 | 99国产精品久久久 | 亚洲欧美综合 | 欧美一区二不卡视频 | 国产一区二区在线视频 | 欧美日韩亚洲系列 | 久久久91精品国产一区二区三区 | 天天爽一爽 | 精品伊人久久 | 午夜精品久久久久久久星辰影院 | 日日操夜夜操视频 | 青青草久久 | 你懂的国产 | 天堂男人av | 欧美日韩高清一区 | 在线一区 | 男人天堂99 | 日韩精品不卡 | 欧美精品一二三 | 日本午夜免费福利视频 | 你懂的免费在线 | 中文字幕视频三区 |