基于STM32智能家居系统的硬件设计
2020-02-03王翀高海深罗琦
王翀 高海深 罗琦
摘要:本文主要介绍智能家居系统的硬件设计部分。本设计以STM32F429IG为核心,硬件系统设计部分充分利用直流电机、步进电机、传感器以及外部开关,使用不同LDO对各部分电路电压进行稳压。根据设计要求画出对应的PCB设计图,并使用SMD精准焊接,搭建电路后,联机调试,确保硬件能够安全运行,再通过程序的编写,最终实现自动报警、灯光照明控制、温湿度控制、空气质量测量、家用电器定时、窗帘自动控制等功能。
Abstract: This article mainly introduces the hardware design part of the smart home system. This design uses STM32F429IG as the core. The hardware system design part makes full use of the DC motor, stepper motor, sensor and external switch, and uses different LDOs to regulate the voltage of each part of the circuit. It draws the corresponding PCB design drawing according to the design requirements, and uses SMD to accurately weld. After the circuit is built, it makes debug online to ensure that the hardware can operate safely. Then, through programming, the automatic alarm, lighting control, temperature and humidity control, air Quality measurement, home appliance timing and automatic curtain control are achieved.
關键词:STM32;智能家居;硬件设计
Key words: STM32;smart home;hardware design
中图分类号:TP273;TU855 文献标识码:A 文章编号:1006-4311(2020)02-0164-02
1 硬件系统设计
1.1 总体方案设计
本设计使用了STM32F4单片机作为主控,利用24G无线通信与STM32F1单片机通信,令STM32F1单片机通过驱动步进电机时限门窗窗帘等的开关,同时使用MQ-2烟雾气敏传感器监测可燃气泄漏、火灾,通过蜂鸣器报警;使用MQ-135气体传感器、DHT11温湿度传感器、AP3216C光照传感器等监测室内居住环境;使用热释电传感器、蜂鸣器实现防盗功能;选择安信可的乐鑫ESP8266串口WIFI模块,利用机智云协议实现联网的功能,使用户能在移动端随时随地了解家中居住环境质量以及远程控制窗帘、窗户、灯光、插座等等。
1.2 系统功能
本系统的开发设计可以实现以下几种功能:
①家用电器定时、窗帘自控等功能;
②利用MQ-2传感器检测甲烷等可燃气体、防盗报警器实现防盗报警的功能;
③利用WI-FI智能插座控制灯的开关,以实现灯光照明控制的功能;
④利用DHT11传感器测量温湿度,调节温度和湿度,以实现温湿度控制的功能;
⑤利用MQ-135传感器作为空气质量检测模块,监测空气质量等等。
1.3 硬件系统框图
2 硬件电路设计介绍
2.1 嵌入式微处理器选择
本设计选择STM32F429IG作为主控。STM32F429IG是Cortex-M4内核的微处理器,主频可达到180MHz,超频可达到220MHz,拥有图1中所需要的各种外接模块接口,并且有6路USART串口,其中一路USART串口可配合使用485信号转换芯片形成485通讯接口,F4的Flash存储空间有1M。
2.2 DHT11温湿度传感器
在设计中,我们使用5V电源对DHT11温湿度传感器进行供电,而不使用3.3V进行供电,是因为它在3.3V供电的环境下,进行测量一次后,需要等待2.5S(经测试得出的)后,才能再次进行下一次的数据读取,而在使用5V对其进行供电的情况下,进行测量一次之后,只需要等待1S就可以进行下一次的读取,这样,对应的效率将会高很多,对实时性要求也能相对满足。它有以下几点特性:
①可以测量相对湿度和温度,不需要额外的组件。
②全部校准,数字输出,具有极好的长期的稳定性。
③信号传输的距离很长,能耗很低。
2.3 MQ-2烟雾气敏传感器
MQ-2烟雾气敏传感器模块使用ADC读取,如果有可燃气出现,则在对应的温度下,不同的可燃气会输出不同的电压,此时使用MCU的ADC功能,对输入的电压模拟量进行转换,将其转换成数字量,并对对应的数据进行处理,当再ADC读取数据的时候,需要进行滤波处理,我们使用的滤波方法是FIR滤波器滤波,用的是软件模拟FIR滤波器进行滤波,将其中的杂波过滤掉。
在設计中,使用的是5V对其进行供电。首次使用时,必须要先预热,预热时间一般不少于48小时,预热一般是由厂家进行处理。为了减少压降,应在MQ-2串联一个电阻RL,预防过压,再并联一个精度为5%的0.1uf陶瓷电容,作为旁路电容(退耦电容),在MQ-2的供电口加退耦电容,信号路则接MCU的IO口,而RL作为上拉电阻,一般为4.7-10kΩ。
2.4 28BYJ-48步进电机
本设计选择的是直径为28mm、可以四拍和八拍运行的四相八拍电机,也叫做28BYJ48步进电机。在设计中,对其使用的是DC5V—DC12V电源供电。
当步进电机监测到一系列的不间断的控制脉冲信号时,它可以一直反复地旋转。其步距角为5.625度。电机的转子旋转完成一圈必须要有64个脉冲信号,但转子的减速比为64,经过详细的计算得出,转子完成64圈,输出轴才旋转一圈。所以,必须有64的平方(即4096)个脉冲信号,输出转轴才能转一圈。两相电机的基本步距角为1.8°。一般来说,1个脉冲能走一步,则200个脉冲能走360°。
因为单片机的接口信号稍小,所以,在连接到相应的电机接口前需要用ULN2003对其进行放大。其电路原理图如图2所示。
2.5 蜂鸣器电路设计
常见的蜂鸣器电路设计对电流进行放大采用的是PNP三极管,而本设计的蜂鸣器电路的电流放大则使用的是NPN三极管。可以使用PNP三极管的电路,基本上都能被NPN来代替使用,但是,由于PNP的造价比NPN的要高,而且使用起来的效果并没有NPN的好,要调的参数很多。因此,在进行硬件电路设计时,使用NPN三极管对电路进行放大使用。
3 小结
本设计在确定系统的整体功能后,更细致划分多个部分,确定各组成模块的功能,从而根据各模块的功能选出最优的硬件型号,再进行组装,并结合相应的程序进行软硬联调,我们对调试过程中的问题进行记录,并不断优化程序,使系统的功能实现达到最理想化。但由于我们能力和时间有限,部分功能还无法达到预期效果。例如:系统功能不足,对于部分功能没有进行深入的分析。
参考文献:
[1]卢有亮.基于STM32的嵌入式系统原理与设计[M].北京:机械工业出版社,2013:1-164.
[2]刘火良.STM32库开发实战指南[M].北京:机械工业出版社,2015:78-110.
[3]孟立凡,蓝金辉.传感器原理与应用[M].北京:电子工业出版社,2013.
[4]姜宇航.基于物联网的智能家居控制系统设计[D].吉林大学,2014.
[5]李泉华.基于CAN总线的温室控制系统研究[D].青岛科技大学,2009.
[6]闫海发,闫楠,郭亚川,孟圣钧,臧洪颖,刘新宇,于泳,吴海洋.基于机智云物联网智能家居系统[J].电子世界,2018(02):8-10.
[7]罗永贵,蓝剑锋.基于机智云的智能WiFi插座[J].电子世界,2019(06):142-143.
[8]陈海华,邹红艳,李玉荣.基于stm32的智慧空调系统[J].信息记录材料,2018,19(11):72-73.