基于PID控制的DC-DC升壓開關(guān)電源設(shè)計(jì)_第1頁
基于PID控制的DC-DC升壓開關(guān)電源設(shè)計(jì)_第2頁
基于PID控制的DC-DC升壓開關(guān)電源設(shè)計(jì)_第3頁
基于PID控制的DC-DC升壓開關(guān)電源設(shè)計(jì)_第4頁
基于PID控制的DC-DC升壓開關(guān)電源設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于PID限制的DC-DC升壓開關(guān)電源專 業(yè):電子信息科學(xué)與技術(shù)班 級: 0310412班學(xué)號:031041202姓名:李范佩一、設(shè)計(jì)要求本課程要求設(shè)計(jì)一個基于PID限制的DC-DC升壓開關(guān)電源,輸入低壓直流 信號,輸出為高壓直流信號.設(shè)計(jì)要求:1、輸入1.5V直流,輸出512V、30mA直流2、在額定負(fù)載惜況下,紋波的峰-峰值=30mV3、應(yīng)用PID限制程序二、設(shè)計(jì)方案1、理論根底The boost converter,是一種開關(guān)直流升壓電路,它可以是輸出電壓比輸入電 壓高.Figure 1: The Boost Converter在充電過程中,開關(guān)閉合三極管導(dǎo)通,等效電路如圖二,開關(guān)三極管

2、 處用導(dǎo)線代替.這時,輸入電圧流過電感.二極管預(yù)防電容對地放電.山于輸入 是直流電,所以電感上的電流以一定的比率線性增加,這個比率跟電感大小有關(guān). 隨著電感電流增加,電感里儲存了一些能量.當(dāng)開關(guān)斷開三極管截止時,山于電感的電流保持特性,流經(jīng)電感的電流 不會馬上變?yōu)?,而是緩慢的由充電完畢時的值變?yōu)?.而原來的電路已斷開, 于是電感只能通過新電路放電,即電感開始給電容充電,電容兩端電壓升高,此 時電壓已經(jīng)高于輸入電壓了.升壓完畢.說起來升壓過程就是一個電感的能量傳遞過程.充電時,電感吸收能量,放 電時電感放出能量.如果電容量足夠大,那么在輸出端就可以在放電過程中保持 7一個持續(xù)的電流.如果這個通

3、斷的過程不斷重復(fù),就可以在電容兩端得到高于輸 入電壓的電壓.InductorFigure 4: Inductor Curreut2、實(shí)際方案本課題采用驅(qū)動式開關(guān)升壓方式,主要利用電容和電感的儲能特性實(shí)現(xiàn).具 體可以分為以下兒個局部.笫一個是振源,由于是開關(guān)電路,所以需要利用高頻的方波信號實(shí)現(xiàn)三極管 的導(dǎo)通與截止.然后的主放大電路用來給負(fù)載端升壓,需要一個三極管和一個電 感,利用電感的儲能實(shí)現(xiàn)直流信號的輸出.山于在開關(guān)閉合的瞬間,電感上會產(chǎn) 生巨大的瞬時電壓,而且電感的充電與放電是交替進(jìn)行的,所以輸出不可能是一 個單純的直流信號,那么就需要一個濾波電路把交流信號濾除.之后為了穩(wěn)定輸 出電壓,就需

4、要一個負(fù)反應(yīng)調(diào)節(jié)電路來限制主放大電路的開關(guān).三、方框圖四、具體電路設(shè)計(jì)1、 振蕩電路此局部電路是山stm32單片機(jī)提供振蕩源,具體程序參見附錄.Tfr2O1!W8dcno. T77 ADCCHOIVAL -ADCicHOpo匚 5 ;:PIDSetK?.goPIDSetKi- 1PIDSetpoi 口仃 3POV7002、 主電路主電路就是要完成從輸入到輸出的升壓過程,它主要山一個大功率三極管和 一個上拉電感構(gòu)成,三極管主要用于配合輸入的方波進(jìn)行開關(guān)轉(zhuǎn)換,電感的作用 是將電能和磁場能相互轉(zhuǎn)換的能量轉(zhuǎn)換器件,當(dāng)三極管開關(guān)管閉合后,電感將電 能轉(zhuǎn)換為磁場能儲存起來,當(dāng)三極管斷開后電感將儲存的磁場能

