APP下载

STM32在NBIOT智能云家居系统设计中的应用

2021-03-16南通大学信息科学技术学院周荣康

电子世界 2021年4期
关键词:直流电机家居温湿度

南通大学信息科学技术学院 周荣康

智能云家居是在互联网背景下物联化的表现。与普通家居相比,智能云家居不仅具有传统的居住功能,而且兼备建筑、网络通信、信息家电、设备自动化、语音智能助手等功能。本文设计的系统是基于主控芯片对外设的控制和对外部环境的识别,通过上位机实现对下位机中模拟家电的控制,从而实现一个可靠、协调的NBIOT智能云家居系统。

随着经济持续发展,人们对于生活质量的追求越来越高,为了能够给用户提供更加舒适安逸的生活环境,智能云家居系统便显现出其独特的优势。智能云家居系统是通过互联网将家庭装备的相关电器设备互相连接,使用手机或者其他网络设备借助互联网对家居电器设备进行远程访问、实时控制和监测等。

1 系统结构设计

1.1 设计方案及系统主要功能

本方案设计的系统以云服务器作为中介,通过移动端远程对外设发送控制信息,主控芯片STM32F4解析用户的控制信息,随时分析传感器信息、用户的控制命令及BC26模块通信,来实现步进电机的转动(模拟窗帘的开合)、直流电机的转动(模拟排气扇的转动、转速)、RGB彩灯的开关(模拟家庭灯光开关以及各种颜色),以及读取并返回步进电机、直流电机、RGB彩灯和温湿度传感器的状态。本系统还配备了显示模块,便于用户在家时对设备的直接查看与操作。

系统结构框图如图1所示。

图1 系统结构框图

系统的相关功能:借助NBIOT(narrow band internet of things)模块连接服务器或者APP终端,实现手机APP端或者网页端对开发板外设的控制;控制步进电机的方向、速度(模拟窗帘的开合);控制直流电机正转、反转和转速;控制OLED显示不同的字符+图片组合;实时监测环境的温湿度;控制RGB彩灯不同颜色灯光的显示(模拟各种装饰灯);实现对家用电器的遥控控制(红外遥控)。

1.2 主控芯片选用

在实际设计中,每一个系统的设计应该首先考虑CPU的选型的问题。系统要求主控芯片的反应速度和处理速度都要快。常用的单片机类型有:51以及ARM等。ARM是32位的处理器,其响应速度和处理速度都较快。为了产生更高效率的控制效果,同时考虑低成本、低功耗,本系统选用STM32F401RET6作为主控芯片。

STM32F401RET6片内外设非常丰富,其两个DMA控制器一共128个通道;3个串行外设接口,可有效进行外设通信;还有多达81个有中断功能的输入输出IO端口,其中断矢量控制器,具有多达23个可以编程的优先级,而且还可以进行异常延迟、处理中断等。除此以外,它还有1个逐次比较型AD转换器、2个电压输出DA转换器等。

1.3 数据存储芯片

本系统需要存储的数据主要有两类,一类是显示模块中的汉字字库的数据,另一类是各种模块的初始化程序以及通信过程中的控制指令等。

汉字库存储在FLASH中,本系统的外扩FLASH采用W25Q64芯片。字库可以用软件直接获得,然后通过SPI通信写入外扩FLASH中,即可以实现写入字库。各种模块的初始化程序以及过程中的各种数据都可以存储在EEPROM中,本系统的EEPOM是AT24C02芯片。AT24C02和W25Q64在系统中的用处很多,它们的存储容量基本上用不完,可以将一些其他的重要信息存储在其中防止数去丢失,甚至可以记录程序运行过程中的数据,以用来监测或预测。

1.4 显示方案

目前市场上常见的液晶显示屏幕有:12864液晶屏幕、1602液晶屏幕和LCD 液晶屏幕等。从显示能力方面来看,12864液晶屏幕和1602液晶屏幕的显示能力要比LCD液晶显示屏差得多,因此本系统选择LCD液晶屏幕作为显示屏。STN和TFT型晶体管型价格适中,市场上也随处可见。所以TFT型是一个不错的选择,本设计选用TFT型液晶屏幕。

1.5 湿度温度模块

常用温湿度传感器有DHT11、SHT20等。DHT11的构成并不复杂,它有数字采集和温湿度传感器两个部分,不仅结构稳定,而且还带有数字信号校准技术,稳定性高、抗干扰能力强,综合比较性价比较高。DHT11只有4个引脚,电源连接简单、体积轻巧、方便使用,而且它的功耗适合长时间工作。

SHT20在DHT11的优点基础上,又对稳定性方面做了改进,SHT20还设计了一个全新的控制计算芯片。结合性价比,本系统选择性能更好的瑞士Sensirion的SHT20,由于它支持I2C通信,可以直接应用模拟时序法操作芯片,不需要专门的驱动芯片来驱动,这样可以节省资源。

1.6 电源电路

本系统使用USB供电,电脑、充电宝的USB口都可以供电。一般来说USB输出口的输出电压是5.0 V,可以驱动步进电机、全彩RGB灯珠,但是主控芯片STM32R401RET6单片机的正常工作电压为3.3 V,其他外设如直流电机模块、显示模块、BC26模块等正常工作电压也是3.3 V,因此还需要对电压进行转换。

1.7 电机及彩灯模块

