参赛队代码:
2018年天津市大学生电子设计竞赛(TI杯)
设 计 报 告 封 纸
摘 要
本作品主要包括无线充电装置、无线充电电动车和超级电容储能装置。首先先将5V的直流电经过LC自激振荡电路逆变成高频800kHz的交流电,然后在一次侧,通过ATmega16单片机控制舵机动作隔离副边电路,此时继电器常闭触点动作,电容不充电,按下按键继电器恢复,同时定时1分钟,交流电经过发射线圈向接收线圈传递能量,通过磁耦合谐振式无线电能传输方式,接收线圈与接收线圈发生谐振耦合,将电能转换成磁场能量进行传输,从一次侧传送到二次侧的能量经过全桥整流环节后供给超级电容储能,定时结束后继电器动作,发射线圈停止向接收线圈传递能量,同时舵机动作,使得副边电路接通,小车立即启动。通过测试,小车可满足全部要求。
关键词:LC自激振荡逆变;磁感应谐振式无线传能;全桥整流;超级电容
无线充电电动小车(C题)
【本科组】
一、系统方案
本系统主要由单片机最小系统、谐振逆变电路、超级电容储能电路、单相全桥整流装置、继电器、舵机、电动小车运动装置组成,下面分别论证这几个部分的选择。
1、主控制器件的论证与选择
控制器选用
方案一:采用stm32f103系列单片机。主频高,但同时也使它的耗能较高,工作电压。而且主芯片引脚复杂,stm32,适合较复杂算法,不符合本题需求。
方案二:采用以增强型ATmega16内核的AVR系列单片机,AVR单片机其显着的特点为高性能、高速度、低功耗、无需外部晶振,工作电压外围电路简单,非常适合本系统的设计。通过比较,我们选择方案二。 控制系统方案选择
方案一:PCB印刷电路板—自制印刷电路耗时耗力,会影响整体进度,不宜采用该方案。 方案二:手工焊电路板—由于需要的电路结构较简单,自己焊能缩短实现周期,通过比较,我们选择方案二。
2、逆变电路的论证与选择
方案一:半桥式电路—具有一定的抗不平衡能力,对电路对称性要求不很严格;成本比全桥电路低。但电源利用率比较低,损耗大。同时与驱动信号的连接比较麻烦。
方案二:全桥式电路—与推挽结构相比,原边绕组减少了一半,开关管耐压降低一半。但使用的开关管数量多,且要求参数一致性好,驱动电路复杂,实现同步比较困难。
方案三:LC自激振荡电路—不需要外部控制信号的驱动,能够完全依靠自身实现振荡,因而控制电路极其简单,极大地提高了整个系统的效率。综合以上三种方案,选择方案三。
3、控制系统的论证与选择
无线电能传输方式对比 方案一:电磁感应式
传输功率数瓦,传输距离数毫米-数厘米,充电效率80%。适合短距离充电,转换效率较高;但需要特定摆放位置,才能精确充电,金属感应接触会发热[1];
方案二:磁场共振式
传输功率数KW,传输距离数厘米-数米,适合远距离大功率充电,转换效率适中[1]; 方案三:无线电波式
传输功率大于100mW,传输距离大于10m,远距离小功率充电,自动随时随地充电;限制转换效率较低,充电时间较长,传输功率小[1]; 方案四:电场耦合式
传输功率1-10W,传输距离数毫米-数厘米,适合远适合短距离充电,转换效率较高,发热较低,位置可不固定;限制体积较大,功率较小[1]。
综合考虑采用方案二。 充电后小车自行启动方案对比
方案一:用抽绝缘片的方式控制小车立即启动
用绝缘片隔绝电路,但是需要在每次出发前人为插绝缘片,1分钟计时到后再人为抽离,使得电路接通,小车得电启动。
方案二:用舵机配合继电器的方式控制小车立即启动
在一次侧,继电器控制发射线圈所在电路,用舵机进行绝缘片的抽拔,实现自动化。另外,充电时继电器不工作,断电时继电器工作,有效节省电能,提高用电效率。综上采用方案二。
小车爬坡驱动方式对比
方案一:前驱型—动力传递直接,减少了损耗,运转效率更高,但是操控性较差,转向不足。 方案二:后驱型—操控性好,起步加速好,有利于起步、加速和爬坡,缺点是动力损耗较大。
综合考虑采用方案二。
4、谐振耦合线圈绕法的论证与选择
方案一:螺线管式线圈结构
螺旋管式谐振耦合线圈结构,磁场强度较大,空间磁场分布比较均匀,有较好的方向性,适合中等距离的无线电能传输,但是容易受周围环境的影响,传输效率较低[2]。 方案二:可分离变压器结构
可分离变压器结构,磁耦合性比较强,系统的传输功率较大,并且传输效率也高。但是由于原边线圈与副边线圈距离较近,传输距离比较短[2]。
方案三:平板式线圈结构
虽然电感值仅有几微亨或几十微亨,但体积小,比较薄,发射面积和接收面积均比其他方式大,节省空间,提高收发线圈的效率,适用于固定位置进行充电的无线电能充电装置中
[2]
。
综合考虑采用方案三。
5、整流电路的论证与选择
方案一:单相半桥整流—开关管数量少,成本相对较低,抗不平衡能力强。
方案二:单相全桥整流—驱动电路较复杂,但在相同的开关电流和电源输入电压下,全桥式的输出功率是半桥式的两倍。综合考虑采用方案二。
二、系统理论分析与计算
1、无线电能传输方式的分析
(1)磁感应谐振式无线电能传输原理
磁感应谐振式无线电能传输系统的发射线圈和接收线圈有着相同的频率,当发射线圈和接收线圈中产生相同的驱动信号时,两线圈发生谐振,当产生谐振时磁耦合回路中的阻抗最小,一次侧的发射线圈能高效率的将电能通过磁场耦合将电能传送到二次侧的接收线圈[3]。
2、无线充电电路的计算
(1)频率
线圈电阻 R、线圈分布电容 C、线圈电感 L 构成了 RLC 谐振电路,谐振频率为:f12LC
(2)电感
一般情况,线圈绕制紧密、线圈匝数多,线圈的电感值就比较大;线圈内部加入铁心比无铁心的线圈电感值大[2]。对于谐振耦合线圈来说,电感值的大小要根据整个磁耦合谐振式无线电能系统来确定,谐振耦合线圈电感计算公式为:
L0N2rln8r/a1.75 经过测量,r=,N=4,a=,计算得到L3106H (3)电容
将绕制谐振耦合线圈的每匝导线当作均匀的圆柱体,两匝线圈之间的匝间电容为:
C22r0/lnh/2a1h/2a1
2式中,a为线圈导线的界面半径,r为谐振线圈的平均半径,0为空气介数,h为谐振耦合相邻线圈圆心之间的距离。N 匝谐振耦合线圈的分布电容为:CC1/N1 (4)磁感应谐振式无线电能传输拓扑
为了提高磁耦合谐振式无线电能传输系统的传输功率和传输效率,需要对一次侧和二次侧电路加入谐振补偿[3]。本设计选用S-P补偿,即一次侧串联电容、二次侧并联电容进行补偿。
SP2M2RL{R11RLRL22jLRjLM}RjL2221C21jC2RL1jC2RL1
3、超级电容选值的计算
电容值C106A/(3.6d)(F),它所储存的能量为E0.5CU2[4]
三、电路与程序设计
1、电路的设计
(1)系统总体框图如图1所示(2)无线传能子系统框图如图2与电路原理图如图3和4
2、程序的设计
(1)程序功能描述与设计思路
1、程序功能描述:按键实现功能:控制继电器是否工作
2、程序设计思路:当超级电容充电的时候,继电器不动作,故不耗能,当定时1分钟后,继电器动作,使得发射线圈停止向接收线圈传能,超级电容停止充电,同时舵机拨开塑料片使得电路接通,小车得电运动。
原边侧副边侧高频逆变发射线圈控制继电器ATmega16控舵机制接收线圈整流法拉充电电容电动小车供电直流源振荡逆自变激LC
磁耦合谐振式无线电发能传输射线控圈制继电器图1 系统总体框图 图2 收发线圈子系统框图
5V接收线圈全桥整流
图3 无线充电发射装置电路 图4 无线充电接收装置电路
(2)程序流程图
1、主程序流程图如下图5。 2、小车定时1min后立即启动子程序流程图如图6。
四、测试方案与测试结果
1、测试方案
(1)硬件测试
电感选值:先选用单圈空心铜管测试,再更换平板式绕制的励磁线,十多圈时L较大,ff较小,传输效率较低;于是减小圈数,选择电感适中,频率适中的圈数使得传输效率达到最大。电容选值:将数值较小的电容并联整齐插成一排,通过一个一个插拔测试,选出传输效率最高的电容值。
(2)软件仿真测试
LC自激荡高频逆变电路通过multisim14软件对电路进行仿真调节数值得出最好的输出波形。
开始单片机上电继电器常闭触点断开是否断电?否是否按下按键?是继电器常闭触点恢复定时1min舵机旋转小车立即启动发射端充电发射端不充电是否结束开始继电器常闭触点不动作超级电容充电计时1分钟表1原边电容测试结果 C/nF
U/V
I/A
?/%
继电器动作停止充电舵机旋转,副边电路接通
小车立即启动 图5 主程序流程图 图6小车定时1min后立即启动子程序流程图
(3)硬件软件联调
通过ATmega16单片机烧写定时1分钟程序,1min延时后,通过控制继电器和舵机动作,使得发射线圈停止向接收线圈传能,充电结束,小车立即启动。
2、测试条件与仪器
测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。测试仪器:直流电源,模拟示波器,数字示波器,数字万用表。
3、测试结果及分析
(1)原边电容测试结果(数据)如表1所示 (2)测试分析与结论
根据上述测试数据,不同电容值下充电效率,由此可以得出以下结论:随着电容值的增大,效率先增大再下降。综上所述,本设计达到设计要求。
五、参考文献
[1]
[2]杜博文.磁耦合谐振式无线电能传输系统的研究[D].湖南工业大学.2017. [3]董苗苗.磁耦合谐振式无线电能传输的研究[D].华北电力大学.2014.
[4]刘永奇,范君柳,潘金荣,罗宏,徐文,伍佳才.高效太阳能电池[J].红外,2011,32(03):38-41
附录1:电路原理图
LC自激振荡原理图
LC自激振荡电路波形图
附录2:源程序
主程序代码
#define uchar unsigned char #define uint unsigned int #include <> #include <>
#include \"\" #include \"\"
#define Time 60*2
void main(void) {
unsigned char n; uint ZKB; DDRD= 0xFF; PORTD=0xBF;
Timer2_init(); //初始化定时器2 Timer0_Init(); //PWM初始化 Key_Init();
EXIT1_Init(); //PD2 外部中断0 SEI(); //开总中断 Delay(6000); Delay(6000);
Timer0_Init(); // PWM 初始化 while(1) {
if (Time_num == Time) {
Time_num = 0;
Set_Bit(PORTD, 1); Reset_Bit(PORTD, 6);
TIMSK &= ~(1<<6); // 第六个 是T2的中断开启
OCR0 = (uchar)((100-11)*255/100); } } }
定时器代码 #include \"\" uchar Time_num;
//TIMER0 initialize - prescale:1024 // WGM: Normal
// desired value: 10mSec // actual value: %)
void Timer2_init(void)//10ms {
TCCR2 = 0x00; //stop
timer interrupt sources TCNT2 = 0xB2; //set count OCR2 = 0x09; //set compare TCCR2 = 0x05; //start timer
TIMSK &= ~(1<<6); // 第六个 是T2的中断开启 timer interrupt sources }
void Timer0_Init(void)//10ms {
PORTB = 0xff; DDRB = 0xff; TCCR0 = 0x10;
OCR0 = (uchar)((100-11)*255/100); //OCR0 = 0X10; //OCR0 = 128; TCNT0 = 0x00; TCCR0 = 0x7B; }
#pragma interrupt_handler timer2_ovf_isr:iv_TIM2_OVF void timer2_ovf_isr(void) {
static unsigned char t2_ovfnum;//t0软件定时计数器 TCNT2 = 0xB2; //reload counter value t2_ovfnum ++;
if(t2_ovfnum == 50)//500ms {
t2_ovfnum = 0; Time_num++;
if (Time_num < 55*2)
PORTD^=BIT(1);//LED电平取反 else
Reset_Bit(PORTD, 1);
//LED_PORT ^= BIT(LED1); } }
按键代码 #include \"\" #include \"\"
//独立按键初始化
//独立按键 PB4和PB5 void Key_Init(void)
{
DDRB |= (1<<4)|(1<<5); PORTB|= (1<<4); }
uchar Key_Scan(void) {
uchar temp=0,flag4=0,flag5=0;
if (Get_Bit(PINA, 4)==1) {
Delay(100);
if (Get_Bit(PINA, 4)==1) flag4=1; }
if (Get_Bit(PINA, 5)==1) {
Delay(100);
if (Get_Bit(PINA, 5)==1) flag5=1; }
if (flag4==1 && flag5==0) temp=1; if (flag4==0 && flag5==1) temp=2; if (flag4==1 && flag5==1) temp=3; if (flag4==0 && flag5==0) temp=0;
return temp; }
因篇幅问题不能全部显示,请点此查看更多更全内容