zoukankan      html  css  js  c++  java
  • J20航模遥控器开源项目系列教程(七)PPM输出 | 关于按键版本和旋转编码器版本的兼容说明、布局建议 | 关于MINI版PCB的兼容说明

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

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

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

    项目开源地址: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键退出菜单。

    旋转编码器版本布局建议

    EC11

    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键轮询菜单。

    按键版本布局建议

    KEY

    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】

  • 相关阅读:
    SQL游标操作每隔5分钟时间段数据统计信息
    win64位操作系统下安装pl/sql developer 并登录连接到oracle12c
    分科目统计每科前三名的学生
    merge源表数据移植到目标表新表数据中
    sqlserver表分区
    用SqlBulkCopy批量插入数据到SqlServer数据库表中
    SQL server插入数据后,如何获取自增长字段的值?
    Java创建线程的三种方式
    Java用户线程和守护线程
    Java虚拟机详解
  • 原文地址:https://www.cnblogs.com/cai-zi/p/14167013.html
Copyright © 2011-2022 走看看