jufr12315 发表于 2014-3-10 09:49:42

请教红外对管实现特定频率发送接收

本帖最后由 jufr12315 于 2014-3-10 11:01 编辑

1、用到的元器件主要有51单片机、红外发射管,红外接收管(光敏二极管,非红外一体接收头),其他电阻电容等元器件。

2、大概实现,单片机控制发射管发红外信号,接收管接收(放大部分先不考虑),先测试小距离。

3、详细控制,单片机产生特定频率信号送至发射管发送,接收管接收。

问题(1)、为何单片机要产生特定频率,就是为了防止其他红外线信号的干扰(稳定性)。
                接收管怎么判断接收到的红外信号是单片机发出的呢?
                  想判断接收到的信号频率与单片机发送红外信号的频率是否一致?

在论坛请问做过的电工支招,给点思路。

或者我用接收头呢?我主要不是要用红外通信。

bosia仔 发表于 2014-3-10 10:07:11

mark。。。

jufr12315 发表于 2014-3-10 10:23:30

bosia仔 发表于 2014-3-10 10:07
mark。。。

{:sweat:} 有建议没?

maimaige 发表于 2014-3-10 10:32:15

你是自己发射出去,然后接收反射回来的信号?

jufr12315 发表于 2014-3-10 10:41:48

maimaige 发表于 2014-3-10 10:32
你是自己发射出去,然后接收反射回来的信号?

是的,用一个特定频率发出去,接收判断是不是这个频率的,是就成功了

maimaige 发表于 2014-3-10 10:48:17

jufr12315 发表于 2014-3-10 10:41
是的,用一个特定频率发出去,接收判断是不是这个频率的,是就成功了

距离怎么计算,发送和接收的时间差乘以光速?这样近距离误差应该很大吧

2k_man 发表于 2014-3-10 10:51:17

一般都是三角激光测距的哦

bosia仔 发表于 2014-3-10 10:52:09

jufr12315 发表于 2014-3-10 10:23
有建议没?

没,学习ing

jufr12315 发表于 2014-3-10 11:00:40

maimaige 发表于 2014-3-10 10:48
距离怎么计算,发送和接收的时间差乘以光速?这样近距离误差应该很大吧 ...

现在不用实际计算距离。现在只要单片机以特定频率发送,接收管接收,判断是不是特定的频率就好。

jufr12315 发表于 2014-3-10 11:02:31

2k_man 发表于 2014-3-10 10:51
一般都是三角激光测距的哦

{:lol:} 误解大家了。现在我只要单片机特定频率发送,接收管接收,判断是不是特定的频率,就可以了

maimaige 发表于 2014-3-10 11:10:38

jufr12315 发表于 2014-3-10 11:00
现在不用实际计算距离。现在只要单片机以特定频率发送,接收管接收,判断是不是特定的频率就好。 ...

我印象中好像是有专门的接收管,只有接收到38khz的红外波形,才能够导通并且分离出有效的信号

jufr12315 发表于 2014-3-10 11:26:30

maimaige 发表于 2014-3-10 11:10
我印象中好像是有专门的接收管,只有接收到38khz的红外波形,才能够导通并且分离出有效的信号 ...

有,叫红外接收头。这个单片机要产生38k信号发送出去。接收头接收到38k信号就会输出低电平。
之前弄过,在38k的载波上加上其他信号发送出去,然后接收到得判断是不是单片机发出的信号。

你有什么建议没?或者想法,一起聊聊

2k_man 发表于 2014-3-10 11:30:58

maimaige 发表于 2014-3-10 11:10
我印象中好像是有专门的接收管,只有接收到38khz的红外波形,才能够导通并且分离出有效的信号 ...

这个只是测0 1的吧,还有一种就是判断信号强度吧,不过误差很大

LingYi 发表于 2014-3-10 11:53:22

就是把数据信号调制到高频信号上。数据信号可以参考单总线数据协议里面的0 1,用定时器产生高频信号(信号周期是数据信号周期1/10一下吧) 和 数据相与然后驱动发光二极管就对了。接收端数据模拟电路,相对复杂。先是放大,然后选频放大,检波,整形,再接单片机。

jufr12315 发表于 2014-3-10 12:53:17

2k_man 发表于 2014-3-10 11:30
这个只是测0 1的吧,还有一种就是判断信号强度吧,不过误差很大

那种是接收管,接收到红外信号会在引脚上体现出信号的强弱

jufr12315 发表于 2014-3-10 12:56:23

