浅谈38K红外发射接收编码

https://blog.csdn.net/gmdjmawy/article/details/47129989

http://blog.sina.com.cn/s/blog_4ca9659e0101i9nn.html

转自Doctor_A 坛友的笔记!
之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出:

1:红外的概念

不聊,那是一种物理存在。以下聊38K红外发射接收,主要讲可编程的红外编码。

2:红外遥控

红外遥控首先需要用来发“光”的红外发光管,还有一个接收光线的“接收管”(不是那种触发的红外对管),还有一个产生38K的信号源(可以是MCU中断实现还有就是市场上大把的红外编码IC),只需要简单的外围电路即可。

就单片机而言,为了增大红外发光管电流,需要用一个三极管驱动。红外编码IC也只需要几个外围电路,规格书上都有提供,这里不提。

3:红外接收头

(有不理解的地方可以在后面找到你想要的答案或者继续“百度”“谷歌")
有必要可以看一下红外接收头内部组成的详细介绍。接收收头分为电平头还有脉冲头。

  • 电平型的:接收连续的38K信号,可以输出连续的低电平,时间可以无限长。其内部放大及脉冲整形是直接耦合的,所以能够接收及输出连续的信号。
  • 脉冲型的:只能接收间歇的38K信号,如果接收连续的38K信号,则几百ms后会一直保持高电平,除非距离非常近(二三十厘米以内)。其内部放大及脉冲整形是电容耦合的,所以不能能够接收及输出连续的信号。

一般遥控用脉冲型的,只有特殊场合,比如串口调制输出,由于串口可能连续输出数据0,所以要用电平型的。

4:红外遥控中的载波到底是什么?

(不要影响到你对其它载波的理解)
第一次接触红外我看到’载波‘这个词就觉得生涩。网上很多资料五花八门都描绘得很厉害、
我们就从一下几点开始描述,相信的等会就懂:

38K怎么来的?

这里只谈单片机给出,38K脉冲信号,占空比(脉冲的高电平比周期的值就是占空比)自己决定,既然是38K,那么脉冲的周期就是1/38000 S,记住这个不是高电平的时间长度,这个是一个脉冲的时间长度也就是一个周期,例如我们利用一个中断产生38K脉冲,占空比是1/2,我们的中断时间就要设置为 1/38000/2 S中断一次,然后通过相隔一次中断电平翻转一次就形成了一个频率为38K占空比1/2的脉冲。
另外i!在这里想说一下我在学习红外的时候遇到的两个错误:

  • 一、当第一次接触红外遥控的时候,在网上下载了很多资料中断时间居然是1/38000S,产生的是19K的脉冲信号,红外肯定接收不了,更不要谈编码了。而且还是大部分被人的程序都是19K.对于刚接触的人可能就晕乎乎地忽悠过去了。
  • 二、就是我们用单片机的时候是用了单片机的查询模式还是中断模式的问题。
    我们利用中断时候,在时钟比较快的条件下可以产生比较准确的时间基准,来产生相对正确的脉冲。而利用查询方式,如果用51单片机,12M的晶振,利用查询溢位来产生的38K脉冲,那就犯了一个大错,因为利用查询的方式查询这个动作浪费的时间可不是一个或两个的机器周期,它浪费了大把的单片机时间,误差大得离谱。如果你用中断试过成功过,不妨试一下查询方式失败的感觉。
    虽然利用查询方式编程是简单了很多,可是误差大得更多了多。我就是偷懒犯过了错误。

5:什么是红外38K的载波信号

(其实我更想说成什么是38K编码信号(一下详解))

  • (1)记住38K的红外不单单只接受38K信号,它有个频偏(频率偏差左右波动)的范围,但记住范围不大。
  • (2)说是三极管驱动,其实三极管是作为一个开关,共射的方式。于是有两种通断方式,三极管用的是PNP呢还是NPN。
    一般我们采用PNP作为开关管,NPN是利用高电平时候导通,但单片机开机时候,所有IO口的状态为高电平,这个时候就触发了开关管,虽然我们在初始化的时候可以把它关断,但即使此处实际上可以的问题为了以后设计其它东西可能因此犯了不该犯的错误还是选用PNP管好了。
  • (3)那么我们就用"0"表示红外管导通。。。。"1"表示红外管截至
    驱动红外发光的"IO"口的状态便是38K脉冲信号从IO口发出来的触发信号,脉冲中的低电平就是导通,高电平就是截至。我们会看到,如果单单用38K,那么如前面摘录部分讲到的,我们会在接收端会接受到一个低电平的信号。
    或者我们可以再这么理解吧:红外接收头只接受38K信号(误差范围内),我们把接收头看出一个转换器。遇到38K就输出低电平,没有遇到38K就被上拉成高电平。

于是所谓的“编码”的概念就这样产生了,我们利用有38K信号 跟 没有38K信号 这两种状态,利用红外接收头就翻译成低电平、高电平的信号。。。。这就是最主要的东西。

什么时候有38K。。什么时候没有38K,一切都由我们编程来实现。我们可以灵活地操控有跟没有,有的时间长度就是"接收方"低电平的时间长度。没有的脉冲的时间长度就是接收方高电平的时间长度。我们只需要在接收方读取高低电平的时间长度与高低电平的各种组合来读取发射方所提供的信息。这种就是所谓的“协议”,协议就是我们说好了,你照办的意思。协议内容明确我发什么的时候代表什么意思,接收方你懂的。

于是就有各种红外编码,NEC/飞利浦等红外编码是比较常见的,而我们根据需要我们可以自己设置自己的编码。如果想做遥控玩一玩的就没必要研究人家的红外编码协议,自己编几个容易编程的就可以了。像想NEC红外协议里面谈到的接受头输出的 高电平几毫秒低电平几毫秒就是代表“1”,高电平几毫秒低电平几毫秒就是代表“0”,高电平几毫秒低电平几毫秒就是代表“引导码或者用户识别码”,这些都是人家NEC里面的标准,我们可以自己定我们自己的标准。我可以说 10ms低电平后10ms高电平就代表允许接受,然后5ms低后5ms高就代表“1”,15ms低后15ms高就代表“2”,25ms低25毫秒高就代表“0”,当然这里只打个比方,因为编码长度要是太大的话对其它程序处理不是很灵活。因为我们解码的时候最好不要被中断。像空调那种一百多位编码的一般很少。少。至于多少合适,自己酌情考虑。编码的形式也自己决定。

于是乎,上面的东西并没有说到“载波”两个字,好了下面就说说载波吧。我们把“有38K信号”这种状态(“信息”)当做“1”,把“没有38K的信号”这种状态(“信息”)当作“0”,我们可以看成其实我们要发出去的就是 1 跟 0 两种状态的组合。而 1 跟 0两种状态的另外一种意思就是 38K 的“有”跟“没有”于是 38K 就带上了 1 跟 0 的这两种信号的信息。我们就把38K理解成载波信号,载放这信息的信号,其实就是断断续续的38K信号而已,如果我们说成载波那么就是载波。不过我更喜欢把这种信号看成一种编码信号。

好了,总结一下。红外遥控就是这么简单, MCU控制有没有38K信号 红外管就是把利用通断来把单片机的信号发出去 接收头就是把38K翻译成有跟没有 接收头那边的MCU就是把有跟没有的时间长度与组合计算出来(解码)。然后按照事先我们约定的编码执行相对应的动作。

还有一点需要补充一下。
那就是接收头的供电
这个很主要,接收头的供电就好根据解码的MCU的供电保持一致,这样接收头的输出的高低电平就可以被单片机IO识别兼容。同时接收头有很多种,有一些只能3V供电接受管就不要跟5V的MCU一起用,免得浪费电路资源。另外接收头的有些是中间是电源脚有些中间的地脚,如果来玩玩的最好看清楚顺便买的时候预留多一个免得烧了之后又得跑一趟。

至于学习型的红外遥控,有的只需要学习编码,有个则需要学习载波频率。后者比较不好弄。欢迎接贴…

下面是红外发射、接收头(红外基础知识)

目前市售红外一体化接收头有两种:电平型和脉冲型,绝大部分的都是脉冲型的,电平型的很少。
电平型的,接收连续的38K信号,可以输出连续的低电平,时间可以无限长。其内部放大及脉冲整形是直接耦合的,所以能够接收及输出连续的信号。

脉冲型的,只能接收间歇的38K信号,如果接收连续的38K信号,则几百ms后会一直保持高电平,除非距离非常近(二三十厘米以内)。其内部放大及脉冲整形是电容耦合的,所以不能能够接收及输出连续的信号。一般遥控用脉冲型的,只有特殊场合,比如串口调制输出,由于串口可能连续输出数据0,所以要用电平型的。一般遥控器用455K经12分频后输出37917HZ,简称38K,10米接收带宽为38±2K,3米为35~42K。在没有环境反射的空旷空间,距离10米以上方向性会比较强。在室内,如果墙是白色的,则在15米的空间基本没有方向性。

接收头要有滤光片,将白光滤除。在以下环境条件下会影响接收,甚至很严重:

  • 1、强光直射接收头,导致光敏管饱和。白光中红外成分也很强。
  • 2、有强的红外热源。
  • 3、有频闪的光源,比如日光灯。
  • 4、强的电磁干扰,比如日光灯启动、马达启动等。

38K信号最好用1/3占空比,这个是最常用的,据测试1/10占空比灵敏度更好。实际调制时间要少于50%。最好有间歇。

电平型的接收头只要接收到38K红外线就输出持续低电平,用起来非常爽,以前的老式接收头多半是这种类型,但其有个致命弱点:抗干扰性太差,传输距离短(小于1m)。

而脉冲型一体化红外线接收头必须接受一定频率38K的载波的基带信号才有正常输出,如发送500HZ的38K载波,脉冲型一体化红外线接收头输出500HZ方波,而如果发送连续的38K载波就会出项有瞬间低电平其后为高电平的现象。这种脉冲型一体化红外线接收头克服了传统电平型接收头的不足:传输距离相对更远,稳定性大大增加,抗干扰性更强。因此已经完全取代了老式的电平型接受头,在电子市场如不说明店主给你的绝对是脉冲性的。

手机拍照时可以查看红外发射管是否处于发射状态
红暴问题
  有些厂家把能不能制造出无红暴红外灯当做一个技术问题来宣传,好像有红暴就是低技术,无红暴就是高技术。其实,有无红暴只是一个选择问题,并不是技术问题,波长超过700nm的光线叫做红外线,900nm以上的红外线基本无红暴,波长越短,红暴越强,红外线感应度也越高。现在市场上有两种主流红外灯,一种是有轻微红暴的,波长在850nm左右,一种是无红暴的,波长在940nm左右。同一款摄像机,在850nm波长的感应度,比在940nm波长的感应度好到10倍。所以850nm这种有轻微红暴的红外灯拥有更高的效率,应当做为红外夜视监控的首选项。
这说的有道理吗?

红暴是对红外灯工作状态的一个描述。工作灯在工作时,如果有红暴就会在管芯出现红色小点。如果没有红暴的话,工作和不工作人眼看不出来。没有红点

850nm和940nm都有红爆,只不过940要比较弱一点

常见的红外发射管有940nm波长和850nm波长两种,940nm波长的红外发射管主要使用于调制编码及信号传输,而850nm波长的主要用于安防等红外光源上,接收管则有850nm~950nm通用的型号。850的管和940的管区别在于他们的功率大小。850是属于大功率的,它的特点是:发射距离短,灵敏度高,适合用于摄象监控那块。940是属于小功率的,它的特点是:发射距离远,灵敏度低,主要用摇控器上

850发射管的选择

一般的一体机设计距离较近,一般适用较大角度的IR发射管,市场上最通用45、60度角,可选择一般晶片,最好还是选择日本和台湾的,市场上用12Pcs、14Pcs、18Pcs、24Pcs发射管的一体机,常用此类产品一般开发距离在5-20米,若开发20米以上的一体机,必需建议使用日本和台湾晶片,如28Pcs、36Pcs、48Pcs、64Pcs等产品,同时需选用较小角度的效果会更好。

如果你的调制波形是高电平有效,38KHz接收头输出的肯定是低电平;几乎所有的红外线接收头的输出信号都是反相的。
接收头一般都有好多种,时间一久就分不清三脚是怎么排列的?
方法是分别用机械表测其中两个脚的电阻,找到其中两脚阻值最小的一个,这时表棒不要动,答案出来了:红表棒接的是Vcc,黒表棒接的是地 呵呵 不用说另一个脚就是信号脚(IR)了。

浅谈38K红外发射接收编码相关推荐

  1. 浅谈38K红外发射接受编码(非常好)

    若不允许转载,请联系我删除. 之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出: 1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编程的红 ...

  2. 【扫盲贴】浅谈38K红外发射接受编码(非常好)

    呃,最初的原文好像已经消失了,,,我担心以后会看不到,转载一下,如不允许转载请站内短信通知我,,谢谢! 之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出: 1:红 ...

  3. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  4. 红外对管应用电路_红外发射接收对管基本应用电路示意图

    红外发射管.接接收管基本应用电路示意图如下:一般是选用一个适当的发射管的顺向电流来调整发射管的发射功率,也可采用脉冲方式较大电流驱动发射管以获得瞬间大功率:电阻加在集电极取得的高低电位,低电位输出:而 ...

  5. 红外对管应用电路_红外发射接收对管电路

    红外对管是红外线发射管与光敏接收管,或者红外线接收管,或者红外线接收头配合在一起使用时候的总称.在光谱中波长大于0.76微米的一段称为红外线. 红外发射管是由红外发光二极管矩组成发光体,用红外辐射效率 ...

  6. 辛星浅谈PHP的混乱的编码风格

    我们都知道.各种编程语言都有自己的风格,即使是像C和C++那样一脉相承的语言(C++本意全然兼容C的语法).编程风格上还是有些区别.比方非常典型的就是C++风格的单行凝视和C风格的多行凝视. 而尽管J ...

  7. 浅谈java使用指定字符集编码,以及常见的字符集

    问题的引入:在InputStreamReader(OutputStreamWriter)的构造方法中,有指定字符集编码,那么什么是字符集?有哪些常用的字符集?怎么用字符集进行编码? 一   什么是字符 ...

  8. 凌科芯安浅谈数字电视系统条件接收技术

    数字电视系统条件接收,英文名Conditional access,简称CA.通俗点讲,就是付费电视.只有付费后才可以收看高清频道和一些卫星频道.其标准起源于欧洲,是DVB标准中的一部分.在我国也有着广 ...

  9. 浅谈利用红外传感和数字图像处理完善电子围栏系统

    根据现代社会中,随着人们对生活工作质量的提高,人们对建筑物及环境安保问题的需求也不断增长.本文主要针对建筑物外固定围栏的进一步完善,提出具有个人观点的改善建议.现代围栏主要由工业用围栏(如厂区围栏.商 ...

最新文章

  1. JUC——线程同步锁(ReentrantLock)
  2. MATLAB找不到遗传算法工具箱,用不了gatool命令的解决方案
  3. 去伪存真:因果约束下的图神经网络泛化
  4. HDU 3123 GCC(同余模定理)
  5. 约瑟夫环问题---循环单链表
  6. 小甲鱼 OllyDbg 教程系列 (十三) : 把代码和变量注入程序 以及 硬件断点
  7. SpringMVC之@RequestMapping注解及其衍生注解详解
  8. RabbitMQ入门(2)--工作队列
  9. 为什么要使用mongodb
  10. java邮箱发送验证码_java 邮箱发送验证码
  11. SEO巧妙运用方法分享
  12. 2021年度隐私计算十大人物评选出炉
  13. java用友eai_用友EAI接口开发的问题
  14. 提升eBay店铺流量的方式有哪些?
  15. postgreSQL 致命错误: 对不起, 已经有太多的客户
  16. 海康设备对接sdk错误码汇总 v6.0
  17. 华为mate30Epro5G升级鸿蒙,华为Mate30E Pro 5G值得买吗?带你简单分析一下
  18. aspx 中轻松实现文件上传
  19. ​怎么用手机在PDF上绘图?这个方法分享给你
  20. 【Python】母牛问题

热门文章

  1. 让seaborn和matplotlib中所有的字都是粗体
  2. js获取元素高度比较
  3. 9个技巧使你的Python代码更Pythonic
  4. 世界上最经典的十九篇爱情短文
  5. 苹果电脑可以运行windows软件吗 苹果电脑怎么运行windows软件
  6. C++性能测试工具gprof安装和应用
  7. [论文阅读] FITing-Tree: A Data-aware Index Structure
  8. 3D VRay灯光应用步骤
  9. ETL流程、数据流图及ETL过程解决方案
  10. android 浏览器打开本地html文件,Android浏览器如何打开本地html文件