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

標(biāo)題: 51單片機(jī)怎么使用MPU6050讀取角度值程序 ? [打印本頁]

作者: 1145167054    時間: 2017-4-8 10:40
標(biāo)題: 51單片機(jī)怎么使用MPU6050讀取角度值程序 ?
目前只能初始化mpu6050,如何通過程序使陀螺儀和加速度計的初始值轉(zhuǎn)化成角度??

作者: mr_zhangpupu    時間: 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頭文件

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

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

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

        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;     //弧度轉(zhuǎn)換為度,
    return        Angle_ax;
        Gyro_y = GetData(GYRO_YOUT_H);              //靜止時角速度Y軸輸出為-30左右
        Gyro_y = -(Gyro_y + 30)/16.4;         //去除零點偏移,計算角速度值,負(fù)號為方向處理
        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);                        //轉(zhuǎn)換數(shù)據(jù)顯示
            DisplayListChar(2,0,dis,4);  
        }
}



這是我寫的程序希望能解決
作者: 1145167054    時間: 2017-4-9 10:40
mr_zhangpupu 發(fā)表于 2017-4-8 19:01
#include        
#include     //Keil library  
#include    //Keil library       

差了好多東西啊
作者: 你像風(fēng)兒來了    時間: 2017-4-10 21:00
陀螺儀直接讀出來的值是沒有任何意義的,但是可以通過四元數(shù)計算得到角度,這個角度就反應(yīng)陀螺儀的實際角度
作者: caojunchocjc    時間: 2017-4-10 22:31
你需要使用模擬IIC來模擬時序 ,進(jìn)行6軸原始數(shù)據(jù)讀取,買模塊的店家連接應(yīng)該有程序,你直接移植過來
作者: 1145167054    時間: 2017-4-19 10:52
caojunchocjc 發(fā)表于 2017-4-10 22:31
你需要使用模擬IIC來模擬時序 ,進(jìn)行6軸原始數(shù)據(jù)讀取,買模塊的店家連接應(yīng)該有程序,你直接移植過來

可以讀取原始值,我想通過算法輸出一個方向的角度,51用dmp沒有必要
作者: 1145167054    時間: 2017-4-19 10:53
你像風(fēng)兒來了 發(fā)表于 2017-4-10 21:00
陀螺儀直接讀出來的值是沒有任何意義的,但是可以通過四元數(shù)計算得到角度,這個角度就反應(yīng)陀螺儀的實際角度

不會啊
作者: helios    時間: 2017-4-19 23:28
本帖最后由 helios 于 2017-4-19 23:32 編輯

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

作者: sgp    時間: 2017-7-25 16:02
用stc12c5a60s2寫,怎樣 用互補濾波?

作者: 你像風(fēng)兒來了    時間: 2017-7-25 20:21
這里面有,我自己測試過

IAP15W4K58S4-小四軸DIY.zip

577.07 KB, 下載次數(shù): 433


作者: 守護(hù)靈    時間: 2017-7-26 00:48
我這有基于51單片,在1602顯示角度的陀螺儀gy 271程序
作者: 沒有永別    時間: 2017-8-3 09:15
啟動MPU6050自帶的DMP,從DMP中得到四元數(shù),再進(jìn)行歐拉公式換算,就能得到角度
作者: insightx    時間: 2017-10-15 22:50
參考參考
作者: insightx    時間: 2017-10-15 22:50
我也在找,51用DMP空間不夠,不知道有沒有更簡單的方法
作者: 一些事一些情    時間: 2019-8-2 20:57
守護(hù)靈 發(fā)表于 2017-7-26 00:48
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

1361267482@qq.com,麻煩發(fā)一份

作者: xiaozhong1314    時間: 2019-8-3 09:10
有沒有原始數(shù)據(jù)轉(zhuǎn)換的
作者: brave_ruan    時間: 2019-8-14 00:22
樓主,你好請問一下你這個問題解決了嗎?




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩福利在线观看 | 懂色av色香蕉一区二区蜜桃 | 国产99久久精品一区二区300 | 久视频在线观看 | 一区二区在线免费播放 | h视频在线免费观看 | 毛片久久久 | 国产成人av免费看 | 日韩1区2区| 亚洲精品成人在线 | 91色综合| 99在线观看 | 99久久精品国产一区二区三区 | 欧美精品一区在线 | 中文字幕亚洲视频 | 国产精品久久久久久久免费大片 | 国产 日韩 欧美 中文 在线播放 | 亚洲精品国产综合区久久久久久久 | 99精品欧美| 成人免费淫片aa视频免费 | 99精品久久久久久 | 久久久久久久久久影视 | 亚洲视频在线看 | 亚洲精品3 | 玖玖玖av | 日韩欧美一区二区三区免费看 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产成人精品一区二区三区在线 | 爽爽免费视频 | 中文字幕日韩一区 | 激情五月综合 | 国产污视频在线 | 久久亚洲一区二区 | 综合国产在线 | 久久综合久久久 | 国产激情视频网址 | 欧美一区二区三区的 | 中文字幕在线视频一区二区三区 | 久草在线 | 久久伊人久久 | 一级片子 |