一种基于ZigBee和STM32的室内智能照明系统的设计天博体育

  天博体育在人们的传统意识中,照明系统仅以照明为目的。传统的照明系统中主要的控制方式有手动控制方式和自动控制方式。其中手动控制方式简单、有效,但是过于依赖人工操作,并且控制相对分散,不能有效管理;自动控制方式主要是由时钟元件、光电元件或两者组合的方式来实现对照明设备的控制,这种控制方式减少了对人员的依赖性,管理相对集中,实现了照明控制的自动化,但却不能对照明系统进行调光控制。

  此外,随着生活水平的不断提高,人们对日常生活的无线化、网络化、智能化、节能化的需求越来越强烈,以上两种传统的照明控制系统已经无法满足人们对日常生活品质的需求。基于上述原因提出了一种基于ZigBee和STM32的室内智能照明系统的设计。

  本系统主要由终端节点、路由器节点和协调器节点组成。三个节点各司其职,终端节点主要负责消息的传输和允许共它节点通过它接入到网络中;协调器节点则主要负责网络的建立、维持和管理,以及整个网络数据信息的收集、处理和显示等。在这三个节点当中协调器节点是整个网络的核心。系统总体设计框图如图1所示。

  (1)采用带调光模块的LED灯具,通过程序控制可以实现灯光亮度的自动调节,利用室内灯光与自然光的相互补偿使室内照度保持在一个合适状态;

  (4)加入部分情景模式,在不同的室内环境需求时可以很方便地对灯光环境进行选择(如家人一起看电视时的影院模式,看书写字时的学习模式等)。

  除上述主要的功能外,本设计还预留了部分外围接口电路,可以加入一些相应的传感器实现更多的功能(如加入燃气传感器来预防厨房燃气泄漏,加入烟雾传感器防火灾等)

  系统硬件电路部分主要由协调器节点电路、系统照度采集节点电路、系统LED调光节点电路以及系统路由器节点电路四部分组成。

  照度采集节点由CC2530和光照度传感器(BH1750FVI)组成。本节点主要是对室内的照度进行实时的采集并通过ZigBee模块发送给协调器,协调器再对接收到的照度信息进行整合处理,然后在LCD上实时显示出室内的照度信息,并根据照度信息给LED照明节点发送相应的指令,对LED灯进行相应的亮度调节。

  BH1750FVI传感器是一个光电集成传感器,其主要有如下几个特点:1)可以输出对应亮度的数字值;2)广泛的输入光范围(相当于1-65535lx);3)通过降低功率功能,实现低电流化;4)无需外围部件;5)光源依赖性弱(白炽灯、荧光灯、卤素灯、白光LED、日光灯)。

  LED调光节点由CC2530和调光模块组成。调光模块可以根据ZigBee模块接收到的指令实时地对LED灯进行亮度的调节。调光的目的是为了使室内自然光跟LED灯光进行相互的补偿,使室内照度达到一个合适状态。

  路由器节点是在CC2530模块上扩展了一个CC2591模块,该模块是一个真正意义上精心设计的带PA+LNA无线收发模块。该节点主要负责接收终端节点信息并转发给协调器,或转发协调器的反馈信息给终端节点。

  在开阔的场地上,CC2530的传输距离可达100m,但在室内环境下由于有墙体的遮挡,存在路径损耗问题,实际传输距离大大缩短。在室内中间位置若仅放置一个由CC2530构成的路由节点,很可能造成数据传输错误甚至数据丢失。所以在实际设计电路时,路由器节点采用的是CC2591+CC2530组合的形式。CC2591是一个2.4GHz的射频前端芯片,它可以通过PA提高发射功率,从而延长通信距离。该芯片还可以通过LNA来改善接收机的灵敏度。通过以上两点可以很好地保证该系统数据传输的完整性。CC2591+CC2530硬件电路如图4所示。

  协调器节点由STM32F107、CC2530、12864LCD、矩阵键盘、DS18B20和DS1302模块组成。该节点是整个系统的核心,主要负责网络的组建、维护、控制终端节点的加入和删除,以及整个系统信息的处理和显示等。其中STM32F107是意法半导体推出的全新STM32互联型微,此芯片集成了各种高性能工业标准接口,且STM32不同型号产品在引脚和软件上具有完美的兼容性,可以适应多种应用。此外该芯片还可以嵌入μC/GUI系统,拥有独立的32位指令总线位Thumb指令等。

  矩阵键盘电路采用2×4的矩阵键盘,用于时钟的时间调整及不同情景模式的选择;显示电路采用12864 LCD,可以显示4行信息,每行显示16个字符,完全满足显示照度、时间和温度等要求。

  软件部分主要是完成对整个系统硬件电路的编程设计。其中终端节点程序主要完成信息的采集、上传和控制等。协调器节点程序用于实现整个网络的组建、维护和管理以及相应数据的收集、处理和显示等。3.1 协调器节点软件设计

  协调器节点首先判断是否有数据传送,若有,则选定信道建立网络,进行数据扫描和读取,并打包发送数据。由于电源损耗主要集中在无线数据的收发阶段,在没有接收到时钟信号的唤醒命令前,使其处于睡眠状态,以达到延长电池的使用寿命、减少功耗的效果。程序流程图如图6所示。

  终端节点数据采集的软件设计包括两部分,分别为单片机CC2530驱动程序设计和传感器收发数据程序设计。首先进行模块初始化,然后启动定时器,每隔一段时间进行信道扫描,查看是否有入网申请指令,若有,则首先判断启动哪一个传感器端口,然后向端口发送数据采集请求,采集完毕后使单片机处于休眠模式,将采集到的数据发送给CC2530作进一步处理。程序流程图如图7所示。

  程序中将设备类型设置为网络路由节点,在ZigBee协议栈中只需要更改应用层事件处理函数使其在接收到信息后调用程序把接收到的信息发送出去即可。

  为对系统进行功能的测试,特选择宿舍为实验场所,分别在宿舍的三个卧室各放置3个照明节点和一个照度采集节点,然后对系统的功能进行测试。通过测试,系统能够准确地实现无线控制功能。照度节点能够准确地采集环境的光照度信息,ZigBee模块能够正常地进行数据的相互传输,PWM调光器模块能够准确无误地对LED灯进行相应亮度的调节。此外各种情景模式,如室内温度和时钟信息都可以按照预定指标正常工作。

  此无线智能照明系统不仅可以用于室内照明的全自动控制,也可根据不同的需求进行手动的调节,这样既可以节约能源又可以使室内光照度达到适合人类活动的最佳状态。本系统具有体积小、功耗低、功能强和可灵活扩展等特点。此外本系统不仅可以用于家庭室内也可应用于学校教室、公司办公区、会议室和KTV等各种不同的场合,只需在运用时对相应模块和程序进行相应的调整即可。本系统在智能照明控制领域具有广阔的应用前景。

  随着化石类能源的日益减少,以及温室气体的过度排放导致全球变暖问题越来越受到重视,人们一方面在积极开发各类可再生新能源,另一方面也在倡导节能减排的绿色环保技术。太阳能作为取之不尽、用之不竭的清洁能源,成为众多可再生能源的重要代表;而在照明领域,寿命长、节能、安全、绿色环保、色彩丰富、微型化的LED固态照明也已被公认为世界一种节能环保的重要途径。太阳能-LED街灯同时整合了这两者的优势,利用清洁能源以及高效率的LED实现绿色照明。 本文介绍的太阳能-LED街灯方案,能自动检测环境光以控制路灯的工作状态,最大功率点追踪(MPPT)保证最大太阳能电池板效率,恒电流控制LED,并带有蓄电池状态输出以及用户可设定LED工作

  太阳能LED街灯解决方案 /

  在keil MDK中软件逻辑分析仪很强的功能,可以分析数字信号,模拟化的信号,CPU的总线(UART、IIC等一切有输出的管脚),提供调试函数机制,用于产生自定义的信号,如Sin,三角波、澡声信号等,这些都可以定义。 以keil里自带的stm32的CPU为例,对PWM波形跟踪观测,打开C:\Keil\ARM\Boards\Keil\MCBSTM32\PWM_2目录下的stm32的Dome,第一步:进行仿真配置,如图: 把开工程中的Abstract.txt文件有对工程的描述,PWM从PB0.8和PB0.9输出,稍后将它加入软件逻辑分析仪里。 The PWM project is a simpl

  软件逻辑分析仪( logic analyzer)使用 /

  1 综述 I/O口是单片机中非常常用的外设,STM32的I/O口有8种状态,虽然一直在使用过程中没有遇到什么问题,但是一直都不是很清楚,因此这里做一个总结(实际上这里的概念也是和STM8等其他单片机,理解了这8中状态,也就基本上理解了大部分I/O口)。 2 庐山真面目 我们在库文件中的 stm32f10x_gpio.h 中可以看到如下代码: typedefenum { GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, GPIO_Mode_Out_OD = 0x14

  8种工作模式 /

  花了整整两天时间终于算是基本把红外解码搞明白了,其实并不是很难,用了两天时间,说来惭愧啊,原因就是细节上的问题,不过最终总算找出问题来了。使用外部中断来解码,就先对外部中断进行配置吧 void exti_init() { RCC- APB2ENR=1 0;//使用外部中断要开AFIO复用时钟,因为要用到用到它的寄存器来选择出发IO口 AFIO- EXTICR =1 4;//将出发外部中断的IO配置为PB.9 EXTI- IMR=1 9;//中断线的中断打开 EXTI- EMR=1 9;//时间也打开 EXTI- RTSR=1 9;//上升沿出发中断 } 开始,弄了还几次程

  void Flash_Init(void) { // 调整flash与时钟速率之间的关系 FLASH-》ACR = FLASH_ACR_LA TE NCY; } void Flash_Unlock(void) { // FLASH-》CR 的第7位为解锁的标志位或者上锁的操作位 while(FLASH-》CR & FLASH_CR_LOCK) { FLASH-》KEYR = FLASH_FKEY1; FLASH-》KEYR = FLASH_FKEY2; } } void Flash_Lock(void) { FLASH-》CR = FLASH_CR_LOCK; } void Flash_Clear_All_Flag(voi

  关系 /

  简介:在调试电机驱动程序的时候,是不能随便利用中断来进行一些寄存器或数据的查看的,不然你在运行的时候突然来一下,如果占空比大的话那可能直接就把MOS管给烧了,所以我们很多情况下只能使用USART(串口)来进行程序的调试和数据的监控了。 对于STM32来说,由于很多内容都是有库来实现的,那就省了很多时间,直接看个例子就可以写了,大致有4步步骤: 1 1、RCC始终初始化,对端口和USARTX使能时钟 2 2、初始化端口功能,RX设置为输入悬空,TX设置为复用功能的推挽输出,注意GPIO_SPEED要设置下,我没设置弄了半天都没输出 3 3、设置USARTX寄存器,波特率、数据位、校验位、停止位等 4 4、看需要是否开中断,我

  一、问题 在成功实现了程序定时在APP和IAP之间来回切换后,以为已经掌握了stm在线升级的秘诀,于是兴冲冲的开始改公司的升级程序。结果,发现程序可以从IAP跳转到APP,但是程序会跑飞。在进入APP模式后,结束调试时,会自动跳转到一下界面。 尝试调试无数次,依然没有进展,而且毫无办法,不知道哪里出了问题。 二、尝试解决与交叉验证 1、将APP程序替换成之前的亮灯程序,然后进行更新,更新完毕后,APP程序正常运行。此步骤验证了IAP程序是可以正常跳转的。 2、先进行IAP在线升级,将APP程序通过升级的方式烧录到FLASH,然后写入之前可以正常工作的已有的IAP程序。发现APP正常工作,此方法可以验证通过升级的方式写入的AP

  先从最简单的问题开始,用STM32外部中断的方法实现PB.0按键控制PA.0LED灯: 先总的说下实现中断的步骤: 1,配置NVIC寄存器(函数),设置中断为第几组,占先优先级和次优先级; 函数方法: void NVIC_Configuration() { NVIC_InitTypeDef NVIC_InitStruct; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStruct.NVIC_IRQChannel=EXTI0_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreempTIonPriority=0; NVIC_Init

  步骤及方法 /

  篇 target=_blank

  设备案例实战 target=_blank

  有奖报名|TI MSPM0 在【电力输送和工厂自动化与控制系统】、【家用电器和电机控制】中的典型应用

  【直播】STM32H5系列:强大的ARM® CORTEX®-M33 MCU让高性能和安全性唾手可得

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

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

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

  MCS-51系列单片机并行P2口也有两种功能,对于内部有程序存贮器的单片机(如定制的8051),P2口可以作为输入口或输出口使用,直接连接输入 ...

  在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的。在并行端口的编程学习中,“跑马灯”是单片机并行 ...

  随着单片机的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用,一般是利用前置机采集各种终端数据后进行处理、存储,再主动或被 ...

  简介:太阳能路灯控制系统:51单片机练手项目,简单可复制。 带太阳能充电功能,oled显示, 白天根据光强判断开关灯晚上开灯,二级菜单可 ...

  单片机是什么,是在一个集成硅片中集成了一些部件,构成了一个微型的计算机系统的东西,这些只是对单片机的基础概念是简单了解,会用单片机 ...

  2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

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

 

TEL

400-123-4567
138-0000-0000