SBUS如何连接4G,如何通过数传DTU传输,实现远程控制

前段时间很多人咨询我怎样把sbus信号,通过4G模块,或者数传DTU传输,实现远程的控制。他们的应用是远程消费机器人,无人机送货,水下机器人等项目。

回答这个问题前我们先来了解一下sbus的协议。

SUBS是一种纯数字的控制协议,标准的sbus包含了18通道的舵机信号,能表示0-2048的舵机通量。什么是舵机通量,就是舵机工作的PWM的信号,PWM就是一个脉宽的信号,一般用us来表示。正常的舵机的PWM信号范围是1100us-1900us之间、400us-1900us。也有500us-2500us的,但比较少。基本无人机的多是前面两种。那我们的sbus协议就是把18个PWM通道的数字信号首先进行压缩编码打包,再通过类串口(非正常的UART哦)的协议发出去。我们的单片机和电脑等的标准的UART设备是无法直接读取sbus的信息,需要通过电平整形,波特率调整后才能顺利读取。

 SBUS的通讯波特率比较奇葩,100k,2停止位,偶校验,7-15ms的帧率。这并非我们常用的波特率:4800,9600,38400,57600,115200等。而且2位的停止位,很多低端的单片机是不支持的。这就要求我们普通的串口要完成正常接收到sbus的就需要把sbus的通讯协议进行必要的修改,首先是把100k的波特率改成正常的波特率,把2位停止位改成1位停止位,如果觉得帧率过快的话,还需要把帧率降下来。

到这里大伙应该知道可以怎样做了吧。实现原理是,把sbus转成标准的协议,通过dtu发射,当DTU接收到数据后,翻译出来sbus。相当于sbus透传了。

1:发射端

遥控器-》接收机(sbus输出)-》sbus转232-》数传DTU

2:接收端

数传DTU-》232转sbus-》sbus转PWM-》舵机。

这里的配置清单:

遥控器,接收机,sbus转232模块。数传DTU,232转sbus,sbus转PWM

这样就是一个闭环了。

有兴趣的可以到某宝搜集一下。也就是拼装一下的问题了。这里有个视频,

http://v.youku.com/v_show/id_XNDU4MTE1Mzk5Mg==.html?x&sharefrom=android&sharekey=6fc3eae09d76818ae791ce3d4ddee8da7

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值