一款基于stm32芯片的智能家居系统的设计
扫描二维码
随时随地手机看文章
科学技术的高速发展大大提高了人们的生活品质,智能家居作为高品质生活的代表产品越来越受到人们的关注。智能家居是以居家环境为平台,融合了建筑、通信、网络、计算机、自动控制等技术形成的,集功能性、服务性、管理性为一体的舒适、安全、便利、环保的居住环境,是高新技术在生活中的典型应用之一。
本文基于Cortex—M3架构的STM32系列芯片,设计开发了一套智能家居系统。本系统以智能家居控制器为核心,包括智能插座、多功能面板、红外转发、电动窗帘、窗户控制模块、光强度及温、湿度计等多种智能家居产品,也可与红外探测器、烟感探测器、门禁控制器、网络摄像机等安防产品组建智能家居的安防系统。智能家居控制器可通过以太网或Wifi与家庭信息互联处理中心通讯;各智能产品通过RS485总线方式与控制器通讯。对系统的控制方式包括:上位机控制、触屏控制,或利用手机、iPAD等移动互联产品进行控制。如图1所示为系统示意图。
1 智能家居控制系统的整体设计 1.1 智能家居控制器
智能家居控制器是智能家居系统的核心处理模块,是整个智能家居系统的关键。本设计中的智能家居控制器基于STM32芯片设计,并根据控制器的功能分为如下几个模块:模拟量采集输入模块、开关量输出模块、RS-485通信模块、ADC转换模块、以太网接口模块、JTAG模块、电源模块、无线通信模块、输入、输出LED显示模块。其硬件结构框图如图2所示。
1.2 智能家居产品
1.2.1 智能插座
智能插座以STM32系列芯片为核心,内含ADE7753电能芯片、液晶屏、继电器等,可计量显示对应家用电器的电量参数,并可设置何时启动该家用电器的电源,可合理分配家中用电负荷,实现智能电网功能,可通过485总线与控制器通讯,也可独立工作。
1.2. 2 多功能面板
多功能面板以STM32系列芯片为核心,包含4路继电器输出,可同时控制4路负载(灯、排气扇等),可通过485总线与控制器通讯,也可独立工作。
1. 2.3 红外多功能转发器
红外转发器是以STM32系列芯片为核心。可学习、存贮、接收和转发电视机、空调及其他电器的遥控器红外信号,可通过485总线与控制器通讯,也可独立工作。
1.2. 4 触摸屏
本设计采用的彩色触摸屏是一套以嵌入式低功耗CPU为核心(主频400MHz)的高性能嵌入式一体化触摸屏。该产品设计采用了7英寸高亮度TFT液晶显示屏(分辨率800&TImes;480),四线电阻式触摸屏,高档塑料结构,工业级低功耗,CPU400MHz,64M内存,64M闪存,1*RS232(隔离接口),1*RS485(隔离接口),1*USB接口(一主一从),24VDC电源输入,功耗小于7W。同时还预装了嵌入式实时多任务操作系统组态软件。可通过485与智能家居控制器通讯,可实现遥控、遥信、遥调及情景模式的设定。
2 智能家居系统的硬件平台设计智能家居控制器主要涉及到的硬件部分包括STM32F103VET系列芯片、8路达林顿驱动ULN2803、8路双向光耦隔离TLP280-4、2路高速光耦隔离6N137、5路RS485 SN65LBC184、以太网ENC28J60、FLASH存储器SST25VF016B。
2. 1 STM32F103VET系列芯片STM32F103VET系列芯片使用高性能的ARMCortex-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达512k字节的闪存和64K字节的SRAM)带512k字节闪存的微控制器。包含3个12位的ADC、4个通用16位定时器和2个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口、3个SPI接口、2个I2S接口、1个SDIO接口、5个USART接口、一个USB接口和一个CAN接口。USB、CAN、11个定时器、3个ADC、13个通信接口。本设计中对STM32F103VET芯片的管脚做了功能划分,如图3所示。
2.2 8路达林顿连接晶体管阵列ULN2803
8路NPN达林顿连接晶体管阵列适用于低逻辑电平数字电路(如TTL、CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机、工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容,采取AP=DIP18,AFW=SOL18封装方式,在本设计中ULN2803用于8路继电器输出的驱动电路。
2.3 双向光耦隔离TLP280-4和高速光耦隔离6N137TLP280-4是一块超小且超薄的耦合器,适用于贴片安装,常用于PCMCIA传真调制解调器、可编程控制器电路中。6N137光耦合器是一款用于单通道的高速光耦合器,其内部电路由一个850 nm波长AlGaAs LED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。6N137具有温度、电流和电压补偿功能,广泛用于高速数字开关、马达控制系统和A/D转换等电路中。本设计中采用TLP280-4构成控制器的8路光耦隔离输入端电路,采用6N137构成控制器的2路高速光耦隔离输入端电路。
2.4 RS485接口通信芯片SN65LBC184本设计中前端智能设备和探测器之间通过SN65LBC184进行半双工方式通信。
SN65LBC184工作原理电路如图4所示。由DIR5控制通信方向,当DIR5端为高电平时控制器为接收状态,反之,控制器则为发送状态。
2.5 以太网模块ENC28J60
本设计中各个控制器间可通过以太网口实现与家庭信息互联处理中心的通信。
2.6 FLASH存储器SST25VF016B在本设计中利用FLASH存储器SST25VF016B存储各设备的IP地址。
2. 7 ADE7553单相电能计量芯片ADE7553单相电能计量芯片具有高精度、低功耗的特点。有功电能计量误差小于0.1%,具有SPI串口通讯方式和DIDT传感器接口,使用5V直流电源供电。该芯片内部有很多寄存器,在设计中只需通过对其寄存器进行读写操作即可。
2.8 系统供电电路控制器可提供双路12V/0.5A的电源输出,供与之相连的智能产品或模块使用。电路如图5所示。
3 智能家居系统的软件设计
整个智能家居系统的软件设计主要包括三部分:智能家居上位机管理软件、智能家居产品(控制器、智能插座、多功能面板等)、触摸屏。其中,智能家居上位机管理软件是基于Lab VIEW开发环境开发的应用软件,是系统的集中管理手段和工具。该软件通过以太网协议和智能家居控制器底层控制协议在应用层面的融合,可实现对家居中安防设备、电气设备的控制,温度、灯光等参量的调节,以及场景设置、定时、远程监控等功能。如图6所示为上位机管理软件界面和客厅灯光程序框图。
智能家居产品的软件设计基于STM32单片机,采用C语言编写完成。包含控制器程序和多个设备的驱动程序。智能模块和控制器间通过RS485接口进行通讯,可以直接使用标准的串口驱动程序。设计驱动程序的大部分工作就是根据硬件结构来“填写”框架中的函数。主要的函数包括open()、read()、write()、ioctl()、release()、module_init()和module_exit()等。
触摸屏通过RS485与智能家居控制器通讯,通过预装的嵌入式实时多任务操作系统组态软件,实现对家居设备的控制和情境模式的设定。如图7所示为触摸屏的界面。
4 结束语
本文设计了一个基于STM32的智能家居系统,包括控制器、智能电度表、智能插座、多功能面板等多个智能家居模块。同时,配合红外探测器、烟感探测器、门禁控制器、网络摄像机等安防产品可组建成完善的智能家居系统。本系统具有控制方式多样灵活、模块功能可扩展性强、设备操作简单易行等优点,适合家庭、教学、实验开发等多个领域。