红外传感器制作.docx

上传人:b****6 文档编号:3968574 上传时间:2022-11-26 格式:DOCX 页数:19 大小:235.75KB
下载 相关 举报
红外传感器制作.docx_第1页
第1页 / 共19页
红外传感器制作.docx_第2页
第2页 / 共19页
红外传感器制作.docx_第3页
第3页 / 共19页
红外传感器制作.docx_第4页
第4页 / 共19页
红外传感器制作.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

红外传感器制作.docx

《红外传感器制作.docx》由会员分享,可在线阅读,更多相关《红外传感器制作.docx(19页珍藏版)》请在冰豆网上搜索。

红外传感器制作.docx

红外传感器制作

2.3设计框图

本次设计是基于STC89C52单片机的电动机保护装置,包括稳压模块、按键控制、红外发射接收模块、模数转换、电机部分。

 

图2.1电机保护装置的总体框图

稳压模块[2]是经变压器、滤波、稳压后输出电压5V,为整个电路提供电源。

按键控制根据设计需要设置工作模式和调节安全距离所用,主要用于控制整个装置的操作。

模数转换是整个电路的桥梁,主要把模拟量转换为数字量。

本设计的电机部分是由LED模拟电动机的工作和停止的。

3主要器件介绍及工作原理

3.1红外传感器的简介

红外技术是最近几十年中发展起来的一门新兴技术。

它已在科技、国防和工

农业生产等领域获得广泛的应用。

 红外传感器的应用主要体现在以下几个方面:

1、 红外辐射计:

用于辐射和光谱辐射测量。

2、 搜索和跟踪系统:

用于搜索和跟踪红外目标,确定其空间位置并对其运动进行

跟踪。

3、热成像系统:

能形成整个目标的红外辐射分布图像。

4、红外测距系统:

实现物体间距离的测量。

5、通讯系统:

红外线通信作为无线通信的一种方式。

6、混合系统:

是指以上各类系统中的两个或多个的组合。

3.1.1红外对管测距原理

红外线测距是利用红外光来传送光波信号,因此,作为红外测距中的红外光发射器件的红外发光二极管和红外光接收器件的红外光敏管,是构成红外测距系统的基本器件。

  如图3.1所示是红外对管的实物图。

图3.1红外对管实物图

传感器的探测距离较短,一般在几十厘米之内,而这个测距范围是能够满足设计方案要求的。

红外传感器的测距基本原理为红外发射电路的红外发光管发出红外光,经障碍物反射后,由红外接收电路的光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。

根据发射光的强弱可以判断物体的距离,由于接收管接收的光强随是随反射物体的距离变化而变化的,因而,距离近则反射光强,距离远则反射光弱。

 

因为红外线是介于可见光和微波之间的一种电磁波,因此,它不仅具有可见光直线传播、反射、折射等特性,还具有微波的某些特性,如较强的穿透能力和能贯穿某些不透明物质等。

红外传感器包括红外发射器件和红外接收器件。

自然界的所有物体只要温度高于绝对零度都会辐射红外线,因而,红外传感器须具有更强的发射和接收能力。

 

3.1.2红外线发射器件的结构 

红外线发射器件是最长用的为红外发光二极管,它与普通发光二极管的结构 原理以及制作工艺基本相同,是只有一个PN结的半导体器件,只是所有的材料不同,制造红外发光二极管砷化钾,砷铝钾等,其中应用最多的是砷化钾。

红外发光二极管一般采用环氧树脂,玻璃,塑料等封装,除白色透明材料封装外,还可见到用蓝色透明材料封装的,。

红外发光二极管按发光功率的大小,可分为小功率,中功率,大功率三种。

另外,红外发光二极管除顶面发光型外,还有侧面发光型。

小功率管一般采用全塑封装,也有部分是采用陶瓷底座,顶端用玻璃或环氧树脂透镜封装的,中大功率管一般采用带螺纹金属底座,以便安装散热片。

随着发光功率得提高,相应体积的管子也增大。

 

3.1.3红外发光二极管测试方法 

红外发光二极管测试方法[3]非常简单,用万用表RX1K档测量,正向电阻在30KΩ左右,反向电阻在200KΩ以上的管子是好的。

反向电阻越大,漏电流越小,质量越好。

反之,若反向电阻只有几十KΩ,说明管子质量不好,但可使用。

若管子的正向的反向电阻都为无穷大或为零,说明管子是废品,不能使用。

3.2模数转换芯片

3.2.1TLC2543的简介

TLC2543是TI公司的12位串行模数转换器,如图所示TLC2543的引脚图,其使用开关电容逐次逼近技术完成A/D转换过程[4]。

由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。

