PCM开发板模块实验指导--6轴姿态与气压温度实验

模块推荐:https://item.taobao.com/item.htm?ft=t&id=671629736762

        57---6轴姿态与气压温度实验:

                硬件需求:PC机,PCM模块一个,microUSB线,6轴传感器MPU6050,bmp180传

                器模块,导线若干;

                软件需求:PCM编译软件,电脑端串口调试助手;

                供电方式:USB线接PC机供电;

                连接电路:如图84

        图84         6轴姿态与气压温度实验电路

                        此实验输出3个姿态角:ROLL,PITCH,YAW, 和压力,温度,海拔高度,这6个数

                据。气压传感器可以选择3种:ms5611,bmp180,bmp280,通过baroinit指令的不同参数选

                择不同的传感器:当参数为0时选择ms5611,为1时选择bmp180,为2时选择bmp280.传感

                器的数据更新周期:ms5611和bmp180为28ms, bmp280为20ms;

                        此次实验我们使用bmp180传感器。

                        实验程序如下:

                1 intpro imu6int 

                2         fusion f0 f20 //姿态融合,输入ax=f0,ay=f1,az=f2,gx=f3,gy=f4,gz=f5,,输出

                                        //ROLL=f20,PITCH=f21,YAW=f22角度,输出气压=f9,温度=f10,海拔=f11

                3 endint

                4 subpro outdata //数据输出子程序

                5         prints "roll:%f pitch:%f yaw:%f\r\n" f20 f21 f22 //输出roll pitch yaw角度

                6         prints "press=%f temp=%f high=%f\r\n" f9 f10 f11//输出

                7 endsub

                8 main

                9         iic 0 400000 //初始化IIC0接口,速度为400000HZ

                10         intinit s0 imu6int //开启中断

                11         imuinit 0 f0 s0 //启动6轴测量,ax,ay,az,gx,gy,gz分别保存到f0,f1,f2,f3,f4,f5;

                                                //更新周期0.004S,输出后中断

                        /*初始化气压温度传感器,1表示传感器是bmp180, 注意压力温度的输出值是跟

                        在9轴数据的后面的比如:ax=f0,ay=f1,az=f2,gx=f3,gy=f4,gz=f5,mx=f6,

                        my=f7,mz=f8,压力=f9,温度=f10,海拔=f11即使使用的是6轴传感器,

                        f6,f7,f8也要预留下来

                        */

                12         baroinit 1 //bmp180

                        //baroinit 0 //ms5611

                        //baroinit 2 //bmp280

                13         while 1 //无限循环

                14                 delay 1000 //延时1000ms

                15                 call outdata //调用子程序,输出融合后的姿态角:ROLL,PITCH,YAW

                16         endwhile

                17 endmain

                        当使用baroinit指令初始化气压传感器后,压力,温度,高度这3个数据的输出被自

                动保存在在9轴传感器输出数据的后面的,如果是用6轴传感器,mx,my,mz这3个数据也

                要保留下来。比如本实验使用6轴传感器:ax=f0,ay=f1,az=f2,gx=f3,gy=f4,gz=f5,f6保

                留,f7保留,f8保留,f9=气压,f10=温度,f11=高度。

                        也可以用baroget指令获取气压温度海拔值到指定的寄存器,不过因为imuinit指令已

                经把这3个值保存到指定寄存器了,所以可以不使用baroget这个指令了。

                        用PCM编译软件编译以上程序,并下载到模块,电脑端使用串口调试助手接收数

                据,下图85显示了姿态角和气压,温度,海拔6个参数的值。

        图85         6轴姿态角及气压温度海拔输出显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值