基于PID控制的DC-DC升压开关电源设计

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于PID控制的DC-DC升压开关电源

专业:电子信息科学与技术

班级: 0310412班

学号: *********

*名:***

一、设计要求

本课程要求设计一个基于PID控制的DC-DC升压开关电源,输入低压直流信号,输出为高压直流信号。

设计要求:

1、输入1.5V直流,输出5~12V、30mA直流

2、在额定负载情况下,纹波的峰-峰值<=30mV

3、应用PID控制程序

二、设计方案

1、理论基础

The boost converter,是一种开关直流升压电路,它可以是输出电压比输入电压高。

在充电过程中,开关闭合(三极管导通),等效电路如图二,开关(三极管)处用导线代替。这时,输入电压流过电感。二极管防止电容对地放电。由于输入是直流电,所以电感上的电流以一定的比率线性增加,这个比率跟电感大小有关。随着电感电流增加,电感里储存了一些能量。

当开关断开(三极管截止)时,由于电感的电流保持特性,流经电感的电流不会马上变为0,而是缓慢的由充电完毕时的值变为0。而原来的电路已断开,于是电感只能通过新电路放电,即电感开始给电容充电,电容两端电压升高,此时电压已经高于输入电压了。升压完毕。

说起来升压过程就是一个电感的能量传递过程。充电时,电感吸收能量,放电时电感放出能量。如果电容量足够大,那么在输出端就可以在放电过程中保持

一个持续的电流。如果这个通断的过程不断重复,就可以在电容两端得到高于输入电压的电压。

2、实际方案

本课题采用驱动式开关升压方式,主要利用电容和电感的储能特性实现。具体可以分为以下几个部分。

第一个是振源,因为是开关电路,所以需要利用高频的方波信号实现三极管的导通与截止。然后的主放大电路用来给负载端升压,需要一个三极管和一个电感,利用电感的储能实现直流信号的输出。由于在开关闭合的瞬间,电感上会产生巨大的瞬时电压,而且电感的充电与放电是交替进行的,所以输出不可能是一个单纯的直流信号,那么就需要一个滤波电路把交流信号滤除。之后为了稳定输出电压,就需要一个负反馈调节电路来控制主放大电路的开关。

三、方框图

振荡源主电路滤波电路

控制部分

四、具体电路设计

1、振荡电路

此部分电路是由stm32单片机提供振荡源,具体程序参见附录。

2、主电路

主电路就是要完成从输入到输出的升压过程,它主要由一个大功率三极管和一个上拉电感构成,三极管主要用于配合输入的方波进行开关转换,电感的作用是将电能和磁场能相互转换的能量转换器件,当三极管开关管闭合后,电感将电能转换为磁场能储存起来,当三极管断开后电感将储存的磁场能转换为电场能,且这个能量在和输入电源电压叠加后通过二极管和电容的滤波后得到平滑的直

流电压提供给负载,由于这个电压是输入电源电压和电感的磁砀能转换为电能的叠加后形成的,所以输出电压高于输入电压,即升压过程的完成。

不过为了防止三极管截止时产生的过高的电压烧坏元器件,所以我们在电感的两端并联一个电容用来吸收电压,保护元件。

3、滤波电路

由于我们需要的输出为直流信号,但是在借助电感进行充放电的时候混入了一些交流信号,所以需要滤波电路来帮助滤除这些交流信号。

在主电路的输出上先接一个二极管,这个二极管主要起隔离作用,当三极管截止时,二极管的正极电压比负极电压低,此时二极管反偏截止,使此电感的储能过程不影响输出端电容对负载的正常供电。当三极管导通时,两种叠加后的能量通过二极向负载供电,此时二极管正向导通,要求其正向压降越小越好,尽量使更多的能量供给到负载端。

之后的滤波电路采用LC复式滤波电路,如果单独使用电容或电感来滤波,可能效果不够理想,所以同时使用两个元件,利用他们对直流和交流呈现出的不同的电抗特性,选择合适的参数,就可以完成滤波。

五、软件设计

本系统可采用开环或者闭环控制,基于输出的要求较高,本系统采用闭环控制。而关于闭环控制,软件最好采用PID调节。

PID调节器分为位置式PID和增量式PID,其区别有:

(1)位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大;

(2)增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。

(3)由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。

故本设计采用增量式PID控制方法,其程序在附录中给出。

附录

以下是主要程序,其他未给出。MAIN.C

#include #include "math.h"

#include "sys.h"

#include "usart.h"

#include "delay.h"

#include "led.h"

#include "KEY.h"

#include "adc.h"

#include "joy.h"

#include "lcd.h"

#include "pid.h"

#include "timer.h"

#include "24cxx.h"

#include "Touch.h"

u32 setp;

u8 p,i;

int pro_controller(u32 x) {

s32 pwm = 0;

PIDsetpoint(setp);

PIDSetKp(p);

PIDSetKi(i);

PIDSetKd(5);

pwm=IncPIDCalc(x) ;

return pwm;

}

void display_voilate(u16 x)

{

float temp;

LCD_ShowNum(156,110,x,4,16);//显示ADC 的值

temp=(float)x*66/4096;

x=temp;

LCD_ShowNum(156,130,x,2,16);//显示电压值

temp-=x;

temp*=1000;

LCD_ShowxNum(180,130,(u16)temp,3,16,0X8 0);

}

void display_den(u16 x)

{

u16 temp;

temp=x*10/9;

LCD_ShowxNum(108,90,temp,3,16,0X80);

}

void display_setpoint(u32 x)

相关文档
最新文档