可控白光LED照明灯报告.docx
- 文档编号:4727668
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:11
- 大小:191.32KB
可控白光LED照明灯报告.docx
《可控白光LED照明灯报告.docx》由会员分享,可在线阅读,更多相关《可控白光LED照明灯报告.docx(11页珍藏版)》请在冰豆网上搜索。
可控白光LED照明灯报告
可
控
L
E
D
照
明
灯
电子设计大赛培训一期
组长:
毕聪
组员:
邵远航喻红
目录
1作品摘要介绍
2总体设计方案
2.1总体设计方案介绍
2.2系统控制方案
2.3总体硬件组成框图
3主要系统硬件设计
3.1光照部分的制作
3.2光度计的制作
3.3显示模块的使用
4系统的软件设计
4.1系统的软件流程
4.2核心程序的介绍
5系统调试
5.1测试使用的仪器仪表
5.2系统调试的方法
6实验心得
7分工合作
可控白光LED照明灯
1.作品摘要介绍:
我们组设计的高效可控白光LED照明灯及其检测装置,用TI的TPS61062芯片驱动4~5只白光LED进行照明。
2.总体方案设计:
本系统采用单片机MSP430为系统控制的核心,此系统主要包括TPS驱动模块,光度计的制作模块等。
2.1总体设计方案的介绍:
本作品的设计思想是通过TI的TPS61062芯片驱动4~5只白光LED进行照明,并能对输出到LED上的功率进行测量、显示和对输出到LED上的电流进行预置、控制。
用光敏器件制作一个照度检测仪,它可以将检测到的照度显示。
2.2系统控制方案:
用MSP430实现系统控制。
MSP430内部自带ADC12转换模块,ADC12模块主要有以下特点:
AD转换为12位,数据的测量精度高;采样速度快;片内参考电压的产生可以有软件编程选择,也可以由软件选择内部参考还是外部参考;可以选择转换的转换时钟源;具有单通道单次转换,单通道多次转换,序列通道单次转换和序列通道多次转换4种转换模式;具有中断矢量寄存器;16位的转换结果存储寄存器。
2.3总体硬件组成框图
3主要系统硬件的设计
为使作品测量的精确度更高,并且使总体设计更具有模块化,我们对系统的硬件做了精心设计,模块具体设计如下:
3.1光照部分的制作
方案一:
使用恒流源电路进行控制,控制过程中只要控制输入电压即可控制输出电流(电路如图),由于题目要求0.1mA步进电流,但输入电压要求用单片机的DA转换进行输入确切电压,M430F149没有DA转换,所以此方案放弃。
方案二:
利用TPS61060芯片驱动4-5只LED照明,采用5V单电源供电。
下面我们介绍TPS61062芯片。
TPS61062与LED的链接如下:
在实际使用过程中,如图所示的VIN引脚应直接接IO口,用IO口输出的PWM波进行亮度控制。
3.2光度计的制作:
方案一:
使用硅光电池做光度计。
晶体硅光电池有单晶硅与多晶硅两大类,用P型(或n型)硅衬底,通过磷(或硼)扩散形成Pn结而制作成的,生产技术成熟,是光伏市场上的主导产品。
采用埋层电极、表面钝化、强化陷光、密栅工艺、优化背电极及接触电极等技术,提高材料中的载流子收集效率,优化抗反射膜、凹凸表面、高反射背电极等方式,光电转换效率有较大提高。
单晶硅光电池面积有限,目前比较大的为Φ10至20cm的圆片,年产能力46MW/a。
目前主要课题是继续扩大产业规模,开发带状硅光电池技术,提高材料利用率。
国际公认最高效率在AM1.5条件下为24%,空间用高质量的效率在AM0条件约为13.5~18%,地面用大量生产的在AM1条件下多在11~18%之间。
以定向凝固法生长的铸造多晶硅锭代替单晶硅,可降低成本,但效率较低。
优化正背电极的银浆和铝浆丝网印刷,切磨抛工艺,千方百计进一步降成本,提高效率,大晶粒多晶硅光电池的转换效率最高达18.6%。
方案二:
利用光敏电阻做光度计。
光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻变小,入射光弱,电阻增大。
光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。
光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。
光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。
设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。
出于制作难易考虑,本实验选用光敏电阻做光度计来测量LED的发光强度。
3.3显示模块的使用
出于熟练度以及所拥有的例程的实际情况,决定使用诺基亚5110的显示屏幕。
由于例程中不包含动态数字的显示,故添加如下子函数以完成此功能:
/*-------------------------------------------------------------
LCD_write_shu:
显示6(宽)*8(高)点阵列数字字母符号等半角类
输入参数:
c:
显示的字符;6*8
---------------------------------------------------------------*/
voidLCD_write_shu(introw,intpage,intc)//row:
列page:
页c:
字符
{
inti;
LCD_set_XY(row*6,page);//列,页row*8
for(i=0;i<6;i++)
{
LCD_write_byte(font6x8[c][i],1);
}
}
(其中c为变量)
4.1系统的软件流程
软件分为5个部分:
PWM波输出,AD转换检测电压,按键控制PWM波,5110的显示,功率的计算
4.2核心程序的介绍
#include
#include"nokia_5110.h"
#include"BoardConfig.h"
#include"Key.h"
#include"Delay.h"
typedefunsignedintuint;
typedefunsignedcharuchar;
#defineNum_of_Results32
staticuintresults[Num_of_Results];//保存ADC转换结果的数组
voidTrans_val(uintHex_Val);
intzhaodu=0,gonglv=0;
uinti=0,j=0,dir=0;
uintflag=0,speed=0;
/****************主函数****************/
voidmain(void)
{
unsignedcharKey;
//charz;
/*下面六行程序关闭所有的IO口*/
//P1DIR=0XFF;P1OUT=0XFf;
//P3DIR=0XFF;P3OUT=0XFF;
P4DIR=0XFF;P4OUT=0XFF;
P5DIR=0XFF;P5OUT=0XFF;
P6DIR=0XFF;P6OUT=0X00;
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
//*------选择系统主时钟为8MHz-------*/
//BCSCTL1&=~XT2OFF;//打开XT2高频晶体振荡器
//do
//{
//IFG1&=~OFIFG;//清除晶振失败标志
//for(z=0xFF;z>0;z--);//等待8MHz晶体起振
//}
//while((IFG1&OFIFG));//晶振失效标志仍然存在?
//BCSCTL2|=SELM_2+SELS;//MCLK和SMCLK选择高频晶振
//P6DIR|=BIT2;P6OUT|=BIT2;//关闭电平转换
//P5OUT&=~BIT7;
P2DIR=0xff;//***********************************************pwm
P1DIR=0xff;//P2端口设置为输出
P1OUT=0xff;//关闭其他LED
P1SEL|=BIT6+BIT7;//P2.3和P2.4连接内部模块,使用的是第二功能作为TimerA的比较输出。
CCR0=200;
//CCTL1=OUTMOD_7;//CCR1reset/set
//CCR1=flag;//CCR1PWMdutycycle
CCTL2=OUTMOD_7;//CCR2reset/set
CCR2=flag;//CCR2PWMdutycycle
TACTL=TASSEL_1+ID_2+MC_1;//ACLK/8,upmode
P6DIR|=BIT2;P6OUT|=BIT2;//关闭电平转换*****************************adc
P5DIR|=BIT5;P5OUT&=~BIT5;//关闭数码管显示
P6DIR|=BIT6;P6OUT&=~BIT6;//半闭数码管显示
P6DIR|=BIT5;P6OUT&=~BIT5;//半闭数码管显示
Key_INIT();
LCD_init();//初始化液晶
LCD_clear();
P6SEL|=0x01;//使能ADC通道
ADC12CTL0=ADC12ON+SHT0_15+MSC;//打开ADC,设置采样时间
ADC12CTL1=SHP+CONSEQ_2;//使用采样定时器
ADC12IE=0x01;//使能ADC中断
ADC12CTL0|=ENC;//使能转换
ADC12CTL0|=ADC12SC;//开始转换
_EINT();
while
(1)//p3.2-p3.4为调整pwm波的板载按键,占空比分别加2、4、6
{
Key=Key_Scan();
if(Key!
=0)
{
switch(Key)
{
case1:
flag=flag+2;
break;
case2:
flag=flag+4;
break;
case3:
flag=flag+6;
break;
default:
break;
}
}
elsedelay_ms(10);
if(flag>=200)
{
flag=0;
}
CCR2=flag;//CCR2PWMdutycycle
}
}
/*******************************************
函数名称:
ADC12ISR
功能:
ADC中断服务函数,在这里用多次平均的
计算P6.0口的模拟电压数值
参数:
无
返回值:
无
********************************************/
#pragmavector=ADC_VECTOR
__interruptvoidADC12ISR(void)
{
staticuintindex=0;
results[index++]=ADC12MEM0;//Moveresults
if(index==Num_of_Results)
{
uchari;
unsignedlongsum=0;
index=0;
for(i=0;i { sum+=results[i]; } sum>>=5;//除以32 Trans_val(sum); } } /******************************************* 函数名称: Trans_val 功能: 将16进制ADC转换数据变换成三位10进制 真实的模拟电压数据,并在液晶上显示 参数: Hex_Val--16进制数据 n--变换时的分母等于2的n次方 返回值: 无 ********************************************/ voidTrans_val(uintHex_Val) { introw=0,page=0; unsignedlongcaltmp; uintCurr_Volt; uchart1,i; ucharptr[4]; caltmp=Hex_Val; caltmp=(caltmp<<5)+Hex_Val;//caltmp=Hex_Val*33 caltmp=(caltmp<<3)+(caltmp<<1);//caltmp=caltmp*10 Curr_Volt=caltmp>>12;//Curr_Volt=caltmp/2^n ptr[0]=Curr_Volt/100;//Hex->Dec变换 t1=Curr_Volt-(ptr[0]*100); ptr[1]=t1/10; ptr[2]=t1-(ptr[1]*10); //ptr[3]=0;//shuzi表中第10位对应符号"." //在液晶上显示变换后的结果 for(i=0;i<3;i++) { LCD_write_shu(row+i,page+2,ptr[i]); } } 5.1测试使用的仪器仪表 万用表。 5.2系统调试的方法 并入电路测量电流,并调试PWM波的占空比,使按键每次按下变化的占空比令电流步进0.1mA。 6实验心得 按键的电路逻辑不清晰,在编程时由于初次使用M430F149程序的初始化多是来自例程,端口定义模糊且混乱。 在对按键使能及执行的模块程序中不能执行,即不能实现。 主函数中没有while语句,导致函数不能反复执行,而是死循环在AD的中断中,不能执行按键中断或执行按键判断函数。 照度计由于电路简单,所以测出的亮度最后一位的数字变化快,值不稳定。 经修改,按键改变电流和亮度已经实现,但由于发光二极管的U-I曲线为非线性,开始的步进为0.1mA,之有增大迹象。 7分工合作 毕聪: 方案拟定、平台选择、电路设计 邵远航: 电路制作、软件程序、实验报告 喻红: 电路分析、软件程序、实验报告
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可控 白光 LED 照明灯 报告