5、轉(zhuǎn)換為電場能, 且這個能量在和輸入電源電壓疊加后通過二極管和電容的濾波后得到平滑的直流電圧提供應(yīng)負(fù)載,山于這個電壓是輸入電源電壓和電感的磁腸能轉(zhuǎn)換為電能的 疊加后形成的,所以輸出電壓高于輸入電壓,即升壓過程的完成.不過為了預(yù)防三極管截止時產(chǎn)生的過高的電壓燒壞元器件,所以我們在電感 的兩端并聯(lián)一個電容用來吸收電壓,保護(hù)元件.* D1孑 DIODE_VIRTU,o 7VIRTUALQ3BJT NPN VIRTUALDIODE VIRTU/3、濾波電路山于我們需要的輸出為直流信號,但是在借助電感進(jìn)行充放電的時候混入了 一些交流信號,所以需要濾波電路來幫助濾除這些交流信號.在主電路的輸出上先接一個二極

6、管,這個二極管主要起隔離作用,當(dāng)三極管 截止時,二極管的正極電壓比負(fù)極電壓低,此時二極管反偏截止,使此電感的儲 能過程不影響輸出端電容對負(fù)載的正常供電.當(dāng)三極管導(dǎo)通時,兩種疊加后的 能量通過二極向負(fù)載供電,此時二極管正向?qū)?要求其正向壓降越小越好,盡 量使更多的能量供應(yīng)到負(fù)載端.之后的濾波電路采用LC復(fù)式濾波電路,如果單獨(dú)使用電容或電感來濾波, 可能效果不夠理想,所以同時使用兩個元件,利用他們對直流和交流呈現(xiàn)出的不 同的電抗特性,選擇適宜的參數(shù),就可以完成濾波./IRTUAL.TUALD2 /IRTUAL1 lC4+ C5:±:100hF: : : : ±470五、軟件設(shè)

7、計(jì)本系統(tǒng)可采用開環(huán)或者閉環(huán)限制,基于輸出的要求較高,本系統(tǒng)采用閉環(huán)控 制.而關(guān)于閉環(huán)限制,軟件最好采用PID調(diào)節(jié).PID調(diào)節(jié)器分為位置式PID和增量式PID,其區(qū)別有:1位置式PID限制的輸出與整個過去的狀態(tài)有關(guān),用到了誤差的累加值; 而增量式PID的輸出只與當(dāng)前拍和前兩拍的誤差有關(guān),因此位置式PID限制的 累積誤差相對更大;2增量式PID限制輸出的是限制量增量,并無積分作用,因此該方法適 用于執(zhí)行機(jī)構(gòu)帶積分部件的對象,如步進(jìn)電機(jī)等,而位置式PID適用于執(zhí)行機(jī) 構(gòu)不帶積分部件的對象,如電液伺服閥.3III于增量式PID輸出的是限制量增量,如果訃算機(jī)出現(xiàn)故障,誤動作 影響較小,而執(zhí)行機(jī)構(gòu)本身有記

8、憶功能,可仍保持原位,不會嚴(yán)重影響系統(tǒng)的工 作,而位置式的輸出直接對應(yīng)對象的輸出,因此對系統(tǒng)影響較大.故本設(shè)訃采用增量式PID限制方法,其程序在附錄中給出.7附錄#以下是主要程序,其他未給岀.MAIN.C# include <stm32fl0x Jib.h>include * math.hM#include "sys.h#include "usart.h#include ' delay.lfinclude "led.hinclude "KEYhinclude "adc.h#include "joy.hinclude

9、 "lcd.hinclude pid.h#include Htimer.h°include '24cxx.hoinclude "Touch.hu32 selp:u8 p.i;int pro_conlroller(u32 x)s32 pwm = 0;PIDsetpoint(setp);PIDSetKp(p);PIDSetKi(i);PIDSelKd(5);pwm=IncPIDCalc(x);return pwm:void display_voilate(ul6 x)float temp:LCD_ShowNum( 156J10x46) 顯示 ADC 的值tem

