如何接入sbus航模遥控器?

news/2025/2/19 13:55:56/文章来源:https://www.cnblogs.com/chenyouyuan/p/18717717

如何接入sbus航模遥控器?

最近队内大疆的遥控器短缺,故自行购买一款便宜好用的遥控器来替代,但是协议与dbus不同,研究了一阵子,所以诞生了这一篇文章来帮助大家少走弯路。

遥控器构成

一般都有发射端和接收端:发射端为主遥控器

img

接收端为接收机:

img

SBUS协议

上面写的虽然是m.bus但其实基本都是sbus只是商家的名字是以m开头。

大疆的dbus还是与sbus不同,是18字节的,sbus是25字节。

详细的电压是多少啥的参看对应的手册即可

一般的航模遥控器通信协议都是采用的sbus协议(使用串口):

以microzone的c6遥控器说明书举例(入门级6通道遥控器)

说明书网址:MC6C说明书(中文)未转曲.cdr

SBUS: ⾼电平为3.3V, 100k波特率,8位数据位(在stm32中要选择9位),偶校验(EVEN),2位停⽌位, 以0x0F开头,0x00结 尾,共个字节, 每隔14ms⼀帧数据; 排列如下: data [0x0F] [data ] [data ] [data ] [data ] ... [data ] [flag] [0x00]; data : 对应16个通道(ch1-ch16),每个通道11bit, 通道数据取值范围是200-1800

可以简单的理解为串口,波特率为100k,但是这是不能直接与单片机上的rx相接的,因为它采用的是相反的电平信号,如果你的接收机不自带反转可能得自制一个反转电平(输入0输出1,输入1输出0)的小玩意了(不能软件翻转,除了数据位它的校验位也是反转的。。。)

取反电路制作

这个也好做,电路图就长这样:

img

img

img

三极管的话我目前研究不深,可以参考这篇文章

https://blog.csdn.net/chenhuanqiangnihao/article/details/112979214

我制作取反电路的成功案例是使用的手上现有的直插2n3904三极管和贴片电阻临时焊接完成的。

img

验证电路方法

可以直接使用万用表测量输出端在输入端使用3.3v高电平输入观察输出是否为低电平即可,注意共地。

SBUS协议解析

收到数据后一共会有25字节的数据包,起始字节是x0f,还有一个falg字节 和 终止字节x00,中间22字节一共

22*8个bit,每个通道占用11位,所以一共解析出来有16个通道。并不是一字节就是一个通道,这个要注意。

协议解析代码如下想研究可以细品:

void parse_sbus_data(uint8_t *buffer, uint16_t *channels) {// 解析SBUS数据channels[0]  = ((buffer[1] | buffer[2] << 8) & 0x07FF);channels[1]  = ((buffer[2] >> 3 | buffer[3] << 5) & 0x07FF);channels[2]  = ((buffer[3] >> 6 | buffer[4] << 2 | buffer[5] << 10) & 0x07FF);channels[3]  = ((buffer[5] >> 1 | buffer[6] << 7) & 0x07FF);channels[4]  = ((buffer[6] >> 4 | buffer[7] << 4) & 0x07FF);channels[5]  = ((buffer[7] >> 7 | buffer[8] << 1 | buffer[9] << 9) & 0x07FF);channels[6]  = ((buffer[9] >> 2 | buffer[10] << 6) & 0x07FF);channels[7]  = ((buffer[10] >> 5 | buffer[11] << 3) & 0x07FF);channels[8]  = ((buffer[12] | buffer[13] << 8) & 0x07FF);channels[9]  = ((buffer[13] >> 3 | buffer[14] << 5) & 0x07FF);channels[10] = ((buffer[14] >> 6 | buffer[15] << 2 | buffer[16] << 10) & 0x07FF);channels[11] = ((buffer[16] >> 1 | buffer[17] << 7) & 0x07FF);channels[12] = ((buffer[17] >> 4 | buffer[18] << 4) & 0x07FF);channels[13] = ((buffer[18] >> 7 | buffer[19] << 1 | buffer[20] << 9) & 0x07FF);channels[14] = ((buffer[20] >> 2 | buffer[21] << 6) & 0x07FF);channels[15] = ((buffer[21] >> 5 | buffer[22] << 3) & 0x07FF);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/884511.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2/15图论浅讲(知识点)

2/15图论浅讲(知识点) (后期会转移博客,所以排版不太好) 前置知识-vector 动态数组 操作1:创建一个动态数组 vector<数据类型> 数组名字操作2:插入元素 O(logn) 方式1:q.push_back(数据);在数组最后面塞数据 方式2:q.insert(q.begin()+i,a);i为下标,将a数据插入…

char**指针与const

1,char**char c = 0;char* p1 = &c; //p1是一个指针变量, 存放的是char类型变量的地址 *p1 = 1; const char* p2 = &c; //p1是一个指针变量, 存放的是char类型变量的地址, const修饰*, 表示指针内容(*p2)不可变char** p3; //p3是一个指针变量, 存放的是char*类型变量的…

升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框架: Vue3+Spring Boot3) ,界面功能t升级(四 )

