无线充电原理与QI协议详解

一 、无线充电基本原理
无线充电的基本原理就是我们平时常用的开关电源原理,区别在于没有磁介质耦合,那么我们需要利用磁共振的方式提高耦合效率,具体方法是在发送端和接收端线圈串并联电容,是发送线圈处理谐振状态,接收端线圈也是如此

下图就是实际电路应用

无线充电工作基本原理图

发射板主要有控制ic,驱动ic,发射线圈,谐振电容组成

这个是接收线圈,扎数比发射线圈多所以谐振电容可以小一些,方便安装在手机后盖

一 、无线充电通讯协议
上面说了原理,但是为什么无线充电还需要协议呢,原因如下

1、发射板需要确认接收线圈是不是已经放置在发射线圈上方,如果没有接收线圈,发射端不工作降低功耗

2、如果在线圈上放了金属制品会产生涡流导致金属品发热,比如在发射板上放了钥匙那么钥匙就会发热,需要避免这种情况
3、手机充电时电流不同,比如正常充电时1A,充满电的时候电流会降到几十MA,那么发射板功率如果一直恒定不变,当手机充满电时发射线圈接收端的电压会很高,这是负载变小电压升高的原因,所以需要当负载变化时发射线圈功率也需要跟着调节,就像开关电源一样需要电压反馈控制

解决方法:

1通过无线通讯机制来判断是不是金属制品或者没有放置接收线圈,比如接收端线圈必须间隙发送确认信号

2通过无线通讯机制来调节发射端功率

具体方法其实类似RFID,区别在于无线充电是单向通讯,接收端发送信号,发射端接收信号

主要通讯流程如下

1,上电后发射端线圈发射脉冲信号,然后接收端线圈收到信号后返回一个身份识别包信号,然后在发送配置包,比如功率设置

2,当时发射线圈接收到接收线圈发来的信号就可以正常工作了,这个时候接收线圈必须在规定时间内发送信号强度包来调整功率,如果在规定时间内发射线圈没有收到信号就认为接收线圈已经不在发射板上方,导致重新建立握手

各种通讯包格式

包格式如下

这是数据的编码格式,频率为2KHz

调制方式有两种,下图是电容调制和电阻调制,电容调制是接收板常用电路

三、实验验证
用单片机模拟接收线圈控制IC,通过观察发射板的供电情况,我用的是电阻调制,因为比较简单,主要是看下能不能通讯,下面是自己写的代码

这个包格式
前导:11个-25个1
包头:
常用的就是0X01,0X51,0X71,0X03,0X04,
发包顺序是0X01,0X71,0X51,包中间间隔小于21ms
然后0X03和0X04包在充电中发出,间隔小于1.5S和23S
信息:这个就看我发的链接发内容比较多
校验:把包头和包信息异或检验
下面是用NV32开发板的程序,LED3就是调制波形, LED3_On();调制MOS管栅极为高电平

void Header (void)//前导11到25个1,这里用18个1
{
uint8 i;
for(i=0;i<18;i )
{
LED3_On();
delay_us(250);
LED3_Off();
delay_us(250);
}
}
void Code (uint8 aa)//字节编码
{
uint8 i,j=0;
LED3_Toggle();//起始位
delay_us(500);
for(i=0;i<8;i )//数据位
{
if(aa&0x01)
{
j =1;
LED3_Toggle();
delay_us(250);
LED3_Toggle();
delay_us(250);
}
else
{
LED3_Toggle();
delay_us(500);
}
aa>>=1;
}

if(j%2)//检验位
{
      LED3_Toggle();
        delay_us(500);

}
else
{
        LED3_Toggle();
        delay_us(250);
        LED3_Toggle();
        delay_us(250);
}

 LED3_Toggle();//停止位
 delay_us(250);
 LED3_Toggle();
 delay_us(250);

}
void ping (void)//PING包
{
Header();
Code(0x01);
Code(0x80);
Code(0x01^0x80);
LED3_Off();
}
void id (void)//id包
{
Header();
Code(0x71);
Code(0x10);
Code(0x00);
Code(0x01);
Code(0x00);
Code(0x01);
Code(0x00);
Code(0x00);
Code(0x710x100x000x010x000x010x00^0x00);
LED3_Off();
}
void config (void)//配置包
{
Header();
Code(0x51);
Code(0x0a);
Code(0x00);
Code(0x00);
Code(0x00);
Code(0x00);
Code(0x510x0a0x000x000x00^0x00);
LED3_Off();
}
void ConErr (void)//误差控制包
{
Header();
Code(0x03);
Code(0x02);
Code(0x03^0x02);
LED3_Off();
}
void RecPWR (void)//接收功率包
{
Header();
Code(0x04);
Code(0xff);
Code(0x04^0xff);
LED3_Off();
}
int main (void)
{
sysinit();
SysTick_SetCallBack(SysTick_CallBack);
delay_us(500);
LED3_Init();
ping();delay_ms(10);
id();delay_ms(10);
config();delay_ms(50);
while(1)
{
ConErr();//修改包数据可以改变功率
delay_ms(500);
}
}

