切换到宽版
爱科技/爱创意/爱折腾;电子/数码爱好者的家!欢迎访问新版数码之家网站
  • 34256阅读
  • 13回复

[电源]DIY无线充电器接收端电路,QI协议无线充电器诱骗器 [复制链接]

上一主题 下一主题
离线yhj416606438
 

发帖
564
M币
8888
专家
14
粉丝
66
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-02-04
之前在淘宝上用淘金币买了一块无线充电的发射板,由于当时不知道无线充电还有QI协议,所以认为买回来做一个线圈就能接收电能了,主控是IDTP9035


买回家用自绕的线圈测试,发现LED是间隙闪烁,占空比非常低,当时以为坏了,后来查手册才知道接收端通过线圈发射信号给发射端有点类似有RFID,所以感觉被坑了,本来想买一接收板的,但是觉得没必要,自己应该也能做一个出来,然后通过查数据手册和相关的QI协议资料终于弄明白是咋回事了,最终成功让无线发射板持续稳定的供电,下图是用单片机去驱动控制板在驱动线圈可以长时间点亮LED不熄灭,单片机和控制板都是线圈供电


下面就简单的讲一下QI协议吧,或者可以看百度文库,https://wenku.baidu.com/view/f9600a96336c1eb91a375ded.html 讲的很详细,还可以参见英文版QI协议


这两个是驱动电路,我用的是电阻调制电路


这个编码格式采用差分双相编码,频率2KHz


这个单个数据格式,一共有11位,偶校验






这个包格式
前导: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(0x71^0x10^0x00^0x01^0x00^0x01^0x00^0x00);
    LED3_Off();
}
void config (void)//配置包
{
    Header();
    Code(0x51);
    Code(0x0a);
    Code(0x00);
    Code(0x00);
    Code(0x00);
    Code(0x00);
    Code(0x51^0x0a^0x00^0x00^0x00^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);
        }
}
这个代码没有话,没有进入睡眠模式,电路方面全桥整理效率也比较低,这次主要是为了熟悉QI协议而做的实验




[ 此帖被yhj416606438在2018-02-05 10:47重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共2条打赏M币+23
听雨亭 M币 +8 謝謝分享 2018-11-09
liufabing M币 +15 優秀文章,原創內容 2018-08-11
入门级拆客必备!精致便携/数码之家纪念版12合1拆机工具
 
离线jjd99699

发帖
883
M币
2025
专家
0
粉丝
2
只看该作者 1楼 发表于: 2018-02-04
高人加好人啊!还无私分享代码,赞!

发帖
16073
M币
7865
专家
263
粉丝
233
只看该作者 2楼 发表于: 2018-02-04
哈哈,还要通讯协议啊,我也以为直接充电呢,多谢提供这个知识
离线asiafox

发帖
9288
M币
650
专家
2
粉丝
50
只看该作者 3楼 发表于: 2018-02-04
非常感谢楼主您的分享撒

嘻嘻,还是没看懂啊
楼主威武!!!!!!!!!
离线orsonzou

发帖
1402
M币
2776
专家
39
粉丝
173
只看该作者 4楼 发表于: 2018-02-04
小的是发射板,大的是接收板?
大板需要单片机来控制让小的接收板能持续发射?
http://1129112911.taobao.com/
离线yhj416606438

发帖
564
M币
8888
专家
14
粉丝
66
只看该作者 5楼 发表于: 2018-02-04
回 orsonzou 的帖子
orsonzou:小的是发射板,大的是接收板?
大板需要单片机来控制让小的接收板能持续发射? (2018-02-04 12:06) 回 orsonzou 的帖子

对的,不然收不到电能
离线2545889167

发帖
13268
M币
21234
专家
302
粉丝
4780
只看该作者 6楼 发表于: 2018-02-04
牛逼 相当厉害啊
离线温力口

发帖
60318
M币
183603
专家
569
粉丝
888
只看该作者 7楼 发表于: 2018-02-04
谢谢分享,为钻研精神点赞。。。。。

请问这个LED3_Toggle()是什么意思?
[ 此帖被温力口在2018-02-04 18:20重新编辑 ]
离线yhj416606438

发帖
564
M币
8888
专家
14
粉丝
66
只看该作者 8楼 发表于: 2018-02-04
温力口谢谢分享,为钻研精神点赞。。。。。<br><br>请问这个LED3_Toggle()是什么意思?<div id="alert_63911566" style="color:gray;margin-top:30px">[ 此帖被温力口在2018-02-04 18:20重新编辑 ]</div>
      
驱动口电平翻转
离线dralausky

发帖
3175
M币
10635
专家
8
粉丝
33
只看该作者 9楼 发表于: 2018-02-04
学到了,感谢分享,对于无线充电,损耗怎样呢
暂时没想好,目前就是折腾。