详谈触摸式调光台灯的智能化控制技术

控制/MCU

1813人已加入

描述

本文系统讲述如何利用PIC16F877微控制器实现触摸式调光台灯的智能化控制,实现(1)触摸调光;(2)灯丝预热;(3)自动消除眩光、频闪;(4)定时闹钟;(5)特色铃音;(6)整点报时;(7)事件提醒;(8)日历功能;(9)中文液晶显示等功能,满足安全、高效、无眩光、无频闪、功能齐全等质量标准。

硬件设计

1.PIC16F877征控制器

PIC16F877微控制器为MicroChip公司FLASH型CPU,片内含8K的FLASH程序存储区,368字节RAM,256字节的EEPROM,35个独立I/0口,一个16位计数器/定时器,两个8位计数器/定时器,14个可独立使用也可嵌套使用的中断源,2个捕捉器、比较器、PWM模块,,白带8路10位A/D,内带看门狗WDT及电源监视,具有休眠、等待等多种节电方式,I/0口可以直接驱动LCD。

2.硬件电路设计

智能控制

触摸式调光台灯硬件框图如上图所示,硬件原理图如下图所示。

智能控制

上图中C1和T1组成EMI滤波器,一方面可以减少镇流器对电网的干扰,另一方面可以防止其它电器设备对镇流器的干扰;V1-V4组成桥式整流器;C3、C4、V5、V6和R21组成无源功率因数校正电路,使功率因数达到0.9以上,为保证功率灯管使用寿命,电路的功率峰值因数应小于1.7,本文采用PIC16F877单片机的捕捉功能对频率进行反馈回读,根据频率的变化采取相应的措施,改变IR2151的输入,从而控制IR2151的输出频率,达到控制输出功率的目的。该方法可以使光源更稳定,消除眩光、频闪,达到护眼灯的效果。

触摸式调光灯工作时通过触摸金属片A(亮键)、B(暗键),将人体杂波信号通过耦合电容加到MCU的I/0口进行检测,同时,耦合电容还可以防止因个别器件损坏而造成麻电现象;MCU根据检测到的信号通过程序分析、运算,将PWM信号从17脚输出到IR2151,控制振荡频率;振荡器经高端(HO)和低端(LO)引脚输出,驱动两个场效应管IRF830交替导逼和截止,达到控制灯管的目的。

灯丝的预热由热敏电阻控制,上电后,IR2151的6脚、电感L1、电容C1O、Cl3组成串联谐振电路,在Cl3上产生高压加到灯管两端,将灯点亮。其中,RT为正温度系数的热敏电阻,起到对灯丝预热的作用;电源接通后灯丝电流几乎全部加载到C1O和RT上,由于C1O电容较大,LC串联电路不发生谐振,随着温度升高,RT阻值迅速增大,RT支路相当于开路)使LC串联电路发生谐振,即达到对灯丝进行预热及软启动的作用,延长了灯管的使用寿命,整个过程MCU时刻进行监控及调整,实现真正的智能化控制。

软件设计

软件设计由MCU初始化、装置自检、定时采样、中断处理、液晶显示、按键处理六部分,软件流程如下图所示。

智能控制

定时器中断子程序为软件设计的核心,包含湿度、湿度采样、调光,除眩等控制,本文对温度、湿度的精度要求不是非常的严格,采样周期设为1min,通过采样5个点求平均值,且精度满足采样要求。

定时器初始化子程序如下;

/***********定时器初始化*******/

void tmint(void)

{

INTCON=0X00;

/********关闭中断**********/

GIE=1;

/***********总中断使能INTCON.7**********/

PEIE=1;

/*********外围接口中断使能位,必须置1否则TMR1中

断不好用***********/

TMR1IE=1;

/**********TMR1溢出中断使能位**********/

T1 CON=0X24;

/******************预分频器1:4暂时不打开TMR1***********/

TMR1 L=0X77;

TMR1 H=0XEC;

/**************定时器赋初值20mS中断1次***************/

TMR1ON=1;

/***********启动TMR1开始计数。T1CON.0**************/

}

定时器中断子程序如下:

/************定时器中断***********/

void interrupt clkint(void)

{

int i,j,k:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分