一种基于ZigBee和STM32的室内智能照明系统的设计乐鱼APP官方网站
栏目:行业资讯 发布时间:2023-09-18 21:07:04
 在人们的传统意识中,照明系统仅以照明为目的。传统的照明系统中主要的控制方式有手动控制方式和自动控制方式。其中手动控制方式简单、有效,但是过于依赖人工操作,并且控制相对分散,不能有效管理;自动控制方式主要是由时钟元件、光电元件或两者组合的方式来实现对照明设备的控制,这种控制方式减少了对人员的依赖性,管理相对集中,实现了照明控制的自动化,但却不能对照明系统进行调光控制。  此外,随着生活水平的不断

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

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

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

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

  (3)加入掉电自锁功能(在突然停电的情况下再次来电所有灯具都处于关闭状态);

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

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

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

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

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

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

  本节点的调光模块选用LED恒流驱动PWM调光模块。LED调光节点硬件电路图设计如图3所示。

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

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

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

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

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

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

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

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

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

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

  关键字:编辑:什么鱼 引用地址:一种基于ZigBee和STM32的室内智能照明系统的设计

  1 STM32 的输入输出管脚有下面8种可能的配置:(4输入+2输出+2复用输出) ① 浮空输入_IN_FLOATING ② 带上拉输入_IPU ③ 带下拉输入_IPD ④ 模拟输入_AIN ⑤ 开漏输出_OUT_OD ⑥ 推挽输出_OUT_PP ⑦ 复用功能的推挽输出_AF_PP ⑧ 复用功能的开漏输出_AF_OD 1.1 I/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这个速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在I/O口 的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路

  图一 图二 PWM应用非常广泛,但是不同的项目对输出的PWM又有特殊要求,为满足这些要求我们需要更多的实验来验证。接下来讲述图一显示波形的输出方法步骤(图二为异常波形)。 一、本实例所使用资源: 1、TIM4_CH3(对应管脚PB8)用于输出PWM波形 2、TIM3用于产生中断 3、MDK 软件仿真方法 二、执行过程: 1、初始化配置TIM4_CH3对应管脚的PWM输出功能(频率与占空比可变)。 2、初始化配置使用TIM3定时器中断功能,中断时间的配置需要根据PWM输出波形配置(定时器中断时间可变)。 3、在main()函数中调用TIM4与TIM3的初始化函数。 三、具体代码: int main(void) //主函数

  方法 /

  一、 GPIO模式配置 1、输入/输出模式(参考stm32手册) 2、GPIO输出模式下,几种速度的区别: (1). GPIO 引脚速度: GPIO_Speed_2MHz (10MHz, 50MHz) ; 又称输出驱动电路的响应速度:(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路,通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。) 可理解为: 输出驱动电路的带宽:即一个驱动电路可以不失真地通过信号的最大频率。 (如果一个信号的频率超过了驱动电路的响应速度,就有可能信号失真。失真因素?) 如果信号频率为10MHz,而你配置了2MH

  STM32的定时器具有计数功能,在实际应用中可以用来对引脚上的输入信号进行统计。其输入信号作为计数时钟,输入引脚为ETR引脚。 本例程使用Timer 2,其ETR输入引脚为PA1,初始化是设置该引脚工作模式为输入模式,Timer2的工作模式为从模式。 为了方便测试,另外使用PC6模式输出一个时钟信号。测试时将PC6与PA1短接。(用户也可另外连接一个时钟信号到PA1引脚上。) 代码如下: int main(void) { unsigned char i_Loop; unsigned char n_Counter; #ifdef DEBUG debug();

  1if (GetEPTxStatus(ENDP1) == EP_TX_NAK) 则认为发送完成了 2可以在相应端点的回调函数中,作相应的标志= 0; }

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStructure.NVIC_IRQChannel = WAKEUP_BUTTON_EXTI_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio rity = PreemptionPriorityValue; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

  关于正交解码,我先解释何为正交解码,,,,其实名字挺高大上的,,,,还是先说编码器吧 看一下我用过的一种编码器 编码器的 线 数 ,是说编码器转一圈输出多少个脉冲,,,如果一个编码器是500线,,,说明这个编码器转一圈对应的信号线个脉冲,,,,为什么说是对应的,,,对于上面的编码器而言是这样的,,,,但是有的编码器里面有好多线,,,有的信号线是转一圈就输出对应多少线的脉冲,,,有的信号线是转一圈就输出一个脉冲,,,,这就要看编码器的资料了...... 看我上面用过的这个编码器,,使用A,B,VCC,GND这四根线,, 编码器转一圈A信号线个脉冲,,,,B信号线个脉冲,,不过 正转的时

  正交解码 /

  STM32处理器有一个24位的系统滴答定时器SysTick,它从重新加载值开始倒数到0,然后在下一个时钟边缘重新加载(包装到)STK_LOAD寄存器中的值,然后在随后的时钟上倒数。 计数标志位COUNTFLAG在系统控制和状态寄存器STK_CTRL的16位,当计时器减计数到0时,返回1。 时钟源选择位CLKSOURCE在系统控制和状态寄存器STK_CTRL的2位乐鱼APP官方网站,赋值为0时为8分频,赋值为1时为1分频。想要计数速度更快可以选择1分频的时钟源。 SysTick异常请求允许位TICKINT在系统控制和状态寄存器STK_CTRL的1位,赋值为0时禁止异常请求,赋值为1时允许异常请求。软件可以使用COUNTFLAG来判断Sys

  处理过程 /

  篇

  设备案例实战

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

  抢先体验:TI MSPM0L1306 LaunchPad开发套件,赢三模无线键盘

  【下载】LAT1289 Keil、IAR、CubeIDE中变量不被初始化方法

  【下载】LAT1288 STM32 G474中Triggered-half模式的实现

  【下载】LAT1309 一步一步创建STM32WBA BLE_Custom工程

  【课程】STM32 & X-Cube-TouchGFX GUI开发实践

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

  【直播】STM32U5系列扩充新成员-探索更安全,更高效,更节能的设计

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

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

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

  STM32Cube.AI开发者云:只需四个步骤,轻松将AI集成到MCU

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

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

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

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

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

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

  直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

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