电子竞赛论文.docx
- 文档编号:8789705
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:13
- 大小:46.58KB
电子竞赛论文.docx
《电子竞赛论文.docx》由会员分享,可在线阅读,更多相关《电子竞赛论文.docx(13页珍藏版)》请在冰点文库上搜索。
电子竞赛论文
非接触供电的LED照明系统
摘要:
本无线非接触发射装置以51系列单片机(STC89C52)为控制核心,信号采用调频方式,接收装置采用线圈耦合的方式从发射装置得到能量,从而点亮LED,通过程序来控制线圈的频率来实现LED的亮度调节。
通过实验数据,本装置功耗低,效率高。
关键词:
非接触供电,无源,LED。
一、系统方案
1、硬件方案选择
方案一、信号调制采用调幅方式进行。
根据变压器原理,耦合得到的电压经整流得到直流电压,这样才有可能实现无源的LED照明系统。
发射电路由外接电源提供,可以产生比较大的发射功率。
无源LED照明装置可以通过反向散射调制来实现数据的传递,为提高供电效率,发射装置可以采用半幅调制,此方案是个不错的选择,但由于我们队都是刚接触电子知识,对调幅方式不是很了解,所以不采用此方案,。
方案二、信号调制采用调频方式进行。
此方式可以采用单片机装置,从而可得到所需要的固定频率,如50KHz等。
LED照明装置采用线圈耦合的方式,以电磁波为载体,从发射装置获得能量,经整流得到直流电,实现点亮照明装置。
2、软件方案
采用51单片机C51语言编程,实现频率的产生与调节,我们调节的范围为8.6Khz,9.6Khz,10.6Khz,11.6Khz来调节LED的亮度。
3、整个系统的描述
给发射装置供电时,发射装置线圈产生稳定的磁通量。
磁通量通过LED接收装置的线圈,是接收装置产生稳定的电压,供LED点亮。
当我们通过改变单片机中的程序,来实现线圈产生不同的频率,从而使俩线圈产生不同的谐振,从而使LED接收电路的电压不同,来实现LED不同的亮度。
使磁通过LED接收线圈得到耦合电压,为LED供电,点亮LED。
二、耦合线圈匹配理论
本装置以电磁波为载体。
通过相互耦由于就任器电源从线圈收到的微弱信号中取得,要求在不影响信号正常接收的前提下电磁波传递能量的效率尽可能高。
合的线圈(天线)进行通信。
下面分析两个相互耦合的线圈间的关系。
图2.0.0
如图所示,发射机用理想电压源Us和输出阻抗Z1等效,L1是发射天线的电感,L2是接收天线的电感,Z2是L2的负载。
M是L1、L2间互感,根据电磁学原理和基尔霍夫电压定律。
有
从式2.1.1可以得到以下两式:
或
这两个式子分别对应原边到副边和副边到原边的两种不同的等效电路。
从图可以看出。
当
时负载Z2得到的功率最大。
此时天线匹配最好。
三、硬件电路设计
1、发射装置电路
本设计产生四种发射频率,直接利用51单片机晶体振荡器产生。
2、LED照明电路
此电路是通过线圈过来的能量用桥式整流电路整出直流电压作为整机的电源。
LED照明装置接近发射装置时,开始对LED照明装置的储能电容充电,使电压快速上升。
发射装置不断发送高频载波,保证LED照明装置可以长期得到能量维持工作。
三、系统测试
测试仪器:
示波器、万用表、信号发生器、单片机开发板等。
测试方法:
1)硬件调试:
先期调试产生5V的电压,供51单片机工作。
采用产生的四种频率到电路里中,使发射和接收的方波形没有变形。
硬件电路就可以调通了。
2)软件调试:
调试频率分别为8.9KHz,8.4KHz,10.6KHz,11.3KHz,,,接着把程序写到芯片上,联机通信,调试成功,Led通过按键可产生四种亮度符合题目要求。
四.软件程序:
#include
#include"lcd1602.h"
codecharsin_data[256]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,
0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,
0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,
0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,
0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,
0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,
0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,
0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,
0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,
0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,
0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,
0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,
0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c};
#defineDAC(out_data)P1=out_data
#defineSIN0X01
#definePULSE0X02
#defineTRIAN0X04
#defineTH1_LOAD((TMR1_LOAD>>8)&0X00FF)
#defineTL1_LOAD(TMR1_LOAD&0X00FF)
#defineTMR1_LOAD(0XFFFF-TMR1_CNT)
#defineTMR1_CNT50000
#defineMCU_CLK12000000
typedefunsignedcharINT8U;
typedefunsignedintINT16U;
INT8Ucnt;
INT8UWave_Style;
INT8UTH0_LOAD;
INT8UTL0_LOAD;
INT16UTMR0_LOAD;
INT16Ufreq;
sbitkey1=P0^0;
sbitkey2=P0^1;
sbitkey3=P0^2;
sbitkey4=P0^3;
sbitkey5=P0^4;
voidTmr0_Init(void);
voidDelayMs(INT16Ucount);
voidKey_Scan(void);
INT16Ufreq2tmr0cnt(INT16Ufreq);
voidSetFreq(INT16Ufreq);
INT16Ufreq2tmr0cnt(INT16Ufreq)
{
INT16UTmr0_Cnt;
Tmr0_Cnt=0xffff-(INT16U)(MCU_CLK/12/256/freq);
returnTmr0_Cnt;
}
voidSetFreq(INT16Ufreq)
{
TMR0_LOAD=freq2tmr0cnt(freq);
TL0_LOAD=(INT8U)(TMR0_LOAD&0X00FF);
TH0_LOAD=(INT8U)((TMR0_LOAD>>8)&0x00FF);
TH0=TH0_LOAD;
TL0=TL0_LOAD;
cnt=0;
}
intmain(void)
{
INT8Ubuf[2];
unsignedcharkey_value;
//Tmr0_Init();
//lcd_init();
//lcd_clr();
freq=1;
P1=0x00;
//SetFreq(freq);
for(;;)
{
#if0
buf[0]=(INT8U)(freq/100);
buf[1]=(INT8U)(freq%100);
lcd_display(0,0,"wavegenerator");
lcd_print_i(0,1,"freqis%0%1hz",buf);
Key_Scan();
#endif
if(!
key1)
{
key_value=0x01;
}
elseif(!
key2)
{
key_value=0x02;
}
elseif(!
key3)
{
key_value=0x04;
}
elseif(!
key4)
{
key_value=0x08;
}
if(key_value&0x01)
{
P1^=0x01;
DelayMs(5);
}elseif(key_value&0x02)
{
P1^=0x01;
DelayMs(4);
}elseif(key_value&0x04)
{
P1^=0x01;
DelayMs
(1);
}elseif(key_value&0x08)
{
P1^=0x01;
DelayMs
(2);
}
}
return0;
}
voidTmr0_Init(void)
{
TMOD&=0xf0;
TMOD|=0x01;//定时器0在模式1下工作
TL0=0x38;//定时器每200us产生一次溢出3
TH0=0xf8;//自动重装的值
TL0_LOAD=TL0;
TH0_LOAD=TH0;
TMR0_LOAD=TL0_LOAD+TH0_LOAD*256;
ET0=1;//使能定时器0中断
EA=1;//使能总中断
TR0=1;//开始计时
}
voidTmr1_Init(void)
{TMOD&=0x0f;
TMOD|=0x10;//定时器1在模式1下工作
TL1=TL1_LOAD;//定时器每200us产生一次溢出
TH1=TH1_LOAD;//自动重装的值
ET1=1;//使能定时器1中断
EA=1;//使能总中断
TR1=1;//开始计时
}
voidKey_Scan(void)
{
if(key1==0)
{
DelayMs(10);
if(key1==0)
{
Wave_Style=SIN;
}
while(!
key1);
DelayMs(10);
while(!
key1);
}
elseif(key2==0)
{
DelayMs(10);
if(key2==0)
{
Wave_Style=PULSE;
}
while(!
key2);
DelayMs(10);
while(!
key2);
}
elseif(key3==0)
{
DelayMs(10);
if(key3==0)
{
Wave_Style=TRIAN;
}
while(!
key3);
DelayMs(10);
while(!
key3);
}
elseif(key4==0)
{
DelayMs(10);
if(key4==0)
{
freq+=1;
SetFreq(freq);
}
while(!
key4);
DelayMs(10);
while(!
key4);
}
elseif(key5==0)
{
DelayMs(10);
if(key5==0)
{
freq-=1;
SetFreq(freq);
}
while(!
key5);
DelayMs(10);
while(!
key5);
}
}
voidInt_T0_Isr()interrupt1using1
{
TH0=TH0_LOAD;
TL0=TL0_LOAD;
cnt++;
if(Wave_Style==SIN)
{
DAC(sin_data[cnt]);
}
elseif(Wave_Style==PULSE)
{
if(cnt&0x80)DAC(0xff);
elseDAC(0);
}
elseif(Wave_Style==TRIAN)
{
if(cnt&0x80)DAC(~cnt);
elseDAC(cnt);
}
}
voidInt_T1_Isr()interrupt3using2
{
TH1=TH1_LOAD;
TL1=TL1_LOAD;
}
voidDelayMs(INT8Ucount)
{
while(count--);//i从0加到125,在12M晶体下CPU大概耗时1毫秒
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 竞赛 论文