咨询电话:010-52882318

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

时间: 2024-03-03 05:35:59 |   作者: 热电偶

产品详情

  随着经济的发展和科技的进步,人们对照明器具的节能性和科学管理便捷性提出了更高的要求,使得照明控制在智能家居领域的地位逐渐重要。使用智能照明控制管理系统更能体现节能与管理方面的优势,提高家庭的科学照明水平。普普通通的家庭的照明模式是白天关灯、晚上开灯,而采用智能照明控制管理系统后,用户都能够根据不同场合、不同时间的家庭人数进行智能照明,在需要时自动开启照明系统并调节其亮度;同时,系统还能充分的利用自然光,在保证必要照明的同时,有实际效果的减少灯具的上班时间,节省不必要的能源开支,延长了灯具的使用寿命。

  智能照明控制管理系统可减少灯具的使用时间,能有效节约能源。粗放型经济稳步的增长方式会导致资源匮乏,因此调整产业体系势在必行,在照明行业推广智能照明系统具备极其重大的意义。本文针对目前只根据室内光照度来调节LED灯亮度的方法存在的缺陷,在照明系统中加入人体红外感应模块和温度检测模块。温度检测模块可实时显示室内温度,人体红外模块可感应室内是否有人。当红外感应模块检测到室内无人时,系统强制断开电源,这样做才能够避免家庭主人忘记关闭智能照明系统时带来的能源浪费。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  系统采用锂电池供电。首先,MiniUSB输出的5V电压直接提供给锂电池充电管理芯片,由其对锂电池进行充电管理。该芯片是一款完整的单节锂离子电池,采用恒定电流/恒定电压线A。当输入电压停止时,芯片自动进入低电流状态,将电池漏电流降至2μA以下。锂电池充电电压为4.2V,容量为500mAh。

  由于锂电池在放电过程中输出电压会下降,而系统工作在3.3V,因此就需要加低压降稳压器以保证系统正常工作。稳压芯片输出电压稳定在3.3V,可以输出400mA的电流,压差最低可达到75mV,外围电路简单,可满足规定的要求。为及时充电和保存数据,系统来进行电池的电量监测。

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

  首先初始化DS18B20,让通信双方达成基本通信协议。由于总线温度传感器,因此直接跳过ROM,发出温度转换指令0x44h,之后,DS18B20准备好温度数据,在读温度前至少需等待750μs。750μs后,重新初始化,读取存储器中已经准备好的数据,然后经过计算获得温度,把温度数据送到串口和LCD上面显示。

  由于温度相对变化不大,故采用定时器中断方式获取温度,程序设计每2s中断一次,即每2s执行一次温度检测流程。温度检测软件设计流程如图13所示。

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

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

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

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

  当系统检测到无人时自动关闭系统,以避免人为问题导致的忘记关闭系统,进而达到节约能源的目的。

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

  关键字:引用地址:基于STM32和HC-SR501智能家居的智能照明系统设计

  一、OV7670模块: 介绍一下OV7670传感器:CMOS器件;标准的SCCB接口,兼容IIC接口;内置感光阵列,时序发生器,AD转换器,模拟信号处理,数字信号处理器..... 大致工作过程:光照射到感光阵列产生相应电荷,传输到相应的模拟信号处理单元,再由AD转换为数字信号,在经由数字信号处理器插值到RGB信号,最后传输到屏幕上...... 先了解一下基础知识:现在市面上的OV7670模块分两种:1、带FIFO芯片;2、不带FIFO芯片。当然带FIFO的要贵一点~下面介绍带FIFO和不带FIFO的工作原理: 图1:不带FIFO 图2:带FIFO 下面就讲解这两种方式的适合使用的范围: 不带FIFO:这种方法最

  的OV7670摄像头总结 /

  单片机型号:STM32F030R8 咱们进行程序设计的时候,都会知道,系统上电或复位时,会执行变量初始化操作,但是有些情况下,我们并不希望变量初始化,例如,在系统异常复位发生后,我们大家都希望系统能够迅速恢复复位前的现场状况,这样就希望变量能够保留原先的值,而不被初始化。实际上,大家都知道,变量是存储在RAM中的,只要不掉电,变量的数值是不会改变的,只要我们不让系统来进行初始化操作就可以了。 不同的编译环境,有不同的设置方法,本文介绍在Keil中设置不初始化变量的方法。在这里需要说明的是,网上介绍了许多的设置方法,但并不是所有的方法都起到了作用,本文将介绍一种最为直接的方法。 1、打开Options for Targe

  开发笔记13: 在keil中使用不初始化变量 /

  IAP很常见了,我这里主要是记录一下我所使用的方法,调试也花了两天时间。我所用的型号是STM32F103C8T6,这个片子估计是目前性价比最高的了,所以平时也都是用的这个。这个IC有64KFlash和20K的RAM,也有小道说有后置隐藏的64K,也就是说其实是有128K,我一直也没有测试,有空测测,有大神这样说,估计是可以的。这里重点记录一下我写的IAP思路和代码和具体细节和遇到坑的地方。先大体的概述一下,最后贴上我认为重点的代码。 在概述之前先要解决一个问题,那就是sram空间和flash空间的问题,sram只有20K,flash有64k。 解决的办法有很多: 1)最常见的就是自己写上位机软件,通过分包发送,期间还可以

  的串口环形队列IAP调试心得 /

  室内卫生打扫是一件既繁杂又得经常做的家务工作,很多家庭会采取雇佣钟点工的方式解决清扫烦恼,但是如此一来开销也是非常大的,并且人力清洁总会有一些清洁死角难以清扫到位。智能 扫地机器人 的问世,让不少人拥有了性价比更高的室内卫生清扫方案,扫地机器人高效的清扫方式,受到了许多用户的认可。     据悉,扫地机器人产品中,智能化程度高和产品质量好的产品都是出自一些资深厂家。德国 斐纳 TOMEFON就是目前质量和性价比最高的扫地机器人品牌,它拥有13项专利技术认证,经过40多年的发展,成为了室内净化领域权威的领导者。斐纳TOMEFON扫地机器人占据了欧美百分之八十的市场占有率,在国内的整体销量也一直名列前茅,市场认可度极高。 对于用户

  昨天晚上,帮师弟用LabVIEW做了一个智能家居报警系统的上位机软件,挺好玩的,虽然功能不多、结构也简单,但是,所用到的技术对于学习LabVIEW的人来说很重要。 首先,贴出前面板的图片来。单片机向上位机发送的帧格式为:0x0A+3字节的温度数据+0x0B+4字节的烟雾浓度数据+0x0C+1字节的开关门信号(总共11个字节),发送的波特率为9600,发送周期为200ms。上位机采集软件每隔10ms(就是前面板上的队列循环周期)从串口缓存区里读取11个字节的数据,然后将其进行解析和显示。 图1 软件的前面板截图 然后,再把程序框图一一给大家亮出来。 图2 串口配置和串口收/发的程序图 如图2所示,VISA每

  报警系统 /

  项目场景: 因为项目的一个功能需求,需要输出一个高电平为5V的PWM。 问题描述: 发现输出的PWM高电平最高只有4V不到的样子,很接近于4V。实测过普通开漏输出,高电平可完全达到外部上拉的5V。HAL库也试过了,也是完全能够达到5V的,但是标准库的配置一直上不去。 缘由分析: 仔细对比发现没啥异常,配的都是对的,但是能肯定的是,肯定还是配置,因为HAL库能轻松实现,那就说明一定还是某个地方配的有问题。最后才知道开漏输出脚必须配置为浮空,不配置的话实测默认的是内部上拉。 1.内部下拉: 2.内部上拉: 3.浮空: 解决方案: 一句话:GPIO_InitStructure.GPIO_PuPd = GPIO_

  】解决引脚复用成PWM开漏输出峰值达不到外部上拉的电压 /

  这是一个STM32的PA6和PA7口输出PWM波形的仿真步骤,其它情况类似 每一步我都做了截图,大家照着一步步来,有些参数通过你自己的情况稍微改下就好,肯定可以出波形的!请大家放心参考

  一、启动文件的作用是: 1.初始化堆栈指针SP; 2.初始化程序计数器指针PC; 3.设置堆、栈的大小; 4.设置异常向量表的入口地址; 5.配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没 有外部SRAM); 6.设置C库的分支入口__main(最终用来调用main函数); 7.在3.5版的启动文件还调用了在system_stm32f10x.c文件中的 SystemInit()函数配置系统时钟,在旧版本的工程中要用户进入 main函数自己调用SystemInit()函数。 至此可以总结一下STM32的启动文件和启动过程。首先对栈和堆的大小进行定义,并在代码区的起始处建立中断向量表,其第一个表项是栈顶地址,

  单片机启动文件的作用和启动过程解析 /

  F411的无刷直流电机FOC控制管理系统设计

  的集成化复合式无人机飞控系统设计

  微控制器的空间矢量脉宽调制

  使用STM32 Nucleo撬开针对物联网的ARM mbed IDE之门

  CapTIvate™:引爆触摸新体验_2016 TI 嵌入式产品研讨会实录

  报名赢【养生壶、鼠标】等|STM32 Summit全球在线大会邀您一起解读STM32方案

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!第三期考题上线,跟帖赢好礼~

  有奖直播 同质化严重,缺乏创新,ST60毫米波非接触连接器,赋予你独特的产品设计,重拾市场话语权

  【下载】LAT1396 STM32CubeIDE实用技巧之STM32H7双核调试的配置

  【下载】LAT1392 LTDC RGB接口 LCD的TouchGFX工程的移植步骤

  【直播】3月27日,STSAFE-A110安全芯片及ST4SIM eSIM芯片助力安全通信

  【线日,基于Buildroot制作STM32MP13启动镜像-深圳/厦门/西安/郑州/苏州

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【下载】AN5129_适合2.4GHz无线信号的低成本PCB天线 基于 BlueNRG-LP ARM Cortex-M0+

  凝聚ST超低功耗微控制器技术精华的STM32U5于2021年问世,是一款堪称可改变游戏规则的低功耗MCU。作为STM32高性能低功耗系列旗舰产品,STM32 ...

  前言程控三相交流功率源的应用十分广泛,它被大量应用于冶金、通信、化工、电力及军工等诸多行业。用于交流调压、调功、调光及电机软启动等 ...

  音频模拟信号电路常需要在很大范围内调节电平,而高精度电路的调节范同达100 dB以上.相当于二进制线位,同时也要求具有较高的调 ...

  以C8051F020单片机为系统控制器件的实时检测和记录车辆散热系统动态参数电路设计

  1 引言车辆的系统散热性是衡量其先进性的一个重要标志,因为车辆的各个部件和系统都存在一个最佳的工作时候的温度区间,在此温度范围内零部件的 ...

  通过利用C8051F020单片机实现立体声信号相位差电平差测试仪的设计

  将LR立体声信号经频谱分析、整形及占空比检测电路做处理,采用过零鉴相法,通过测矩形波占空比,实现相位差的测试。将LR信号用AD736专用 ...

  基于C8051F系列单片机和CAN总线技术实现电动汽车数字控制管理系统的设计

  51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云:

相关推荐