如表3.1TLC2543引脚功能,TLC2543的特点如下:

1、12位分辩率A/D转换器;

2、在工作温度范围内10μs转换时间;

3、11个模拟输入通道;

4、3路内置自测试方式;

5、采样率为66kbps;

6、线性误差±1LSBmax;

7、有转换结束输出EOC;

8、具有单、双极性输出;

9、可编程的MSB或LSB前导;

10、可编程输出数据长度。

表3.1TLC2543引脚功能

引脚号

名称

I/O

说明

1~9,11,12

AIN0~AIN10

I

模拟量输入端。

11路输入信号由内部多路器选通。

15

CS

I

片选端口。

在CS端由高变低时,内部计数器复位。

由低变高时,在设定时间内禁止DATAINPUT和I/OCLOCK

17

DATANPUT

I

串行数据输入端。

16

DATAOUT

O

A/D转换结果的三态串行输出端。

CS。

为高时处于高阻态,为低电平时为激活态

19

EOC

O

转换结束端,在转换结束后为高电平

图3.2TLC2543引脚图

3.2.2工作时序

TLC2543每次转换和数据传送使用16个时钟周期,且在每次传送周期之间插入/CS时序如图3.3所示。

在TLC2543的/CS变低时开始转换和传送过程,I/OCLOCK的前8个上升沿将8个输入数据位键入输入数据寄存器,同时,将前一次转换的数据的其余11位移出DATAOUT端,在I/OCLOCK下降沿时数据变化。

当CS为高时,I/OCLOCK和DATAINPUT被禁止,DA2TAOUT为高阻态。

转换数据

A/D转换时间

移入新的器件地址,移出转换值

访问周期

采样周期

高阻状态

B15

图3.3TLC2543的时序图

C7

3.2.3数据输入格式

数据寄存器的前4位(D7~D4)数据[4],当其为0000到1010间的数据时,代表选中11个模拟通道的某一个通道[5]1011到1110代表分别选中测试电压(Vref-+Vref+)/2、Vref-以及Vref+。

D3、D2表示输出数据长度,D1表示输出数据的格式(0为MSB,1为LSB),D0就决定了TLC2543的工作方式。

3.3LCD1602的应用

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块[6]。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。

3.3.1字符操作控制

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如‘A’。

3.3.2指令操作控制

1602通过D0~D7的8位数据端传输数据和指令。

显示模式设置:

(初始化)00110000[0x38]设置16×2显示,5×7点阵,8位数据接口。

显示开关及光标设置:

(初始化)00001DCBD显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)。

000001NSN=1(读或写一个字符后地址指针加1&光标加1)。

N=0(读或写一个字符后地址指针减1&光标减1),S=1且N=1(当写一个字符后,整屏显示左移)。

s=0当写一个字符后,整屏显示不移动。

数据指针设置:

数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)。

3.4主控芯片简介

电动机保护装置设计的主控芯片是STC89C52

4电路图设计

4.1红外发射接收电路

红外对管收发电路如图4.1所示,TLC2272轨对轨运放进行信号处理,频率和距离可以通过精密电阻调节。

对从输入端口送入信号进行进行编码,使用编码红外线,抗干扰能力强,可通过单片机控制,可以避免多个红外模块之间干扰。

除此之外TLC2272具有放大功能经过两级放大后模拟电压达到了可以检测到范围。

图4.1红外发射接收电路

由运放LM324比较输出,当”+”输入端电压高于”-”输入端时,电压比较器输出为高电平;当”+”输入端电压低于”-”输入端时,电压比较器输出为低电平。

NE555N组成施密特触发器[8],输出信号经施密特电路整形,稳定可靠。

施密特触发器555内部有电阻分压网络,当R13与R14的分压输入大于其阈值时输出反向,555是对Vcc及地而言的,不是对交流信号的。

在交流信号中串接一个电容,改变信号的电位。

滑动变阻器PR1可以调节LM324放大器的输入,可以调节比较电压,同时可以调节频率和距离。

当555输出时高电平时,三极管9013导通。

红外对管发射管LED0工作。

其中C1、C2分别与R15,R10组成无源高通滤波器,C3为旁路电容。

LED2是之所以要反接,是因为红外接收管应用时PN结要反偏[9],因为PN结反偏后漂移电流随着光变化的灵敏度大,这样可以更好地线性变化。

从TLC2272第二级输出端即为AO是模拟信号输出端,随着障碍物与红外对管的距离,输出端的电压值也随着变化。

4.2模数转换模块电路

图4.2是数模转换电路整体效果图,主要由TLC2543转换芯片,红外发射接收电路主要是普通红外发射管和红外接收三极管。

图4.2数模转换电路

