0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于瑞萨单片机的环境温湿度监测装置设计

瑞萨MCU小百科 来源:瑞萨MCU小百科 2023-10-16 16:28 次阅读

今日跟大家分享下瑞萨RA创意氛围赛选手的项目——基于瑞萨单片机的环境温湿度监测装置。

本项目由启明6M5作为主控,搭载DHT11温湿度传感器和SPI屏幕而成,实现的功能如下:

①通过DHT11温湿度模块采集环境温湿度数据
②通过软件SPI实现SPI屏幕显示温湿度数据
③通过上位机显示温湿度数据并将数据换算成图像显示


1设计简介

最开始的设计是准备使用DHT11温湿度模块、MQ-2烟雾模块、人体红外做数据采集,使用板载ESP8266做WiFi数据传输,通过HTTP或者MQTT协议连接OneNET平台,实现云平台数据收发,同时运行RTOS操作系统。但由于本人忙于工作,无法按时制作,于是制作了简易版本,本次设计选择使用野火启明6M5单片机,采集模块使用的是DHT11温湿度模块,显示模块使用的是SPI屏幕,同时还做了串口通讯。

2硬件设计

dae62c70-6bfa-11ee-939d-92fbcf53809c.jpg

2.1 主控板

本次使用的是瑞萨的R7FA6M5BH3CFC单片机。RA 产品家族单片机 (MCU) 于2019年10月推出,丰富了瑞萨的32位MCU 系列产品。除了RA系列之外的32位MCU产品还有RX系列(CPU使用瑞萨自家RX 内核)和Renesas Synergy平台MCU。Renesas Advanced (RA) 32位MCU是采用Arm Cortex-M33、-M23和-M4处理器内核,并经过PSA Certified 1级认证的、行业领先的32位MCU。是Arm公司于2017年推出的行业通用框架,旨在打造各种安全的互联设备。许多业界领先企业已宣布支持该架构的基础原则,为物联网设备和解决方案加入令人信任的安全级别。RA系列的所有MCU在功能上和大部分引脚上都是兼容的。小型器件上的外设大体上是大型器件上外设的子集。这便于实现可扩展性和不同器件之间的代码重用。对于不同系列的类似封装,其引脚排列几乎相同。

瑞萨RA系列产品家族包括:

• RA2系列,适用于低功耗应用;
• RA4系列,适用于需要低功耗、高性能和高安全性的设备;
• RA6系列,具有卓越的连接性能和安全性能;
• RA8系列,可以为采用人机界面、连接、安全和模拟功能的应用提供出色性能。


2.2 DHT11温湿度采集模块

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。

每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。

超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为3针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。

模块使用单总线连接,DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零。操作流程如下:

一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式。通讯过程如图所示:

db085174-6bfa-11ee-939d-92fbcf53809c.png   引脚连接为:
P0.10——DATA
Mode选择Output mode (Initial Low)

db22dcec-6bfa-11ee-939d-92fbcf53809c.png

2.3 SPI屏幕

