当前位置: 首页 > news >正文

简单理解:Qi 无线充电

Qi 无线充电(WPC 标准)是目前最通用的电磁感应式无线充电技术,核心是高频交变磁场耦合 + 双向数字通信 + 异物检测(FOD),广泛用于手机、耳机、车载、智能家居等。

下面直接给你完整理论 + 硬件架构 + 协议流程 + 发射 / 接收代码(STM32)

一、核心原理(电磁感应)

  • 物理基础:法拉第电磁感应
    • 发射端(TX):DC →高频逆变(110–205 kHz)→ 发射线圈产生交变磁场
    • 接收端(RX):线圈感应出 AC →整流 + 滤波 + 稳压→ 给电池 / 负载供电
  • 关键参数
    • 工作频率:110–205 kHz(BPP/EPP 标准频段)
    • 功率档位:
      • BPP (Baseline Power Profile):5W (5V/1A)
      • EPP (Extended Power Profile):15W (9V/1.67A)
      • Qi2/MPP:最高 30W(磁吸对准)
    • 效率:5W≥70%,15W≥65%
    • 通信:负载调制(RX→TX)+ ASK/FSK(TX→RX)

二、系统架构(TX + RX)

1. 发射端(TX)典型结构

  • 输入:5V/9V/12V(USB-C/DC)
  • 主控:MCU(STM32)或专用 Qi 芯片(TI BQ50021、ST STWBC)
  • 逆变:全桥 H 桥(4×MOSFET)+ 栅极驱动(EG2133/IR2104)
  • 谐振槽:TX 线圈(L=10–20μH)+ 谐振电容 C(f₀=1/2π√LC)
  • 检测:电流采样、电压采样、异物检测 FOD、NTC 温度
  • 通信:解调 RX 的负载调制信号

2. 接收端(RX)典型结构

  • RX 线圈(L≈8–12μH)+ 谐振电容
  • 整流:全桥同步整流(高效率)或二极管整流
  • 稳压:LDO 或 DC-DC(5V/9V 输出)
  • 协议芯片:TI BQ51013/BQ51221、IDT P9221
  • 通信:负载调制(改变线圈负载)向 TX 发指令
  • 保护:过压、过流、过温

三、Qi 协议核心流程(状态机)

标准 Qi 握手必须走以下状态:

  1. IDLE(待机)
    • 低功耗,周期性发Ping 信号检测物体
  2. Analog Ping
    • 短脉冲,检测是否有金属 / RX 线圈
  3. Digital Ping
    • 发送 ASK 信号,RX 应答(负载调制)
  4. Identification & Configuration
    • RX 发 ID、版本、功率能力
  5. Power Transfer(正式充电)
    • RX 通过负载调制实时请求功率(调整占空比 / 频率)
  6. End Power / Fault
    • 充满 / 异常(过温、FOD、过压)→ 停机

四、硬件关键设计(必看)

TX 线圈与 PCB

  • 线圈:利兹线(多股)绕制,外径 40–50mm,L=12–18μH,Q>100
  • 谐振电容:C0G/NPO 高频电容(低 ESR)
  • 禁铜区:线圈下方全层挖空(减少涡流损耗)
  • 差分走线:H 桥输出到线圈等长、宽线、短路径
  • 匹配电阻:100Ω(通信解调)
  • FOD:通过电流 / 频率偏移检测金属异物(最容易失败)

RX 线圈

  • 外径 30–40mm,L=10μH 左右
  • 磁片:铁氧体 / 纳米晶隔磁、增强耦合
  • 整流:用同步整流 MOS 管(效率比二极管高 10%+)

五、发射端代码(STM32 实现 Qi 状态机 + 逆变驱动)

1. 定义与初始化

#include "stm32f1xx_hal.h" // Qi状态机 typedef enum { QI_IDLE, QI_ANALOG_PING, QI_DIGITAL_PING, QI_IDENTIFY, QI_POWER_TRANSFER, QI_FAULT } QiState; QiState qiState = QI_IDLE; // 引脚定义 #define TX_EN_Pin GPIO_PIN_0 #define TX_EN_GPIO_Port GPIOA #define PWM_HA_Pin GPIO_PIN_6 // H桥A相 #define PWM_HB_Pin GPIO_PIN_7 // H桥B相 // 全局变量 uint16_t pwmDuty = 30; // 初始占空比 uint8_t rxPowerReq = 5; // RX请求功率等级 uint32_t pingTimer = 0; // 函数声明 void Qi_StateMachine(void); void TX_PWM_Start(uint16_t duty); void TX_PWM_Stop(void); uint8_t Detect_Rx_Device(void); void FOD_Check(void);

2. Qi 主状态机(核心)