电路工作原理:

红外发光管发射出的红外光,在遇到前面的障碍物反射后,由红外接收三级管接收,此时红外接收三级管会产生一个与光强相对应的电流。

在输出端可以得到一个0~3V的模拟电压,作51 单片机模拟输入量进行A/D转换,最后将转换结果在LCD上显示出来。

输入的模拟信号直接与AIN相连,用软件设置所选通道,然后对其进行读数据。

4.3按键部分

按键部分按功能主要是复位键和控制键如图4.3所示。

复位键KEY1:

当单片机运行出问题时,复位键控制单片机复位。

控制键KEY2:

调节模式,进入设置期望的安全距离数值。

控制键KEY3:

设置安全距离时,加数值。

并且还具有开电动机的功能。

控制键KEY4:

置安全距离时,减数值。

单片机根据ADC转换的数据和拟合函数进行计算,得到实际距离并且在LCD上显示距离大小。

当实际距离小于设定距离时,LCD正常显示,继电器动作,LED灯灭,蜂鸣器响起。

当设定距离大于时,LED灯保持亮的状态,蜂鸣器不响并且红外发光二极管发光报警。

图4.3按键控制电路

4.4其他模块电路

图4.4所示,继电器驱动电路[10]。

当P20口给低电平时三极管8550饱和导通,此电路中的三级管有放大电流和做开关的作用。

继电器上电吸合,此时LED0点亮。

LED0是模拟电动机,LED亮说明在工作,灭是不工作。

二极管D1与继电器线圈并联后,二极管负极接直流电源正极,继电器线圈断电时,二极管因势利导,为线圈电流继续流动提供途径,残余能量在线圈与二极管组成的回路中较为平缓地自我消耗掉,开关得到有效保护。

图4.4继电器驱动电路

图4.5蜂鸣器驱动电路[3],这与继电器驱动电路有相似之处。

当P21口给低电平时三极管8550饱和导通[11],此电路中的三级管有放大电流和做开关的作用。

这样蜂鸣器达到了工作的条件。

图4.5蜂鸣器驱动电路

5软件设计部分

5.1软件设计框图

图5.1软件设计框图

如图5.1所示,红外收发部分根据障碍物与红外对管的距离不同,输出不同的模拟信号,模拟信号经过AD采集模块程序的处理转化为数字信号[13],写入单片机中,进行实验,将固定距离所采集到的信号强度记录下来,然后将对应的数据加入程序中,最后通过红外模块进行测量,便可显示出对应的距离值,根据设定距离与实时距离比对,比对的值送到单片机,单片机处理比对结果,然后对继电器做出处理。

单片机主程序是整个程序的基础,也是核心。

5.2程序设计流程

在理解设计任务的时候,首先画出了如图5.2所示,根据程序设计流程图,我对程序的编写有了很清晰地思路。

AD采集主要是对通过AD转换芯片对红外对管的数据采集。

采样的电压数据在LCD上显示。

电压值对应的距离是通过多次测量得出的结果。

然后两者结合,显示出距离。

用户可以根据具体情况设定安全距离,然后安全距离与实际距离比较。

根据实际情况对比较的结果进行处理。

图5.2程序设计流程图

5.3程序设计过程中问题总结

程序设计过程中,出现了一些问题。

问题主要出现在模数转换程序设计和LCD光标闪烁效果完善上。

模数转换程序编写的时,主要对时序图的理解和各功能引脚的理解。

SDI输入端,最先输入4位为了选通模拟量通道。

后4位用来设置芯片的工作方式。

最后4位是数据输出。

开始设计程序时直接送入12位数据。

当时认为前8为是为了选通道和工作方式,后4位作为输出数据,通过移位方式赋值于另一变量,然后通过返回值返回数据。

这样写虽然在理论上也是可以说通的,但是效果上无法实现模数转换功能。

后来通过查阅资料,可能因为程序编写使其出现错乱。

于是改写,先送前8位,然后送低4位,分两批送这个问题就解决了。

EOC转换结束后会自动置位。

开始设计时,没有判断是否置位导致转换结果出现乱码。

LCD光标闪烁,出现问题主要有光标比较暗,显示不明显,光标显示位置移动。

LCD光标显示不明显,然后根据LCD的一些资料改写了读写数据函数的延时函数,使延时更长,这样就可以使光标变亮了。

光标显示位置移动的原因是在调节数值的时候,其他数值仍在不断的更新,这使得光标不停地移动。

解决的方案是设置标志位,当处于光标闪烁模式的时候,数值停止更新。

跳出闪烁模式时,则数值开始更新。

附录

附录A设计电路图

