基于压力传感的多手机无线充电器的设计*
2018-10-19尹序臻吴明煌陈方斯林佳萍
尹序臻,吴明煌,陈方斯,林佳萍
(厦门理工学院电气工程与自动化学院,福建 厦门 361024)
1 引言
随着电子技术的快速发展,智能手机、平板电脑等一些电子产品在不断地更新换代,但是,相应电子产品的电池电量有限,各种电子产品有线充电接头不兼容又给人们的使用带来了不便。无线充电具有使用方便、造型美观等优点,因而受到人们广泛的关注,但是市面上现有的无线充电产品主要给单个便携式电子设备进行充电。相对于市面上的无线充电产品,本设计可实现对多台手机同时充电,避免了凌乱充电线的困扰;同时充电有效区域更大,让手机充电摆放位置不受限制;此外本设计具有嵌入桌面的功能,方便且美观。兼容性决定手机无线充电技术的发展前景,Qi协议无线充电标准旨在保证不同品牌间的兼容性,相配套的接收端使得无线充电不再受手机型号限制[1]。
2 系统构成
系统整体硬件结构如图1所示。该装置主要由51单片机、开关电源、应变式压力传感器、电流传感器和LED背光灯条组成。
图1 系统硬件结构
本设计的整体思路为:将接入的220V交流电压通过变电器变压整流输出12V直流电压为系统进行供电,各模块间通过51单片机进行协调控制。
3 功能介绍
本设计具有以下3大功能:
⑴实现对4部手机进行无线充电:文章所提出的方法可根据需求扩展到更多手机的无线充电。
⑵识别手机并执行充电操作:移开或电池充满情况下自动进入待机状态,从而降低功耗。
⑶实现过充、过流保护并显示充电状态:当手机充满后,关闭充电器的充电电路实现保护;如果用户误把金属放置在充电面板上或手机电池损坏,关闭充电电路并发出警报;手机的充电状态有相应的指示灯闪烁提示用户。
4 工作原理
目前,利用电磁感应原理实现电能的无线传输主要分为3类:感应耦合方式、电磁谐振方式和微波辐射方式[2]。本设计采用感应耦合方式的电磁感应原理,由电源管理模块将220 V交流电通过变电器降压整流输出12 V的直流电用于驱动各模块,使用MOS管对半桥逆变电路控制关断,同时提高信号功率[3]。
无线充电发射端由5 V直流电压供电,由51单片机产生PWM控制信号控制逆变电路的 MOS管的导通和截止,驱动芯片
TPS28225内置14 ns的自适应死区时间,使用逆变电路使得上下2个桥臂的MOS管不能同时导通。通过功率驱动电路将功率放大后传送到高频全桥逆变模块,然后驱动发射线圈阵列。接收端接收电能后通过整流、滤波和电压调节向负载端供电。基本流程如图2。
图2 充电模块基本流程
5 负载检测
在手机识别方面是基于压力检测机制。本设计采用压力传感器YTC-133定时扫描的方式检测重量变化,通过定时判断重量变化差值判断负载是否存在以及是否有新的手机存在,相对于使用负载检测技术[4],这种控制方法更简单,且功耗更低。YTC-133采用16位的读取储存方式,单片机发送信号,YTC-133将检测的数据通过自身的AD模数转换生成16位2进制数字量传给单片机。充电器面板上内置压力传感器,若有物体放在充电器面板上时,压力传感器产生信号,单片机检测到信号后进行判断,当质量大于150 g时输出PWM到发射电路,进入充电模式。启动4个发射电路,利用这个原理我们可以让无线充电器不用时刻保持在工作状态,从而达到节能减耗的目的。
图3 负载检测流程
6 过载保护
为了实现过充、过流保护,我们采用电流传感器HTC-LTS。充电过程中单片机通过电流传感器实时监控电流变化。
当4个发射电路启动时通过电流传感器扫描线圈以确定手机放置位置,即确定相对应发射电路电流是否大于设定的阈值(1.2 A),根据手机位置信息保留对应的发射电路,给手机供电。当手机充满,电流传感器检测到发射电路电流减小,即发射电路电流小于设定阈值(1.2 A),则单片机关闭发射电路,停止供电进入待机模式。在过流保护方面,我们通过设定一个安全电流上限值,当充电电流超过安全上限(1.5 A),则停止充电。在充电过程中我们采用LED背光灯条显示充电状态,共有以下状态:
⑴ 进行电路检测时4个蓝色呼吸灯点亮。
⑵ 检测到充电线路时将当前线路的红色呼吸灯点亮,熄灭所有蓝色呼吸灯。
⑶ 当电流充满时,点亮当前线路的蓝色呼吸灯。
这里通过一个按钮控制绿色背光灯条是否工作,可根据用户喜好进行选择。
7 软件流程
软件设计如下图4所示,当压力传感器检测到物体后,51单片机启动所有发射电路。电流传感器采集发射端电流值,首先判断电流值是否超出安全上限,如果超过则代表手机损坏或误放金属类物体,单片机关闭所有发射电路。然后判断电流值是否低于设定阈值,如果低于设定阈值则代表手机已经充满或是由于其他充电位的干扰而产生的干扰电流,单片机关闭相对应的发射电路。具体的程序见附件。
图4 软件流程
8 结语
相对于市面上的无线充电产品,本设计可实现对多台手机同时充电的功能,让用户再也不用被凌乱的充电线所困扰。充电有效区域更大,让手机充电摆放位置不受限制。相配套的接收端使得无线充电不再受手机型号限制。此外,本装置设计具有嵌入桌面的功能,方便且美观。
附件
压力传感程序
#include <reg52.h>
#include <intrins.h>
//函数或者变量声明
void Delay_ms(unsigned int n);
void Get_Weight();
unsigned long HX711_Read(void);
sbit HX711_DOUT=P2^1;
sbit HX711_SCK=P2^0;
unsigned long HX711_Buffer = 0;
unsigned long Weight_Maopi = 0;
long Weight_Shiwu = 0;
unsigned char flag = 0;
bit Flag_ERROR = 0;
sbit error= P1^0;
#define GapValue 400
void main()
{
Delay_ms(1000); //延时1s,等待
传感器稳定
Weight_Maopi = HX711_Read();
//称初始重量
while(1)
{
Get_Weight(); //称重
if(Flag_ERROR == 1)
{
error=0;
}
else
{
error=1;
}
}
}
void Get_Weight()
{
Weight_Shiwu = HX711_Read();
Weight_Shiwu = Weight_Shiwu -
Weight_Maopi; //获取净重
if(Weight_Shiwu > 0)
{
Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue);
//计算实物的实际重量
if(Weight_Shiwu > 150)
//超重报警 MX5 170g
{
Flag_ERROR = 1;
}
else
{
Flag_ERROR = 0;
}
}
else
{
Weight_Shiwu = 0;
}
}
unsigned long HX711_Read(void)
//增益128
{
unsigned long count;
unsigned char i;
HX711_SCK=0;
count=0;
while(HX711_DOUT);
for(i=0;i<24;i++)
{
HX711_SCK=1;
count=count<<1;
HX711_SCK=0;
if(HX711_DOUT)
count++;
}
HX711_SCK=1;
count=count^0x800000;
//第25个脉冲下降沿来时,转换数据
HX711_SCK=0;
return(count);
}
void Delay_ms(unsigned int n)
//12M 1ms
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<123;j++);
}