本系统设计采用的Y15-52B(DIY电机)型步进电机是两相四线型电机,支持5.0 V工作电压,同时采用LB1936V作为驱动芯片,它可以减少电路电流消耗。

为了更好的模拟智能排气扇的工作状况,系统用84YC空心杯高速直流电机来模拟,其工作电压3.0 V左右,驱动芯片采用L9110S,它具有双通道推挽输出功能,是专用的集成电路功率放大器件,其稳定、抗干扰能力强,且成本低。此芯片有两个输入端和两个输出端,它的反向冲击电流较大,这使得它在驱动各类电机时安全性非常高。

系统RGB彩灯的灯珠工作电压为5.0 V,所需电压和电流相对较大,因此需要一个驱动芯片才能够正常工作。当前系统使用的驱动芯片是P9813,P9813是彩色点光源LED控制芯片,可提供三路恒流控制和256度灰色调制输出,对于灯光的变化、字符的变化、彩色动画图案敏感。其可根据不同控制器和客户的要求,离线或在线操作。

1.8 LCD显示系统

LCD显示系统有三个部分:CPU、LCD显示控制器和LCD屏。CPU将要显示的数据通过地址和数据总线送给LCD显示控制器,LCD显示控制器经过处理得到三种基本颜色数据,LCD显示控制器将三种基本颜色数据数据发送给TFTLCD液晶屏显示。本系统采用TFT-LCD型显示设备是中景园1.3寸IPS高清屏,采用ST7789VW作为驱动芯片。ST7789VW是一个可以控制彩色屏幕的控制器,它可以显示的数据分辨率为240×320,数据存储在随机存储器中,可以直接进行读取RAM显示操作,不需要专门的时钟,而且它的功耗很低。

1.9 NBIOT模块

本系统的NBIOT模块使用的是BC26模块,BC26模块是一款窄带物联网的模块,它可以和网络运营商之间建立通信,可以和他们进行数据交换,传送所需要的传送的信息。BC26模块有三种模式(工作模式、轻休眠模式和深睡眠模式),其中一种是低功耗模式,在没有使用时,它的功耗很低;在正常工作的情况下,它的性能很高。

另外,系统中红外遥控模块是基于NEC协议编码方式的。

2 系统软件设计

2.1 总体设计

本设计软件部分包括步进电机模块、直流电机模块、LCD显示模块、全彩RGB灯珠模块、温湿度传感器模块的初始化和控制。软件设计的初始化包括片内初始化和片外初始化,片外初始化即上述各模块的初始化,片内初始化包括定时器、串口、按键、LED、看门狗、实时时钟和中断的初始化等。

五大模块之间的关系是:NBIOT模组成功连接了APP和服务器后,获取平台上已经被注册的控制设备的当前状态并上报服务器。定期获取服务器请求和上报数据到服务器,当获取到服务器的控制数据时,就及时做出底层设备控制。

本系统利用HTTP网络协议进行设计。首先初始化好设备各模块,完成 NBIOT 模块的配置,与云家居服务器进行网络连接,进行数据存储并判断用户是否第一次开机来决定设备的控制状态并上报到服务器。做好准备工作后,定期请求服务器控制信息,然后分析控制信息实现设备控制,并把设备新状态实时上报给服务器。

2.2 BC26模块

NBIOT模块AT指令部分完成初始化相关AT指令,建立TCP连接相关指令,发送数据相关指令,接收数据相关指令,关闭TCP连接相关指令。

NBIOT模块驱动部分完成NBIOT模块配置(包括配置CPU与NBIOT模块通信的UART、初始化NBIOT模块、NBIOT模块与云服务器数据交换及UART通信程序设计)、初始化NBIOT(操作步骤:等待模块连接基站、设置模块波特率、设置模块传输数据格式及设置接收数据方式为直吐模式)及NBIOT模块与云服务数据交换(连接云服务器、发送数据、等待获取数据完成及断开云服务器连接)。

NBIOT模块作为客户端实现与服务器进行HTTP通信,使NBIOT模块连接服务器,建立起NBIOT模块和服务器的连接和透传功能,并开启数据发送。建立好连接后,按照HTTP请求格式向服务器发送请求,等待响应。

系统调试和功能测试分两个部分,上位机部分包括:对BC26模块、APP软件、获取设备ID等测试。下位机部分包括:对步进电机、直流电机、RGB彩灯、STH20温湿度传感器、LCD显示的测试。

结语:本智能云家居系统基于STM32F401RET6单片机,采用BC26模块实现通信,比其他的蓝牙通信、WIFI通信更加方便使用。STM32F401RET6单片机内置RTC实时时钟给设计电路时减少元器件的使用。对于温湿度传感器采集的数据,还可以存储在存储芯片AT24C02中,方便调出数据,对温湿度进行预测时使用。经过实物测试,系统可以实时监测环境温湿度,同时可以控制直流电机(模拟排气扇)、步进电机(模拟窗帘)、RGB彩灯(模拟家庭灯光),操作方便,易于使用。

猜你喜欢

直流电机家居温湿度
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
打造日常家居“氛围感”
温湿度控制器在回收砂冷却系统中的应用
基于DSP的多路温湿度监测系统
台北家居
基于温湿度控制的天气预测装置
基于FPGA的双绕组无刷直流电机软件设计
蒸发冷却温湿度独立控制空调系统的应用
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法