
手持小风扇这种东西放在几年前谁也想不到它能跟“电源管理”扯上关系。但最近酷态科这款“风扇PLUS”二合一产品确实让不少硬件开发者和数码爱好者多看了两眼一个手持风扇居然内置了充电宝的完整供电链路还能通过 Type-C 口对外放电。价格从标题看只要 118 元起放在“带电池的便携设备”这个分类里这个价格已经压到了相当有吸引力的区间。这篇文章我不想写成一篇导购而是换个角度如果你是一个做嵌入式、硬件或物联网开发的工程师拿到这样一款“风扇 充电宝”二合一产品你应该怎么拆、怎么测、怎么理解它的电路方案以及这类产品背后有哪些值得工程上借鉴的设计思路。先给一个明确判断这类二合一产品本质上不是“小风扇”而是一块带电机负载的移动电源开发板。它把锂电池保护、充放电管理、协议协商、电机驱动、档位控制集成到了一个巴掌大的壳子里。对软件工程师来说它是学习电源管理的好样本对硬件工程师来说它是研究低成本便携设备方案的参考对象对普通用户来说它解决了“出门带两个设备”的痛点。读完这篇文章你会掌握二合一产品的典型硬件架构和核心器件。如何拆解并识别电池、保护板、主控和电机驱动方案。如何用万用表、电子负载、逻辑分析仪等工具做基本测量。如何从功耗和电池容量推算真实续航。这类产品常见的失效模式、坑点和工程建议。1. 为什么一个手持风扇值得做技术拆解先说一个很多人的误解手持风扇 电机 电池 开关。这是十年前的地摊货思路。今天你看到的酷态科“风扇PLUS”这类产品已经是完全不同的物种。如果我们把“风扇 充电宝”拆开来看它至少包含以下功能模块充电输入Type-C 接口支持 PD/QC 等快充协议或者至少支持常见的 5V/9V/12V 输入。电池管理锂电池充电管理、过充过放保护、温度保护、短路保护。升压放电把电池电压升压到 5V/9V/12V 输出给手机或其他设备充电。电机驱动无刷或有刷电机的驱动电路支持多档调速。控制逻辑档位切换、电量显示、充电状态指示、风扇开关机逻辑。也就是说这不是一个“风扇电路”而是一个完整的“电池供电系统”。对开发者而言这类产品最大的价值在于它把一套本来需要自己搭的电源管理方案以极低的成本做成了量产产品而你可以从中学到大量可直接迁移的设计经验。从材料信息看这款产品的标题重点是“CP模块风扇PLUS”和“移动电源供电套装”。这意味着它的卖点不只是风扇本身而是“风扇 充电宝 供电套装”的组合。这种产品定义方式的背后是供应链和芯片方案的成熟。Type-C 接口普及、PD 协议芯片成本下降、高容量锂电价格走低三者叠加才让“百元价位”的二合一产品成为可能。对于开发者来说关注这类产品的意义不在“它吹风凉不凉”而在“它怎么做到的”。接下来我们从硬件架构开始拆解。2. 二合一产品的核心架构与工作原理2.1 系统框图与模块划分一个标准的手持风扇 充电宝二合一设备内部通常分这几大块模块功能典型器件电池储能18650 电芯或软包锂电充电管理给电池充电线性充电 IC 或开关充电 IC升压放电电池电压升压对外输出Boost 升压芯片协议协商识别充电器/受电设备PD/QC 协议芯片电池保护过充、过放、过流保护锂电保护 IC MOS主控 MCU逻辑控制8 位 MCU 或低端 ARM电机驱动驱动风扇电机三极管/MOS 全桥或专用驱动 IC显示与按键人机交互LED、数码管、按键手机平板的充电宝方案大家见得多了但移到风扇上多了“电机”这个动态负载。电机启动瞬间电流很大堵转时电流更大这对电池放电能力和电路稳定性提出了额外要求。这也是二合一产品和普通充电宝最大的差异点它不能只处理静态负载还得处理动态冲击负载。2.2 充放电链路充电链路是Type-C 输入 → 协议芯片协商电压 → 充电管理 IC → 锂电池。放电链路有两条风扇放电电池 → 保护板 → 电机驱动 → 电机。对外放电电池 → 保护板 → 升压芯片 → Type-C 输出。两条放电链路共用电池和保护板但走不同的功率路径。风扇档位越高电流越大对外充电时升压芯片需要把 3.6~4.2V 的电池电压升到 5V 甚至 9V/12V。两个负载同时开启时电池会同时承受两路电流这时候电池保护 IC 的过流阈值就非常关键。2.3 一个容易被忽略的点档位切换的本质表面上看风扇档位是“按一下换一档”但硬件上它做的是 PWM 调速或者电压切换。PWM 调速主控输出一定频率的方波通过 MOS 管控制电机平均电压。线性调速改变电机两端有效电压实现不同转速。PWM 调速效率更高但会产生电磁噪音和电流纹波。这会影响电池电压采样甚至可能干扰到充电宝的协议芯片。所以在设计方案里电机供电和协议芯片供电之间通常会有滤波电路或者电机驱动部分的电源会单独走线。如果你在设计类似产品时发现“充电断断续续”或“协议协商失败”可以先怀疑电机 PWM 干扰。这类问题在原理图上看不出来必须靠示波器测量才能定位。3. 拆解分析与测量环境准备这个章节提供给想动手拆解的读者。拆解之前必须明确一点拆解带锂电池的产品有安全风险操作前请确保电池电量不要太高拆解过程中切勿刺穿电芯也不要让金属工具同时接触电池正负极。3.1 需要准备的工具工具用途十字/一字螺丝刀拆外壳塑料撬棒撬卡扣避免划伤外壳万用表测电池电压、通断、关键节点电压电子负载模拟负载测试放电能力和实际容量可调电源模拟充电输入测试充电电流Type-C 诱骗器 / 协议分析仪查看 PD/QC 协商过程示波器观察电机 PWM 波形、纹波、上电时序热成像仪可选查找发热点和散热设计瓶颈普通开发者如果没有示波器和电子负载用手头的万用表和可调电源也能完成基础测量。本文把方案分成“基础测量”和“进阶测量”两档。3.2 基础测量流程第一步拆开外壳先观察电芯类型。如果是 18650 电芯注意看是正极还是负极焊接是从正规渠道买的品牌电芯还是无标电芯。如果是软包锂电注意看封装是否完整有没有鼓包。第二步测量电池空载电压。正常情况下锂电空载电压应该在 3.6~4.2V 之间。如果低于 2.5V说明电池已经深度过放不建议继续使用。第三步找到充电管理 IC、升压 IC、保护 IC 的丝印用丝印反查工具识别型号。这会直接告诉你设计方案用了哪家方案、支持什么协议、最大电流是多少。第四步测量关键测试点。在充电状态下测量电池两端电压是否在 4.2V或 4.35V/4.4V取决于电芯规格附近在放电状态下测量电机两端电压是否稳定。3.3 进阶测量流程如果你有示波器可以抓三组关键波形电机 PWM 波形确认 PWM 频率和占空比。电池电压纹波在风扇最高档时看电池两端电压波动判断滤波是否足够。升压输出波形对外充电时看 5V 输出的纹波大小。纹波过大说明输出滤波电容不足或控制环路不稳定。这也是很多低成本二合一产品在使用中“手机充电断断续续”的原因之一。4. 功耗测量与续航估算拿到一款二合一产品开发者最关心的往往是续航号称能用多久实际能用多久怎么验证我们用工具实测得到的数据当然最准但通过铭牌参数 功耗模型同样能做出合理估算。4.1 基础公式与折算逻辑电池标称容量是“Ah”但真正有效的是“Wh”也就是瓦时。换算公式Wh Ah × 电压18650 电芯如果是 2500mAh标称电压 3.7V那么能量约为 9.25Wh。但电池放电到 3.0V 截止时可用能量大约是额定能量的 85%~90%。保护板自己也要消耗几十微安到几毫安不等的静态电流。如果长期闲置不充电保护板静态电流会把电池慢慢耗干。估算续航需要知道风扇在各档位的功率。风扇功率 电流 × 电压。你可以用可调电源给风扇供电测出每个档位的电流再乘以电压得到功率。也可以用分压电阻法在电池负极串一个采样电阻用示波器或万用表测电流。4.2 用 Python 写一个简单的续航估算脚本下面给一个最小示例帮助你根据电池容量和档位功率做粗略估算。# -*- coding: utf-8 -*- 风扇续航估算脚本 用法填写电池容量、截止电压、各档位功率 输出各档位理论续航分钟数 def estimate_runtime(capacity_ah, nominal_voltage, cutoff_voltage, power_w, efficiency0.85): 参数 capacity_ah: 电池容量单位 Ah nominal_voltage: 标称电压单位 V cutoff_voltage: 截止电压单位 V power_w: 风扇档位功率单位 W efficiency: 系统整体效率默认 0.85 返回 预估续航分钟数 # 可用能量 容量(Ah) * (标称电压 截止电压) / 2 avg_voltage (nominal_voltage cutoff_voltage) / 2.0 total_wh capacity_ah * avg_voltage # 考虑系统效率 available_wh total_wh * efficiency # 续航小时数 可用能量 / 功率 hours available_wh / power_w minutes hours * 60 return minutes if __name__ __main__: # 示例2500mAh 18650 电芯标称 3.7V截止 3.0V最高档功率 5W cap_ah 2.5 v_nom 3.7 v_cutoff 3.0 power_high 5.0 power_mid 2.5 power_low 1.0 runtime_high estimate_runtime(cap_ah, v_nom, v_cutoff, power_high) runtime_mid estimate_runtime(cap_ah, v_nom, v_cutoff, power_mid) runtime_low estimate_runtime(cap_ah, v_nom, v_cutoff, power_low) print(f最高档 {power_high}W 续航约{runtime_high:.0f} 分钟) print(f中档 {power_mid}W 续航约{runtime_mid:.0f} 分钟) print(f低档 {power_low}W 续航约{runtime_low:.0f} 分钟)运行方式python3 fan_runtime.py预期输出类似最高档 5.0W 续航约83 分钟 中档 2.5W 续航约167 分钟 低档 1.0W 续航约417 分钟注意脚本里的效率只是一个经验值。实际系统效率受升压拓扑、电机效率、线损、温度影响很大。你可以把脚本里的power_w替换成自己实测的档位功率会准确很多。4.3 实测功耗的正确方法最准确的方法不是只测电流而是用“电流记录仪 恒压源”拉曲线。步骤如下把电风扇电机拆下来用可调电源直接给电机供电。将电压调到标称工作电压。记录不同档位下的稳态电流。把电流归一化到电池电压下计算各档位功率。对于没有可调电源的开发者也可以用电池直接供电把万用表串进电池回路分别记录各档位电流。注意电机启动瞬间电流会明显高于稳态电流所以读数要等 3~5 秒稳定后再记录。5. 电源管理方案与充电协议分析这部分是二合一产品方案里最有技术含量的区域。你可能不关心“这个充电宝能不能给手机快充”但如果你在做类似产品你一定会关心协议芯片怎么选、充电曲线怎么配、温升怎么控制。5.1 充电管理方案锂电充电通常分三阶段预充、恒流、恒压。预充电池电压低于 2.8V 时用小电流约 0.1C慢慢充保护电芯。恒流电池电压正常后以设定电流大电流充电。恒压接近满电时电压固定电流逐渐下降直到小于截止电流结束。充电管理 IC 的核心参数包括充电电流、截止电压、截止电流、温度保护阈值。这些参数通常通过外部电阻配置或者在出厂时烧录到芯片寄存器里。实际充电曲线可以用串口或 I2C 从充电 IC 的寄存器里读取。不少充电 IC 支持通过 I2C 读取充电状态、电流和电压。下面给一个示例演示用 Python 通过 I2C 读取充电状态寄存器的思路以常见的 I2C 充电管理芯片为例。# -*- coding: utf-8 -*- 通过 I2C 读取充电管理芯片寄存器信息 假设前提 - 系统使用 I2C 连接充电管理芯片 - 使用 smbus2 库 - 寄存器地址请以实际芯片 datasheet 为准 import time from smbus2 import SMBus # I2C 总线编号需根据实际系统调整例如树莓派上通常是 1 BUS_NUM 1 # 充电芯片的 I2C 地址以实际芯片为准例如 0x6A 只是演示 CHIP_ADDR 0x6A # 演示寄存器地址实际以 datasheet 为准 REG_CHARGE_STATE 0x00 REG_CHARGE_VOLTAGE 0x01 REG_CHARGE_CURRENT 0x02 def read_charge_status(): with SMBus(BUS_NUM) as bus: state bus.read_byte_data(CHIP_ADDR, REG_CHARGE_STATE) voltage_raw bus.read_byte_data(CHIP_ADDR, REG_CHARGE_VOLTAGE) current_raw bus.read_byte_data(CHIP_ADDR, REG_CHARGE_CURRENT) return state, voltage_raw, current_raw def parse_state(state): # 这里只做演示具体位定义取决于芯片手册 if state 0x01: return charging elif state 0x02: return done else: return standby if __name__ __main__: try: state, v_raw, i_raw read_charge_status() print(充电状态: , parse_state(state)) print(寄存器原始值: voltage%d current%d % (v_raw, i_raw)) except Exception as e: print(读取失败请检查 I2C 地址和接线: , e)实际项目中你需要查对应充电管理芯片的数据手册找到正确的寄存器映射然后换算成真实电压和电流。这样的脚本可以作为产测工具的一部分用来快速验证 PCBA 上的充电链路是否正常。5.2 输出协议与放电能力二合一产品在输出侧通常采用 PD/QC 协议或者普通 DCP专用充电端口协议。PD 协议可以提供最高 20V 的电压但对于风扇充电宝这种百元级产品输出能力通常集中在 5V/2A 或 5V/3A 附近部分产品会支持 9V/12V。如果标题提到的“移动电源供电套装”包含多设备供电需求那说明输出协议可能不止一档。值得留意的是二合一产品在电机转动时升压输出能力会下降。因为电池给电机供了一部分电剩余能力才会用于对外放电。在满功率吹风的同时给手机快充往往会出现“充不进去”甚至“边充边掉电”的现象这不是故障而是功率分配策略如此。如果你在设计类似产品建议在固件里对输出电流做动态限制检测到电机功率偏高时降低对外输出功率保证电池不过流。这个策略可以通过主控实时采样电池电流和输出电压实现。5.3 安全保护机制锂电池的安全是硬底线。一个合格的设计方案至少包含过充保护电芯电压超过 4.25V或 4.4V 对应阈限时切断充电。过放保护电芯电压低于 2.5~3.0V 时切断放电。过流保护电流超过设定阈值时切断输出。短路保护输出端短路时快速断开。温控保护NTC 检测电芯温度异常时停止充放电。这些保护并不能完全依赖保护 IC软件层面也要做二次防护。例如主控可以周期性读取电池电压如果持续低于安全阈值应当关闭风扇和输出而不是等到硬件保护动作。下面是主控侧做电压监控的伪代码思路// 主循环中周期性执行 #define BATTERY_LOW_THRESHOLD_MV 3000 #define BATTERY_SHUTDOWN_MV 2800 uint16_t read_battery_mv(void); void power_monitor_task(void) { uint16_t vbat read_battery_mv(); if (vbat BATTERY_SHUTDOWN_MV) { // 关闭风扇 set_fan_enable(0); // 关闭对外输出 set_output_enable(0); // 进入低功耗模式 enter_sleep_mode(); } else if (vbat BATTERY_LOW_THRESHOLD_MV) { // 电量不足提示 set_led_blink(LED_RED); } }这段代码的逻辑很简单但它体现的是“层级防护”思想硬件保护是最后一道防线软件要在此之前主动干预。6. 关键波形测量与调试方法很多开发者第一次测这种二合一产品时会拿示波器乱抓一通结果什么都没抓到。这里给出几个实用的测量点按优先级排序。6.1 电池电压纹波把示波器探头接在电池正负极打开风扇最高档看电压波动。正常情况电压波动应小于 300mV。如果波动超过 500mV说明电池内阻偏大或滤波电容不足。内阻偏大可能是电芯老化或电芯本身质量一般。6.2 电机 PWM 波形把示波器探头接到电机驱动 MOS 管的栅极可以看到 PWM 方波。记录频率常见 PWM 频率在 1kHz 到 30kHz 之间。频率太低会听到电机啸叫频率太高会增加开关损耗。记录占空比不同档位的占空比变化可以反映调速逻辑。如果 PWM 占空比在固定档位下跳动说明控制环路在波动要进一步查 MCU 的定时器配置和供电稳定性。6.3 升压输出波形接上电子负载输出 5V逐步加大电流观察 5V 输出是否稳定。从 0A 拉到额定电流输出电压跌落不能超过 5%。纹波峰峰值一般要求小于 100mV。如果纹波过大优先检查输出电容容值和 ESL、以及电路板的 GND 回流路径。6.4 串口日志抓取如果产品有调试串口很多量产产品的 MCU 会预留 UART 测试点可以尝试用串口工具抓取主控日志。# Linux 下用 minicom 或 screen 打开串口 # 根据实际设备名调整比如 /dev/ttyUSB0 或 /dev/ttyACM0 screen /dev/ttyUSB0 115200如果主控固件开放打印你会看到上电初始化信息、充电状态切换、电池电压采样值等。这个信息对分析“为什么风扇转速不稳”或者“为什么充电无法进入快充”非常有帮助。7. 常见问题与排查思路7.1 问题排查表问题现象可能原因排查方式解决方案风扇不转电池电量低 / 电机驱动 MOS 损坏测电池电压量 MOS 栅极是否有 PWM充电后测试更换 MOS 或驱动芯片风扇转速忽高忽低电池内阻大 / PWM 占空比抖动示波器测电池电压纹波和 PWM更换电芯优化 MCU 供电滤波无法进入快充协议芯片不支持 / CC 线接触不良用诱骗器查看协商电压更换线材或诱骗器验证检查协议芯片配置对外放电断断续续电池过流保护触发 / 升压能力不足电子负载拉载观察输出电压降低输出功率检查保护 IC 过流阈值充电发热严重充电电流过大 / 散热设计不足热成像仪测发热点降低充电电流增加导热垫或散热开孔闲置几天后电量耗尽保护板静态电流过大万用表测电池回路静态电流更换低静态电流保护方案优化休眠逻辑电机啸叫PWM 频率落在人耳可听范围示波器测 PWM 频率将 PWM 频率提到 20kHz 以上或调整驱动波形7.2 典型故障复盘充电无法停充有一个常见问题是风扇充满电后充电电流不下降保护板一直没有进入“充电完成”状态。原因多数不是充电 IC 坏了而是电池端电压采样线接触不良导致 IC 采到的电压偏低永远达不到恒压截止条件。排查时先量电池正负极实际电压再量 IC 的电池检测引脚电压。两处读数不一致就说明检测线断路或接触电阻过大。这个排查思路同样适用于其他带锂电的便携设备。7.3 典型故障复盘低档位介入时有电流声低档位电流声通常来自两个地方电机本身的电磁噪音。升压电路轻载时进入脉冲模式产生音频范围内的开关噪音。如果轻载时电流声明显可以尝试让主控在低负载时固定 PWM 频率不要切换到 PFM 模式。这样噪音可以被推到人耳听阈之外或者至少稳定在一个不容易察觉的频率。8. 二合一产品的工程实践与设计建议如果你不只是想“玩”而是想参考这类产品设计自己的方案下面这些建议是实打实从量产角度总结出来的。8.1 不要把电机和协议芯片共地走线单点连接原理图上看电机、协议芯片、主控共地没有问题但 PCB 布局上如果所有地都从一个点拉到电池负极电机启动和停止时的大电流突变会导致地弹干扰协议芯片的信号完整性。正确做法是“树干式接地”电池负极作为总树干电机驱动的地、主控的地、充电/升压的地各自独立走出一段铜皮再分别回到树干。不要走成环形地环路。8.2 电池保护要分硬件和软件两层硬件保护 IC 的阈值不能设得太紧否则电机堵转时会有误触发也不能设得太松否则电芯会过放。一般电机堵转电流是正常工作电流的 2~3 倍保护 IC 的过流点要设置在这个区间之上但又要低于电芯允许的最大持续放电电流。软件层要做“软保护”采样到电池电压低于阈值时先降档而不是立刻关机。立刻关机对用户体验伤害很大尤其夏天在户外使用时用户需要的是“还能顶几分钟”。8.3 风扇堵转检测必须做手持风扇放进包里扇叶很容易被卡住。如果没有堵转检测电机堵转时电流会持续走高发热严重可能烧毁 MOS 或导致电池保护。常见方案是主控周期性比较电机电流如果在某个档位下电流异常偏高就判断为堵转立即关断输出过一段时间再开放。// 堵转检测伪代码 #define STALL_CURRENT_THRESHOLD_MA 800 #define STALL_CHECK_INTERVAL_MS 50 uint16_t read_motor_current_ma(void); void motor_safety_task(void) { uint16_t current read_motor_current_ma(); static uint8_t stall_count 0; if (current STALL_CURRENT_THRESHOLD_MA) { stall_count; if (stall_count 3) { set_fan_enable(0); stall_count 0; } } else { stall_count 0; } }这个检测逻辑非常简单但效果显著。把它放在定时器中断或 RTOS 周期任务中每 50ms 检查一次连续三次超阈值就关断既能防止误判又能及时保护。8.4 充放电温度检测建议独立一路 NTC很多低成本方案只在充电管理 IC 上接了一个 NTC检测的是充电时的温度。但电机高负载放电时的温度同样重要。建议在主控侧额外接一路 NTC贴在电芯附近由主控统一做温控策略电池超过 45℃ 时限制风扇功率超过 60℃ 时强制关机。这个策略在夏季户外场景非常实用。8.5 用“额定容量 实测效率”标定产品参数很多人对充电宝标称容量的理解有偏差。充电宝厂家常标“电芯容量”比如 10000mAh但实际能输出到手机端的电量还要乘以升压效率和电池放电效率。这个值通常只有 60%~70%。产品说明书如果写“可为 3000mAh 手机充电约 2 次”背后就是按这个效率折算出来的。做二合一风扇产品时建议在说明书和宣传文案里同时写清楚“电芯容量”和“对外输出额定容量”避免售后纠纷。这也是消费者最容易产生误解的地方。9. 从这款产品出发还能深入学什么看到这里你对“风扇 充电宝”这类产品应该有了一个相对完整的工程认知它不只是一个消费品更是一个低成本的综合电源实验平台。如果你对硬件设计感兴趣下一步可以试着自己搭一个 18650 电池 充电管理 IC 升压 IC 电机驱动的原型板。用逻辑分析仪解析充电 IC 的 I2C 寄存器把充电曲线完整记录下来。用电子负载做一次完整的放电测试看看产品标称容量是否有水分。尝试修改主控固件里的 PWM 频率听一听电机噪音的变化。设计一个简单的堵转保护和温控策略看能不能在一个开发板上跑通。如果你是一个软件工程师也可以从这次拆解中学到很多东西寄存器配置、协议协商、功耗管理、保护机制。这些知识在手机、IoT、机器人、便携医疗设备等领域都非常通用。最后提醒一点无论是拆解还是改装都要注意安全。带锂电池的设备不能随意短路、刺穿、过充改固件和电路前要确认自己有配套设备并且在测试环境里验证不要直接对主力设备做实验。工程能力的提升从来靠的不是一个冲动而是一套可重复、可验证的方法。如果你手边正好有这款产品建议按这篇文章的思路拆开看一看用万用表量一量关键节点的电压你会发现很多在参数表上看不到的设计取舍。这就是硬件产品最有趣的地方参数是结果而工程才是过程。