LingYi 发表于 2014-3-10 11:53
就是把数据信号调制到高频信号上。数据信号可以参考单总线数据协议里面的0 1,用定时器产生高频信号(信号 ...

我用定时器产生38k载波,再与我自己设定的信号相与再发送出去,接收部分是用红外接收头,只接收38k的红外信号,接收头会放大,滤除载波信号,最终输出0,1的。不过在接收端,单片机不知道怎么实现?

2k_man 发表于 2014-3-10 12:57:55

jufr12315 发表于 2014-3-10 12:53
那种是接收管,接收到红外信号会在引脚上体现出信号的强弱

{:sad:} 所以测距用这个方案还是不好的,测遮挡物还是可以的

LingYi 发表于 2014-3-10 13:07:43

jufr12315 发表于 2014-3-10 12:56
我用定时器产生38k载波,再与我自己设定的信号相与再发送出去,接收部分是用红外接收头,只接收38k的红外 ...

直接把串口的TX和38K与吧,接收端接串口的RX,注意波特率要很低才行。2400,是基本没有问题的,但是误码率很高的哦。

jufr12315 发表于 2014-3-10 13:27:53

2k_man 发表于 2014-3-10 12:57
所以测距用这个方案还是不好的,测遮挡物还是可以的

对啊,我现在就准备测遮挡物,但是保证没有其他干扰{:dizzy:}

reflecter 发表于 2014-3-10 13:35:19

A数据量多大?
大的话,可以考虑老的笔记本上有的IrDA
B距离要求多远?
若只是类似电视遥控器的简单控制码,加大发射管的功率,记得可以做到10多米
C要求传输速率?
若载波用38KHz,9600bps都有点够呛

Vishay的一体化接收头的链接,http://www.vishay.com/ir-receiver-modules/
希望对你理清思路有点帮助

jufr12315 发表于 2014-3-10 13:37:45

LingYi 发表于 2014-3-10 13:07
直接把串口的TX和38K与吧,接收端接串口的RX,注意波特率要很低才行。2400,是基本没有问题的,但是误码率 ...

{:dizzy:} 能否区分干扰信号呢?

jufr12315 发表于 2014-3-10 13:42:54

reflecter 发表于 2014-3-10 13:35
A数据量多大?
大的话,可以考虑老的笔记本上有的IrDA
B距离要求多远?


基本不用数据的,现在就是测遮挡物吧,但是要滤除干扰。
不要让太阳光,或者其他红外发射光源影响到。
谢谢你的链接

2k_man 发表于 2014-3-10 13:43:00

不同遮挡物距离会有少许偏差,黑色和白色就很明显,载波以后抗干扰已经不错了,一般的白炽灯,吹分机干扰都可以避免

jufr12315 发表于 2014-3-10 13:45:00

2k_man 发表于 2014-3-10 13:43
不同遮挡物距离会有少许偏差,黑色和白色就很明显,载波以后抗干扰已经不错了,一般的白炽灯,吹分机干扰都 ...

主要是接收部分还不清楚怎么弄?你有思路没?单片机发送,然后单片机接收。判断接收到的数据?

LingYi 发表于 2014-3-10 13:49:41

jufr12315 发表于 2014-3-10 13:37
能否区分干扰信号呢?

借鉴 单总线 或者 红外遥控器的 编码数据格式。

maimaige 发表于 2014-3-10 14:55:20

jufr12315 发表于 2014-3-10 13:45
主要是接收部分还不清楚怎么弄?你有思路没?单片机发送,然后单片机接收。判断接收到的数据? ...

发送固定字符就是,发送0x5A,接收到0x5A就表示接收到了

jufr12315 发表于 2014-3-10 15:02:49

maimaige 发表于 2014-3-10 14:55
发送固定字符就是,发送0x5A,接收到0x5A就表示接收到了

怎么发送?发送还好,接收就不知道怎么接收了。这边发送,那边得马上接收,得很快的

jufr12315 发表于 2014-3-10 15:10:59

LingYi 发表于 2014-3-10 13:49
借鉴 单总线 或者 红外遥控器的 编码数据格式。

之前这样试过,但不是用串口的。
定时38k载波信号,然后发280个38k周期的载波信号,再发送280个38k周期的低电平。
接收部分,是定时判断接收的引脚,判断电平是否变化,从而来计数判断是否已经达到发送时的时间要求(接近要求)。《接收部分说的好乱,不知道咋说》
我是用状态机来写的,就是接收部分不知道咋弄

jufr12315 发表于 2014-3-10 15:17:24

LingYi 发表于 2014-3-10 13:49
借鉴 单总线 或者 红外遥控器的 编码数据格式。

曾经弄过红外解码,就占用了定时器和中断了。

jufr12315 发表于 2014-3-11 10:46:35

LingYi 发表于 2014-3-10 13:07
直接把串口的TX和38K与吧,接收端接串口的RX,注意波特率要很低才行。2400,是基本没有问题的,但是误码率 ...

{:lol:} 我现在在网上查这个,谢谢你的建议
页: [1]
查看完整版本: 请教红外对管实现特定频率发送接收