zoukankan      html  css  js  c++  java
  • bes2300 芯片上开发调试mpu6050多轴传感器总结

    需求

     在医疗健康领域,有很多场景需要分析佩戴者的姿势和动作。mpu6050多轴传感器是一个不二的选择。假如想把功耗做的低一些,放在耳机里,bes2300芯片配合mpu6050是一个不错的选择。遗憾的是,这些驱动原厂并没有提供,想使用的话,就需要自己移植和写代码了。

     

    代码解析

     这里面的代码分成两个部分,一个是mpu6050的驱动,这部分主要涉及到i2c接口的读写,以及该传感器的寄存器读写。这部分是一个整体,需要把代码移植进去即可。

    其次,涉及到i2c的接口部分,该传感器要比纯温度的传感器复杂不少,所以i2c需要配置的地方比较多,一不小心就会搞错。这方面需要深入细致,笔者在这地方踩坑较多。

     初始化的代码如下:

          

    mpu6050_sensor_init();
    
    //reset mpu6050
    ret = sensor_write(MPU_PWR_MGMT1_REG,0x80);
    
    osDelay(100);
    
    //wake up mpu6050
    ret = sensor_write(MPU_PWR_MGMT1_REG,0x00);
    MPU_Set_Gyro_Fsr(3);
    MPU_Set_Accel_Fsr(0);
    MPU_Set_Rate(50);
    
    ret = sensor_write(MPU_INT_EN_REG,0x00); // close all irq
    ret = sensor_write(MPU_USER_CTRL_REG,0x00); // i2c master closed
    ret = sensor_write(MPU_FIFO_EN_REG,0x00); // close fifo mode
    ret = sensor_write(MPU_INTBP_CFG_REG,0x80); //init low en
    调试

      根据笔者的调试过程来看,这里面有三个技术难点:

    i2c的接口是否正确:
    bes2300的I2c的接口比较混乱,很多函数需要自己封装,把接口封装好了,并测试是否ok,这个是比较花费时间的地方。
    MPU6050寄存器:
    该传感器的寄存器比较多,需要配置的参数也不少,这个地方需要细致的配置。
    调试心得:
    要找两个传感对比,笔者买了两个传感器,发现一个根本无法工作,硬件作比对,比较容易发现问题。

     

    展望

     该方案集成度高,功耗低,尺寸小等特点,所以很适合做病人的穿戴式设备研究,后面从技术上讲,就是要多加一些传感器进去,能够覆盖不同的场景。

    作者:虚生
    出处:https://www.cnblogs.com/dylancao/
    以音频算法为核心的物联网解决方案提供商 ,提供以音频算法为核心智能硬件产品设计,开发和咨询服务。
    勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188
  • 相关阅读:
    android中接口和抽象类的区别
    最靠谱的禁止ViewPager滑动方法
    Android Studio 自定义属性,命名空间
    代码设置Android EditText的相关问题。输入长度maxLength
    关于Android中,保留小数点后两位的方式
    Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
    既然安卓免费,那 Google 是靠什么赚钱的?
    android viewconfiguration
    Android中实现为TextView添加多个可点击的文本
    Textview解析带图片的html示例
  • 原文地址:https://www.cnblogs.com/dylancao/p/15726455.html
Copyright © 2011-2022 走看看