我们的开源宗旨:自由 协调 开放 合作 共享

拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~

和一群志同道合的人,做自己所热爱的事!

项目开源地址:https://github.com/J20RC/STM32_RC_Transmitter

码云(Gitee)地址:https://gitee.com/J20RC

QQ交流群:1091996634 【密码:J20】

1.遥控器的PPM输出

PPM输出是什么?能做什么?

笔者在这篇文章中详细汇总了PPM协议 https://www.cnblogs.com/cai-zi/p/14110204.html,感兴趣的小伙伴可以前往查看哈~

因为PWM每路只能传输一路信号,在分别直接驱动不同设备的时候(比如固定翼,每路各自驱动不同的舵机和电调)这没有任何问题。但在一些场合,我们并不需要直接驱动设备,而是需要先集中获取接收机的多个通道的值,再做其他用途时,
比如遥控器接电脑玩模拟器,比如用PPM连接高频头来增加遥控距离,当然还有我们玩多轴,要将接收机的信号传输给飞控时,每个通道一组物理连线的方式就显得非常的繁琐和没有必要。这时候就要用到PPM了。

如何制作PPM输出引脚?

从2.2版本的固件起,J20航模遥控器开始支持PPM输出(固件下载:https://gitee.com/J20RC/STM32_RC_Transmitter/releases/2.2

PPM输出只需GND和信号线即可,信号线接在PC13引脚,可使用3.5mm耳机插座进行安装。

温馨提醒:

由于PPM输出是最高优先级中断,不使用时请关闭【输出设置>>PPM输出】)。

2.按键版本、旋转编码器版本的制作指南

从2.2版本的固件起,J20航模遥控器同时发布按键和EC11旋转编码器两个版本(固件下载:https://gitee.com/J20RC/STM32_RC_Transmitter/releases/2.2

2.1旋转编码器版本

keil5源代码工程默认适配EC11旋转编码器版本,如果您想使用按键版本:
请在Keil5中打开工程后,点击魔法棒(Options for Target...)
点击选项栏 C/C++ >> Preprocessor Symbols 的define文本框中删除 EC11_VERSION 即可。

六个按键定义:

1 CH1Left 接PB5 【home】

2 CH1Right接PB4

3 CH2Down 接PB3 【确定】

4 CH2Up  接PA15 【返回】

5 CH4Left 接PA12 【数值-】

6 CH4Right接PA11 【数值+】

旋转编码器模块:

GND 电源地

VCC 接3.3V电源

SW 接PB11

DT 接PB10

CLK 接PB1

短按旋转编码器进入菜单,长按旋转编码器/短按CH1Left键退出菜单。

旋转编码器版本布局建议

2.2按键版本

七个按键定义:

1 CH1Left 接PB5 【确定】

2 CH1Right接PB4 【返回】

3 CH2Down 接PB3 【菜单向下】

4 CH2Up 接PA15 【菜单向上】

5 CH4Left 接PA12 【数值-】

6 CH4Right接PA11 【数值+】

7 MENU 接PB11 【菜单】

短按MENU键进入/退出菜单,CH2Down键和CH2Up键轮询菜单。

按键版本布局建议

3.关于兼容MINI版PCB的说明

基础版遥控器mini板PCB 1.0版本的CSN/CE/IRQ连线与之后的版本不同,工程默认适配2.0版本PCB。
如果您使用的是1.0版本PCB,请在Keil5中打开工程后,点击魔法棒(Options for Target...)
点击选项栏 C/C++ >> Preprocessor Symbols 的define文本框中删除 NRF_PIN 即可。

mini板PCB 1.0版本 无线模块与STM32的连接:

NRF24L01模块:

GND 电源地
VCC 接3.3V电源
CSN 接PA8
SCK 接PB13
MISO 接PB14
MOSI 接PB15
CE 接PA9
IRQ 接PB12

mini板PCB 2.0版本 无线模块与STM32的连接(调换了CSN/CE/IRQ):

NRF24L01模块:

GND 电源地
VCC 接3.3V电源
CSN 接PB12
SCK 接PB13
MISO 接PB14
MOSI 接PB15
CE 接PA8
IRQ 接PA9

写在最后

首先感谢项目中所有的贡献者!(截止2020.12.21)

* 蔡子CaiZi(B站up主)  https://space.bilibili.com/349576976
 * A-XIN;
 * 小何;
 * ZL_Studio(B站up主)https://space.bilibili.com/364251289
 * 王天天@WangTiantian139  https://wangtiantian139.github.io/
 * 刘桶桶;
 * 简繁;
 * 王博;
 * 与非门;
 * Talons;
 * 大米粥;
 * P a S S ||;
* 佚名;
* 小吴;
* xuech007;

特别感谢正点原子提供的STM32例程和开源社区http://www.openedv.com/

QQ交流群:1091996634 【密码:J20】

J20航模遥控器开源项目系列教程(七)PPM输出 | 关于按键版本和旋转编码器版本的兼容说明、布局建议 | 关于MINI版PCB的兼容说明的更多相关文章

  1. J20航模遥控器开源项目系列教程(一)制作教程 | 基础版V1.0发布,从0到1

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  2. J20航模遥控器开源项目系列教程(五)| 制作STM32F0接收机,8路PWM输出,SBUS输出,PPM输出 | 加密狗无线化,畅玩飞行模拟器

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  3. J20航模遥控器开源项目系列教程(二)使用说明 | 遥控器制作完成了,怎么用?

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  4. J20航模遥控器开源项目系列教程(三)开发说明 | 想要自己改造程序,扩充功能,怎么实现?

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  5. J20航模遥控器开源项目系列教程(六)亚克力外壳制作

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  6. J20航模遥控器开源项目系列教程(四)PCB打印 | 嘉立创PCB下单教程,5元顺丰包邮解君愁!

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  7. 致敬学长!J20航模遥控器开源项目计划【开局篇】 | 先做一个开机界面 | MATLAB图像二值化 | Img2Lcd图片取模 | OLED显示图片

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  8. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

  9. webpack4 系列教程(七): SCSS提取和懒加载

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)webpack4 系列教程(七): SCSS 提取和懒加载. 个人技术小站: https://god ...

