STM32
登录
直播中
宜家
8年用户
1101经验值
私信
关注
[问答]
MiniFly遥控器系统框架是由哪些部分组成的
开启该帖子的消息推送
遥控器
nRF24L01
STM32
MiniFly遥控器系统框架是由哪些部分组成的?
NRF24L01是如何控制使用
STM32
的SPI1的?
回帖
(1)
蔡芸菲
2021-12-17 11:55:23
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 接口
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 接口
举报
更多回帖
rotate(-90deg);
回复
相关问答
遥控器
nRF24L01
STM32
MiniFly
微型四轴
遥控器
系统
框架
是
由
哪些
部分组成
的
2021-12-17
1019
RK3288
系统
的Video编解码
框架
是
由
哪些
部分组成
的
2022-03-10
2834
Minifly
遥控器
NRF24L01如何通信?
2020-06-16
2280
STM32的UART
框架
是
由
哪些
部分组成
的
2021-10-20
1459
请问
minifly
遥控器
该怎么改写代码?
2019-06-26
1261
什么是MCU?MCU是
由
哪些
部分组成
的
2022-03-01
3891
汽车车号
器
的红外
遥控
系统
由那几
部分组成
?
2021-05-12
936
openBLT
系统
结构及
框架
是
由
哪几
部分组成
的?
2022-02-11
1247
STM32F1时钟
系统
的
框架
是
由
哪些
部分组成
的
2021-11-22
703
STM32的硬件
系统
是
由
哪些
部分组成
的
2021-11-23
1793
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分