开源自制的6通道航模遥控器(二)-Arduino接收机增加SBUS输出

前言

前几天开源了自制的6通道航模遥控器(开源自制的6通道航模遥控器,超简单不超过100行代码),受到许多粉丝的关注,美中不足的是只实现了6个通道的PWM输出,没有SBUS输出,接线太复杂。经过一段时间的查阅资料和开发,终于实现了SBUS输出,这样就可以用三根线实现16个伺服通道和2个数字通道的输出了!

1. 新增元件

1k电阻一个,10k电阻一个,SS8050三极管一个(贴片体积更小)

2. 电路连接

原理图如下,基本和之前的原理图相同,只是加上了SBUS的取反电路。

如果使用Arduino UNO或者NANO开发板,请将原理图中的11脚和12脚调换位置,因为UNO和NANO的11和12正好与PRO MINI相反!

元件连接图如下:

3. 软件部分

SBUS协议使用波特率为100000、8个数据位,偶数奇偶校验位和2个停止位的反向串行逻辑。SBUS数据包的长度为25个字节,包括:
字节[0]:SBUS头,0x0F
字节[1-22]:16个伺服通道,每个伺服通道采用11位编码
字节[23]:
          位7:数字通道17(0x80)
          位6:数字通道18(0x40)
          位5:丢帧(0x20)
          位4:用来激活故障安全(0x10)
          位0-3:n/a
字节[24]:SBUS结束字节,0x00

S.Bus协议通过硬件电路取反,如果没有反相电路,Arduino将无法直接与其他SBUS设备通信。F1和F4飞控根本没有内置反相器,因此任何UART都可以直接使用;对于F3和F7飞控,INAV / Betaflight固件可以禁用软件中的反相。
程序中采

  • 23
    点赞
  • 151
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值