xianxiaoxu

  • 2024-01-12
  • 加入了学习《多功能水平仪演示视频》,观看 多功能水平仪演示视频

  • 发表了主题帖: 多功能水平仪作品

    多功能水平仪 作品简介     本次参赛想制作一个多功能电子水平仪,实现距离测量,角度测量,滚动距离距离等功能,主要用于日常家居测距和充当电子水平仪功能;     角度测量基于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 驱动程序参考: https://github.com/m5stack/M5StickC/blob/master/src/utility/MPU6886.cpp                                  MAHONY角度解析算法                 MPU6886不直接输出角度数据, 需要算法解析;                                  AHRS(Attitude and heading reference system,也就是航姿参考系统。在互补滤波算法中传感器主要采用了IMU(陀螺仪、加速度计)和磁力计。                 AHRS的基本思想是,在载体没有平移运动的情况下,通过加速度感知重力分量,可以计算出载体的俯仰和横滚;磁力计可以感知磁北方向,因此可以计算载体的磁北航向;而陀螺仪测量输出载体的旋转角速度,通过积分可以计算得到横滚、俯仰、航向增量,但由于陀螺输出值含有误差,采用积分计算,误差会随着时间累积。陀螺仪动态响应特性良好,但计算姿态时会产生累积误差, 磁力计和加速度计测量姿态没有累积误差,但动态响应较差,那么采用加速度计和磁力计的即时输出值对陀螺进行修正,则可以达到优势互补的效果,提高测量精度和系统的动态性能。                  算法流程                 整体流程如下图,只不过图里面的公式用的四元数做旋转,而不是旋转矩阵。                       作品源码             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, 近距离的误差比较大; 没有可见激光点辅助, 测远距离时不知道点打到什么位置; 其他     开箱连接      https://bbs.eeworld.com.cn/thread-1268194-1-1.html#pid3290557     文档          

  • 上传了资料: 多功能水平仪程序

发布的帖子

最近访客

< 1/1 >

统计信息

已有6人来访过

  • 芯积分:34
  • 好友:--
  • 主题:6
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言