正点原子MiniFly遥控器V1.1—电路图原理分析

2023-05-16

MiniFly 遥控器系统框架:
在这里插入图片描述
STM32F103C8T6 作为控制 MCU, 外围硬件主要有蓝色 0.96 寸
OLED、 NRF24L01+、 RF 功率放大、 2.4G 天线、 摇杆、按键、 蜂鸣器、 LED 等。
1,MCU STM32F103C8T6:
32-bit Cortex-M3 内核芯片, 具有 20KB SRAM、 64KB FLASH、 7 个定时器、 7 通道 DMA 控制器、 2 个 SPI、 2 个 IIC、 3 个串口、1 个 USB 全速接口、 1 个 CAN 接口、 2 个 12 位 ADC、 以及 35 个通用 IO 口等。
MiniFly 遥控器主要使用了 SPI、 USB、 ADC、DMA 等外设。
SPI 主要用于与 OLED 和 NRF24L01 通信;
USB 主要用于与上位机通信和固件升级;
ADC 和 DMA 主要用于采集摇杆电压
2,OLED
0.96 寸 ,分辨率为 128*64,内部驱动芯片为 SSD1306,该芯片内部集成
DCDC 升压, 只需 3.3V 供电即可正常工作, 支持 8 位 6800 并口、 8 位 8080 并口、 IIC 以及4 线 SPI 等通信方式。 这里我们使用了 4 线 SPI 方式通信, O_RST 为复位控制脚、 O_DC 为数据命令控制脚、 O_CLK 为 SPI 时钟控制脚、 O_MOSI 为 SPI 数据输入脚。
OLED 的控制使用的是 STM32 的 SP2
在这里插入图片描述
3,NRF24L01+和四轴主机通信:
在这里插入图片描述
NRF24L01+,嵌入了 Enhanced ShockBurst 通信机制,可以实现实时双向通信。
配置为 TX 模式时:
当发送不带 ACK 标志数据包时,通信机制自动打包数据并启动发送,发送后立即进入低功耗模式等待下一次发送。
当发送带 ACK 标志数据包时, 通信机制启动发送后立即转为接收模式等待应答包, 如果接收到应答包则进入低功耗模式等待下一次发送并产生发送完成中断。 如果等待接收超时则会自动重发, 当重发次数达到设定的值时会结束当前发送并产生重发失败中断。
配置为 RX 模式时:
模块一直处于接收状态,如果接收到数据包则会根据 ACK 的标志来选择要不要返回应答包。
NRF24L01+的控制使用 STM32 的 SPI1
在这里插入图片描述
4,摇杆和按键接口
摇杆是带按键和 360°自动回中的,一个摇杆有 2 个电位器, 电位器中心抽头连接到 MCU 的 ADC 引脚。
油门摇杆: 2个电位器的电压 AD 值转换为对应 THRUST(油门)和 YAW(航向角) 的控制值;
方向摇杆: 2 个电位器的电压 AD 值转换为对应 PITCH(俯仰角)和 ROLL(横滚角) 的控制值。
所有电位器采集的 AD 值范围都在 0-4095, 然后将 AD 值转换为对应控制值:
THRUST(油门) 通道 AD 值换为控制值: 0~100, 当发送 0 表示没有油门输出, 发送 100表示油门满量程输出。
YAW(航向角) 通道 AD 值换为控制值: -200~200,当发送值 yaw 小于 0 时, 四轴逆时针旋转, yaw 越小旋转快。相反, 当发送值 yaw 大于 0 时,四轴顺时针旋转, yaw 越大旋转越快。
**PITCH(俯仰角)**通道 AD 值换为控制值: -30~30,当发送值 pitch 小于 0 时,四轴向后运动,pitch 越小运动越快。 相反, 当发送值 pitch 大于 0 时,四轴向前运动, pitch 越大运动越快。
ROLL(横滚角) 通道 AD 值换为控制值: -30~30,当发送值 roll 小于 0 时,四轴向左运动, roll 越小运动越快。 相反, 当发送值 roll 大于 0 时,四轴向右运动, roll 越大运动越快。
5,LED和蜂鸣器
2 个 LED 和 1 个蜂鸣器
在这里插入图片描述
LED0(红)和 LED1(蓝)分别用于指示通信失败和通信成功:
当通信失败时 LED0常亮;
当通信有干扰时 LED0、 LED1 会交替闪烁;
当通信良好时 LED1 常亮。
蜂鸣器主要用于操作提示和低电量报警。
6,电源和USB接口