升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框架: Vue3+Spring Boot3) ,界面功能t升级(四 ) 工作台 系统 商品 客户 门店 订单

(自适应手机端)英文外贸网站模板 日用百货网站源码下载

(自适应手机端)英文外贸网站模板 日用百货网站源码下载 PbootCMS内核开发的网站模板,该模板适用于外贸网站模板、日用百货网站源码等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应移动端,同一个后台,数据即时同步,简单适用!附带测试数据!友好…

Markdown 语法学习

Markdown 语法学习 标题: # + 三级标题 四级标题 字体 hello,world! hello,world! hello,world! hello,world! 引用选择狂神说Java>这是引用分割线图片超链接 博客园 - 开发者的网上家园) 列表A B CA B C表格名字 性别 生日张三 男 1997.1.1李斯 女 1995.7.6代码hello

一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法

1.算法仿真效果 本课题是针对博主原来写的文章《基于MATLAB的一级倒立摆控制仿真,带GUI界面操作显示倒立摆动画,控制器控制输出》的升级。升级内容包括如下几个方面:增加了PI控制器,PD控制器,同时对极点配置,线性二次型,PID,PI及PD五种算法的控制输出曲线进行对比。matlab2…

使用Spring Initializr方式构建Spring Boot项目

按教材 下例选用IntelliJ IDEA 2024.3.3付费版 创建项目JDK版本根据实际情况。启动类简析 package com.example.demo; // 这段代码位于 com.example.demo 这个包下import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBo…

未注册类。WSL 安装似乎已损坏。WslRegisterDistribution failed with error: 0x8007019e/

前言 不知何时,我的wsl环境又坏了。 其实wsl我不怎么用,但是今天突然想用一下docker,但是没有启动成功。 于是乎我试了一下wsl,发现是wsl完全坏了。 之前卸载过wsl的某个子系统,比如ubuntu22,当初想着换24,之后很长一段时间没用过wsl。 尽管我怀疑是这个操作造成的问题,…

清华大学最新力作,DeepSeek 从入门到精通PDF

前几天,我发布了一篇关于 WPS 集成 DeepSeek 的教程,没想到大家的反响非常热烈!很多朋友都表示,通过这篇教程学到了不少关于 DeepSeek 的实用技巧,赶紧点进来看。不过,今天我给大家带来了更猛的干货——清华大学最新发布的 DeepSeek 资料!而且这次的资料更加关注 DeepSe…

安装程序无法自动安装virtual machine

安装VMware Tools 失败 发现在给过旧的系统安装 安装VMware Tools 的时候,会失败,比如 win7、win server2008等。原因 官网的说明,在这里 看不懂的自行翻译: 微软已将 Windows 驱动程序签名更改为自 2019 年 12 月 3 日起仅使用 SHA-2 算法,不支持 SHA-2 代码签名的旧版 W…

尝试在 Kubernetes 集群上用阿里云 GPU 实例部署 Ollama + DeekSeek-R1

在前一篇博文中尝试了使用阿里云 GPU 实例 ECS 单机部署了 DeekSeek-R1 7b 模型 。这篇博文记录一下在 k8s 集群上用阿里云 GPU 实例部署 DeekSeek R1 大模型的尝试过程,部署的也是 deepseek-r1:7b 模型。 先准备一台阿里云 GPU 实例,选用了共享型 GPU 实例 sgn7i,8核31G,4…

基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真

1.程序功能描述 基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真,输出收敛曲线以及三维曲面最高点搜索结果。 2.测试软件版本以及运行结果展示MATLAB2022A版本运行 3.核心程序for ij = 1:Mgen% 初始化本代最佳适应度及对应解yfit = 0.0;xbest = zeros(1,2); % 初…