版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于PID控制的DC-DC升壓開關(guān)電源專 業(yè):電子信息科學(xué)與技術(shù)班 級(jí): 0310412班 學(xué) 號(hào): 031041202 姓 名: 李范佩 一、 設(shè)計(jì)要求本課程要求設(shè)計(jì)一個(gè)基于PID控制的DC-DC升壓開關(guān)電源,輸入低壓直流信號(hào),輸出為高壓直流信號(hào)。設(shè)計(jì)要求:1、輸入1.5V直流,輸出512V、30mA直流 2、在額定負(fù)載情況下,紋波的峰-峰值<=30mV3、應(yīng)用PID控制程序二、 設(shè)計(jì)方案1、 理論基礎(chǔ)The boost converter,是一種開關(guān)直流升壓電路,它可以是輸出電壓比輸入電壓高。在充電過程中,開關(guān)閉合(三極管導(dǎo)通),等效電路如圖二,開關(guān)(三極管)處用導(dǎo)線代替。這時(shí),輸入
2、電壓流過電感。二極管防止電容對(duì)地放電。由于輸入是直流電,所以電感上的電流以一定的比率線性增加,這個(gè)比率跟電感大小有關(guān)。隨著電感電流增加,電感里儲(chǔ)存了一些能量。當(dāng)開關(guān)斷開(三極管截止)時(shí),由于電感的電流保持特性,流經(jīng)電感的電流不會(huì)馬上變?yōu)?,而是緩慢的由充電完畢時(shí)的值變?yōu)?。而原來的電路已斷開,于是電感只能通過新電路放電,即電感開始給電容充電,電容兩端電壓升高,此時(shí)電壓已經(jīng)高于輸入電壓了。升壓完畢。說起來升壓過程就是一個(gè)電感的能量傳遞過程。充電時(shí),電感吸收能量,放電時(shí)電感放出能量。如果電容量足夠大,那么在輸出端就可以在放電過程中保持一個(gè)持續(xù)的電流。如果這個(gè)通斷的過程不斷重復(fù),就可以在電容兩端得到
3、高于輸入電壓的電壓。2、 實(shí)際方案本課題采用驅(qū)動(dòng)式開關(guān)升壓方式,主要利用電容和電感的儲(chǔ)能特性實(shí)現(xiàn)。具體可以分為以下幾個(gè)部分。第一個(gè)是振源,因?yàn)槭情_關(guān)電路,所以需要利用高頻的方波信號(hào)實(shí)現(xiàn)三極管的導(dǎo)通與截止。然后的主放大電路用來給負(fù)載端升壓,需要一個(gè)三極管和一個(gè)電感,利用電感的儲(chǔ)能實(shí)現(xiàn)直流信號(hào)的輸出。由于在開關(guān)閉合的瞬間,電感上會(huì)產(chǎn)生巨大的瞬時(shí)電壓,而且電感的充電與放電是交替進(jìn)行的,所以輸出不可能是一個(gè)單純的直流信號(hào),那么就需要一個(gè)濾波電路把交流信號(hào)濾除。之后為了穩(wěn)定輸出電壓,就需要一個(gè)負(fù)反饋調(diào)節(jié)電路來控制主放大電路的開關(guān)。三、 方框圖濾波電路主電路振蕩源控制部分四、 具體電路設(shè)計(jì)1、 振蕩電路此
4、部分電路是由stm32單片機(jī)提供振蕩源,具體程序參見附錄。2、 主電路主電路就是要完成從輸入到輸出的升壓過程,它主要由一個(gè)大功率三極管和一個(gè)上拉電感構(gòu)成,三極管主要用于配合輸入的方波進(jìn)行開關(guān)轉(zhuǎn)換,電感的作用是將電能和磁場(chǎng)能相互轉(zhuǎn)換的能量轉(zhuǎn)換器件,當(dāng)三極管開關(guān)管閉合后,電感將電能轉(zhuǎn)換為磁場(chǎng)能儲(chǔ)存起來,當(dāng)三極管斷開后電感將儲(chǔ)存的磁場(chǎng)能轉(zhuǎn)換為電場(chǎng)能,且這個(gè)能量在和輸入電源電壓疊加后通過二極管和電容的濾波后得到平滑的直流電壓提供給負(fù)載,由于這個(gè)電壓是輸入電源電壓和電感的磁碭能轉(zhuǎn)換為電能的疊加后形成的,所以輸出電壓高于輸入電壓,即升壓過程的完成。不過為了防止三極管截止時(shí)產(chǎn)生的過高的電壓燒壞元器件,所以我
5、們?cè)陔姼械膬啥瞬⒙?lián)一個(gè)電容用來吸收電壓,保護(hù)元件。3、 濾波電路由于我們需要的輸出為直流信號(hào),但是在借助電感進(jìn)行充放電的時(shí)候混入了一些交流信號(hào),所以需要濾波電路來幫助濾除這些交流信號(hào)。在主電路的輸出上先接一個(gè)二極管,這個(gè)二極管主要起隔離作用,當(dāng)三極管截止時(shí),二極管的正極電壓比負(fù)極電壓低,此時(shí)二極管反偏截止,使此電感的儲(chǔ)能過程不影響輸出端電容對(duì) 負(fù)載的正常供電。當(dāng)三極管導(dǎo)通時(shí),兩種疊加后的能量通過二極向負(fù)載供電,此時(shí)二極管正向?qū)?,要求其正向壓降越小越好,盡量使更多的能量供給到負(fù)載端。之后的濾波電路采用LC復(fù)式濾波電路,如果單獨(dú)使用電容或電感來濾波,可能效果不夠理想,所以同時(shí)使用兩個(gè)元件,利用他
6、們對(duì)直流和交流呈現(xiàn)出的不同的電抗特性,選擇合適的參數(shù),就可以完成濾波。五、 軟件設(shè)計(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控制的輸出與整個(gè)過去的狀態(tài)有關(guān),用到了誤差的累加值;而增量式PID的輸出只與當(dāng)前拍和前兩拍的誤差有關(guān),因此位置式PID控制的累積誤差相對(duì)更大; (2)增量式PID控制輸出的是控制量增量,并無積分作用,因此該方法適用于執(zhí)行機(jī)構(gòu)帶積分部件的對(duì)象,如步進(jìn)電機(jī)等,而位置式PID適用于執(zhí)行機(jī)構(gòu)不帶積分部件的對(duì)象,如電液伺服閥。 (3)由于增
7、量式PID輸出的是控制量增量,如果計(jì)算機(jī)出現(xiàn)故障,誤動(dòng)作影響較小,而執(zhí)行機(jī)構(gòu)本身有記憶功能,可仍保持原位,不會(huì)嚴(yán)重影響系統(tǒng)的工作,而位置式的輸出直接對(duì)應(yīng)對(duì)象的輸出,因此對(duì)系統(tǒng)影響較大。 故本設(shè)計(jì)采用增量式PID控制方法,其程序在附錄中給出。附錄以下是主要程序,其他未給出。14MAIN.C#include <stm32f10x_lib.h>#include "math.h"#include "sys.h"#include "usart.h"#include "delay.h"#include "
8、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);PIDS
9、etKp(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,0X80); void display_den(u16 x)u16 temp;temp=x*
10、10/9;LCD_ShowxNum(108,90,temp,3,16,0X80); void display_setpoint(u32 x)u8 a,b;a=x/5000;LCD_ShowNum(156,210,a,2,16);/顯示電壓值b=x%5000/500;LCD_ShowxNum(180,210,b,1,16,0X80); int main(void)u32 adcx;s32 zengliang;s32 temp;u16 den;setp=150000;p=80;i=1;PWM_VAL=100; Stm32_Clock_Init(9);uart_init(72,9600); dela
11、y_init(72); LED_Init(); key_Init();joy_Init();Adc_Init();LCD_Init();PWM_Init(899,0); /PB0 PWM輸出AT24CXX_Init();/IIC初始化 Touch_Init();while(AT24CXX_Check()/檢測(cè)不到24c02LCD_ShowString(60,130,"24C02 Check Failed!");delay_ms(500);LCD_ShowString(60,130,"Please Check! ");delay_ms(500);LED0=
12、!LED0;/DS0閃爍POINT_COLOR=RED;/設(shè)置字體為紅色 writeString("李范佩制作",20,20,RED);LCD_ShowString(120,40,"-2013/8/8");POINT_COLOR=BLUE;/設(shè)置字體為藍(lán)色LCD_ShowString(60,90,"den:0.000");LCD_ShowString(60,110,"ADC_CH0_VAL:"); LCD_ShowString(60,130,"ADC_CH0_VOL:00.000V");LCD_
13、ShowString(60,170,"PIDSetKp:000");LCD_ShowString(60,190,"PIDSetKi:000");LCD_ShowString(60,210,"PIDsetpoint:00.0V");writeString("設(shè)置電壓",60,270,RED);writeString("單位",134,270,RED);LCD_ShowString(164,270,"(V)");LCD_ShowString(0,290,"+0.1&qu
14、ot;);LCD_ShowString(40,290,"-0.1");LCD_ShowString(80,290,"+0.5");LCD_ShowString(120,290,"-0.5");LCD_ShowString(160,290,"+1.0");LCD_ShowString(200,290,"-1.0");delay_ms(500);while(1) if(Pen_Point.Key_Sta=Key_Down)/觸摸屏被按下 Pen_Int_Set(0);/關(guān)閉中斷Convert_Pos
15、(); /裝換得到坐標(biāo)Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志if(Pen_Point.X0>0&&Pen_Point.Y0>290&&Pen_Point.X0<40&&Pen_Point.Y0<320) while(PEN!=1);Pen_Int_Set(1);/開啟中斷Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志setp=setp+500;if(Pen_Point.X0>40&&Pen_Point.Y0>290&&Pen_Poi
16、nt.X0<80&&Pen_Point.Y0<320) while(PEN!=1);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!=1);Pen_Int_Set(1);/開啟中斷Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志
17、setp=setp+2500;if(Pen_Point.X0>120&&Pen_Point.Y0>290&&Pen_Point.X0<160&&Pen_Point.Y0<320) while(PEN!=1);Pen_Int_Set(1);/開啟中斷Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志setp=setp-2500;if(Pen_Point.X0>160&&Pen_Point.Y0>290&&Pen_Point.X0<200&&Pe
18、n_Point.Y0<320) while(PEN!=1);Pen_Int_Set(1);/開啟中斷Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志setp=setp+5000;if(Pen_Point.X0>200&&Pen_Point.Y0>290&&Pen_Point.X0<240&&Pen_Point.Y0<320) while(PEN!=1);Pen_Int_Set(1);/開啟中斷Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志setp=setp-5000; while
19、(PEN!=1); Pen_Int_Set(1);/開啟中斷 Pen_Point.Key_Sta=Key_Up; /去掉按下標(biāo)志 display_setpoint(setp);adcx=Get_Adc_Average(ADC_CH9,30); /PB1口,adc通道8display_voilate(adcx);adcx=adcx*330000/4096;zengliang=pro_controller(adcx);temp=(s32)PWM_VAL; if(temp+zengliang/100000)<0)PWM_VAL=50;else if(PWM_VAL>800)PWM_VAL
20、=700; else PWM_VAL=PWM_VAL+(zengliang/100000);den=PWM_VAL; display_den(den);LCD_ShowNum(132,170,p,3,16);LCD_ShowNum(132,190,i,3,16);LCD_ShowNum(60,230,den,3,16); PID.C#include"pid.h"/*增量式PID*計(jì)算公式:u(n)=Kp*e(n)-e(n-1)+Ki*e(n)+Kd*e(n)-2e(n-1)+e(n-2)*增量式PID算法 uk的變化量=kp*ek-ki*e(k-1)+kd*e(k-2)*/
21、*PID算法的數(shù)據(jù)結(jié)構(gòu) */typedef struct PID int setpoint; long sumerror; double kp; double ki; double kd; int lasterror; int preverror;PID;static PID spid;static PID *sptr = &spid;/*函數(shù)說明:void PIDInit(void)入口參數(shù):無功能 :初始化PID各參數(shù)返回值 :無*/void PIDInit(void) sptr->setpoint = 0; sptr->sumerror = 0; sptr->k
22、p = 0; sptr->ki = 0; sptr->kd = 0; sptr->lasterror = 0; /error-1 sptr->preverror = 0; /error-2/*函數(shù)說明:PIDsetpoint(int setpoint)入口參數(shù):int setpoint功能 :設(shè)置目標(biāo)值 返回值 :無*/void PIDsetpoint(u32 setpoint) sptr->setpoint = setpoint;/*函數(shù)說明:int PIDGetsetpoint(void)入口參數(shù):無功能 :讀回設(shè)定的目標(biāo)值返回值 :設(shè)定的目標(biāo)值*/int P
23、IDGetsetpoint(void) return (sptr->setpoint);/*函數(shù)說明:void PIDSetKp(double kp)入口參數(shù):在增量式PID里,kp表示:kp=kp*(1+T/Ti+Td/T)功能 :設(shè)定kp返回值 :無*/void PIDSetKp(double kp) sptr->kp = kp;/*函數(shù)說明:double PIDGetKp(void)入口參數(shù):無功能 :讀回設(shè)定的kp返回值 :設(shè)定的kp*/double PIDGetKp(void) return (sptr->kp);/*函數(shù)說明:void PIDSetKi(double ki)入口參數(shù):在增量式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眼鏡行業(yè)銷售工作總結(jié)
- 酒水飲料行業(yè)員工激勵(lì)措施
- 2024年電大電子商務(wù)概論考試綜合手冊(cè)
- 創(chuàng)意設(shè)計(jì)服務(wù)協(xié)議書(2篇)
- 易錯(cuò)點(diǎn)12 抗日戰(zhàn)爭(zhēng)時(shí)期的主要史實(shí)與時(shí)間-備戰(zhàn)2023年中考?xì)v史考試易錯(cuò)題(原卷版)
- 黃金卷6-【贏在中考·黃金八卷】(解析版)
- DB33T 2195-2019 家庭醫(yī)生簽約服務(wù)居家護(hù)理工作規(guī)范
- 以社區(qū)為基礎(chǔ)之糖尿病個(gè)案管理與疾病管理
- 2022-2023學(xué)年山東省聊城市高一上學(xué)期期末考試地理試題(解析版)
- 阜陽(yáng)熱熔膠項(xiàng)目可行性研究報(bào)告
- 2023漿體長(zhǎng)距離管道輸送工程
- 初二英語(yǔ)寒假作業(yè)安排表 - 揚(yáng)中樹人歡迎您
- 基于Android系統(tǒng)的天氣預(yù)報(bào)APP設(shè)計(jì)
- 市政工程危險(xiǎn)源識(shí)別與風(fēng)險(xiǎn)評(píng)價(jià)一覽表
- 道路施工臨時(shí)占道施工應(yīng)急保暢方案隧道
- 2024屆高考語(yǔ)文復(fù)習(xí):作文主題訓(xùn)練人文情懷
- 炊事員個(gè)人衛(wèi)生習(xí)慣養(yǎng)成-課件
- 粉末涂料有限公司邦定攪拌機(jī)安全風(fēng)險(xiǎn)分級(jí)管控清單
- Clean-PVC管道粘接施工工藝標(biāo)準(zhǔn)
- 道教與中醫(yī)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 四年級(jí)語(yǔ)文試卷選擇題100道
評(píng)論
0/150
提交評(píng)論