TP4059 相当于单节锂离子电池充电器的芯片,带电池正负极反接保护反接, 支持高达600mA 的充电电流。 该芯片的充电电流可以通过 PROG 脚的下拉电阻设定,遥控器电池为 200mAh 1C 的电池, 最大充放电流200X1= 200ma。 所以电路中设置的电阻 R2 为 4.7K,则充电电流为 200mA。 5V 电源(笔记本或者移动电源) 可以通过USB 线接上遥控器就可以给电池充电。
XC6204B302 是一款低压差线性稳压器(LDO) , 输入电压高达 10.0V, 输出 3.0V。
如图,5V和VCC是相连的
在这里插入图片描述
上图,当插入USB时,带来5V,5V通过TP4059充电芯片给电池充电,5V又通过线性稳压芯片XC6204B302降压到3.3V,3.3V就是系统的工作电压。边充电边使用遥控器。
在这里插入图片描述
上图,当不插USB时,开关打到5V/VCC,由电池供电,经过线性稳压芯片XC6204B302降压到3.3V,3.3V就是系统的工作电压。
7,下载接口
MiniFly 遥控器板载 SWD 仿真下载接口和 USART1 接口
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正点原子MiniFly遥控器V1.1—电路图原理分析 的相关文章

  • Linux系统权限集中管理项目案例实践

    目录 1 1 etc syduoers配置语法注意事项 1 2 etc sudoers配置文件别名知识 1 3 在 etc sudoers配置文件中 xff0c 别名和配置语法的对应关系表 1 4 利用别名配置授权实践案例 2 企业环境中用
  • 故障记录-磁盘性能下降导致节点触发迁移

    2023 03 11 11 28 52 012 ERROR 139673393420032 send ZMQ message to tcp 9765 failed 34 action 34 34 get pool status 34 34
  • gsch和redirfs模块导致系统hang或者重启 。

    Trend Micro Deep Security Agent 与Gluster 文件系统不兼容导致夯机 modules 34 gsch and redirfs 34 causing frequent kernel panic Trend
  • RedHat Linux系统故障修复—— grub引导、MBR损坏修复过程

    一 故障问题 MBR损坏是一种非常常见的错误 xff0c 两种情况 xff1a 1 MBR文件损坏 2 grub目录被误删除 1 首先 xff0c MBR是安装在硬盘的第一个扇区上占用了512个字节 xff0c 其中前446字节是bootl
  • 在救援模式下收集 sosreport

    问题 如何在救援模式下收集 sosreport xff1f 对于无法正常启动的操作系统 xff0c 如何收集 sosreport xff1f Red Hat Enterprise Linux 系统无法启动 当技术支持人员需要相关信息来进行问
  • 在Linux系统救援环境中实现联网

    环境 救援环境下的红帽企业 Linux 5 6 7 8 9 问题 生成了 sosreport 在初始救援环境设置期间未启用网络 解决方案 使用 IP 命令套件 iproute 包 xff1a 1 ip link 将显示连接到系统的可用设备
  • Rsa读取pem公钥和私钥

    1 把pem文件用text打开 xff0c 把开头和结尾的begin和end内容删去 xff0c 只留下字符串内容 xff1b 2 用流读取文件中的字符串 xff1b 3 用以下代码生成公钥和私钥对象 xff1b public static
  • 当 rsync/scp 不可用时,从系统传输文件或者 sosreport。

    环境 红帽企业 Linux 5 x红帽企业 Linux 6 x红帽企业 Linux 7 x 问题 文件需要转移到另一个系统 xff0c 但是ssh和rsync未设置和 或允许 一个sosreport需要转移到另一个系统 红帽企业 Linux
  • 如何配置Linux操作系统内DNS配置不被DHCP自动更新

    问题原因 NetworkManager是一个软件工具 xff0c 旨在简化计算机网络的使用 NetworkManager可用于基于Linux内核和其他类Unix操作系统 目前主流Linux操作系统都使用NetworkManager进行网络自
  • 2021-09-27

    虚拟环境中用pip下载安装包却安装到base环境解决方案 原因解决方案 遇到的问题 xff1a windows环境下进入虚拟环境 xff0c 使用pip install指令安装包时发现没有安装到虚拟环境下 xff0c 而是安装到了base环
  • 网络服务(Neutron)安装配置 ,这一篇就够了!

    实验目标 OpenStack Networking xff08 neutron xff09 xff0c 允许创建 插入接口设备 xff0c 这些设备由其它的OpenStack服务管理 插件式的实现可以容纳不同的网络设备和软件 xff0c 为
  • ssh服务和日志的基本常识

    查看网桥 brctl show 创建链接 ln s mnt dir file mnt lianjie 1 查看进程 gnome system monltor ps 当前shell的进程 A 所有的进程 a shell中所有的进程 xff0c
  • ESP8266基础详细使用

    前言 刚买一块ESP8266 琢磨一天才弄明白怎么使用 xff0c 小白第一次弄这个确实不太友好 xff0c 这里记录一下 xff0c 怕以后自己用到又忘了 xff0c 在物联网这一方面ESP8266还是特别实用的 材料准备 淘宝 xff0
  • nvm安装流程

    nvm nvm是管理node版本的工具 一般我们会负责多个项目 xff0c 不同项目有不同版本的node环境 xff0c 此时就需要nvm对node版本进行切换处理 1 首先卸载node 2 nvm下载 安装包下载地址 xff1a http
  • 树莓派 raspbian (各版本)换国内源

    xff08 看到师兄的博客后感觉还行 xff0c 所以自己也来写下 xff0c 第一次写 xff0c 所以不会编排 xff0c 有什么错误希望被指出 xff0c 谢谢 xff09 相信来寻找换源的人都和一样知道为什么要换国内更新源了吧 xf
  • 树莓派4b的i2c配置及wiringPi通信

    一 配置i2c设备 1 xff09 在终端中操作 xff0c 输入指令 sudo raspi config 2 xff09 然后会出现设置界面 xff0c 然后跟着如下图片操作 第一项 xff1a Change User Password
  • 树莓派驱动之设备树覆盖

    一 前言 由于是初学者 xff0c 所以对于一些操作需要记录下方便自己查找 附上 xff1a 树莓派设备树官网 我只从官网上了解到一点点内容 xff0c 还有许多没看懂的和还没学的 一个常规的Arm Linux设备树 xff0c 主要是由源
  • ConcurrentHashMap 常用方法

    void clear 从该映射中移除所有映射关系 boolean containsKey Object key 测试指定对象是否为此表中的键 boolean containsValue Object value 如果此映射将一个或多个键映射
  • .vscode中常用的配置文件

    文件 一 安装常用插件二 c cpp properties json文件三 settings json文件 一 安装常用插件 根据自己需要安装相应的插件 xff1a span class token number 1 span span c
  • 操作系统相关知识

    目录 一 嵌入式操作系统二 实时操作系统 xff08 RTOS xff09 三 Freertos 操作系统四 Linux xff08 操作系统 xff09 五 Linux 和 FreeRTOS操作系统的区别 xff08 面试中被问到 xff

