[STM32F0]

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

[复制链接]
495|0
手机看帖
扫描二维码
随时随地手机跟帖
hbzjt2011|  楼主 | 2020-8-2 10:23 | 显示全部楼层 |阅读模式
本帖最后由 hbzjt2011 于 2020-8-2 10:24 编辑

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

单片机的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传感器接线说明:
99745f2620b5f01be.png
433755f2620bd3ac19.png
PM2.5传感器数据主动上传,串口接收到新的数据后刷新数据并输出。

CO传感器接线说明:
408135f26214c4e97e.png
223435f262153e878b.png

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

CO2传感器T6703接线说明:
888005f2621687c99e.png
366175f26216fb14d3.png

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

甲醛传感器AS04接线说明:
428735f262184bd4e1.png
697035f26218b506c5.png

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


CO2传感器S8-0053接线说明:
757825f2621a321985.png
737465f2621a935405.png

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

甲醛传感器Dart-2-FE5接线说明:
679455f2621c2a4882.png
998845f2621c8de6c8.png

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

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

277665f2621dd1db48.png

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

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

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

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

SHT30温湿度传感器接线说明:
477615f262247e7a5d.png
522505f26224e15a64.png

W25Q64 Flash 接线说明:
715275f26225eaaade.png
129675f262264077e6.png

IAQ-engine接线说明:
362995f262271df8d5.png
344985f262279b7af6.png
三、 上位机软件Gas_Sensors_WinForm:
Gas_Sensors_WinForm.jpg
四、 源码:

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


使用特权

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

本版积分规则

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

157

主题

2338

帖子

40

粉丝