OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7911|回复: 14

关于红外发射问题请教原子和各位高手

[复制链接]

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
发表于 2012-11-28 10:00:12 | 显示全部楼层 |阅读模式
我在论坛里查了下,看到之前原子关于这个问题的回答。对于红外发射这块,用一路PWM生成38Khz的红外载波,然后软件控制PWM实现调制,发射该已调信号到外接的红外发射管。
现在自己也在做红外发射编码的问题,于是对上述方式有些不明白的地方向你们请教。
一、关于脉冲调制的概念。我百度了一下,网上有两种解释:一种是用调制信号去控制脉冲的参数,即调制信号为连续波、载波为重复的脉冲序列;一种是用脉冲控制高频振荡的参数,即调制信号是脉冲序列,高频载波是连续波。那我很疑问,我们现在讨论及原子所说的上述方式又是哪种?? (我个人认为是第二种解释)
二、若PWM能产生红外载波,那跟我用哪种编码协议没关系吧。就是说,都可以用PWM来产生高频载波??
三、在调制过程中那个调制信号,应该是我按下键盘所发送的码字吧?我觉得是这样
四、原子所说的软件实现调制,我不明白是什么方式。难道是论坛里有些人说的与运算吗??请原子指教
五、如果上述方式正确,那么外电路就让某个IO口控制三极管通断来让红外管发光了??只需要一个IO口了??

希望得到解答,在此谢过!!
你不努力,谁都会看不起你!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-11-28 10:13:15 | 显示全部楼层
我感觉对于脉冲调制的概念我理解错了,应该是第一种解释。好像,但是第一种解释中调制信号为连续波,我就纳闷。不太理解了
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-28 10:40:01 | 显示全部楼层
你了解下红外接收头的接收,就知道怎么操作了。
实际搭个电路,然后一个红外发射管发射信号(38Khz),红外接收管(HS0038)接收信号,你看看是什么一个特性。
提醒你一下,如果发射管持续发射,接收管大概可以输出1秒(不太记得了)的低电平,然后又变高了,这时不论你的发射管是否还在发射,它都不会再输出低电平!
让他再次输出低电平的条件:发射管暂停发射一段时间,然后重新发射,此时接收管才可以输出第二个低电平。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-11-28 10:46:17 | 显示全部楼层
原子哥,我想问的是红外发射这块的问题。
现在手中有买咱们开发板带的遥控器和开发板。也进行试验了。
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-11-28 15:24:47 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
原子哥,就是我想问,红外发射这块。用SWM波产生红外载波可不可行?再就是怎样实现调制,是程序中的与运算嘛?请指点
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-28 23:08:52 | 显示全部楼层
产生一个38Khz的PWM方波,然后程序上控制PWM的输出与不输出,就实现调制了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-11-30 18:43:03 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原子哥,你所说的程序上控制PWM的输出与不输出,就是根据发送的码字信息0和1的不同去控制了?
还有个问题
不管哪种协议,载波的产生都是可以由PWM波产生,对吧?
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-30 20:39:34 | 显示全部楼层
回复【7楼】fengcq126:
---------------------------------
是的。
红外协议有很多种,我这里说的都是对NEC协议,其他协议你自己研究。
红外协议:
http://wenku.baidu.com/view/c3aac71ffc4ffe473368abc7.html
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-11-30 23:22:31 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
谢谢原子。
我研究下,因为我也在做其他编码,产生PWM波之后,就是不知道该怎么去进行调制
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-12-4 14:37:28 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
原子哥,还是红外发射的问题。我做的是RC5编码
我现在已经产生了PWM波,程序上根据按键码字进行调制,代码如下,不知道对不对?发送地址码字
for(i=3;i<8;i++)
{
    temp=address>>(7-i);
    temp&=0x01;
    if(temp)//发送信息位为1
   {
       pwm_stop();
       dalay_us(898);
       pwm_start();
       dalay_us(898);
      pwm_stop();
   }
   else)//发送信息位为0
   {
        pwm_start();
       dalay_us(898);
       pwm_stop();
       dalay_us(898);
        pwm_start();
    }
}

原子哥,我这种想法对不?
调用这个发送信息函数前后,引脚的波形都一样。感觉只有PWM载波
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-4 20:56:10 | 显示全部楼层
RC5没研究了,貌似和NEC协议差别比较大。
看看这个文档:http://wenku.baidu.com/view/8bfd6ea4b0717fd5360cdc0c.html
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2013-5-15
在线时间
8 小时
发表于 2015-2-2 09:42:34 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
 我用pwm产生38k波后,通过改变占空比实现载波可以吗?就是说占空比0的时候相当于不输出,占空比30的时候输出,但是我的实验没成功,这个在原理上有问题吗?回复【6楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-3 00:34:37 | 显示全部楼层
回复【12楼】dq1601:
---------------------------------
PWM你就50%输出即可。稳定为38Khz
然后控制PWM有或者没有,就是调制了。不是让你控制脉宽,而是控制有还是无。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2015-8-3 13:56:18 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
原子说的对
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

86

主题

983

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1848
金钱
1848
注册时间
2013-4-15
在线时间
163 小时
发表于 2015-8-13 11:08:34 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
原子说的对,遥控器产生占空比为50%的脉冲信号,频率固定为38KHz

HS0038收到脉冲的时候,输出低电平(0)
HS0038没有收到脉冲的时候,就输出高电平(1)

通过控制发脉冲的时间和不发脉冲的时间,就可以进行通信了
合肥-文盲
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 21:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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