caohaizhijia 发表于 2017-11-22 23:15:25

遥控ppm信号解码转pwm 用atmega328实现八通道输出

         福斯i6遥控升级10通道,只有六通道接收机支持ppm输出,想用其余通道怎么办? 简单快捷方法——买一个十通道接收啊!!{:1_12:}{:1_12:}
进入主题!来另一种方法DIY,(在此感谢arduino项目开发者,arduino给我此作品带来极大便利)重新对ppm信号解码!(别人忙着复习期中考试,我却忙着做ppm解码器,{:1_3:},花了两个下午,程序写好!!)
什么是ppm信号?
PPM信号是将多个控制通道(理论可10个控制通道)集中放在一起调制的信号。
也就是一个PPM脉冲序列里面包含了多个通道的信息。如下图所示(此图是借用的)更多资料请自行查阅。
http://www.moz8.com/forum.php?mod=image&aid=261887&size=300x300&key=a97dcd7f70039fc8&nocache=yes&type=fixnone
开始构思程序前,网上查阅了很久,就是测量出图中t1、t2、……的时长,但是我在程序设计时发现记录下时间了,怎样把时间对应产各通道并产生pwm信号遇到问题(八路pwm)!
于是又换了另一种思路,不测量t1、t2、……具体时间,只要捕捉到起点和终点即可。
例如;解码出第一通道信号
(1)定义一个输出pwm引脚;
(2)当检测到t1时段起点时刻,输出高电平。
(3)检测到t1时段终点时刻,输出低电平。
提到捕捉起点终点位置,怎么捕捉呢?

328芯片有两个外部中断,
attachInterrupt(0, RC_in, RISING); //上升沿触发中断
利用外部中断捕捉到时间变化始末位置。
接下来还有一个重要步骤,(ppm信号是连续不断的从接收机输出)我们怎么知道捕捉到的是第几通道的始末点呢?
借用一张图,先谢谢原创者
http://www.moz8.com/forum.php?mod=image&aid=261888&size=300x300&key=775d9e73919adb3b&nocache=yes&type=fixnone
绿色区域时间肯定大于3毫秒(八个通道ppm)
http://www.moz8.com/forum.php?mod=image&aid=261889&size=300x300&key=e6c7eb3e3632c8e7&nocache=yes&type=fixnone
pulseIn函数用于读取引脚脉冲的时间长度,脉冲可以是HIGH或LOW。如果是HIGH,函数将先等引脚变为高电平,然后开始计时,一直到变为低电平为止。返回脉冲持续的时间长短码字心累!!!到此结束!!大家有兴趣自己做了试试!转载请注明出处,谢谢!


http://www.moz8.com/forum.php?mod=image&aid=261890&size=300x300&key=e868e191e12dd7dd&nocache=yes&type=fixnone
http://www.moz8.com/forum.php?mod=image&aid=261891&size=300x300&key=5965d2d5cc355a53&nocache=yes&type=fixnone










›论坛›开源技术›开源技术›发表帖子


[*]发表帖子
[*]发起投票
http://www.moz8.com/static/image/common/info_small.gif 还可输入 19 个字符



UndoRedo
全屏常用纯文本

monospace3HrBIUColorBgColorUrlUnlink
TableRemoveformat
AutotypesetLeftCenterRightFloatLeftFloatRightOrderedlistUnorderedlist
表情!
图片附件音乐视频Flash@朋友词语商品商品
引用代码FreeHideWord 粘贴下载图片PageIndexhttp://www.moz8.com/static/image/magic/doodle.small.gifPassword








zhangli019 发表于 2021-7-17 10:05:30

楼主,有详细介绍PPM协议的资料吗?给个连接也行,想研究下啊

mcmoyou 发表于 2020-6-11 09:10:45

有用学习了,谢谢分享!

小奇 发表于 2019-10-15 09:27:38

都是高手顶贴

zhouyong2 发表于 2020-1-10 16:07:32

先顶一个,可惜无法下载,没有多余的牛币

紫琅大排档 发表于 2020-4-7 20:44:22

学习学习, 这是个好东西啊

18660151259 发表于 2020-1-12 13:14:20

萝莉大神不是有DIY的教程吗?

rhm 发表于 2019-10-20 07:58:41

期待福斯i6的14通道固件和中文固件放出来 谢谢谢谢谢谢

小奇 发表于 2019-10-15 12:55:31

顶帖。。。。。。。

bulidedian 发表于 2019-11-7 11:58:11

好贴,非常有帮助

caohaizhijia 发表于 2018-8-31 17:43:50

阿萨彩 发表于 2018-8-5 12:03 static/image/common/back.gif
楼主,这个文件直接炸了

啥文件http://www.moz8.com//mobcent//app/data/phiz/default/14.png