void Qi_StateMachine(void) { switch(qiState) { case QI_IDLE: // 每500ms发一次Ping if(HAL_GetTick() - pingTimer > 500) { pingTimer = HAL_GetTick(); qiState = QI_ANALOG_PING; } break; case QI_ANALOG_PING: TX_PWM_Start(20); // 短脉冲 HAL_Delay(10); if(Detect_Rx_Device()) { // 检测到RX qiState = QI_DIGITAL_PING; } else { TX_PWM_Stop(); qiState = QI_IDLE; } break; case QI_DIGITAL_PING: // 发送ASK握手信号 TX_PWM_Start(30); HAL_Delay(20); if(/* 收到RX应答 */1) { qiState = QI_IDENTIFY; } else { TX_PWM_Stop(); qiState = QI_IDLE; } break; case QI_IDENTIFY: // 读取RX的ID/功率配置 // ... 通信解析 ... qiState = QI_POWER_TRANSFER; break; case QI_POWER_TRANSFER: // 异物检测 FOD_Check(); // 根据RX请求动态调整PWM占空比 pwmDuty = 30 + (rxPowerReq * 5); __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, pwmDuty); __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, pwmDuty); // 过温/过流保护 if(/* 温度>60℃ || 过流 */0) { qiState = QI_FAULT; } break; case QI_FAULT: TX_PWM_Stop(); HAL_Delay(1000); qiState = QI_IDLE; break; } }

3. PWM 驱动(H 桥)

// 启动H桥PWM(互补带死区) void TX_PWM_Start(uint16_t duty) { HAL_GPIO_WritePin(TX_EN_GPIO_Port, TX_EN_Pin, GPIO_PIN_SET); __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, duty); __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, duty); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2); } // 停止PWM void TX_PWM_Stop(void) { HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1); HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_2); HAL_GPIO_WritePin(TX_EN_GPIO_Port, TX_EN_Pin, GPIO_PIN_RESET); }

4. 主循环

int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_TIM3_Init(); // 150kHz PWM(对应Qi频率) while(1) { Qi_StateMachine(); // 1ms周期调用 HAL_Delay(1); } }

六、接收端代码(简化:负载调制发功率请求)

// RX通过控制负载通断(负载调制)向TX发信号 void RX_Send_Power_Request(uint8_t level) { // 负载调制:短时短路/断开整流负载(发送FSK/ASK) // 示例:发3bit功率等级 for(uint8_t i=0; i<3; i++) { if(level & (1<<i)) { // 发送'1':导通负载 HAL_GPIO_WritePin(LOAD_MOD_Pin, GPIO_PIN_SET); } else { // 发送'0':断开负载 HAL_GPIO_WritePin(LOAD_MOD_Pin, GPIO_PIN_RESET); } HAL_Delay(5); // 位宽 } } // 主逻辑 void RX_Main(void) { if(/* 整流电压正常 */1) { // 请求5W(等级5) RX_Send_Power_Request(5); } }

七、常用专用芯片(推荐方案)

  • 发射端(TX)
    • TI:BQ500211A(5W/15W 集成,带 FOD)
    • ST:STWBC-EP(15W EPP,支持 Qi2)
    • 国产:智融 SW5000、英集芯 IP6809
  • 接收端(RX)
    • TI:BQ51221(15W 同步整流)
    • IDT:P9221-R(15W,高集成)
    • 国产:南芯 SC8002、芯海科技 CS32G021

八、调试要点(避坑)

  1. 频率必须 110–205kHz(超范围 WPC 不认)
  2. 谐振必须精准(L/C 计算匹配,示波器看波形)
  3. FOD 是难点:金属异物必须检测并停机
  4. 线圈对准:偏移 > 10mm 效率暴跌
  5. 散热:H 桥与整流 MOS 管必须铺铜散热
http://www.cnnetsun.cn/news/1878448.html

相关文章:

  • 2026年抖音买单真相:3公里内精准引流背后的4大红利
  • 每天睡前问三个问题,比检查作业更有效
  • 安科瑞AIM-T系列工业IT绝缘监测及故障定位解决方案为关键供电场所筑牢安全防线
  • 1 【3D Gaussian Splatting: From Theory to Real-Time Implementation】第一级:基础理论与数学建模
  • 2026届最火的降重复率方案推荐榜单
  • 【2026年最新600套毕设项目分享】微信小程序电影订票系统(30048)
  • 大模型学习指南:收藏这份资料,小白程序员轻松掌握RAG,开启AI新技能!
  • 后端转AI大模型应用开发:小白必看收藏!2026年真实路径与避坑指南
  • OneAPI部署实操手册:从零配置到多渠道管理,支持腾讯混元、通义千问、文心一言等全生态
  • Sub-VLAN 跨三层通信核心知识点(精简版)
  • 32TOPS算力+工业级宽温适配!SE110S-WA32边缘计算微服务器全解析
  • 32 openclaw容器化部署:Docker与Kubernetes集成指南
  • 基于模型剪枝与量化的YOLOv5边缘计算加速:从训练到部署完整实战
  • Jupyter Notebook白屏问题排查与解决全记录
  • arm64麒麟服务器内网离线安装minio
  • 从链表到二叉树:树形结构的入门与核心性质解析
  • 麒麟V10生产环境Nginx 1.28.0部署全攻略:从源码编译到极致优化
  • ConvNeXt 系列改进:ConvNeXt 添加 MetaFormer 风格池化层,简化 Block 并保持性能
  • 该技术通过智能算法识别论文重复内容,并借助语义改写与篇章重构提升文本独特性
  • 【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符
  • Hi3519DV500_Uboot环境变量的定制化配置与实战烧录指南
  • ESP32/ESP8622 -- 使用MQTT协议连接云平台(带图文说明)
  • 【RKNN C++实战】从PyTorch模型到边缘设备:一站式部署流程与性能调优指南
  • 【C++类和对象(中)】—— 我与C++的不解之缘(四)
  • WinDiskWriter:在Mac上制作Windows启动盘的终极解决方案
  • 终极Monitoror路线图:2024年新功能和改进计划全面展望
  • Google API Go Client实战指南:10个技巧构建Gmail、Drive、Calendar集成应用
  • 【IET出版】第十一届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2026)
  • 终极指南:Open Images边界框标注技术详解——600+对象类别的精确定位方案
  • Transformer实战(39)——多模态生成式Transformer