1 基于瑞萨单片机的环境温湿度监测装置设计-德赢Vwin官网 网

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

描述

 

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

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

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


 

  1设计简介

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

  2硬件设计

  单片机

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不会主动进行温湿度采集。采集数据后转换到低速模式。通讯过程如图所示:

单片机   引脚连接为:
P0.10——DATA
Mode选择Output mode (Initial Low)

单片机
 

2.3 SPI屏幕

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

单片机

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)

单片机3

软件设计

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

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

  单片机

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

单片机

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)

单片机4

效果展示

上位机效果:

单片机
 

实物效果:

单片机

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分