以上电路图为电动及保护装置的主电路图,基于AltiumDesigener为平台绘制的。

包括LCD显示模块电路,模数转换电路,报警电路,继电器电路,按键部分控制电路等。

本电路设计合理,预留扩展口,制作灵活,便于二次开发。

附录B设计仿真效果图

上图是基于Protues软件仿真的效果图。

用滑动变阻器模拟红外对管输入模拟信号,滑动变阻器右边是电压值。

LCD第一行显示的是“set030mm”用户可以根据实际情况设置安全距离。

第二行显示的是经过单片机处理后的实时距离值。

 

附录C程序源代码

1602显示模块程序:

 

#include 

#include

sbit lcdrs=P2^5; 

sbit lcdrw=P2^6; 

sbit lcden=P2^7; 

void delay(uint z) 

{  uint x,y; 

 for(x=z;x>0;x--)   

for(y=110;y>0;y--); 

void write_com(uchar com) 

 lcdrs=0;  

lcden=0;

P0=com;  

delay(5); 

 lcden=1; 

 delay(5); 

lcden=0;  

}  

void write_data(uchar date) 

 lcdrs=1; 

 lcden=0;  

P0=date;  

delay(5);  

lcden=1;  

delay(5);  

lcden=0;  

}

void init() 

{  lcdrw=0; 

lcden=0;

write_com(0x38); 

write_com(0x0c);  

write_com(0x06);  

write_com(0x01); 

write_com(0x80); 

红外测距模块程序:

 

#include

#include 

#define uchar unsigned char 

#define uint unsigned int 

sbit clk=P1^4;

sbit cs=P1^5;  

sbit din=P1^6;

sbit dout=P1^7; 

sbit bit7=B^7; // 数据的最高位 

uchar  count,conword;//控制字的高四位决定通道口 

bit cy; 

void write_sfm(uchar add,uint date) 

{  uint bai,shi,ge;  

ge=date%10;  

shi=date%100/10;  

bai=date%1000/100; 

 write_com(0x80+add); 

 write_data(0x30+bai); 

 write_data(0x30+shi); 

 write_data(0x30+ge); 

 write_data('m'); 

 write_data('m'); 

}  

void write_sfm1(uchar add,uint date) 

{  uint qian,bai,shi,ge; 

 ge=date%10;  

shi=date%100/10; 

bai=date%1000/100; 

 qian=date/1000; 

write_com(0x80+0x40+add);  

write_data(0x30+qian);  

write_com(0x80+0x40+0x08);  

write_data(0x2e);  

write_data(0x30+bai); 

 write_data(0x30+shi);  

write_data(0x30+ge); 

}

uint readad(uchar conword) 

{  

char i; 

 uint advalue=0; 

 uchar value=0;   

conword=conword<<4; // 控制字高四位与低四位互换  变成了高四位就是选择的通道口 

 clk=0; 

 cs=1; //cs为高,clk din 被禁止 dout成高阻态  

cs=0;  //cs为低   clk din使能 dout脱离高阻状态 

 B=conword; //控制字 

 for(i=8;i>0;i--)  

{  

cy=dout;  //dout 的高位传给cy

din=bit7;//控制字高位先送入   

clk=1; //控制字在时钟信号的上升沿送入 

B=B<<1; //控制字的次高位移入高位   

clk=0; 

value=value<<1;   

if(cy==1) value++;//value是dout的高八位 

advalue=value;  

advalue=advalue<<4; //高四位与低四位互换 得出输出值 

value=0x00; 

for(i=4;i>0;i--)   //dout 高四位的值赋给 value  

{   

cy=dout;   

value=value<<1;   

if(cy==1 )

  value++;   

}  

 clk=1;   

clk=0; 

}   

advalue=advalue+value;    

cs=1; 

return advalue; // TLC 转换出的advalue=U(显示的电压值)*4096/5  

}

附录D元器件清单

序号

名称

型号

数量

单价(元)

1

单片机

STC89C52

2个

5

2

LCD1602A

1个

14

3

3362电位器

10K

5个

0.5

4

红外对管

4

1

5

电机

1个

10

6

数模转换

TLC2543

2

8

7

LM324

2

0.5

8

变压器

220v转6v

1

16

9

单排插母

5个

0.5

10

双排插母

5个

0.5

11

电解电容

100uf

5个

0.5

12

DIP40底座

2个

0.5

13

排阻

10K9pin

3个

0.2.

14

单排插针

2个

0.5

15

三极管

10

0.2

16

4P8

5

1

17

NE555

2

2.5

18

电阻

10k5k2k

20

0.01

19

蜂鸣器

2个

0.5

20

晶振

4

0.4

21

二极管

1N4007

10

0.05

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1