微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 一种基于ZigBee和STM32的室内智能照明系统的设计

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

时间:05-13 来源:网络 点击:

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

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

  协调器节点硬件电路原理图如图5所示。

  

  3 软件部分设计

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

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

  

  3.2 终端节点软件设计

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

  

  3.3 路由器节点软件设计

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

  4 系统调试

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

  5 结语

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top