论文部分内容阅读
摘 要:设计出一种基于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灯两种照明方式,必将受到市场的青睐。■
关键词:遥控器;照明系统;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灯两种照明方式,必将受到市场的青睐。■