990|1

556

帖子

3

TA的资源

纯净的硅(初级)

楼主
 

【DigiKey创意大赛】数据采集系统 [复制链接]

 
数据采集系统
作者:xinmeng_wit

1.作品简介
本作品基于STM32实现数据采集系统,主要功能是对数据进行采集、存储、读取、显示和导出,能对接不同传感器(例如:BME280、DHT11、DS18B20等)、不同接口(例如:SPI、IIC、UART等)。本作品设计的初衷是提供一款实用的传感器可插拔的数据采集系统,让用户根据自己的需求来进行数据采集/保存/导出。
本作品通过TFT显示屏进行传感器的选择和采样间隔时间设置,和其他功能设置。TFT显示屏使用LVGL GUI图形库,因为本次比赛的显示屏不带触摸功能,本作品使用了外部按键作为输入。
由于STM32U5内部带有4M Bytes FLASH,所以可以直接将数据存储在内部FLASH中,无需外扩存储器或SD卡。为了方便数据管理,本作品做了专门的FLASH读写接口。
本作品支持本地与远程操作,远程通讯接口为UART\USB。

2.系统框图
本作品使用如下模块:NUCLEO-U5A5ZJ、DFROBOT IPS LCD(2.0寸)、按键模块、BME280模块。
本作品用到了LCD模块进行信息显示,其与主控之间通过SPI进行通讯;传感器BME280模块进行温湿度气压采集,其与主控之间通过IIC进行通讯;另外,可选其他传感器作为数据来源,比如DHT11、DS18B20等。按键模块用于与主控进行交互,实现输入参数设置。

3.各部分功能说明和解析

总结下来主要分为如下几个部分:
  1. 驱动部分
    驱动部分主要是对使用到的各个硬件进行初始化和底层控制。涉及到的MCU资源如下图。
    System Core部分最主要是系统及外设时钟、GPIO、DMA、中断的配置。其中,为了达到最高的性能,MCU的主频设置为了最高的160MHz。另外,USART的数据接收使用了DMA加上空闲中断实现了不定长数据的接收,降低了数据接收的中断开销。
    Connectivity部分主要涉及到的通讯为I2C、SPI、USART。
    为了能够充分利用MCU资源以及多任务处理,本作品将FreeRTOS移植到了STM32U5A5上。在本作品中主要分为3个task:TaskCom、TaskDataSample和TaskHMI。三个task分别负责通讯、数据采样和LCD显示。
  2. LCD显示部分
    显示部分是单独的task,只负责显示,不参与任何检测和控制。为了方便显示,使用了开源GUI图形库LVGL,极大地简化了应用程序开发,同时能使显示更加美观。对于控件的布局和设置使用了NXP免费的GUI图形配置软件GUI Guider进行控件代码生成,生成的相关文件如下:

    显示任务的主循环如下:

    LVGL默认是不支持中文的,为了能够显示中文,特地使用GUI Guider工具生成了中文字库。
    LVGL控件部分主要使用了label、dropdown、chart、button和led。
  3. 按键部分
    按键部分是用来与GUI联动实现人机交互的。由于本次选用的LCD屏不带触摸功能,所以只能使用外接按键来实现。LVGL除了能将控件与触摸屏绑定以外其实还支持控件与外部按键的绑定。当控件与外部按键绑定后能够与触摸屏一样很方便地控制屏幕控件。

  4. 传感器部分
    理论上来说本作品应该支持多种常用的传感器,比如BME280、DHT11、DS18B20等。但是由于多方面的原因目前除了BME280传感器以外,其他传感器暂未支持。
    BME280传感器是博世的一款三合一传感器,同时支持温度 ,湿度和气压检测,并能同时输出,接口应该是I2C和SPI可选。如果有条件可以选择升级款的BME680传感器 ,精度更高。
  5. 通讯部分
理论上来说本作品应该支持通过串口/USB来配置参数,而且本次已经打通了开发板与PC端的通讯,但是由于时间的关系,没有时间去做PC端的上位机了,只能后期再去完善了。
4.作品源码
源代码: data_record.zip (8.45 MB, 下载次数: 0)

5.视频演示
https://training.eeworld.com.cn/video/38971

6.项目总结
其实这个项目的想法是很好的,但是由于前期没有把握好时间,另外在后期手部受伤耽误了,再加上FATFS文件系统调试了很长时间,最终导致很多想法没能在这次比赛中实现,有点遗憾。
本次比赛完成了数据采集系统的最核心的部分,也就是数据的采集和保存以及数据的读取并显示。另外,也实现了通过按键配合LCD显示来配置采样的参数。采集完成后可以通过LCD显示采集到的数据。还有一些功能由于多方面原因未能在本次项目中实现,后续将继续完成既定任务。
本次项目中遇到了很多的问题,查阅了很多的资料,最后都一一解决了(有的不一定是解决,只是换了一种方式实现),同时自己也收获了,成长了。
最后,再次感谢得捷电子和EEWORLD提供这次机会,再次感谢。

7.其他

word版本: 数据采集系统.doc (7.98 MB, 下载次数: 2)

 

data_record.zip

8.45 MB, 下载次数: 0

点赞 关注
 
 

回复
举报

556

帖子

3

TA的资源

纯净的硅(初级)

沙发
 

文中视频演示部分贴的是链接,这里直接上传视频


 

 
 
 

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

开源项目 更多>>
    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条
    中星联华&ADI明日直播
    直播主题:大咖面对面,轻松玩转高速ADC性能测试
    直播时间:3月25日(周二)14:00
    活动奖励:京东卡、双肩包

    查看 »

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

     
    机器人开发圈

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

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

    北京市海淀区中关村大街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
    快速回复 返回顶部 返回列表