基于IEEE802.15.4的灯控遥控器设计

时间:2022-06-27 11:27:20

基于IEEE802.15.4的灯控遥控器设计

摘 要:设计出一种基于IEEE802.15.4的灯光智能控制的遥控器,它采用基于微功耗的单芯片CC2530作为主控器和无线发送接收器,通过4个标准按键和1个单色液晶进行菜单选择操作,发送各种灯光显示效果命令,从而控制家庭照明系统各种显示已经各类场景控制。

关键词:遥控器;照明系统;IEEE802.15.4;CC2530

项目来源:重庆市教委科学技术研究项目《基于ZigBee自动化应用模式(HA)的智能家庭灯光控制系统》(项目编号:KJ122206)

引言

近年随着物联网技术的发展,智能化技术发展迅速,尤其是智慧家庭系统及产品层出不穷,灯光控制照明技术方案以及各类产品也推陈出新;但是现在各类产品均有几个弊端:各厂家标准不统一,传统照明厂家比较保守,对新技术把握度不够等;那么就需要一套技术方案利用现有新技术新标准,并且兼容传统产品来实现智能化灯控效果。本案就是采用现下物联网下微功耗无线的IEEE802.15.4国际标准,利用ZIGBEE自组网技术实现的灯光控制遥控器的设计实现。

1、系统设计架构

本案是智能化照明系统下的一个主要控制设备,首先来探讨下智能化照明系统的组成结构。如图1所示。

图1 照明系统架构图

遥控器作为照明系统的主控设备,直接跟智能开关和智能调光器两个中间设备进行信息交互,从而达到控制照明灯的目的。

遥控器的组成由4大部分组成:电源、主控制器和IEEE802.15.4部分、显示部分、按键部分。电源:采用两节AA电池供电;液晶显示:采用128*64单色液晶显示,以降低功耗;IEEE802.15.4主控芯片:采用德州仪器的最新SOC CC2530F256芯片;按键:采用4位标准按键:确认键、菜单循环键、低功耗键、一键“OFF”键。

2、系统硬件设计

2.1、IEEE802.15.4主控设计

采用德州仪器的低功耗无线通信芯片CC2530,具有IEEE802.15.4射频前端。芯片的RF-P和RF-N引脚为天线接入引脚,E1为天线接入端;为了节省模块以及遥控器的空间尺寸,这里采用PCB天线设计。芯片的P06、P07、P12、P13、P15、P16、P17作为液晶驱动引脚。芯片的P01、P04、P05、P20作为按键中断输入。CC2530模块设计原理图如图3所示。

ANTENNA为天线接入端子,这里采用PCB天线设计以节省模块和遥控器空间尺寸。

2.2、显示模块设计

本案选用一款单色128*64的LCD,驱动芯片为UC1701。该液晶为串口I2C接口形式,占用IO口较少,同时具备低功耗特点,不点亮背光状态下可达10mW。采用CC2530芯片的P06、P07、P12、P13、P15、P16、P17作为液晶驱动引脚,各引脚功能对应如表1所示。

表1 CC2530芯片部分引脚功能对应表

液晶背光亮度可调。当P06高电平时LCD背光点亮;P06为低电平时LCD背光关闭。遥控器控制器通过对LCD背光的PWM占空比调制以适应不同环境不同光照强度下得到不同亮度,提高用户使用的舒适度。

2.3、标准按键设计

按键设计采用了最简单的IO口直驱方式,为了快速响应按键操作,采用CC2530外部中断(ISR)响应方式。采用P20、P01、P04、P05直接接入上拉,当按键按下时接地,也就是低电平有效。采用CC2530的外部中断来实时响应按键输入。

3、系统软件设计

3.1、主函数设计

主函数主要是对硬件以及外设进行一系列初始化,然后就进入OS系统运行。详见程序清单1.

程序清单1:主函数

void main( void )

{

BSP_DISABLE_INTERRUPTS(); //关总中断

intClock();

WD_KICK();

mcuInit();

WD_KICK();

BSP_ENABLE_INTERRUPTS(); //开总中断

osal_nv_init( (void *)NULL );

WD_KICK();

globalInit();

WD_KICK();

rfIint();

WD_KICK();

OS_int();

OS_Start();

while(1)

{

}

}

3.2、主要功能模块设计

3.3.1、功能菜单设计

本案设计之定义了4个标准按键,所有功能操作完全采用菜单模式进行操作。这里设计了两级菜单:主菜单和功能控制菜单。主菜单预设了:客厅灯、卧室灯、厨房灯、生活阳台灯、观景阳台灯、书房灯、卫生间灯、关机等。控制菜单预设置:开灯、关灯、亮度加、亮度减、在线配对等。菜单定义代码详见程序清单2.

程序清单2:菜单定义代码

//主菜单显示内容

const CHILDREN_S mainMenuChar[] = {

{"1.客厅灯 ", NULL },

{"2.卧室灯 ", NULL },

{"3.厨房灯 ", NULL },

{"4.生活阳台灯", NULL },

{"5.观景阳台灯", NULL },

{"6.书房灯 ", NULL },

{"7.厕所灯 ", NULL },

{"8.关机 ", PowerDown },

};

//控制菜单显示内容

const CHILDREN_S CtrlmenuChar[] = {

{"1.开灯1 ", SendCtrl },

{"2.关灯1 ", SendCtrl },

{"3.开灯2 ", SendCtrl },

{"4.关灯2 ", SendCtrl },

{"5.亮度加 ", SendCtrl },

{"6.亮度减 ", SendCtrl },

{"7.在线配对 ", NULL },

};

3.3.2、在线配对及控制

在使用遥控器控制各个照明灯之前先要对各个灯进行在线配对,配对后即可对各个灯进行控制。其中如果是普通白炽灯只能对灯进行开关操作;如果是LED灯即可对亮度进行实时调节。在线配对过程如图7所示,灯光控制过程如图8所示。

3.3.3、低功耗设计

当遥控器不使用时,按下低功耗键,遥控器进入深度休眠状态,此时工作电流低于0.2毫安。当需要使用遥控器时,长按住低功耗键约3~5秒钟,唤醒遥控器。

static void *PowerDown( void *ptr )

{

UC1701xPowerOff();

PICTL |= 0x01; //P0口下降沿中断

P0IEN = 0x10; //P02中断开

IRCON &= ~0x20; //清P0口中断

EA = 0;

IEN1 = 0x20;// 开外中断关定时器中断

IRCON &= ~0x20; //清P0口中断

EA = 1;

SLEEPCMD &= ~0x03; /* clear mode bits */

SLEEPCMD |= 2; /* set mode bits */

while (!(STLOAD & 0x01));

{

PCON |= 0x01;

asm("NOP");

}

HAL_SYSTEM_RESET();

//return NULL;

}

4、结束语

本案完成了基于IEEE802.15.4自组网技术的主控遥控器设计,其具备低功耗、低成本的特点,在同时采用最新物联网相关技术的同时又能兼容传统的白炽灯和LED灯两种照明方式,必将受到市场的青睐。■

上一篇:校园环境下的网络信息过滤系统的设计 下一篇:高层建筑防雷工作重点分析