无线充电超级电容驱动小车
番茄沙司鉴赏专家
2018年10月05日 20:14

0.说在前面

    这个设计完成在电赛期间,一直拖更到现在。

    

    这个设计的要求是2018年暑期的Ti杯大学生电子电路创新大赛的C题,题目要求是:

(1)制作一套无线充电装置,其发射器线圈放置在路面。发射器采用具有恒流恒压模式自动切换的直流稳压电源供电,供电电压为5V,供电电流不大于1A。无线充电接收器安装在小车底盘上。每次充电时间限定1分钟。

(2)制作一个无线充电电动车。电动车使用适当容量超级电容(法拉电容)储能,经DC-DC变换给电动车供电。车上不得采用电池等其他储能供电器件。

(3)充电1分钟后,当电动车检测到无线充电发射器停止充电时,立即自行启动,向前水平直线行驶,直至能量耗尽,行驶距离不小于1m。

(4)充电1分钟后,电动车沿倾斜木工板路面直线爬坡行驶,路面长度不大于1m,斜坡倾斜角度自定。综合多方因素设计,使电动车在每次充电1分钟后,电动车爬升高度最大。式中l为小车直线行驶的距离。

1.总体设计

        总体分为两个部分,充电站部分和小车部分,下面将分别介绍。

2.充电站部分

        这里没什么好说的,就是通过单片机计时60s,然后关机无线充电发射端的供电即可。

        主要的设计难点在于整体功率的控制。

供电开关控制流程图

单片机代码:

#include <msp430f5529.h>

 

#define CPU_F ((double)25000000)   //外部高频晶振25MHZ

//#define CPU_F ((double)32768)   //外部低频晶振32.768KHZ

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/25000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/25000.0))

 

//1、共阳:

unsigned char const table_0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

//2、共阴:

unsigned char const table_1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

 

int main(void)

{

    unsigned char key_state=0,num=60,i;

    unsigned char disp_bud[2];

    WDTCTL = WDTPW | WDTHOLD;   // stop watchdog timer

    P1OUT  = 0;

    P1OUT  = BIT1;      // 初始化

    P1OUT |= BIT2;      // P1.2设置为高电平

    P1DIR  = BIT1 + BIT2;     // 按键初始化

    P6OUT  = 0;

    P6DIR  = BIT0 + BIT1;

    P3OUT  = 0X00;

    P3SEL  = 0;

    P3DIR  = 0XFF;

    while(1){

        if(( P1IN&BIT1 ) == 0 ){

            key_state = 1;

        }

        if (( P1IN&BIT1 ) && (key_state == 1 )){

            key_state=2;

        }

        if(key_state == 2){

            P1OUT = 0;          //P1.2输出引脚翻转为低电平

              for(num=60;num>0;num--) {         //计时60秒

                  disp_bud[0] = num % 10;  

                  disp_bud[1] = num / 10;

              for(i=0;i<53;i++){        //个位与十位快速轮流显示

                  P3OUT   = 0;          //显示个位

                  P3OUT   = table_0[disp_bud[0]];

                  P6OUT   = BIT1;

                  delay_ms(10);

                  P3OUT   = 0;          //显示十位

                  P3OUT   = table_0[disp_bud[1]];

                  P6OUT   = BIT0;

                  delay_ms(10);

              }

              }

              if(num == 0){

                  P3OUT  = table_0[0];

                  P6OUT  = BIT0 + BIT1;

                  P1OUT |= BIT2;        //P1.2输出引脚翻转为高电平

              }

            key_state =0;

        }

    }

}

单片机控制流程图

3.小车部分

        这里采用了德州仪器的TPS63020供电管理芯片和超级电容,这两个也是关键部分

        TPS63020芯片的官方介绍是这样的:

Texas Instruments TPS63020电源管理IC为业界最小巧、性能最高的降压-升压转换器,具有4-A开关,效率最高达96%。TI TPS63020电源管理IC可协助智能手机、便携式医疗设备、DLP® Pico 投影仪和其他电池供电的多媒体装置延长电池寿命。TI TPS63020降压-升压转换器能在1.8V至5.5V宽输入电压范围内运作,锂电池放电电压最低可到2.5V或更低,同时仍能维持优异的轻负载效率。

        整体设计的难题在于如何让小车在一分钟充电结束后,自动开始前进。因为无线充电和电容放电规律的问题,采用单片机控制会导致单片机供电不足继而无法工作。后来采用了控制TPS63020芯片的EN端口(相当于芯片开关)的方法来控制系统的运行。

        在无线充电的输出端接入肖特基三极管,正常状态下EN端接地,芯片正常工作,但是此时电容没电所以小车并不运行。在充电时,三极管会让EN端接入高电平,此时芯片不工作。在充电结束后,EN端再次接地,系统正常运行。

4.一点私货

欢迎扫码关注我的微信公众号,科技制作相关内容都在上面。