(测试通过)飞控通过SBUS接收FUTABA遥控信号

最近做了一个开发板接收sbus传出的遥控信号测试,将流程记录在下:

1)硬件取反,淘宝上买电平取反器,大概3块多一个;

2)配置串口、管脚、中断、DMA,中断可配置传输完成中断和串口空闲中断,目前使用串口空闲中断就够了,注意:如果硬件不取反,串口无法进入空闲中断;

3)具体的理解可参考这篇博文:http://www.eefocus.com/taogashi/blog/14-05/303577_f140d.html

4)具体实现可以参考以下程序的futaba_sbus.c和futaba_sbus.h文件:https://github.com/MuJanFun/Hawk_A/tree/master/STM32F103%E5%BA%95%E5%B1%82/BSP

5)硬件是stm32f103,使用了pb11作为sbus接口,遥控器是FUTABA T18SZ,接收机R7008SB;

最终接收到的数据格式为末尾0x04 ,0x14,0x24,0x34循环,与sbus协议有出入,与博文:http://blog.csdn.net/wsptr/article/details/53795458中提到的数据格式一致。

注意:因为sbus用的是11位传输一个通道,所以传输值得范围在0~2047(2048位)之间,所以还需要转换到1000~2000之间。转化方法可以参考该如下:

https://github.com/ArduPilot/PX4Firmware/pull/4/commits/06e67c8e8bb4352559f0a067a6a45a01f658f33b#diff-9ee4d751dec6ae5298de46f46f334d2c

使用滚转(1通道)、俯仰(2通道)、油门(3通道)、偏航(4通道),对上述过程测试,符合1000~2000的范围要求。

注意问题:1)收到的上述值还需要经过处理,得到期望的俯仰、偏航、滚装角或对应的速率才能在飞控程序中使用。

                 2)飞控为了保障安全,一般要求解锁,使用遥控信号解锁过程没有解决,其他通道用来选择飞行模式也没有解决。

——Edited By RobotBrain.M

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值