登录/注册

STM32F103 飞控

STM32F103 飞控

更多

好的,关于使用 STM32F103 作为 飞控 (Flight Controller) 的核心微控制器,这是一个在几年前非常流行但现在逐渐被更高性能芯片替代的选择。以下是关键信息和分析:

核心观点

  1. 曾经的主流,现在已落后: STM32F103(尤其是C8T6、CBT6等型号)在开源飞控(如早期的Cleanflight/Betaflight、Baseflight等)的早期发展中扮演了至关重要的角色。它凭借其强大的性能(相对于当时的8位/16位MCU)、丰富的外设(尤其是定时器、串口、ADC)和相对低廉的价格,成为了DIY飞控的热门选择。
  2. 性能瓶颈日益明显:
    • 主频较低: 通常工作在72MHz,对于现代飞控软件(尤其是运行复杂滤波器如卡尔曼滤波、导航算法、OSD叠加、黑匣子记录、丰富协议支持等)来说显得力不从心。
    • 内存有限: SRAM通常只有20KB(如C8T6)或64KB(如RCT6/CBT6)。现代飞控固件(如Betaflight, iNav)需要更大的内存来存储配置、运行堆栈和处理传感器数据流。
    • FLASH 有限: 64KB/128KB/256KB的FLASH存储固件代码,对于功能丰富的现代飞控固件来说空间紧张,限制了功能扩展。
  3. 现代主流飞控固件的支持:
    • Betaflight: 官方早已停止对STM32F1系列(F103属于此系列)的支持。 最后一个支持F1的版本已经很老旧(例如 3.5.x 系列),且缺乏新功能和性能优化。强烈不建议在新的飞控项目中使用STM32F103运行Betaflight。
    • iNav: 官方也已终止对STM32F1系列的主要支持。虽然可能有社区维护的特定F1目标,但更新缓慢,功能受限,同样不推荐用于新项目。
    • ArduPilot/PX4: 这些更偏向自动驾驶和大型应用的固件,对硬件要求更高,基本从未或很早就放弃了对STM32F103的支持。
  4. 为什么现在不推荐作为主飞控核心?
    • 无法流畅运行现代算法: 姿态解算、控制律等核心算法在现代固件中优化得更好但也更复杂,F103难以满足实时性要求,尤其在高速飞行或复杂机动时可能导致性能下降或不稳定。
    • 功能限制: 难以支持新功能如GPS救援、双向Dshot、动态滤波器、高级Blackbox分析、丰富的OSD信息、Lua脚本支持等。
    • 传感器带宽瓶颈: 现代高速陀螺仪(如32KHz采样)和加速度计产生的数据量,F103的SPI/I2C速度和CPU处理能力成为瓶颈。
    • 外设限制: 定时器数量和功能(用于PWM/Dshot/Servo输出)、UART数量(连接接收机、GPS、图传、OSD、测距仪等)都可能不足。
    • 开发资源枯竭: 主流固件不再维护F1目标,遇到问题很难找到官方支持和解决方案。

如果你坚持或必须使用STM32F103做飞控

  1. 固件选择:
    • 寻找旧版或特定分支: 只能使用非常老版本的Betaflight(如3.5.X)或iNav(支持F1的旧版)。或者寻找一些小型、专为F1优化的开源飞控项目(但这需要自己投入更多精力开发和维护)。
    • 自己开发固件: 作为学习项目,从头开始编写一个简易的飞控固件。这是深入理解飞控原理(传感器读取、姿态解算、PID控制、电机输出)的好方法,但难度极大,且最终性能和功能无法与成熟固件相比。
  2. 预期性能:
    • 只能用于低速、小型的多旋翼(如空心杯微型机)。
    • 功能非常基础:基本飞行控制、可能支持Acro/Angle模式。GPS、OSD等功能实现困难或效果差。
    • 飞行性能(响应速度、稳定性)会显著低于现代主流飞控。
  3. 硬件设计关键点:
    • 选型: 优先选择 SRAM 更大的型号,如 STM32F103RET6/CBT6 (64KB SRAM) 或 VET6 (128KB SRAM)。
    • 传感器: 选择较老型号或性能要求不高的传感器(如MPU6050陀螺仪加速度计)。避免使用需要高采样率或大量数据的传感器。
    • 时钟: 确保外部高速晶振(通常8MHz)和时钟配置正确,达到72MHz主频。
    • 定时器: 精心规划定时器使用(PWM输入捕获用于接收机、PWM/Dshot输出用于电调、系统时钟、传感器读取等)。STM32F103的定时器是其优势之一。
    • 外设: 合理安排有限的UART、SPI、I2C接口连接必要的外设(接收机、陀螺仪、电调/舵机)。
    • PCB设计: 注意电源稳定性(特别是给陀螺仪供电的LDO滤波)、传感器布局(远离电机、大电流线路)、信号完整性(特别是高频SPI/I2C线路)。

现代推荐替代方案

总结

简单来说:STM32F103做飞控是“过去式”。为了更好的性能和体验,请选择F4或更高性能的MCU。

STM32F103VET6

1970-01-01 08:00:00 至 1970-01-01 08:00:00

ARM系列STM32F103芯片的解密方法

本文介绍ARM系列STM32F103芯片的解密方法,其内核是Cortex-M3,内存从16K-512K都有。

2024-02-28 11:20:34

stm32f103 flash模拟eeprom

STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其中

2024-01-09 11:21:36

基于STM32F103的SVPWM算法实现

基于STM32F103的SVPWM算法实现

资料下载 jinyi7016 2022-03-22 12:12:17

STM32F103用户使用手册

STM32F103用户使用手册

资料下载 倚東聽海 2021-12-06 09:47:21

基于STM32f103的输入捕获测频率和占空比

基于STM32f103的输入捕获测频率和占空比

资料下载 shyshyshy 2021-08-02 10:10:24

基于STM32f103的FFT频率测试程序下载

基于STM32f103的FFT频率测试程序下载

资料下载 shyshyshy 2021-08-02 10:07:20

基于STM32f103使用的DAC正弦波

基于STM32f103使用的DAC正弦波

资料下载 shyshyshy 2021-08-02 10:05:00

学习STM32F103的DAC功能

三勺最近在学习STM32F103的DAC功能,本文主要解释在配置DAC寄存器实现相应功能时遇到的一些问题。

2023-10-24 16:00:10

ARM系列STM32F103芯片的解密方法

破解STM32F103芯片的方法

2023-09-19 09:03:40

ch32v103stm32f103的区别

ch32v103与stm32f103的区别  Ch32v103与STM32f103

2023-08-22 15:49:00

STM32F103 GPIO内部电路图讲解

STM32F103 GPIO内部电路图讲解

2023-02-01 16:32:14

基于STM32F103单片机的矩阵按键设计

本实验使用STM32F103单片机,主题代码通用的。

2022-12-09 17:18:46

芯片短缺如何用HK32F103换掉STM32F103

本篇笔记主要记录因为芯片短缺,使用HK32F103换掉了STM32F103的过程和注意事项。 准备工作 准备之前的STM32F103工程。 测试

2021-11-01 14:14:48

stm32f030和stm32f103功能差异

stm32f030和stm32f103功能差异主要表现在哪?

2021-07-22 09:35:47

7天热门专题 换一换
相关标签