请教红外对管实现特定频率发送接收
本帖最后由 jufr12315 于 2014-3-10 11:01 编辑1、用到的元器件主要有51单片机、红外发射管,红外接收管(光敏二极管,非红外一体接收头),其他电阻电容等元器件。
2、大概实现,单片机控制发射管发红外信号,接收管接收(放大部分先不考虑),先测试小距离。
3、详细控制,单片机产生特定频率信号送至发射管发送,接收管接收。
问题(1)、为何单片机要产生特定频率,就是为了防止其他红外线信号的干扰(稳定性)。
接收管怎么判断接收到的红外信号是单片机发出的呢?
想判断接收到的信号频率与单片机发送红外信号的频率是否一致?
在论坛请问做过的电工支招,给点思路。
或者我用接收头呢?我主要不是要用红外通信。
mark。。。 bosia仔 发表于 2014-3-10 10:07
mark。。。
{:sweat:} 有建议没? 你是自己发射出去,然后接收反射回来的信号? maimaige 发表于 2014-3-10 10:32
你是自己发射出去,然后接收反射回来的信号?
是的,用一个特定频率发出去,接收判断是不是这个频率的,是就成功了 jufr12315 发表于 2014-3-10 10:41
是的,用一个特定频率发出去,接收判断是不是这个频率的,是就成功了
距离怎么计算,发送和接收的时间差乘以光速?这样近距离误差应该很大吧 一般都是三角激光测距的哦 jufr12315 发表于 2014-3-10 10:23
有建议没?
没,学习ing maimaige 发表于 2014-3-10 10:48
距离怎么计算,发送和接收的时间差乘以光速?这样近距离误差应该很大吧 ...
现在不用实际计算距离。现在只要单片机以特定频率发送,接收管接收,判断是不是特定的频率就好。 2k_man 发表于 2014-3-10 10:51
一般都是三角激光测距的哦
{:lol:} 误解大家了。现在我只要单片机特定频率发送,接收管接收,判断是不是特定的频率,就可以了 jufr12315 发表于 2014-3-10 11:00
现在不用实际计算距离。现在只要单片机以特定频率发送,接收管接收,判断是不是特定的频率就好。 ...
我印象中好像是有专门的接收管,只有接收到38khz的红外波形,才能够导通并且分离出有效的信号 maimaige 发表于 2014-3-10 11:10
我印象中好像是有专门的接收管,只有接收到38khz的红外波形,才能够导通并且分离出有效的信号 ...
有,叫红外接收头。这个单片机要产生38k信号发送出去。接收头接收到38k信号就会输出低电平。
之前弄过,在38k的载波上加上其他信号发送出去,然后接收到得判断是不是单片机发出的信号。
你有什么建议没?或者想法,一起聊聊 maimaige 发表于 2014-3-10 11:10
我印象中好像是有专门的接收管,只有接收到38khz的红外波形,才能够导通并且分离出有效的信号 ...
这个只是测0 1的吧,还有一种就是判断信号强度吧,不过误差很大 就是把数据信号调制到高频信号上。数据信号可以参考单总线数据协议里面的0 1,用定时器产生高频信号(信号周期是数据信号周期1/10一下吧) 和 数据相与然后驱动发光二极管就对了。接收端数据模拟电路,相对复杂。先是放大,然后选频放大,检波,整形,再接单片机。 2k_man 发表于 2014-3-10 11:30
这个只是测0 1的吧,还有一种就是判断信号强度吧,不过误差很大
那种是接收管,接收到红外信号会在引脚上体现出信号的强弱 LingYi 发表于 2014-3-10 11:53
就是把数据信号调制到高频信号上。数据信号可以参考单总线数据协议里面的0 1,用定时器产生高频信号(信号 ...
我用定时器产生38k载波,再与我自己设定的信号相与再发送出去,接收部分是用红外接收头,只接收38k的红外信号,接收头会放大,滤除载波信号,最终输出0,1的。不过在接收端,单片机不知道怎么实现? jufr12315 发表于 2014-3-10 12:53
那种是接收管,接收到红外信号会在引脚上体现出信号的强弱
{:sad:} 所以测距用这个方案还是不好的,测遮挡物还是可以的 jufr12315 发表于 2014-3-10 12:56
我用定时器产生38k载波,再与我自己设定的信号相与再发送出去,接收部分是用红外接收头,只接收38k的红外 ...
直接把串口的TX和38K与吧,接收端接串口的RX,注意波特率要很低才行。2400,是基本没有问题的,但是误码率很高的哦。 2k_man 发表于 2014-3-10 12:57
所以测距用这个方案还是不好的,测遮挡物还是可以的
对啊,我现在就准备测遮挡物,但是保证没有其他干扰{:dizzy:} A数据量多大?
大的话,可以考虑老的笔记本上有的IrDA
B距离要求多远?
若只是类似电视遥控器的简单控制码,加大发射管的功率,记得可以做到10多米
C要求传输速率?
若载波用38KHz,9600bps都有点够呛
Vishay的一体化接收头的链接,http://www.vishay.com/ir-receiver-modules/
希望对你理清思路有点帮助
LingYi 发表于 2014-3-10 13:07
直接把串口的TX和38K与吧,接收端接串口的RX,注意波特率要很低才行。2400,是基本没有问题的,但是误码率 ...
{:dizzy:} 能否区分干扰信号呢? reflecter 发表于 2014-3-10 13:35
A数据量多大?
大的话,可以考虑老的笔记本上有的IrDA
B距离要求多远?
基本不用数据的,现在就是测遮挡物吧,但是要滤除干扰。
不要让太阳光,或者其他红外发射光源影响到。
谢谢你的链接 不同遮挡物距离会有少许偏差,黑色和白色就很明显,载波以后抗干扰已经不错了,一般的白炽灯,吹分机干扰都可以避免 2k_man 发表于 2014-3-10 13:43
不同遮挡物距离会有少许偏差,黑色和白色就很明显,载波以后抗干扰已经不错了,一般的白炽灯,吹分机干扰都 ...
主要是接收部分还不清楚怎么弄?你有思路没?单片机发送,然后单片机接收。判断接收到的数据? jufr12315 发表于 2014-3-10 13:37
能否区分干扰信号呢?
借鉴 单总线 或者 红外遥控器的 编码数据格式。 jufr12315 发表于 2014-3-10 13:45
主要是接收部分还不清楚怎么弄?你有思路没?单片机发送,然后单片机接收。判断接收到的数据? ...
发送固定字符就是,发送0x5A,接收到0x5A就表示接收到了 maimaige 发表于 2014-3-10 14:55
发送固定字符就是,发送0x5A,接收到0x5A就表示接收到了
怎么发送?发送还好,接收就不知道怎么接收了。这边发送,那边得马上接收,得很快的 LingYi 发表于 2014-3-10 13:49
借鉴 单总线 或者 红外遥控器的 编码数据格式。
之前这样试过,但不是用串口的。
定时38k载波信号,然后发280个38k周期的载波信号,再发送280个38k周期的低电平。
接收部分,是定时判断接收的引脚,判断电平是否变化,从而来计数判断是否已经达到发送时的时间要求(接近要求)。《接收部分说的好乱,不知道咋说》
我是用状态机来写的,就是接收部分不知道咋弄 LingYi 发表于 2014-3-10 13:49
借鉴 单总线 或者 红外遥控器的 编码数据格式。
曾经弄过红外解码,就占用了定时器和中断了。
LingYi 发表于 2014-3-10 13:07
直接把串口的TX和38K与吧,接收端接串口的RX,注意波特率要很低才行。2400,是基本没有问题的,但是误码率 ...
{:lol:} 我现在在网上查这个,谢谢你的建议
页:
[1]