搜索
bottom↓
回复: 17

请教关于多路pwm输出与捕获的问题。

[复制链接]

出0入0汤圆

发表于 2012-11-13 01:47:53 | 显示全部楼层 |阅读模式
请问遥控接收器的六通道pwm输出是同时输出还是轮流输出的?

如果使用STM32芯片作为飞控控制芯片。接收来自遥控的pwm控制信号。可以设定上升沿中断和下降沿中断,通过定时器得到pwm脉冲的宽度。

问题来了,如果遥控器的几个通道的pwm是同时输出的,那么stm32不可能同时相应六个中断。轮流响应必然造成脉冲宽度上的误差。

stm32输出pwm控制电调的信号,应该是可以同时输出的。

本人初学者,希望高手能详细指教。谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-11-13 08:06:19 | 显示全部楼层
响应其中一个中断时关闭其他中断,这样轮流响应中断,速度很快的不就和同时响应一样了么?

出0入0汤圆

发表于 2012-11-13 22:41:32 | 显示全部楼层
楼上做法可行,没用过stm32,不过也可以设定优先级,响应重要的中断,中断里面不做复杂程序,只做标志位或者赋值==

出0入0汤圆

发表于 2012-11-14 22:26:47 | 显示全部楼层
提前设置好中断优先级,中断服务程序里不做其他太多的处理,这样相应速度应该可以满足要求
头像被屏蔽

出0入0汤圆

发表于 2012-11-24 01:11:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2012-11-24 21:52:23 | 显示全部楼层
余额为0 发表于 2012-11-24 01:11
STM32有同时输出多路PWM波的,看定时器一章有介绍;很简单,实在不行联系我 ...

多路同时输出我能理解,但是同时输入呢?

出0入22汤圆

发表于 2012-11-24 21:55:33 | 显示全部楼层
飞控的6通道     不是PWM  这个和PWM还是有区别的。
   在几个PWM周期内,包含了很多个通道的数据。

出0入0汤圆

 楼主| 发表于 2012-11-24 22:02:54 | 显示全部楼层
lixin91985 发表于 2012-11-24 21:55
飞控的6通道     不是PWM  这个和PWM还是有区别的。
   在几个PWM周期内,包含了很多个通道的数据。 ...

ppm,我不太明白遥控器过来的信号是什么样子的,是不是六路同时过来ppm信号,这几个信号同时开始,但结束的时间不一样?我猜的,不太懂

出0入22汤圆

发表于 2012-11-24 22:10:42 | 显示全部楼层
如果简单点, 你就理解成红外编码吧。。 一个红外编码发送8个字节,那么这8个直接就是8通道。

出0入0汤圆

发表于 2012-11-25 09:15:10 | 显示全部楼层
本帖最后由 agnd 于 2012-11-25 09:16 编辑

使用stm32的定时器捕获中断,没问题。捕获是在边沿由硬件完成的,与中断响应时间无关,不会带来任何附加误差。只要在本通道的下一个边沿到来前处理这个捕获值就行了。
另外,接收机的PWM脉冲是顺序到来的,每路脉冲的重复频率一般是50Hz或72Hz,并且是各路尽量不重叠。

出0入0汤圆

 楼主| 发表于 2012-11-25 14:24:21 | 显示全部楼层
lixin91985 发表于 2012-11-24 22:10
如果简单点, 你就理解成红外编码吧。。 一个红外编码发送8个字节,那么这8个直接就是8通道。 ...

也就是说几个通道的ppm是从一根线上过来的,是吗?如果是这样的话,就好理解了。单片机的一根脚轮流采集ppm信号,是很简单的。我原来以为一个通道,是一根线呢。那么怎么区分哪一个脉冲是油门呢?

出0入0汤圆

 楼主| 发表于 2012-11-25 14:25:37 | 显示全部楼层
agnd 发表于 2012-11-25 09:15
使用stm32的定时器捕获中断,没问题。捕获是在边沿由硬件完成的,与中断响应时间无关,不会带来任何附加误 ...

谢谢!你这么说,我就明白了,我以前理解有误。总以为每个通道是一根线。

出0入0汤圆

发表于 2012-11-25 22:30:15 | 显示全部楼层
zhengfengran 发表于 2012-11-25 14:25
谢谢!你这么说,我就明白了,我以前理解有误。总以为每个通道是一根线。 ...

在接收机输出就是一个通道一根线,6个通道要用单片机6个捕获中断线。
但这六根线上的脉冲在时间上是基本尽量不重叠的,这可能因为遥控器在空中传输时只有一个无线频点吧。
这六根线的脉冲就是重叠了用STM32采也没问题,因为捕获是硬件完成的,中断只是告送CPU有新捕获值了,尽快在下个值到来前取用吧。

出0入0汤圆

 楼主| 发表于 2012-11-27 15:39:55 | 显示全部楼层
agnd 发表于 2012-11-25 22:30
在接收机输出就是一个通道一根线,6个通道要用单片机6个捕获中断线。
但这六根线上的脉冲在时间上是基本 ...

哦,原来是这样。明白了。谢谢!

出0入0汤圆

发表于 2012-12-17 17:34:27 | 显示全部楼层
本帖最后由 lianghuok 于 2012-12-17 17:37 编辑
agnd 发表于 2012-11-25 09:15
使用stm32的定时器捕获中断,没问题。捕获是在边沿由硬件完成的,与中断响应时间无关,不会带来任何附加误 ...


接收机的PWM脉冲是顺序到来的 --》这种情况只是适应Futaba 的接收机输出才可以,但JR的是所有通道一起输出出来。要是按顺序来输出就简单多了根本不需要捕获我实测试过,不知道楼主现在调的怎么样了。

  现在用STM8S 捕获还在调,也担心过楼主说的同时输入多路PPM信号捕获中断时候怎么处理,中断排优先级来处理数据会不会shi接收通道数据滞后的现象发生?。

出0入0汤圆

发表于 2012-12-17 18:01:36 | 显示全部楼层
其实你拿示波器一看就什么都明白了,对于很多接收机他的输出信号时互相错开的,直接拿一个或非门加在一起就可以一个定时器通道搞定了,个别接收机各路有重合d,见2楼正解
下面是天地飞某款6通道接收机直接逻辑加在一起的结果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-12-18 09:09:54 | 显示全部楼层
lianghuok 发表于 2012-12-17 17:34
接收机的PWM脉冲是顺序到来的 --》这种情况只是适应Futaba 的接收机输出才可以,但JR的是所 ...

还在研究中,呵呵。我有可能不用ppm格式的遥控。我直接用Zigbee,串口直接输出六个通道的信号。避免了中断捕获ppm信号。

出0入0汤圆

 楼主| 发表于 2012-12-18 09:10:37 | 显示全部楼层
fengyiyu1006 发表于 2012-12-17 18:01
其实你拿示波器一看就什么都明白了,对于很多接收机他的输出信号时互相错开的,直接拿一个或非门加在一起就 ...

非常感谢~!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 05:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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