把IO接到调制MOS管上,发射板就能持续供电了,说明通讯协议是对的,大家可以用其他开发板试一下,就能自己设计无线充电接收线圈了,

下次再用单片机设计一个无线充电发射板控制IC,难点主要是接收信号的处理和解码

(0)

相关推荐

  • 一文看懂无线充线圈为什么要加隔磁片以及无线充隔磁片原理

    在手机.电脑等消费类电子产品领域迅猛发展,无线充电作为一种安全.时尚.便捷的新型充电方式,越来越受到广大消费者的青睐.无线充电器是由220V电源变成交感电磁场,然后交感电磁场再产生一交感电磁场后,由交 ...

  • 新买的手机怎么充电 第一次充电充多久【图文详解】

    新买的手机一般是不能马上进行充电的,一般新买回来的手机的电池都会有一点电量,为了维持手机的运作.新手机如果马上进行充电就很容易损坏电池,以后电池就不那么容易充满电,对手机是不好的.那么新买的手机怎么充 ...

  • 超能课堂:手机无线充电原理及市场主流厂商解决方案

    近几年来,无线充电技术(Wireless charging technology / Wireless charge technology)成为了手机领域的一个热门话题,各大厂商在新款手机发布的时候, ...

  • 三菱FX PLC编程口通讯协议详解

    因工程需要,需要了解三菱PLC编程口通讯协议,以为后续的上位机串口通讯打下相关基础-- 毕竟首次接触此类通讯,对其原理不甚了解,导致走了不少弯路,故记下之,以免忘记. 需要工具与资料: GXDevel ...

  • DNS协议详解及Linux下的配置

    DNS DNS产生的背景 在Internet网中连接着数量众多的主机,要让这些主机进行通信,更多情况下使用IP得知来标识计算机,主机在互联网上靠IP地址进行位置标识.但是这种纯数字的表示方式不便于人的 ...

  • 蓝牙4.0协议详解

    左手智慧 2018-07-31 14:52:59 8318 收藏 34分类专栏: 通讯 蓝牙 文章标签: 蓝牙4.0协议目录一.蓝牙4.0BLE介绍二.蓝牙4.0BLE协议与协议栈的关系三.如何使用蓝 ...

  • modbus通讯协议详解

    modbus通讯协议详解

  • HLS协议详解

    HTTP Live Streaming简称HLS是由Apple提出的基于HTTP的流媒体网络传输协议技术最早应用在iOS相关的设备上比如iPhoneiPadApple TVmacOS电脑等.很多web ...

  • 宝钢焦化厂运用无线开关量信号传输器方案详解

    应用场景 1. 监控中心PLC远程控制现场推焦车除尘风机高低速运转 中国平煤神马集团许昌首山焦化有限公司现场有两台移动工作的推焦车,每台推焦车各装有一个旋转按钮.现需要在监控中心远程控制地面除尘风机高 ...

  • 《Java 底层原理》String字符串详解

    前言 Java 字符串底层是如何存储的,如何提高性能的,今天就来好好了解一下. 字符串的存储结构 Jvm 有专门的字符串常量池用于存放字符串,存放字符串的数据结构是HashTable. HashTab ...