一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 1808|回复: 17

多光束红外对射警报电路

  [复制链接]
发表于 2013-1-26 19:05 | 显示全部楼层 |阅读模式
本帖最后由 LBQ691477940 于 2013-1-27 11:58 编辑

谁做过多光束红外对射警报电路,要求4-5光束(或以上)红外对射检测距离1~100cm即可,每路光束间距在 2~3cm左右。
自已用单片做了一个但不太理想,问题出在检测距离不够只有20cm左右且很稳定,如将距离拉长会出现相邻的两光束干扰因为光束距离只离2.5cm左右很难将其分隔开,如果改用激光束则应该没问题,因为不会存有这么大的散射。
      我这次的设计思路为:单片机以5ms扫描速度在P1.0~P1.4口分别输出高低电平来驱动红外发射管,发射5路红外光束,接收端用红外接收管经CD40106反相后输入到单片机的P3.0~P3.4口,每当P1口扫描输出一次,就读回P3口的值并判断是否与P1口送出的值相同,如果有故障物阻挡任一路则读回的值则一定会不同马上输出警报,没有故障物阻挡则相同继续下一轮扫描再判断。/*****************************************************************************函数名:1ms延时函数
全局变量:无
参数说明:无
返回说明:无
说明:a参数为1ms的倍数
/*****************************************************************************/
void delay (unsigned int a)
  // 1ms延时程序
{

unsigned int i;

while( --a != 0)

{

for(i = 0; i < 300; i++);//STC单片机在外部晶振为12MHz时i值上限为600

//for(i = 0; i < 125; i++);//AT89C51单片机在外部晶振为12MHz时i值上限为125

}   
   

}
/*****************************************************************************
函数名:main函数
全局变量:无
参数说明:无
返回说明:无
/*****************************************************************************/
void main(void)
{

uchar data outtemp = 0x01;   
//定义输出临时变量data

P1M0 = 0x00;
//设置P1口全部都为推挽输出

P1M1 = 0xff;
//设置P1口全部都为推挽输出

P1 = 255;

out = 1;
//取消报警输出

while(1)

{

//0000 0001 //0000 0010 //0000 0100 //0000 1000 //0001 0000 //0010 0000


P1 = outtemp | 0xe0;
//高3位让其一直输出高电平

//outtemp <<= 1;
//左移一位

outtemp = _crol_(outtemp,1);
//左移一位

if(outtemp == 0x20)
//0010 0000

outtemp = 0x01;

//复位

delay(5);
//延时

if((P3 & 0x1f) != (P1 & 0x1f))
//屏蔽高3位不计

{

delay(5);
//延时后再作一次判断

if((P3 & 0x1f) != (P1 & 0x1f))
//屏蔽高3位不计

{

out = 0;
//报警输出

delay(500);
//延时

}

}

if((P3 & 0x1f) == (P1 & 0x1f))
//屏蔽高3位不计

{

P3 = 0xff;
//取消报警输出

}

}  
}
/*****************************************************************************/
      求助有好方案的友友请赐教,谢谢!
发表于 2013-1-26 19:26 | 显示全部楼层
买成品省心多了,几百米都没问题!
回复

使用道具 举报

发表于 2013-1-26 19:41 | 显示全部楼层
1楼对,但是成品的价格的确很贵。
但我看过成品是使用透镜的。
但是没有像你说的那样用线束,都是对射,发光一个收光一个。
不知道为什么您一定要用线束,而且还要2-3厘米这么密集
回复

使用道具 举报

发表于 2013-1-26 20:17 | 显示全部楼层
发射用38K调制,接受可以用红外接收头。实际用的基本上都需要加透镜和滤光片。多束的光栅栏有的还需要加联络线。
回复

使用道具 举报

发表于 2013-1-26 20:58 | 显示全部楼层
红外光束烟雾报警工作原理不同,安防的多束光栅栏可以调研一下。
回复

使用道具 举报

发表于 2013-1-26 21:03 | 显示全部楼层
相邻的两光束干扰最好是从物理上去解决,加透镜或换激光光源什么的,比较简单;
当然也可以从软件方面去解决,从时序或频率方面去考虑也许可以,就是不知道单片机能不能处理过来
回复

使用道具 举报

发表于 2013-1-26 21:14 | 显示全部楼层
买一对对射式红外安防探头来用不就可以了吗?
回复

使用道具 举报

发表于 2013-1-26 21:43 | 显示全部楼层
这么高的密度,是不是可以参考一下红外触摸屏的思路
回复

使用道具 举报

发表于 2013-1-26 22:14 | 显示全部楼层
本帖最后由 星晴如风 于 2013-1-26 22:36 编辑

安防的光栅栏我这有 4光束的  100米和50米的 有空时拆一对看看 是用透镜的
回复

使用道具 举报

 楼主| 发表于 2013-1-26 23:09 | 显示全部楼层
回复 3# chjj0


   主要想应用在机械上防止人申手下去,所以要的比较密。
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-19 08:50 , Processed in 0.057291 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表