国际核心期刊咨询网

当前位置:首页>>电子论文 > 正文

基于STM32 和 HC-SR501智能家居的智能照明系统设计

发布时间:2022-03-07

  摘 要: 针对目前智能照明只根据室内环境光强度变化来实时调节 LED 灯亮度的缺陷,设计并实现了基于低功耗系列单片机—STM32L 系列的照明系统,可根据人体红外信号和室内光照度进行智能照明。首先详细介绍了系统的总体设计、硬件设计以及软件设计,然后通过实验对系统进行测试,实现了根据人体红外信号和室内光强度对 LED 灯进行智能控制的功能,并验证了系统的实用性和有效性。

基于STM32 和 HC-SR501智能家居的智能照明系统设计

  关 键 词: STM32; 人体红外; 智能照明; 智能家居

  随着经济的发展和科技的进步,人们对照明器具的节能性和科学管理便捷性提出了更高的要求,使得照明控制在智能家居领域的地位越来越重要。使用智能照明控制系统更能体现节能与管理方面的优势,提高家庭的科学照明水平。普通家庭的照明模式是白天关灯、晚上开灯,而采用智能照明控制系统后,用户可以根据不同场合、不同时间的家庭人数进行智能照明,在需要时自动开启照明系统并调节其亮度; 同时,系统还能充分利用自然光,在保证必要照明的同时,有效减少灯具的工作时间,节省不必要的能源开支,延长了灯具的使用寿命[1 - 4]。智能照明控制系统可减少灯具的使用时间,能有效节约能源。粗放型经济增长方式会导致资源匮乏,因此调整产业结构势在必行,在照明行业推广智能照明系统具有重要的意义[5 - 11]。本文针对目前只根据室内光照度来调节 LED 灯亮度的方法存在的缺陷,在照明系统中加入人体红外感应模块和温度检测模块。温度检测模块可实时显示室内温度,人体红外模块可感应室内是否有人。当红外感应模块检测到室内无人时,系统强制断开电源,这样可以避免家庭主人忘记关闭智能照明系统时带来的能源浪费。

  目前,主流的照明智能控制系统主要是总线式照明智能控制系统或网络。总线式照明智能控制系统或网络主要有两种,基于分布式控制总线 DCS ( distributed control system) 原理和现场控制总线 ( field control system) 原理的测控系统。目前在建筑照明领域,应用更多的是后者,本文也采用这种方案。下面分别介绍它们的特点。

  基于分布式控制总线式照明智能控制系统具有开放性,使得其运用智能网关、智能路由器、交换机、光纤与光纤交换机或无线基站 AP,几乎可与任意不同通信协议的有线或无线通信网络互联。例如,通 过 RS485、WLAN、Wi - Fi、ZigBee、 DMX512、GPRS /3G、4G 等,既可灵活升级或扩展成为多功能或大型和远程控制的开放系统,又可实现任意地域的便携电脑、智能手机、平板电脑等手持终端的无线移动式灯光场景监控。然而,总线式照明智能控制系统在系统设定时专业性过强,编程较为繁琐,普通用户很难随意调整和设定电气系统参数,难以普及。

  目前,国内外专门面向照明的总线式智能控制系统品牌繁多,主流品种包括 Philips、SCENIO、 C-BUS、Dynet、HDL-BUS、Lon Works、KNX EIB、 GANDA、luxCONTOL、Nico、i-bus、Instabus、HomeServer、Futronix、DALI、Lutron、Elighting、ZEIOT、 HOTOP、EC-NET、PrecisetechNet、iisfree、DVACO、 LIGHTSPACE 等。

  对于现场控制总线原理的测控系统,原则上,很多优秀的工业用现场控制总线 FCS 只要开发配套足够的照明控制总线模块,都可用于照明智能控制。这种方式具有价格低、维护成本低、开发周期短等优势,因此性能更优[12]。

  本文中设计的智能照明系统主要用于普通家庭,可按照人们所处的不同室内环境设计不同的照明亮度,达到科学合理照明的目的。

  1 系统总体介绍

  本系统主要由 APDS - 9008 光照度检测传感器、DS18B20 温 度 检 测 传 感 器、LCD 显 示 屏、 STM32L151、电源模块和人体红外组成。

  1. 1 MCU 介绍

  采用 ST 低功耗 L 系列单片机—STM32L151 作为本系统的主控芯片,其特点如下:

  1) 工作条件:

  工作电源范围: 1. 65 ~ 3. 6 V 或 1. 8 ~ 3. 6 V

  温度范围: - 40 ~ 85 ℃

  2) 低功耗

  睡眠模 式,低 功 率 运 行 ( 在 32 kHz 时 仅 9 μA) ,低功耗的睡眠( 4. 4 μA)

  超低漏每个 I /O: 50 nA

  从停止快速唤醒: 8 μs

  1. 2 APDS - 9008 光照度检测传感器模块介绍

  APDS - 9008 提供广泛环境亮度条件下的精确光度检测。它有 1 个光感应器,其光谱响应接近 CIE 标准。图 1 是 APDS - 9008 模块图。

  1. 3 HC-SR501 人体红外模块

  HC-SR501 是基于红外线技术的自动控制模块,采用 LHI778 探头设计,具有灵敏度高、可靠性强的特点和超低电压工作模式。技术参数如下:

  工作电压: DC 5 ~ 20 V; 静态功耗: 65 μA; 电平输出: 高 3. 3 V,低 0 V; 延时时间: 可调( 0. 3 ~ 18 s) ; 封锁时间: 0. 2 s; 触发方式: L 不可重复,H 可重复,默认值为 H; 感应范围: 小于 120°锥角,7 m 以内; 工作温度: - 15 ~ + 70 ℃ ; PCB 外形尺寸: 32 mm × 24 mm,螺丝孔距 28 mm,螺丝孔径 2 mm,感应透镜尺寸: 直径: 23 mm( 默认)

  技术特点:

  1) 全自动感应: 当有人进入其感应范围时输入高电平,人离开感应范围则自动延时关闭高电平,输出低电平。

  2) 光敏控制( 可选) : 模块预留有位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能。

  3) 两种触发方式: L 不可重复,H 可重复,可跳线选择,默认为 H,本系统使用默认。

  不可重复触发方式: 即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。

  可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平( 感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点) 。

  4) 具有感应封锁时间( 默认设置: 0. 2 s) : 感应模块在每一次感应输出后( 高电平变为低电平) ,可以设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能实现感应输出时间和封锁时间两者的间隔工作,可应用于间隔探测产品。同时,此功能可有效抑制负载切换过程中产生的各种干扰。

  5) 工作电压范围宽: 默认工作电压为 DC 5 ~ 20 V

  6) 微功耗: 静态电流 65 μA,特别适合干电池供电的电器产品。

  7) 输出高电平信号: 方便与各类电路实现对接。

  1. 4 DS18B20 温度传感器

  温度检测一般选用热敏电阻作为其传感器,热敏电阻可测量 40 ~ 90 ℃ 温度范围,但是相比其他方法稳定性不高,一般温度检测的准确度较低。对于 1 ℃ 以下的温度检测信号适用性极低,必须经过专门的 ADC 转换成数字信号才能由 MCU 进行处理[6]。

  目前,MCU 与外部设备之间进行数据通信的串行总线方式主要有 spi 总线,i2c 总线等。i2c 以串行方式通过 1 条数据线和 1 条时钟线与外部设备进行通信,SPI 则以串行方式( 1 条数据发送线、 1 条数据接收线、1 条时钟线的三线方式) 与外部设备进行通信。这些通信协议至少需要 1 条数据线、1 条时钟线的二条线方式与外设设备进行通信。DS18B20 使用 1 条总线的方式与外设设备进行通信,发送数据和接收数据都在这 1 条总线上进行,MCU 只需使用 1 个 IO 口就可和挂在其上面的许多外部设备进行通信,占用 MCU 极少的 IO,这样可以简化逻辑电路和减少 IO 口的使用。因而,这种单总线通信方式与其他通信方式相比具有极大的优势[7]。

  单总线通信方式即只使用一根线实现 MCU 与外部设通信,数据传输是分时在上面进行,传输数据、控制信号等都由这根线分时完成[8 - 9]。 MCU 或从机通过 1 个三态端口或漏极开路连到此线,当设备不发送数据时,释放总线,把总线分配给其他外部设备使用。由于 IO 口驱动能力有限,因此要在单总线上接 1 个外部上拉电阻,当总线处于空闲状态时为高。

  DS18B20 数字信号输出温度检测传感器与传统的温度传感器不同的是: 使用单总线与 MCU 通信,为直接数字输出,转换速度快,可扩展性强。图 3 为 DS18B20 模块内部结构图。

  1. 5 系统总体架构

  系统整体结构包括前端用 1 个 HC-SR501 人体红 外 模 块 和 APDS 光照度检测模块和 1 个 DS18B20 温度传感器。人体红外模块可检测室内人数,当检测到室内有人时,系统才开始工作; 当检测到室内无人时系统不工作,如果系统此时是工作状态,将强行关闭系统。APDS 光照度检测模块主要根据光强度进行智能照明,AO 输 出 到 STM32L151 PC0 ADC 口进行模数转换,转换后进行 LED 智能控制。温度传感器将实时检测室内温度。DS18B20 使用 PA1 口进行单总线数据传输,温度结果也通过 LCD 和串口打印显示。整个系统采用聚合物锂电池供电,如图 4 所示。

  2 系统硬件设计

  2. 1 APDS 光照度传感器硬件设计

  图 5 为 APDS - 9008 光照度传感器电路设计,其中 1 脚为电源( 1. 6 ~ 5 V) ,本系统供 5 V 电源,同时加 2 个电容滤波,2,3,5 脚为 NC 脚,不接; 6 脚为模拟信号输出脚,输出信号为 0 ~ 1. 9 V,接 STM32L151 PC0 口进行模数转换,得到数字信号,最终实现智能控制 LED 灯。

  2. 2 HC-SR501 硬件设计

  HC-SR501 模块电路主要包括 VCC、GND 和 DO 口。VCC 供 5 V 电源,当检测到室内有人时, DO 口输出为高电平,否则输出低电平。

  2. 3 温度检测硬件设计

  MCU 与温度传感器进行数据传输主要依靠 MCU 按单总线协议在 1 条总线上产生各种时序实现。图 7 为温度传感器与 MCU 具体电路图,VCC 接 5 V 直流电,GND 接地,OUT 为与 MUC 进行通信的接口,上面必须接 1 个上拉电阻,以保证通信的正常进行和空闲状态时为高电平。

  2. 4 LCD 硬件设计

  LCD 采用四线 SPI 协议与 MCU 进行通信。 SPI 接口一般由 4 根数据线组成,包括 CS 片选信号线、SCLK 时钟信号线、MISO 主机输入从机输出数据线和 MOSI 主机输出从机输入数据线,CS 为使能信号。只有当使能信号为低时,此设备才被选中。选 中 后,MOSI 和 MISO 可 以 进 行 数 据传输[10]。

  读操作为: 前 8 个时钟主机发送地址给从机,后 8 个时钟从机接收到地址后,返回数据给主机。当主机发送地址给从机时,会在地址的最高位加 0,以表示读,其余的后 7 位为从机内部寄存器地址,从机接收到高位读标志和后面的 7 位寄存器地址后,会在后面 8CLK 返回寄存器的值给主机,完成一次读操作。

  相关知识推荐:家具设计论文发表范文有哪些参考资料

  写操作同样由 16 个时钟组成,前 8 个时钟主机发送 8 位将要写的地址给从机,后 8 个时钟为主机发送的 8 位数据。当写操作开始时,同样首位表示写标志位,SPI 协议写操作规定首位为 1。因此,在写操作时,8 位数据由 1 位写标志位和 7 位地址组成。当从机收到由 1 位写标志位和 7 位地址组成的数据后,会等待第二次发送的数据,把第二次发送的数据写入刚刚的地址寄存器,完成一次写操作。

  LCD 液晶显示屏主要用于温度的实时显示。图 10 为 LCD 详细电路图。

  2. 5 电源管理

  系统采用锂电池供电。首先,MiniUSB 输出的 5V 电压直接提供给锂电池充电管理芯片,由其对锂电池进行充电管理。该芯片是一款完整的单节锂离子电池,采用恒定电流/恒定电压线性充电器,充电电流为 1A。当输入电压停止时,芯片自动进入低电流状态,将电池漏电流降至 2 μA 以下。锂电池充电电压为 4. 2 V,容量为 500 mAh。由于锂电池在放电过程中输出电压会下降,而系统工作在 3. 3 V,因此需要加低压降稳压器以保证系统正常工作。稳压芯片输出电压稳定在 3. 3 V,可以输 出 400 mA 的 电 流,压 差 最 低 可 达 到 75 mV,外围电路简单,可满足要求。为及时充电和保存数据,系统进行电池电量监测。

  3 系统软件设计

  3. 1 智能照明软件设计

  光照度检测采用 ADC 和 DMA 方式进行传送。ADC 可以把模拟电压直接转换成数字信号,便于存储器存储和传送。软件设计流程如下: 首先初始化 ADC 和 DMA,让 ADC 工作于 DMA 方式; HC-SR501 人体红外传感器进行室内环境检测,如果检测到室内有人,则进行数据传输,否则一直检测。当检测到室内有人时,ADC 获得总线上的电压值,然后自动将其转换成 12 位的数字信号来智能控制室内 LED 灯。此时,DMA 把 ADC 转换后的数字信号送到内存,这段期间不需要 CPU 干预,可节约 CPU 资源去获取温度。软件流程如图 12 所示。

  3. 2 温度检测软件设计

  首先初始化 DS18B20,让通信双方达成基本通信协议。由于总线上只挂了 1 个 DS18B20 温度传感器,因此直接跳过 ROM,发出温度转换指令 0x44h,之后,DS18B20 准备好温度数据,在读温度前至少需等待 750 μs。750 μs 后,重新初始化,读取存储器中已经准备好的数据,然后经过计算获得温度,把温度数据送到串口和 LCD 上面显示。由于温度相对变化不大,故采用定时器中断方式获取温度,程序设计每 2 s 中断一次,即每 2 s 执行一次温度检测流程。温度检测软件设计流程如图 13 所示。

  4 系统实现

  4. 1 系统计测试软件设计

  为了测试系统,本方案设计了系统测试软件。温度信号采用定时中断方式获得,每 2 s 获取 1 次,这样可以节约 CPU 资源,也可实时获得最新温度值。智能照明 500 ms 中断 1 次获得当前光强度信息,以智能控制 LED 灯亮度。最后把温度信息送到 LCD 和串口进行显示,系统测试流程见图 14。

  4. 2 系统实现结果

  系统实物图见图 15。

  本文给出了室内有人和无人时、光强度不同时 LED 灯亮度情况的实验数据( 见图 16 ~ 18) 。

  如图 15 所示,系统由温度传感器、LCD 屏、光强度传感器、人体红外传感器和 LDE 灯组成。

  当红外传感器检测到有人且光强度低时,LED 由暗变亮,串口数据显示当前亮度值,ADC 为 12 位,因此亮度范围为 0 ~ 4 096,当前亮度为 70 ~ 500 cd /m2 之间,测试数据正确。

  当红外传感器检测到有人且光强度高时,LED 由亮变暗,串口数据显示当前亮度,值测试数据正确。

  当系统检测到无人时自动关闭系统,以避免人为原因造成的忘记关闭系统,从而达到节约能源的目的。

  图 19 显示当前的温度为 26°,测试结果正确

  5 结束语

  本文设计的智能照明、温度检测系统从测量准确性、功耗、家庭实用性等角度出发,所选用的芯片和模块均符合低功耗的原则,具有体积小、可靠性高、性价比高、结构简单等特点,可用于智能家居系统,具有较高的实用价值。——论文作者:王 东,莫 先

  参考文献:

  [1] 程晓亮. 楼宇智能 LED 控制系统的研究[D]. 天津: 天津职业技术师范大学,2014.

  [2] 章洁. ZigBee 技术在室内照明控制系统的应用研究[D]. 杭州: 杭州电子科技大学,2014.

  [3] 曲腾. 基于城市智能照明感知系统的数据融合研究[D]. 大连: 大连理工大学,2013.

  [4] 姚现伟. 基于 STM32 的智能家居红外控制系统研究与设计[D]. 秦皇岛: 燕山大学,2014.

  [5] 李娜,牛晓飞,许海峰,等. 基于 STM32 的智能家居无线激光报警系统[J]. 激光杂志,2013( 5) : 60 - 62.

  [6] 王伟,丁金华,强文瑞,等. 基于 STM32 的智能阀门定位器[J]. 才智,2013( 5) : 283 - 284.

  [7] 金余义,张庆,祝根. 基于 STM32 的校园照明智能控制系统[J]. 电子设计工程,2013,24: 157 - 159.

  [8] 罗野,武家兴. 智能防盗门禁安全系统设计与实践[J]. 装备制造技术,2014( 11) : 11 - 13.

  [9] 骆华,黄勇坚,刘伟,等. 基于 ZigBee 和 STM32 的室内智能照明系统的设计[J]. 电子技术,2014,12: 51 - 54.

  [10] 乐丽琴,贺素霞. LED 照明市场爆发中的技术瓶颈分析[J]. 电子元件与材料,2014( 3) : 85 - 86.

  [11] 施啸天,蔡晔敏,刘明,等. 基于轨道交通的 LED 智能照明系统设计[J]. 产业与科技论坛,2014,22: 46 - 47.

  [12] 梁人杰. 智能照明控制技术发展现状与未来展望[J].照明工程学报,2014( 2) : 15 - 26.

回到顶部