10、p=( float )x *66/4096;x=temp;LCD_ShowNum(l 56 J 3O.X.2J 6);顯示電壓值temp-=x:temp*=1000:LCD_ShowxNum( 18030.( u 16)temp3J 6.0X80);)void display_den(u!6 x)u 16 temp:temp=x*10/9:LCD_ShowxNum(108.90.iemp.3,16,0X80):void display_setpoint(u32 x)u8 a.b:while(AT24CXX_Check()/檢測不到 24c0211a=x/5000:LCD_ShowNum(l 5

11、6.210a26): 顯示電壓值 b皿5000/500:LCD.ShowxNumd80,21 Obi J6,0X80);int main(void)(u32 adcx;s32 zengliang;s32 temp:ul6 den:se(p= 150000:p=80:i=l;PWM_VAL=100;Stm32_Clock_Inil(9);uart_init(72,96(K);delay_inil(72):LEDJniK);keyJnitO:joyjnit();AdcJnitO;LCDJnitO:PWMni(899.0): /PBO PWM 輸出AT24CXXJnit():/IIC 初始化Touc

12、h_Init():LCD_ShowString(6030/24C02 CheckFailed!*):delay_ms(500);LCD_ShowString(6030."Please Check!H);delay_ms(500);LED0=!LED0:/DS0 閃爍POINT_COLOR=RED7/設(shè)迓字體為紅色 writeStringC* 范佩制作蔦20,20,RED);LCD_ShowString(l 20.40二2021/8/8);POINT_COLOR=BLUE7/設(shè)魚字體為藍(lán)色LCD_ShowSlring(60,90/,den:0.000H);LCD_ShowString(

13、60J10,nADC_CH0_VAL:M);LCD_ShowString(60,130.MADC_CH0_VOL:00. 000V):LCD_ShowString(60,17O.MPIDSetKp:OOOM);LCD_ShowString(60,190.MPIDSetKi:000M);LCD_ShowString(60,210.MPIDsetpoint:00.0VM);writeStringC* 設(shè)宜電壓r .60.270.RED);writeStringC* 單位34,270,RED);LCD_ShovString(l 6427O.H(V)H);LCD_ShowSlring(0.290/,+

14、0.1H);LCD3howString(40.290,M-0.1H);LCD_ShowS【ring(80290.“+05);LCD_ShowSlring(l 20.290.05);LCD.ShowStringCl60,290;*+ 1.0M):LCD_ShowString( 200.290/*-1.0M); delay_ms(500);while( 1)if(Pen_Point.Key_Sta=Key_Down)/ 觸換屛被按下PenJnt_Set(O);關(guān)閉中斷Convert_Pos();裝換得到坐標(biāo)Pen_Point.Key_Sta=Key_Up;/去掉按下標(biāo)總if(Pen_Poinl,X

15、0>0&&Pen_Point.Y0>290&&Pc n_Point.X0<4 0&&Pen_Point.Y0<320)(while(PEN!=l):Pen_Int_Sel( 1):/ 開啟中 斷Pen_Point.Key.Sta=Key_Up;去掉按下標(biāo)志setp=setp+500:if(Pen_Point.X0>4 0&&Pen_Point.Y0>290&&Pen_Point.X0<80&&Pen_Point.Y0<320)while(PEN!=l)

16、;Pen_Int_Set( 1);/ 開啟中斷Pen_Point.Key_Sta=Key_Up; 去掉按下標(biāo)志setp=setp-500:if(Pen_Point.X0>80&&Pen_Point.Y0>290&&Pen_Point.X0<120&&Pen_Point.Y0<320)while(PEN!=l);Pen_Int_Set( 1);/ 開啟中斷Pen_Point.Key_Sta=Key_Up; 去掉按下標(biāo)志selp=setp+25OO:)if(Pen_Point.X0>120&&Pen_Po

17、int.Y0>290&&Pen_Point.X0<160 &&Pen_Point.Y0<320) while(PEN!=l);Pen_Int_Set( 1):/ 開啟中 斷Pen_Point.Key_Sta=Key_Up;去掉按下標(biāo)志setp=setp-2500:if(Pen_Poinl.X0>160&&Pen_Point.Y0>290&&Pen_Point.X0<200&&Pen_Point.Y0<320)(while(PEN!=l);Pen_Int_Set( 1):/

18、開啟中 斷Pen_Point.Key_Sta=Key_Up;去掉按下標(biāo)志setp=setp+5000:if(Pen_Poinl.X0>200&&Pen_Point.Y0>290&&Pen_Point.X0<240&&Pen_Poinl.Y0<320)(while(PEN!=l):Pen_Int_Sel( 1):/ 開啟中Pcn_Poim.Key_S【a=Key_Up:去掉按下標(biāo)志setp=setp-5000:)while(PEN!=l);Pen_Int_Set( 1);開啟中斷Pen_Point.Key_Sta=Key_U

19、p:去掉按下標(biāo)志display_setpoint(setp);adcx=Gel_Adc_Average(ADC_CH9.30):/PB1 口,adc 通道 8 display_voilate(adcx): adcx=adcx *330000/4096; zengliang=pro_controller(adcx): temp=(s32 )PWM_VAL: if(temp+zengliang/l 00000)<0) PWM_VAL=50;else if(PWM_VAL>8OO)PWM_VAL=7()O: elsePWM_VAL=PVM_VAL+(zengliang/100000):d

20、en=PWM_VAL:display_den(den):LCD_ShowNum(l 3270.p.36);LCD.ShowNumd 3290.i.3 16):LCD_ShowNum(60230den.36);PID.C#includeMpid.hHstatic PID spid;static PID *sptr = &spid:歡*康拿底* 康* * 4c*木 * 宅 * 木 * *<( *康* * 康 <t * 京* 水康 *水增雖:式PID函數(shù)說明:void PIDInit(void)入口參數(shù):無* 計(jì) 算 公 式:u(n)=Kp*e(n)-e(n-l)+Ki*e(n)

21、+Kd*|e(n)-2e(n-l )+e(n-2)功能:初始化PID各參數(shù)返回值:無*巾*木方*木*木*歡*木*冰増雖式PID算法 uk的變化址=kp*ek-ki*e(k-l )+kd*e(k-2)*康*水康*水康*/*/PID算法的數(shù)據(jù)結(jié)構(gòu)*/lypedef struct PIDint setpoint;long sumerror;double kp;double ki:void PIDInit(void)sptr->selpoint = 0:sptr->sumerror = 0:sptr->kp = 0:sptr->ki = 0:sptr->kd = 0;sp

22、tr->lasterror = 0; /error|-lsptr->preverror = 0: /error卜2double kd;int laslerror:int preverror:/* 貳* 康車水* 康*<<* 冰* *PID;17函數(shù)說明:PIDsetpoinKint setpoint)入口參數(shù):int setpoint功能:設(shè)宜目標(biāo)值返回值:無*木貳*方*康*杯*杠*/功能:設(shè)定kp返回值:無*木*木*察*void PIDSetKp(double kp)sptr->kp = kp:void PIDsetpoint(u32 setpoint)/*/*

23、sptr->setpoint = setpoint;*函數(shù)說明:int PIDGetsetpoint(void)入口參數(shù):無功能:讀回設(shè)定的目標(biāo)值返回值:設(shè)定的目標(biāo)值*康木穴*咸*函數(shù)說明:double PIEXjetKp(void)入口參數(shù):無功能:讀回設(shè)定的kp返回值:設(shè)定的kp*巾*方*水車*康*冰*巾*double PIDGetKp( void)return (sptr->kp);int PIDCietsetpoint( void) return (splr->setpoini);/*床*水木*木*康*減*/ 察*水木*木*琢*木*函數(shù)說明:void PIDSetKp(double kp)入口參數(shù):在増址式PID里.kp表示:函數(shù)說明:void PIDSetKi(double ki)入口參數(shù):在增雖式PID里,ki表示:ki=kp*(l+2*Td/T)kp=kp*(l +T/Ti+Td/T)功能:設(shè)定ki返回值:無*電*康*冰康*/*木*拿*球*木*歡*木方*“*/void PIDSetKi(double ki)sptr->ki = ki:void PIDSetK

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論