大家好,又见面了,我是你们的朋友全栈君。
一 、无线充电基本原理
无线充电的基本原理就是我们平时常用的开关电源原理,区别在于没有磁介质耦合,那么我们需要利用磁共振的方式提高耦合效率,具体方法是在发送端和接收端线圈串并联电容,是发送线圈处理谐振状态,接收端线圈也是如此
下图就是实际电路应用
无线充电工作基本原理图
发射板主要有控制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;
}
代码语言:javascript复制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,难点主要是接收信号的处理和解码
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124863.html原文链接:https://javaforall.cn
- 快递行业怎么样了快递行业怎么样了 原创 每日财报 每财网 未来行业格局的演进将有望转向服务与产品导向,而电商购物趋势是为消费者提供差异化的快递选择,...
- 英媒评论日本波兰消极比赛:"希洪丑闻"再现央视2018-07-02 09:43在1982年的世界杯上,出现了让人至今不愿提起的”希洪丑闻“,当时联邦德国对战奥地利,德国想要获胜,奥地利只要输2球,一样可以出现。...
- 运营商APN选择推荐APN APN指一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。 对于手机用户来说,可以访...
- 小米5s与小米5哪一个版本好 小米5与小米5S详细差别比较评测-手机数码一、参数对比 小米5s对比小米5升级在哪? 小米5S和小米5参数对比 对比型号 小米5S 小米5 屏幕尺寸 5.15英寸 5.15英寸 CPU型号 高通骁龙821 高通骁龙...
- 2025大额网贷口子哪个利息低?实测这5家通过率高且靠谱摘要:急需资金周转时,选对大额低息网贷能省下不少成本。本文实测对比了近期通过率高、资质正规的5家平台,从利息计算方式、申请门槛到...
- 华为手机内存清理指南:释放手机空间的有效方法在我们的日常生活中,手机已经成为我们不可或缺的工具。无论是社交、娱乐、工作还是学习,手机都扮演着重要的角色。然而,随着时间的推...
- 商人系统及任务详解--收藏家&酒馆老板篇 |越来越黑暗-任务为每周更新 本篇将持续更新至任务全部解锁 要注意如没有特殊标注,则所有提交的任务物品均需战利品状态 战利品状态即在对局中获得带...
- 简单的扑克牌魔术教学 怎么用扑克牌变魔术简单扑克牌魔术教学 一、巧猜两牌 工具:扑克牌一副 效果:左右手各拿一叠扑克牌,甲乙观众在两叠牌里各抽一张牌,记住,插回,洗牌后,...
- 如何统计excel中相同内容的个数(如何把表格中相同的数据统计在一起)咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公 内容导航:如何统计excel中相同内容的...
- qq如何解除屏蔽会话在QQ的日常使用中,我们可能会因为各种原因屏蔽某些会话,但随着时间的推移,有时我们需要解除这些屏蔽。本文将详细介绍如何在QQ中解除屏...