一、前言
本帖根据负载较为详细的描述电源芯片的选型和设计,中间有一些计算分析过程,不感兴趣的可以直接看总结选用最终方案,有兴趣的可以看看我的分析过程,很多经验是我大学在实验室中长期烧坏实验室芯片得出的结论。
这个diy项目的主要负载如下:
单片机和led的电流很小,主要是多级
负载 | 电压 |
---|---|
sg90舵机 | 5V |
mcu | 3.3V |
led | 5V |
oled显示屏 | 3.3V |
二、功耗电流计算
2.1 计算舵机总功耗
假设你用的是 MG90S(金属齿轮舵机)或 SG90(塑料齿轮舵机):
空载电流:100mA ~ 200mA
满载电流:600mA ~ 800mA(峰值可能 1A)
⚡ 4 个舵机同时运行时,大致功耗:
轻负载(空载转动):4 × 200mA = 0.8A
中等负载:4 × 500mA = 2A
满载(卡住时):4 × 1A = 4A
2.2 计算OLED的功耗
用 STM32F103 驱动 OLED,通常用的是 0.96 寸 I2C(128x64 SSD1306):
平均电流:10mA~30mA
最大电流(满屏亮):40mA 左右
最小电流(黑屏):几 mA
这个电流大小几乎可以忽略不记不需要单独的供电芯片
2.3 MCU的电流驱动能力
2.3.1 STM32F103 GPIO 输出电流
参数 数值
单个 GPIO 最大输出电流 25mA
单个 GPIO 推荐工作电流 <8mA(长期)
所有 GPIO 总输出电流 120mA(VDD 引脚供电能力)
📌 注意:
虽然 单个 GPIO 最多能输出 25mA,但如果多个 GPIO 一起工作,总电流不能超过 120mA。
驱动 LED(几 mA)没问题,驱动舵机(几百 mA)不行!
I2C、SPI、UART 这些接口,信号电流一般在 1~3mA 级别,不会超标。
2.3.2 STM32F103 电源(VCC)供电能力
STM32F103 有 两个主要供电引脚:
VDD(主供电 3.3V)
VDDA(模拟供电 3.3V,通常与 VDD 相连)
如果你的 STM32 通过 USB(CH340、CP2102)供电:
USB 供电最大 500mA(但是 STM32 本身+外围电路就占了几十 mA)
3.3V LDO(AMS1117-3.3V)最大输出 800mA,但高于 300mA 会发热。
如果 3.3V 直接给 OLED 供电(10~30mA),是没问题的。
所以如果 STM32 直接给多个舵机供电,绝对不行!舵机绝对不能接 STM32 的 3.3V 供电,需要 独立 DC-DC 5V 降压供电。
三、 DC-DC降压电源设计
从chatgpt的搜索驱动4个电机+1个OLED屏幕的方案来看,chatgpt最推荐两块3.7V的锂电池串联
最稳定, 锂电池串联和充放电模块的方案我们都实验下,看看能不能带动。
至于为什么不使用7805或者2596这些便宜的稳压芯片,主要还是因为电流太小容易烧毁。
方案 | 推荐度 | 原因 |
---|---|---|
普通 5V 充放电一体模块(1A) | ❌ 不推荐 | 电流太小,不稳定 |
高功率 5V 充放电模块(2A 版) | ⚠ 可用但不稳定 | 仅适合 1~2 个小舵机 |
XL6009 升压 5V(3A 版) | ✅ 推荐 | 适合多个舵机,稳定供电 |
两节 3.7V 串联 + DC-DC 降压(XL4015 5A) | 🚀 最推荐 | 供电最稳定,支持多个舵机 |
3.1 电源供电
常用的玩具类diy的电影通常使用18650锂电池或者7.2V锂电池,或者3.7V锂电池,由于机器狗的结构体积有限,7.2V 2s锂电池和18650电池都无法直接塞下,单独使用一块3.7V锂电池的电压,不足以支撑4个sg90舵机正常运转。使用两块3.7V的锂电池串联起来,下图这种三线锂电池是带bms保护的可以
防止过温过压的危险,黄线是温控线,红正黑负
串联方法:
- 找到两块电池的正负极:
- 正极(+)
- 负极(-)
- 连接方式:
- 第一块电池的正极(+) 连接到 第二块电池的负极(-)。
[ 电池1 ] (+) ——> (-) [ 电池2 ]
注意事项:
- 电池一致性:
- 两块电池的容量(mAh)、品牌、型号、内阻要相近,否则可能导致不均衡放电或充电问题。
- 充放电保护:
- 最好 使用带有保护板(BMS),防止过充、过放、短路等问题。
- 充电方式:
- 如果有保护板:可以直接用 8.4V锂电池充电器 充电。
- 如果没有保护板:需要单独对每节电池进行 平衡充电,否则会导致电池寿命缩短甚至损坏。
3.2 稳压芯片
我们需要5V和3.3V两种电压,我们的电池是3.7V(4.2V)的,使用充放电一体模块可以升压到5V得到5V 2A的输出,供给舵机,我们还需要一路3.3V供给MCU,这一路为了避免电压波动导致的MCU复位,我们使用单独的一路去供电,不并入其他负载,典型的3.3V稳压芯片可以使用ASM1117-3.3V,因为是线性稳压电路也很简单,输入和输出并联几个电容就行了,至于大小和数量没那么讲究,实际测试不并联也能用
注意:AMS1117这种芯片的引脚和7805和2940这种中间地两端输入输出的不大一样,不要接错了
四、总结-硬件材料
- 准备一块3.7V锂电池
- 准备一个充放电一体模块,要2A大电流那种
- 准备一个ASM1117芯片和几个电容