902|1

7

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

多功能水平仪作品 [复制链接]

 

多功能水平仪

作品简介

    本次参赛想制作一个多功能电子水平仪,实现距离测量,角度测量,滚动距离距离等功能,主要用于日常家居测距和充当电子水平仪功能;

    角度测量基于IMU模块, 可以测量3轴加速计和3轴角速度计功能, 距离测量采用激光反射测距模块,模块直接输出距离数据;

    主要用用到的器件:

  •         SEN0588 一款高精度的激光测距模块是,最大测量测距可达15m,可以满足我实现手持测距的需求
  •         esp32-c3-lcdkit 采用esp32-c3模块,自带一块圆形lcd屏幕,另外板载旋转编码器,利用它可以实现 用户交互,传感器数据采集与运算,同时兼具联网功能
  •         m5stack 6dof imu模块可采集三轴加速度计和三轴陀螺仪 数据,配合绿波算法可以算出当前角度。

 

系统框图

    核心板为esp32-c3-lcdkit, 自带显示屏驱动为gc9a01,1.28寸圆形屏幕;

    传感器MPU6886为IMU模块, 距离测试模块为SEN0588,采用串口通信, 供电为5V, 使用5v <-> 3.3v 电平转换芯片连接到ESP32C3的串口0上;

各部分功能说明
 
  •          激光测距功能:
                硬件为SEN0588, 该模块配置启动命令后,直接通过串口发送距离数据;
 
                
  •     测量角度功能

            测量角度又陀螺仪模块加角度融合算法得到;

             MPU6886接口I2C, 3.3V供电可以和ESP32-C3直连;

             (MPU6886)6轴IMU单元是带有3轴重力加速度计和3轴陀螺仪的6轴姿态传感器,可以实时计算倾斜角度和加速度。该芯片采用mpu6886,具有16位ADC,内置可编程数字滤波器和片上温度传感器,采用I2C接口(addr:0x68)与上位机通信,并支持低功耗模式。

              MPU6886 驱动程序参考: 

链接已隐藏,如需查看请登录或者注册

                

                MAHONY角度解析算法
                MPU6886不直接输出角度数据, 需要算法解析;
                

                AHRS(Attitude and heading reference system,也就是航姿参考系统。在互补滤波算法中传感器主要采用了IMU(陀螺仪、加速度计)和磁力计。

                AHRS的基本思想是,在载体没有平移运动的情况下,通过加速度感知重力分量,可以计算出载体的俯仰和横滚;磁力计可以感知磁北方向,因此可以计算载体的磁北航向;而陀螺仪测量输出载体的旋转角速度,通过积分可以计算得到横滚、俯仰、航向增量,但由于陀螺输出值含有误差,采用积分计算,误差会随着时间累积。陀螺仪动态响应特性良好,但计算姿态时会产生累积误差, 磁力计和加速度计测量姿态没有累积误差,但动态响应较差,那么采用加速度计和磁力计的即时输出值对陀螺进行修正,则可以达到优势互补的效果,提高测量精度和系统的动态性能。

    

下载附件  保存到相册

2024-1-12 21:52 上传

 

                

   作品源码

            https://download.eeworld.com.cn/detail/xianxiaoxu/630762

 

            Arduino平台, 依赖库需要自行安装, 包括 lvgl, tft_espi

 

            

作品功能演示视频

        https://training.eeworld.com.cn/video/38966

 

总结

    本次制作过程用到了知识非常多, 时间又非常紧张, 作品还可以进一步完善:

  • GUI需要重绘制, 已经搭好了lvgl 环境, 后续可以充分利用lvgl的特性,将GUI 做得精美;
  • 滚动测距离功能待实现, 硬件和方案已经明确, 待实现;
  • 后续可以打印3D外壳,将硬件封装一下;
  • 角度测量功能还需要进一步优化, 角度测量在平放时会有2-4度的偏移,后续可以通过上电校准
  • 距离侧脸功能还需要进一步优化, 测距模块范围最大15m, 近距离的误差比较大; 没有可见激光点辅助, 测远距离时不知道点打到什么位置;
其他
    开箱连接
    文档
      多功能水平仪.docx (484.11 KB, 下载次数: 3)
 

 

最新回复

陀螺输出值有误差,再用积分算,误差随时间累积是会越来越大,怎么改进呢   详情 回复 发表于 2024-1-13 21:05
点赞 关注
 
 

回复
举报

6969

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

陀螺输出值有误差,再用积分算,误差随时间累积是会越来越大,怎么改进呢

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表