随机推荐

  1. KC705E增强版基于FMC接口的 Kintex-7 XC7K325T PCIeX8 接口卡

    一.板卡概述 本板卡基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 ,支持PCIeX8.64bit DDR3容量 ...

  2. Solution -「POI 2014」「洛谷 P5904」HOT-Hotels 加强版

    \(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的树,求无序三元组 \((u,v,w)\) 的个数,满足其中任意两点树上距离相等.   \(n\le1 ...

  3. Vue中组件通信的几种方法(Vue3的7种和Vue2的12种组件通信)

    Vue3组件通信方式: props $emit expose / ref $attrs v-model provide / inject Vuex 使用方法: props 用 props 传数据给子组 ...

  4. 北大博士生提出CAE,下游任务泛化能力优于何恺明MAE

    大家好,我是对白. 何恺明时隔两年发一作论文,提出了一种视觉自监督学习新范式-- 用掩蔽自编码器MAE,为视觉大模型开路. 这一次,北大博士生提出一个新方法CAE,在其下游任务中展现的泛化能力超过了M ...

  5. python中面向对象知识框架

    案列: 1 class Chinese: # 类的创建,类名首字母要大写 2 eye = 'black' # 类属性的创建 3 4 def __init__(self,hometown): # 类的初 ...

  6. Linux 时间操作及其同步

    完整格式支持链接:https://blog.imakiseki.cf/2022/02/27/techdev/linux-time-operations-and-sync/ 本文将以 Arch Linu ...

  7. RENIX发送固定个数报文——网络测试仪实操

    在使用RENIX软件时,有时候我们需要发送固定个数报文,那么该如何操作呢?以下为您讲解具体操作步骤. 第一步:预约测试资源 打开Renix软件,连接机箱, 预约端口 第二步:发送固定个数的报文 选中流 ...

  8. 企业没有大数据技术?选择这款BI工具

    ​无论是网络时代的传统营销还是大数据营销,营销人员的任务之一就是找到目标客户,实现自己的营销目标.而我们说的大数据营销只不过是营销的工具发生了变化,营销的本质和目标是不变的. 就目前而言,现在的大数据 ...

  9. 案例一:shell脚本指定日期减去一天

    如果只减去一天的话,直接写就可以了. #date -d"yesterday 20150401" +%Y%m%d 如果要减去几天,还可以这样写,如果用负数是往前数, #date -d ...

  10. 常见三种存储方式DAS、NAS、SAN的架构及比较

    转至:https://blog.csdn.net/shipeng1022/article/details/72862367 随着主机.磁盘.网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文 ...