基于STM32的智能家居控制系统
2018-05-14孙海林
孙海林
摘 要:智能家居是未来家居的发展趋势,是将家里的电器产品通过无线设备进行网络连接后,实现对室内条件检测、动作处理和设备管理集成系统。本文以自动窗帘控制为例,阐述了一种基于STM32的无线网络智能家居控制系统的设计方案。
关键词:智能家居;自动窗帘;STM32
1 概述
随着人类对舒适家居要求的不断提高,智能家居越发受到大众的关注。众多高科技企业也将制造的重心向智能家居倾斜,许多系统集成化,平台区域化产品开始进入公众生活,同时也为物联网行业的发展注入了活力。在智能家居诸多组网技术中,属于不带线技术的无线组网,如有WiFi、RFID,因其易扩展,易连接的优点而得到广泛应用。
2 整体结构及硬件设计
本文以一种基于STM32的无线网络智能家居控制系统,具有本地控制和远程控制的自动窗帘设计为例。本设计以单片机搭建系统为开发平台,采用主控制器进行传感器信号采集、数据进行分析和判断,ZigBee无线传感网络进行数据传输,LCD屏显示相应信息,触摸屏模块进行系统参数设定。同时,借助GPRS还可以进行采集数据传输至手机客户端,机主也可以通过手机APP控制电器动作。
本设计中共使用到控制器模块、接口模块、传感器模块、灯光控制模块、电机控制模块、无线控制模块和触摸屏模块。出于对成本、功耗、性能以及实用性等多方面的考虑,本设计中选用性能卓越、能耗低、实时性好的STM32作为核心处理器,其提供的睡眠、停机和待机的低功耗省电模式,也可以最大程度优化耗电和性能。主控制器选用STM32F103R8T5单片机,144引脚,外围电路系统包括电源和接地,秒表电路,电源复位电路,起动方式选择控制。出于对减少电路噪声源,提高系统抗压性和提高系统稳定性的考虑。电源采用总线的分配模式和供电模式,设计有多个电源和多个接地,复位电路采用低电平复位,控制方式为四角按键控制。
考虑到串口是单片机和ZigBee调试的主要途径,且二者内部具有串口控制器,因此接口电路选择RS232。由于是自动窗帘控制,所以本设计加装了传感器模块,出于对使用范围和精度的考虑,本设计采用了可直接与主控模块连接读取温度数据且测温范围广测量精度高的DS18B20温度传感器。灯光控制模块采用无线的触摸屏控制以PWM波为调整方式的发光LED管。电机控制模块采用包含有信号指示、调速、持续性的保护的LM298,该模块同时还有具有较强的抗干扰能力,在电机驱动电路中,出于对保护芯片和防止卸流的考虑,还加装了续流二极管。无线通信模块中ZigBee模块采用CC2530为收发模块,GPRS模块则使用SIM900A。触摸屏模块采用的是带中文字库,分辨率128×64的7寸电阻式触摸屏,控制芯片为ADS7843。
3 软件设计及系统联调
本设计采用C语言通过Keil u Vision5进行程序编写,主要设计思路如下:系统外设初始化,GPIO口初始化,运行while检测函数key_process(),检测按键的输入并对结果进行处理。本系统软件主要控制部分包括负责收发信息的GPRS模块、手机APP、电机驱动控制以及传感器信号收发。本系统任一模块在通电时均进行一次初始化,最先开始的是STM32片内外设初始化,其顺序GPRS初始化、ZigBee模块初始化、显示器初始化和设置模块初始化。因为本设计采用传感器触发任务,因此将优先级按从高到低顺序依次设定为手机本地发送,用户远程发送,系统本身任务。以SIM900A的工作过程为例,当用户通过手机与SIM900A模块进行无线通信时,通过对信息指令的传输、发送、检测和接收等操作,实现自动窗帘控制设计中,窗帘可以进行打开、停止和關闭三种动作模式,此外还可以通过触摸屏控制器或语音的方式进行控制,电机控制流程如图2所示。
软件调试选择Keil u Vision5进行,是基于该版本窗口管理系统灵活性较之老版本邀稿,且具有还原视图以及可以保存多个调试窗口布局的功能。调试时通过串口调试助手工具生成的模拟试验,可以将仿真信息传至计算机实施分析。
系统联调主要检测窗帘驱动电路,是否能有效工作,即能否稳定完成开关窗帘的动作,窗帘停止状态时限位开关是否在极限位置,当电机发生阻塞状况时是否能选取适当的电流阈值。此外还要进行如下调试,一是传感器触发功能调试,检查当触发2个及以上传感器任务时,能否按照优先级任务顺序执行任务。二是远程报警和控制功能调试,检查GPRS模块和用户手机制件进行信息传递和命令提取时是否出现信息丢失的现象。
参考文献:
[1]施磊磊.基于SMT32的智能家居控制系统研究[D].中原工学院,2017.