找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 455|回复: 2
收起左侧

如何知道电流方向

[复制链接]
ID:1146155 发表于 2026-5-11 16:06 | 显示全部楼层 |阅读模式
ETA9742我想使用C口和A口,C口和A口是并联关系,但是如果A口负载不断开,C口即使插入充电器 还是放电转态,我想过基于ETA9742的输出的引脚状态,用MOS管去控制A口是否通断,但是控制逻辑好像有问题,9742应该是先检测负载之后 在输出状态。逻辑上是有问题的,我再想如果知道电流方向的是不是就可以了呢?如何实现知道电流方向呢
回复

使用道具 举报

ID:1171190 发表于 2026-5-11 21:11 | 显示全部楼层
# ETA9742 Type‑C + USB‑A 双口防倒灌、充电优先控制方案(
- ETA9742 逻辑:**先检测负载 → 再决定升压输出**
- 现状:A 口一直带负载 → 芯片保持**放电升压** → 插 C 口充电器也无法进入充电
- 需求:**C 口插入充电时,强制切断 A 口输出,保证充电优先**

**用电流方向判断充/放电 → 控制 A 口通断**
1. 电流**流出(负载取电)** → 放电模式 → A 口**打开**
2. 电流**流入(充电器插入)** → 充电模式 → A 口**关闭**
优点:不受 ETA9742 检测时序影响,**充电 100% 优先**

--三、整体方案(硬件 + 控制 + 电路)
1)系统结构
1. ETA9742 升降压核心
2. VBUS 串联高精度采样电阻5mΩ/10mΩ
3. INA219 双向电流/电压检测(判断方向)
4. STM32 读取电流方向,控制 A 口 MOS
5. A 口使用 PMOS 做总开关


2)电流方向判断原理(关键)
- 采样电阻两端:
  - VBUS → 负载:电压差为正 → 放电
  - 充电器 → VBUS:电压差为负 → 充电
- INA219 直接输出电流方向位,STM32 一读就知
A 口控制电路(标准双MOS驱动)
- PMOS(AO3401):切 A 口正极
- NMOS(AO3400):驱动 PMOS
- 控制逻辑:
充电模式:STM32 输出低 → NMOS 截止 → PMOS 截止 → A 口关闭
放电模式:STM32 输出高 → NMOS 导通 → PMOS 导通 → A 口打开
初始化 INA219
循环:
    读取电流值 I
    读取方向位 DIR
    IF 电流方向为 流入(充电):
        关闭 A 口输出(控制脚 = 低)
    ELSE
        打开 A 口输出(控制脚 = 高)
    更新 OLED 显示:电压/电流/功率/SOC/方向
充电器 → Type‑C → VBUS
VBUS ——[ 5mΩ 采样 ]—— ETA9742 输入
ETA9742 输出 ——[ PMOS ]——> USB‑A 口
INA219 采样端 并在 5mΩ 电阻两端
INA219 SDA/SCL → STM32
STM32 控制脚 → NMOS → PMOS 栅极
1.充电绝对优先,插充电器立刻切断 A 口
2. 不干扰 ETA9742 自身升降压逻辑
3. 电流方向判断精准,不误动作
4. 成本低、电路简洁、稳定性强
5. 可直接移植到充电宝/便携电源类产品
本系统针对ETA9742双口输出时负载影响充电的问题,采用电流方向检测+充电优先控制策略。通过在VBUS端串联采样电阻,利用INA219实现充放电方向判断;当Type‑C口插入充电时,系统立即切断USB‑A口输出,避免负载拉载导致芯片无法进入充电状态。该方案实现了充电保护与负载控制的解耦,提升了系统在多口应用下的稳定性与安全性。
回复

使用道具 举报

ID:1171197 发表于 2026-5-11 22:36 | 显示全部楼层
接买现成的"电流检测开关"或"理想二极管控制器"。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表