
#第七届立创电赛# 实时姿态显示OLED
简介
基于训练营案例2的一款基于 N32G430 系列 MCU 为主控的实时姿态显示演示,如何采集姿态数据并将其转化成模块的实时姿态并显示在 OLED上,可以通过串口上报给四轴上位机,在上位机上显示实时姿态
简介:基于训练营案例2的一款基于 N32G430 系列 MCU 为主控的实时姿态显示演示,如何采集姿态数据并将其转化成模块的实时姿态并显示在 OLED上,可以通过串口上报给四轴上位机,在上位机上显示实时姿态开源协议
:GPL 3.0
描述
注:* 为必填项
请在报名阶段填写 ↓
* 1、项目功能介绍
基于N32G430C8L7+INA199制作的采集姿态数据并将其转化成模块的实时姿态并显示在 OLED上。
主要分为以下几个部分,上位机,主控制器N32G430C8L7,MPU6050 传感器,OLED 显示模块几个部分,旨在使用MPU6050 传感器采集原始的加速度与陀螺仪加速度,N32G430 接收到数据后换算成模块的姿态,使用OLED 以及上位机显示出来。
*2、项目属性
立创开源,首次公开,2022年暑期训练营项目 Nation Mcu 第七届立创电赛
注:请说明项目是否首次公开;项目是否为原创;项目是否曾经在其他比赛中获奖,若有获奖则叙述获奖详情;项目是否在学校参加过答辩。
* 3、开源协议
GPL3.0开源协议
注:利他即利己,请认真阅读下述内容。
- 拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;
- 若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能;
- 项目应选择适合自己的开源协议,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;
- 直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。
请在竞赛阶段填写 ↓
*4、硬件部分
本方案设计的架构如下图 1 所示,主要分为以下几个部分,上位机,主控制器 N32G430C8L7, MPU6050 传感器,OLED 显示模块几个部分,旨在使用 MPU6050 传感器采集原始的加速度与陀螺仪加速度,N32G430 接收到数据后换算成模块的姿态,使用 OLED 以及上位机显示出来。
使用嘉立创EDA完美复刻了2022年暑期训练营项目。
使用N32G430:
N32G430系列采用32-bit ARM Cortex-M4f内核,最高工作主频128MHz,支持浮点运算和DSP指令,集成高达64KB嵌入式加密Flash,16KB SRAM,集成丰富的高性能模拟器件,内置一个12bit 4.7M sps ADC,3个高速比较器,集成多路U(S)ART、i2C、SPI、CAN等数字通信接口。N32G430C8L7 微控制器产品可稳定工作于-40°C 至+105°C 的温度范围,供电电压2.4V至3.6V,提供多种功耗模式供用。
使用MPU6050:
MPU6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了安装空间。MPU6050内部整合了 3 轴陀螺仪和 3 轴加速度传感器,并且含有一个第二 IIC 接口,可用于连接外部磁力传感器,并利用自带的数字运动处理器硬件加速引擎,通过主 IIC 接口,向应用端输出完整的9轴融合演算数据。有了DMP,可以使用 InvenSense 公司提供的运动处理资料库,非常方便的实现姿态解算,降低了处理运算对操作系统的负荷,同时大大降低了开发难度。
还使用了OLED 模块硬件等。
注:推荐使用嘉立创EDA。若选择其他EDA工具,请在附件上传PDF格式的原理图,PDF格式的PCB图纸,Gerber格式的PCB文件。这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。
*5、软件部分
重要的外设MPU6050以及OLED的初始化流程:
MPU6050 初始化配置流程:
1. 初始化 IIC 接口
2. 复位 MPU6050
3. 设置角速度传感器(陀螺仪)和加速度传感器的满量程范围
4. 设置其他参数
5. 配置系统时钟源并使能角速度传感器和加速度传感器
OLED 初始化配置流程:
1. 初始化 IIC 接口
2. 关闭OLED显示,设置OLED寄存器参数
3. 开启OLED显示
(参考文档:https://wenku.baidu.com/view/fb23e3a4bfeb19e8b8f67c1cfad6195f302be849.html)
空间坐标转换算法可百度。
软件的初始化流程:
-log_init():500000Bd, no parity, 8-bit data,1 stop bit
-i2c_master_init ()
-oled_init()
-MPU_Init()
-mpu_dmp_init()
个人Idea: 该项目基于暑期训练营 实时姿态显示Oled 对应的Demo案例复刻而成,软件流程图如上所示,重要的还是MPU6050的三个角度的数据获取,通过DMP官方提供的库,直接调用DMP初始化之后的库,获取欧拉角的数据,再通过算法进行转化成Oled可以显示出来的数据。
注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。
*6、BOM清单
Bom清单在工程附带的原理图以及Pcb下有对应显示。
注:项目涉及的BOM清单。这个位置请上传BOM的截图。清单详情请以PDF的格式上传到附件中。建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。
*7、大赛LOGO验证
请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。
点击zip下载大赛logo标识! (大赛标识).zip
* 8、演示您的项目并录制成视频上传
演示视频在下方工程附件中。
视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;
视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。
更多详情:https://diy.szlcsc.com/posts/d76d9cb41705430e9a54e7a5feed07a5
设计图
BOM


评论