STM32F103 飞控
STM32F103 飞控
更多
好的,关于使用 STM32F103 作为 飞控 (Flight Controller) 的核心微控制器,这是一个在几年前非常流行但现在逐渐被更高性能芯片替代的选择。以下是关键信息和分析:
核心观点
- 曾经的主流,现在已落后: STM32F103(尤其是C8T6、CBT6等型号)在开源飞控(如早期的Cleanflight/Betaflight、Baseflight等)的早期发展中扮演了至关重要的角色。它凭借其强大的性能(相对于当时的8位/16位MCU)、丰富的外设(尤其是定时器、串口、ADC)和相对低廉的价格,成为了DIY飞控的热门选择。
- 性能瓶颈日益明显:
- 主频较低: 通常工作在72MHz,对于现代飞控软件(尤其是运行复杂滤波器如卡尔曼滤波、导航算法、OSD叠加、黑匣子记录、丰富协议支持等)来说显得力不从心。
- 内存有限: SRAM通常只有20KB(如C8T6)或64KB(如RCT6/CBT6)。现代飞控固件(如Betaflight, iNav)需要更大的内存来存储配置、运行堆栈和处理传感器数据流。
- FLASH 有限: 64KB/128KB/256KB的FLASH存储固件代码,对于功能丰富的现代飞控固件来说空间紧张,限制了功能扩展。
- 现代主流飞控固件的支持:
- Betaflight: 官方早已停止对STM32F1系列(F103属于此系列)的支持。 最后一个支持F1的版本已经很老旧(例如 3.5.x 系列),且缺乏新功能和性能优化。强烈不建议在新的飞控项目中使用STM32F103运行Betaflight。
- iNav: 官方也已终止对STM32F1系列的主要支持。虽然可能有社区维护的特定F1目标,但更新缓慢,功能受限,同样不推荐用于新项目。
- ArduPilot/PX4: 这些更偏向自动驾驶和大型应用的固件,对硬件要求更高,基本从未或很早就放弃了对STM32F103的支持。
- 为什么现在不推荐作为主飞控核心?
- 无法流畅运行现代算法: 姿态解算、控制律等核心算法在现代固件中优化得更好但也更复杂,F103难以满足实时性要求,尤其在高速飞行或复杂机动时可能导致性能下降或不稳定。
- 功能限制: 难以支持新功能如GPS救援、双向Dshot、动态滤波器、高级Blackbox分析、丰富的OSD信息、Lua脚本支持等。
- 传感器带宽瓶颈: 现代高速陀螺仪(如32KHz采样)和加速度计产生的数据量,F103的SPI/I2C速度和CPU处理能力成为瓶颈。
- 外设限制: 定时器数量和功能(用于PWM/Dshot/Servo输出)、UART数量(连接接收机、GPS、图传、OSD、测距仪等)都可能不足。
- 开发资源枯竭: 主流固件不再维护F1目标,遇到问题很难找到官方支持和解决方案。
如果你坚持或必须使用STM32F103做飞控
- 固件选择:
- 寻找旧版或特定分支: 只能使用非常老版本的Betaflight(如3.5.X)或iNav(支持F1的旧版)。或者寻找一些小型、专为F1优化的开源飞控项目(但这需要自己投入更多精力开发和维护)。
- 自己开发固件: 作为学习项目,从头开始编写一个简易的飞控固件。这是深入理解飞控原理(传感器读取、姿态解算、PID控制、电机输出)的好方法,但难度极大,且最终性能和功能无法与成熟固件相比。
- 预期性能:
- 只能用于低速、小型的多旋翼(如空心杯微型机)。
- 功能非常基础:基本飞行控制、可能支持Acro/Angle模式。GPS、OSD等功能实现困难或效果差。
- 飞行性能(响应速度、稳定性)会显著低于现代主流飞控。
- 硬件设计关键点:
- 选型: 优先选择 SRAM 更大的型号,如 STM32F103RET6/CBT6 (64KB SRAM) 或 VET6 (128KB SRAM)。
- 传感器: 选择较老型号或性能要求不高的传感器(如MPU6050陀螺仪加速度计)。避免使用需要高采样率或大量数据的传感器。
- 时钟: 确保外部高速晶振(通常8MHz)和时钟配置正确,达到72MHz主频。
- 定时器: 精心规划定时器使用(PWM输入捕获用于接收机、PWM/Dshot输出用于电调、系统时钟、传感器读取等)。STM32F103的定时器是其优势之一。
- 外设: 合理安排有限的UART、SPI、I2C接口连接必要的外设(接收机、陀螺仪、电调/舵机)。
- PCB设计: 注意电源稳定性(特别是给陀螺仪供电的LDO滤波)、传感器布局(远离电机、大电流线路)、信号完整性(特别是高频SPI/I2C线路)。
现代推荐替代方案
- STM32F4系列: 性价比极高的主流选择。如STM32F405/STM32F411 (168MHz, 128KB+ SRAM, 1MB FLASH)。广泛支持于Betaflight, iNav, ArduPilot/PX4。
- STM32F7系列: 更高性能。如STM32F722/F745 (216MHz/240MHz, 256KB+ SRAM)。支持更复杂的功能和传感器。
- STM32H7系列: 旗舰级性能(400MHz+,大RAM/FLASH),用于高端、专业或需要强大计算能力的飞控(如视觉导航)。
- 其他厂商: AT32 (雅特力) 等兼容替代芯片(如AT32F403/413/435)在性能和价格上也有竞争力,且部分被主流固件支持。
总结
- STM32F103 曾经是 飞控的功臣芯片,在开源飞控早期非常流行。
- 由于其性能(主频、内存)和外设的限制,无法有效运行现代的、功能丰富的飞控固件(Betaflight, iNav等)。
- 主流飞控固件官方均已停止对STM32F1/F103系列的支持。
- 强烈不建议在新的飞控项目中使用STM32F103作为主控制器。 选择它意味着功能受限、性能落后、固件选择少且陈旧、开发和维护困难。
- 如果作为学习平台或个人挑战,可以尝试基于旧版固件或自行开发简易飞控,但要对其性能有合理预期。
- 对于实际应用和良好飞行体验,请选择 STM32F4 (如F405, F411) 或更高性能的 STM32F7/H7 系列芯片作为飞控核心。这些芯片价格合理,资源丰富,能充分发挥现代飞控软件的能力。
简单来说:STM32F103做飞控是“过去式”。为了更好的性能和体验,请选择F4或更高性能的MCU。
STM32F103VET6
1970-01-01 08:00:00 至 1970-01-01 08:00:00
stm32f103 flash模拟eeprom
STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其中
2024-01-09 11:21:36
芯片短缺如何用HK32F103换掉STM32F103
本篇笔记主要记录因为芯片短缺,使用HK32F103换掉了STM32F103的过程和注意事项。 准备工作 准备之前的STM32F103工程。 测试
2021-11-01 14:14:48
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机