打印
[STM32F0]

【NUCLEO-64试用】基于STM32F091的多传感器环境监测系统设计

[复制链接]
690|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 hbzjt2011 于 2020-8-2 10:24 编辑

一、程序架构:
程序架构如下图所示,包含Drivers(外设驱动)、Startup(STM32启动文件)、Application(主函数和中断处理函数文件)和FWLib(STM32F0标准固件库)。
其中每个外设都有各自的文件夹,用于包含源文件和头文件。
        如果需要增加新的外设驱动,同样可以建立新的文件夹,并在Keil中添加头文件所在目录,所有的头文件都放在main.h文件中。
二、硬件接线:

单片机的8个串口都已经使用,其对应关系见下表。
  
USART1
  
PM2.5传感器
USART2
调试串口(ST-Link虚拟串口)
USART3
CO传感器
USART4
CO2传感器(T6703
USART5
甲醛传感器(AS04
USART6
CO2传感器(S8-0053
USART7
甲醛传感器(Dart-2-FE5
USART8
气体数据输出串口
PM2.5传感器接线说明:
PM2.5传感器数据主动上传,串口接收到新的数据后刷新数据并输出。

CO传感器接线说明:

CO传感器数据采用问答式,在tim2定时器中1秒发送一次读取指令,串口接收到新的数据后刷新数据并输出。

CO2传感器T6703接线说明:

CO2传感器T6703数据采用问答式,在tim2定时器中1秒发送一次读取指令,串口接收到新的数据后刷新数据并输出。

甲醛传感器AS04接线说明:

甲醛传感器AS04数据采用问答式,在tim2定时器中1秒发送一次读取指令,串口接收到新的数据后刷新数据并输出。


CO2传感器S8-0053接线说明:

CO2传感器S8-0053数据采用问答式,在tim2定时器中1秒发送一次读取指令,串口接收到新的数据后刷新数据并输出。

甲醛传感器Dart-2-FE5接线说明:


甲醛传感器数据Dart-2-FE5主动上传,串口接收到新的数据后刷新数据并输出。

此外USART2接口说明,此接口为ST-Link的虚拟串口,直接可以使用,printf函数重定向于此串口,可通过此串口查看各传感器的输出和调试信息。
USART2-TX PA2
USART2-RX PA3


USART8用于输出气体数据,每秒输出一次,此外用于接收外部命令。

1、通过多余的串口输出所有传感器数据:
0x41 + PM25+ PM10+ TVOC+甲醛+ CO2 + CO+温度+ 湿度  (高字节在前低字节在后)
2、当串口接收到串口助手发送的这种格式(53 32 04 3100 00 32 00 00 33 00 00 34 00 00 35 00 00)数据时,将完整数据保存到flash,并读取出黄色数据保存到变量中;

3、当接收53 32 01时,串口返回53 32 01 3900 00 00;

4、当接收53 32 0c 32时,串口读取出0c后的数据并保存到变量中,并返回53 32 0c 32 00 00 00 00;

SHT30温湿度传感器接线说明:

W25Q64 Flash 接线说明:

IAQ-engine接线说明:
三、 上位机软件Gas_Sensors_WinForm:
四、 源码:

所有程序源文件均已上传至Github:  https://github.com/hbzjt2012/Gas_Sensors


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎参与LabVIEW版块的讨论学习! 点我一键即达

157

主题

2338

帖子

41

粉丝