caohaizhijia 发表于 2017-11-22 23:29:37

手机看和电脑上编的掉了一段话

W5NhMe6zrr 发表于 2017-11-22 23:33:35

沙发,我要围观

caohaizhijia 发表于 2017-11-23 00:03:44

W5NhMe6zrr 发表于 2017-11-22 23:33 static/image/common/back.gif
沙发,我要围观

睡觉吧

Guc 发表于 2017-11-23 05:41:40

顶一个

caohaizhijia 发表于 2017-11-23 08:13:22

本帖最后由 caohaizhijia 于 2017-11-23 08:43 编辑

福斯i6遥控升级10通道,只有六通道接收机支持ppm输出,想用其余通道怎么办? 简单快捷方法——买一个十通道接收啊!!http://www.moz8.com//mobcent//app/data/phiz/default/03.pnghttp://www.moz8.com//mobcent//app/data/phiz/default/03.png
进入主题!来另一种方法DIY,(在此感谢arduino项目开发者,arduino给我此作品带来极大便利)重新对ppm信号解码!(别人忙着复习期中考试,我却忙着做ppm解码器,,花了两个下午,程序写好!!)
http://www.moz8.com//mobcent//app/data/phiz/default/09.png
什么是ppm信号?
PPM信号是将多个控制通道(理论可10个控制通道)集中放在一起调制的信号。
也就是一个PPM脉冲序列里面包含了多个通道的信息。如下图所示(此图是借用的)更多资料请自行查阅。

开始构思程序前,网上查阅了很久,就是测量出图中t1、t2、……的时长,但是我在程序设计时发现记录下时间了,怎样把时间对应产各通道并产生pwm信号遇到问题(八路pwm)!
于是又换了另一种思路,不测量t1、t2、……具体时间,只要捕捉到起点和终点即可。
例如;解码出第一通道信号
(1)定义一个输出pwm引脚;
(2)当检测到t1时段起点时刻,输出高电平。
(3)检测到t1时段终点时刻,输出低电平。
提到捕捉起点终点位置,怎么捕捉呢?

328芯片有两个外部中断,
attachInterrupt(0, RC_in, RISING); //上升沿触发中断
利用外部中断捕捉到时间变化始末位置。
接下来还有一个重要步骤,(ppm信号是连续不断的从接收机输出)我们怎么知道捕捉到的是第几通道的始末点呢?
借用一张图,先谢谢原创者

绿色区域时间肯定大于3毫秒(八个通道ppm)
pulseIn函数用于读取引脚脉冲的时间长度,脉冲可以是HIGH或LOW。如果是HIGH,函数将先等引脚变为高电平,然后开始计时,一直到变为低电平为止。返回脉冲持续的时间长短!一帧数据中,绿色段时间肯肯定是最长的,于是检测出这这段时间,那么下一次上升沿就是第一通道起点,这样就解决同步问题!!到此结束!!大家有兴趣自己做了试试!转载请注明出处,谢谢!
代码在原贴下面自行下载!


caohaizhijia 发表于 2017-11-23 08:30:53

接线图


一耳屎 发表于 2017-11-23 11:20:58

顶一个。。。

youngchun 发表于 2017-11-23 13:59:44

顶一个。。。多谢分享


caohaizhijia 发表于 2017-11-23 14:59:35

caohaizhijia 发表于 2017-11-23 08:30 static/image/common/back.gif
接线图



小猪 发表于 2017-11-23 20:01:54

不错不错,顶一个

∮连∮ 发表于 2017-11-24 21:58:18

富斯控,期待做得更好!

caohaizhijia 发表于 2017-11-25 17:59:40

∮连∮ 发表于 2017-11-24 21:58 static/image/common/back.gif
富斯控,期待做得更好!

http://www.moz8.com//mobcent//app/data/phiz/default/14.png我发现富斯十通道ppm信号输出只有八个通道的信号http://www.moz8.com//mobcent//app/data/phiz/default/14.png不知道咋回事

caohaizhijia 发表于 2017-11-30 07:55:43

∮连∮ 发表于 2017-11-24 21:58 static/image/common/back.gif
富斯控,期待做得更好!

ppm只能输出八个通道

aamingmingco 发表于 2018-2-17 22:27:39

thx.........................................

lxjsina 发表于 2018-4-30 22:07:26

收藏备用                           

阿萨彩 发表于 2018-5-23 16:10:32

好东西,支持一下

qianchungui1 发表于 2018-5-27 11:00:48

楼主好 有没有SBUS的相关资料 谢谢

ftb 发表于 2018-6-17 23:20:49

还没到那个境界,只能帮顶

阿萨彩 发表于 2018-8-5 11:52:07

这是个好东西啊
页: [1] 2
查看完整版本: 遥控ppm信号解码转pwm 用atmega328实现八通道输出