随机推荐

  • 结构体对齐(全)

    目录 一 结构体对齐规则二 结构体位域对齐规则 一 结构体对齐规则 1 第一个成员在与结构体偏移量为0的地址处 xff1b 2 其他成员变量要与自身类型的整数倍地址处对齐 xff1b 3 结构体总大小为要与 处理器字节数与成员类型所占字节数
  • C语言自我实现模块化打印log

    在一个嵌入式稍微大些的工程中实现模块化控制打印输出信息是很有必要的 xff0c 下面是模仿别人的实现的模块化打印 xff0c 需要时可以根据下面的实现代码去修改满足自己所需要的 xff01 xff01 xff01 span class to
  • 卸载ibus后无法进入桌面的解决方法

    过程 一 复现现象 xff1a 二 复现原因 xff1a 三 解决方法 xff1a 重新安装ubuntu桌面 一 复现现象 xff1a 开机进入 Ubuntu xff0c 输入密码成功后一直卡在这个页面 xff0c 无法进入 ubuntu
  • Linux内核之 printk 打印

    Linux内核之 printk 打印 前言一 printk 介绍1 printk 消息级别2 内核 printk 文件 二 调整打印级别1 在 menuconfig 中修改2 在系统中修改 xff08 常用 xff09 三 使用示例四 查看
  • Linux ALSA 之四:Tinyalsa->Alsa Driver Flow分析

    Tinyalsa gt Alsa Driver Flow 一 概述二 Tinyalsa2 1 tinypcminfo2 2 tinymix2 3 tinyplay2 4 tinycap 三 Tinyalsa gt alsa driver f
  • Linux ALSA 之十:ALSA ASOC Machine Driver

    ALSA ASOC Machine Driver 一 Machine 简介二 ASoC Machine Driver2 1 Machine Driver 的 Platform Driver amp Platform Device 驱动模型2
  • Linux ALSA 之十一:ALSA ASOC Path 完整路径追踪

    ALSA ASOC Path 完整路径追踪 一 ASoc Path 简介二 ASoc Path 完整路径2 1 tinymix 设置2 2 完整路径 route 一 ASoc Path 简介 如前面小节所描述 xff0c ASoc 中 Ma
  • 【STM32】关于Clion+STM32cubeMX环境搭建过程中所遇到的一些问题·其一

    目录 一 前言 二 正文 stm32 cubemx的安装 建立工程 配置openOCD进行编译烧录 关于烧录失败的事 三 小结 四 参考文章 一 前言 近日在网上冲浪时无意间发现了稚晖君在知乎发布的一篇关于如何使用clion 43 stm3
  • 端口扫描 1

    TCP端口扫描是通过SYN数据包进行的 xff0c 用于扫描目标机器的端口上是否存在程序监听 xff0c 通常意义上 xff0c 普通个人机器上的某个端口如果有程序监听的话 xff0c 那么它一般是系统漏洞 由于TCP是一个有连接的可靠协议
  • linux Ubuntu终端快捷键

    终端操作快捷键 Tab 自动补全 Ctrl 43 a 光标移动到开始位置 Ctrl 43 e 光标移动到最末尾 Ctrl 43 k 删除此处至末尾的所有内容 Ctrl 43 u 删除此处至开始的所有内容 Ctrl 43 d 删除当前字符 C
  • Linux ALSA 之十二:ALSA ASOC Kcontrol

    ALSA ASOC Kcontrol 一 结构体 snd kcontrol new二 ASoC 系统定义的 kcontrol 宏2 1 SOC SINGLE2 2 SOC SINGLE TLV2 3 SOC DOUBLE2 4 Mixer
  • (2022.12.12 )完成mavros配置+PX4配置

    一 mavros 安装配置 在安装之前 xff0c 请先更新软件库 xff1a sudo apt get update sudo apt get upgrade 遇到问题 无法安全地用该源进行更新 xff0c 所以默认禁用该源 N 参见 a
  • 基于ROS平台的STM32小车--汇总

    一切为了实现利用ros通过串口控制小车简单运动 基于ROS平台的STM32小车 4 上位机控制器 https blog csdn net weixin 39752599 article details 86552511 下载串口通信的ROS
  • Docker容器可视化

    文章目录 本地安装X11界面工具 添加参数创建容器测试容器尝试运行Matplotlib绘制柱状图 参考 Docker容器中运行程序 xff0c 有时候需要显示容器中的图像 xff0c 或在容器中运行一些图形界面的软件 调用摄像头等 xff0
  • 什么是枚举

    什么是枚举 简单来说 xff0c 枚举就是一个类有有限个确定的对象 有限个 就不用解释了 xff0c 如果说枚举有无限个对象 xff0c 那它和普通的类又有什么区别呢 xff1f 确定的 就是指枚举类的所有对象都是不可变的 这里我给个例子解
  • Centos7如何安装sogo输入法

    安装epel依赖源 sudo yum install epel release xff1b 卸载 ibus软件 rpm e nodeps ibus 安装fcitx相关 yum y install fcitx fcitx pinyin fci
  • 安卓系统无线投屏到win10

    安卓系统无线投屏到win10 xff0c 在电脑上操作手机 共有两种方法 xff0c 第一种方法需要先使用数据线连接电脑 xff0c 再断开数据线使用 xff0c 第二种方法是使用安卓11的无线调试 xff0c 全程不需要数据线连接电脑 x
  • FreeRTOS对系统异常优先级寄存器的PendSV和SysTick 的优先级设置过程

    为什么要设置PendSV为最低优先级 xff1f 应用程序执行SVC 时都是希望所需的请求立即得到响应 PendSV 则不同 xff0c 它是可以像普通的中断一样被抢占挂起的 xff08 不像SVC 那样会上访 xff09 操作系统 可以利
  • 如何看懂FreeRTOS里面的函数指针typedef BaseType_t (*TaskHookFunction_t)( void * );

    看懂这个 span class token keyword typedef span span class token keyword long span BaseType t span class token punctuation sp
  • 正点原子MiniFly遥控器V1.1—电路图原理分析

    MiniFly 遥控器系统框架 xff1a STM32F103C8T6 作为控制 MCU xff0c 外围硬件主要有蓝色 0 96 寸 OLED NRF24L01 43 RF 功率放大 2 4G 天线 摇杆 按键 蜂鸣器 LED 等 1 x