温度传感器实验Word文档格式.docx
- 文档编号:18632390
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:14
- 大小:523.25KB
温度传感器实验Word文档格式.docx
《温度传感器实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《温度传感器实验Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
Theparallelresonantcircuitasis.Whensendingandreceivingcircuit,theresonancefrequencyofthetransmissionofcoilapproximatestothehigherenergyefficiencyandtransmissiondistance.Currentlywedothebestresultisin6cmlongrange,toreachshing51-seriesmicrocomputermoduleandtemperaturesensorandLCD1602providepowersupply.
Keywords:
wireless,couplingcoil,electromagneticinduction,energy,cheng51platform
1、方案论证与比较
1.1振荡电路
方案一:
采用NE555与RC构成的振荡器,频率在一定的范围内可调,电路简单而且省电,但是稳定性不高。
方案二:
采用有源晶振产生高频振荡信号,频率高、稳定性好而且不需要外围电路。
综上所述:
因为系统要求的频率比较高,而且稳定性要好。
因此选择方案二比较合适。
1.2功率放大电路
采用一般的放大电路进行放大,功耗小,但是不能放大高频信号。
采用大功率开关三极管作为功放元件,但是管耗较大,需要大面积的散热片。
由于系统的频率高,只能使用大功率三极管放大高频信号。
因此选择方案二满足要求。
1.3接收电路
对电容进行快速和慢速充电。
在一定的距离内带动负载。
方案二的效果比较明显,容易观察,而且更具有研究价值。
因此选择方案二比较好
2、系统实现
2.1硬件设计
2.1.1系统框图
图1系统框图
2.2单元电路设计
2.2.1振荡电路
用
的有源晶振产生高频方波信号,经过74LS04实现电流放大,然后将方波转换为正弦波,生成频率为
、幅度稳定的正弦波。
,图2振荡电路
2.2.2功放电路
该电路为丙类功放,其中3DD15是大功率三极管,1K电阻也是大功率碳膜电阻。
整体部分可以将
的输入信号进行放大。
图3功放电路
2.2.3、能量传输模块的设计
在初级线圈部分串联一个电容(计算如下),形成串联谐振电路,次级线圈部分并联一个电容(计算如下),形成并联谐振电路。
串联谐振电路中的阻抗最小且呈纯阻抗,电路中的电流最大,线圈周围的磁感应量大;
通过耦合线圈的磁感应量也大,相应的感应电流也大,能量从初级传送到了次级,为后续电路提供能量,实现了无线传能的目的。
图4传输-接收线圈
用电感表测出20匝线圈的电感为60uH,根据公式
得
,(其中
)
2.2.4控制电路
控制部分采用达盛51单片机开发平台,平台结构如图所示:
图5达盛平台PCB图
图6达盛平台PCB3D图
图7达盛平台原理图
2.2.5显示电路
显示电路采用的是LCD1602,在液晶上显示温度传感采集到的当前实时温度。
LCD1602液晶显示模块可以喝单片机AT89C51直接接口,如图所示:
图8达盛平台原理图
3、创新点与展望
3.1创新点
本设计根据电磁感应原理实现短距离无线充电技术。
曾经麻省理工学院物理教授MarinSoljacic利用该项技术点亮了两米外的一盏60瓦灯泡。
目前,这项技术已经成为短期内最具有研究价值和值得期待的技术。
本设计电源一端的线圈共振器作为发射部分,通电后以稳定
的频率振动,产生的电磁场把能量传输到相同频率的接收共振器上。
能在6cm的距离内给达盛51单片机平台、温度传感器以及LCD1602提供稳定电源。
3.2展望点
在不久的将来,当我们解决了效率问题,使无线传输的效率能与有线的传输效率相比拟的时侯,无线就可以取代有线,对电子设备进行充电了。
只要在能量网络的覆盖范围内,电器就可以正常运转,那时候,手机、笔记本、数码相机、MP3等移动电子设备可能再也不需要像现在这样充电了。
如果能够实现能量高效率安全无线传输,那么这将是一项重大的突破。
参考文献
1、《模拟电子技术基础》第四版清华大学电子学教研组华成英,童诗白主编
2、《单片机微型计算机与接口技术》第2版李群芳,张士军,黄建编著
3、《高频电子线路》第3版高等教育出版社胡宴如编著
4、《高频电子线路学习指导》高等教育出版社胡宴如,耿苏燕编著
附录一:
原理图
图9发射部分原理图
图10接收部分原理图
附录二:
程序清单
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitDQ=P3^3;
//ds18b20与单片机连接口
sbitRS=P3^5;
sbitRW=P3^4;
sbitEN=P3^2;
unsignedcharcodestr1[]={"
bishengbei"
};
unsignedcharcodestr2[]={"
T:
"
//显示实时温度
uchardatadisdata[5];
uinttvalue;
//温度值
uchartflag;
//温度正负标志
/*************************lcd1602程序**************************/
voiddelay1ms(unsignedintms)//延时1毫秒(不够精确的)
{unsignedinti,j;
for(i=0;
i<
ms;
i++)
for(j=0;
j<
100;
j++);
}
voidwr_com(unsignedcharcom)//写指令
{delay1ms
(1);
RS=0;
RW=0;
EN=0;
P1=com;
delay1ms
(1);
EN=1;
voidwr_dat(unsignedchardat)//写数据
;
RS=1;
P1=dat;
voidlcd_init()//初始化设置
{delay1ms(15);
wr_com(0x38);
delay1ms(5);
wr_com(0x08);
wr_com(0x01);
wr_com(0x06);
wr_com(0x0c);
voiddisplay(unsignedchar*p)//显示
{
while(*p!
='
\0'
wr_dat(*p);
p++;
delay1ms
(1);
init_play()//初始化显示
{lcd_init();
wr_com(0x80);
display(str1);
wr_com(0xc0);
display(str2);
}
/******************************ds1820程序***************************************/
voiddelay_18B20(unsignedinti)//延时1微秒
while(i--);
voidds1820rst()/*ds1820复位*/
{unsignedcharx=0;
DQ=1;
//DQ复位
delay_18B20(4);
//延时
DQ=0;
//DQ拉低
delay_18B20(100);
//精确延时大于480us
//拉高
delay_18B20(40);
}
uchards1820rd()/*读数据*/
{unsignedchari=0;
unsignedchardat=0;
for(i=8;
i>
0;
i--)
{DQ=0;
//给脉冲信号
dat>
>
=1;
DQ=1;
if(DQ)
dat|=0x80;
delay_18B20(10);
return(dat);
voidds1820wr(ucharwdata)/*写数据*/
{unsignedchari=0;
for(i=8;
i>
i--)
{DQ=0;
DQ=wdata&
0x01;
wdata>
read_temp()/*读取温度值并转换*/
{uchara,b;
ds1820rst();
ds1820wr(0xcc);
//*跳过读序列号*/
ds1820wr(0x44);
//*启动温度转换*/
//*跳过读序列号*/
ds1820wr(0xbe);
//*读取温度*/
a=ds1820rd();
b=ds1820rd();
tvalue=b;
tvalue<
<
=8;
tvalue=tvalue|a;
if(tvalue<
0x0fff)
tflag=0;
else
{tvalue=~tvalue+1;
tflag=1;
tvalue=tvalue*(0.625);
//温度值扩大10倍,精确到1位小数
return(tvalue);
/*******************************************************************/
voidds1820disp()//温度值显示
{ucharflagdat;
disdata[0]=tvalue/1000+0x30;
//百位数
disdata[1]=tvalue%1000/100+0x30;
//十位数
disdata[2]=tvalue%100/10+0x30;
//个位数
disdata[3]=tvalue%10+0x30;
//小数位
if(tflag==0)
flagdat=0x20;
//正温度不显示符号
flagdat=0x2d;
//负温度显示负号:
-
if(disdata[0]==0x30)
{disdata[0]=0x20;
//如果百位为0,不显示
if(disdata[1]==0x30)
{disdata[1]=0x20;
//如果百位为0,十位为0也不显示
wr_com(0xc4);
wr_dat(flagdat);
//显示符号位
wr_com(0xc5);
wr_dat(disdata[0]);
//显示百位
wr_com(0xc6);
wr_dat(disdata[1]);
//显示十位
wr_com(0xc7);
wr_dat(disdata[2]);
//显示个位
wr_com(0xc8);
wr_dat(0x2e);
//显示小数点
wr_com(0xc9);
wr_dat(disdata[3]);
//显示小数位
wr_com(0xca);
wr_dat(0x43);
//wr_com(0xcb);
//wr_dat(0xF8);
/********************主程序***********************************/
voidmain()
{init_play();
//初始化显示
while
(1)
{read_temp();
//读取温度
ds1820disp();
//显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度传感器 实验