屏幕使用了软件SPI,SPI协议是由摩托罗拉公司提出的通讯协议(SerialPeripheralInterface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。

db2dc9ea-6bfa-11ee-939d-92fbcf53809c.png

SPI通讯使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为SS,它们的作用介绍如下:

(1) SS (SlaveSelect):从设备选择信号线,常称为片选信号线,也称为NSS、CS,以下用NSS表示。

当有多个SPI从设备与SPI主机相连时,设备的其它信号线SCK、MOSI及MISO同时并联到相同的SPI总线上,即无论有多少个从设备,都共同只使用这3条总线;而每个从设备都有独立的这一条NSS信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。I2C协议中通过设备地址来寻址、选中总线上的某个设备并与其进行通讯;而SPI协议中没有设备地址,它使用NSS信号线来寻址,当主机要选择从设备时,把该从设备的NSS信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行SPI通讯。所以SPI通讯以NSS线置低电平为开始信号,以NSS线被拉高作为结束信号。 (2) SCK (SerialClock):时钟信号线,用于通讯数据同步。它由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不一样,如RA6M5的SPI时钟频率最大为fpclkA/2,两个设备之间通讯时,通讯速率受限于低速设备。 (3) MOSI (MasterOutput,SlaveInput):主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机到从机。

(4) MISO (MasterInput,,SlaveOutput):主设备输入/从设备输出引脚。主机从这条信线读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机到主机。

引脚连接为:
P0.2——MOSI
P0.1——CLK
P0.7——CS
P0.6——DC
P0.3——RST
P0.8——BL

使用的是软件SPI,所以引脚配置Mode选择Output mode(Initial High)

db42fc48-6bfa-11ee-939d-92fbcf53809c.jpg3

软件设计

需要注意一下串口的配置,串口通讯 (Serial Communication) 是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。

串口配置如下图所示,需要注意,引脚一定是P511/ P512,引脚选错是无法监测到输出的。

db5a0456-6bfa-11ee-939d-92fbcf53809c.jpg

在“属性”窗口中配置名字(name)、通道(Channel)、回调函数(Callback)名字即可,引脚(Pins)、波特率(Baud Rate)等其他的属性按照默认的配置即可。

db61d0fa-6bfa-11ee-939d-92fbcf53809c.png

Name:名字,根据读者需求设置即可。

Channel :通道,根据 SCI 号设置即可,例如实验使用 SCI4,则这里配置为通道 4。

Data Bits:每个字(word)的比特(bit)数,默认为 8bits

Parity :校验模式,可选择“Odd”奇校验,“Even”偶校验或“None”无校验。

Stop Bits:停止位,可选 1 或 2bit。

Baud Rate :波特率

Baud Rate Modulation :波特率调制,通过调整时钟周期,以减少申请波特率与实际波特率之间的误差。

Max Error(%) :计算波特率时允许的最大百分比误差。

Callback:回调函数的名字,根据读者需求设置即可。

Receive Interrupt Priority :接收中断优先级

Transmit Data Empty InterruptPriority:发送数据空中断优先级

Transmit End Interrupt Priority:发送完成中断优先级

Error Interrupt Priority:错误中断优先级

使用 printf 函数时,需要使用到堆,默认情况下堆的大小为 0,因此我们需要修改堆的大小。可以在 FSP 配置界面中的“BSP”属性栏的“RA Common”中通过修改“Heap size”来设置堆区大小。这里需要设置为 8 的整数倍,推荐至少为 4K(0x1000)

db6d52cc-6bfa-11ee-939d-92fbcf53809c.jpg4

效果展示

上位机效果:

db8c5b86-6bfa-11ee-939d-92fbcf53809c.png

实物效果:

db99a99e-6bfa-11ee-939d-92fbcf53809c.jpg

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740051
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620826
  • 瑞萨
    +关注

    关注

    32

    文章

    22214

    浏览量

    84915
  • 监测装置
    +关注

    关注

    0

    文章

    120

    浏览量

    8470

原文标题:【瑞萨RA MCU创意氛围赛作品赏析】项目9——环境温湿度监测装置

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    51单片机温湿度监控系统

    ,实现系统对超限温湿度监控报警; 5.设计输入单元,可对系统正常温湿度范围进行调节; 6.仿真系统能够可靠、稳定地运行; 运行原理 系统通过SHT11温湿度传感器感应周围的环境的温度
    发表于 08-18 21:12

    基于51单片机的SHT11温湿度监测系统,LCD1602显示,上下限按键设置

    正常后,LED灯熄灭,蜂鸣器关闭。 系统框架 温湿度监测系统主要是利用AT89C51单片机最小系统为核心,包括晶振电路、复位电路和排阻电路。 SHT11温湿度传感器对
    发表于 03-26 17:44

    单片机温湿度传输

    要求一片单片机采集温湿度 通过串口传输到另一单片机 可是我就能传一个 不是温度就是湿度 传两个的话 接方温湿度都同步的显示一样的求高人指点啊
    发表于 11-28 14:56

    环境温湿度监测

    基于51单片机环境温湿度监测 做的都差不多了,但是学校还要求能记录设置时间范围内的历史数据,哪位大神能帮帮我帮我编一个记录数据的的程序呀 万分感谢。
    发表于 05-01 19:04

    基于单片机的远程温湿度监测系统。(有报酬)

    基于单片机的远程温湿度监测系统。单片机监测温湿度,在LCD上面显示出来。用zigbee再把温湿度
    发表于 05-14 16:26

    请问谁能分享单片机S7G2对DTH11温湿度传感器的支持,有.c和.h文件的?

    跪求单片机S7G2对DTH11温湿度传感器的支持。有.c和.h文件的,可否发我一下。我自己写的没法用(呜呜。。)
    发表于 07-17 17:33

    基于单片机和GSM的温湿度远程监测装置设计

    温湿度监测那部分的程序已经弄好,就是弄GSM通信,不会怎么用AT指令来接收和发送信息。我用的是SIM900A,89C52的单片机有大神可以给出一些程序? 具体要求:通过手机向该装置发送
    发表于 09-24 09:13

    基于SHT11温湿度传感器和单片机技术的智能温湿度测量系统

    研究了基于SHT11温湿度传感器和单片机技术的智能温湿度测量系统。系统使用SHT11温湿度传感器实时采集温湿度数据;同时采用AT 89s52
    发表于 04-27 06:34

    单片机开发环境

    单片机开发环境,根据自己的芯片家族选择不同的代码编辑工具及仿真工具      对应78K0系列单片机,推荐的是cubeSuite+集成开
    发表于 07-14 07:40

    基于51单片机温湿度监测系统

    基于51单片机温湿度监测系统,具体功能:1、LCD1602液晶第一行显示当前的烟雾值,第二行显示当前的温度和湿度值;2、可以设置烟雾、温湿度
    发表于 07-20 07:38

    基于单片机仓库温湿度监测报警系统仿真设计的相关资料分享

    045【毕设课设】基于单片机仓库温湿度监测报警系统仿真设计,温湿度监测报警系统,可以通过按键设定温度和湿
    发表于 11-10 08:16

    基于单片机环境监测温湿度PM2.5系统设计

    基于单片机环境监测温湿度PM2.5系统设计,实时检测环境中的温湿度值,并检测控制的PM2.5颗粒,同时可以设定报警范围值,也可以通过led灯指示当前的控制各参数的状态。复制这段内容后打
    发表于 11-19 08:38

    怎样去设计一个基于单片机的粮仓温湿度无线监测系统

    任务书,以及相关资料见附件,下载查看。任务概述,设计一个基于单片机的粮仓温湿度无线监测系统。该系统包括:单片机、无线通信模块、温湿度传感器模
    发表于 11-25 09:01

    基于单片机环境监测温湿度PM2.5系统设计(毕业设计资料)

    基于单片机环境监测温湿度PM2.5系统设计(毕业设计资料)
    发表于 11-12 17:21 37次下载
    基于<b class='flag-5'>单片机</b><b class='flag-5'>环境监测温湿度</b>PM2.5系统设计(毕业设计资料)

    基于单片机和LabVIEW的温湿度监测系统设计

    利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机
    的头像 发表于 06-09 14:02 4219次阅读
    基于<b class='flag-5'>单片机</b>和LabVIEW的<b class='flag-5'>温湿度</b><b class='flag-5'>监测</b>系统设计