單片機(jī)控制的直流斬波器設(shè)計(jì)_第1頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì)_第2頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì)_第3頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì)_第4頁(yè)
單片機(jī)控制的直流斬波器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、題目 單片機(jī)控制的直流斬波器院 系專(zhuān)業(yè)名稱(chēng) 電子信息工程 年級(jí)班級(jí) 學(xué)生姓名 指導(dǎo)教師 年 月 日摘要傳統(tǒng)開(kāi)關(guān)電源是模數(shù)結(jié)合的硬件為主的控制方式,其控制精度、響應(yīng)速度等都由電路拓?fù)浣Y(jié)構(gòu)和器件本身的參數(shù)決定,很難進(jìn)一步提升其性能。隨著微處理器處理技術(shù)的日趨成熟,開(kāi)關(guān)電源的軟硬件結(jié)合的控制技術(shù)得到了廣泛的關(guān)注,它呈現(xiàn)出純硬件控制方式無(wú)法比擬的優(yōu)點(diǎn)。 本論文以單片機(jī)為控制核心對(duì)開(kāi)關(guān)電源進(jìn)行了可編程控制的設(shè)計(jì)。首先介紹了開(kāi)關(guān)電源數(shù)控技術(shù)的研究現(xiàn)狀及趨勢(shì);對(duì)整個(gè)系統(tǒng)的硬件電路進(jìn)行了各模塊的設(shè)計(jì)及對(duì)應(yīng)器件的選型;在此基礎(chǔ)上,對(duì)軟件部分實(shí)現(xiàn)過(guò)程進(jìn)行了詳細(xì)闡述?!娟P(guān)鍵詞】單片機(jī),開(kāi)關(guān)電源AbstractCon

2、ventional switching power supply is combined with hardware-based module control mode, the control accuracy, response speed by the circuit topology and device parameters of the decision itself, it is difficult to further improve its performance. With the microprocessor processing technology matures,

3、switching power supply control software and hardware combination technology has been widespread concern, it presents a pure hardware control mode can not match advantage.In this thesis, the core of the microcontroller for the control of switching power supply for the programmable control of the atte

4、mpt. First introduced the technique of switching power supply CNC status and trends; on the whole system has briefly introduces the hardware design and partial implementation of the software process described in detail.朗讀顯示對(duì)應(yīng)的拉丁字符的拼音字典可翻譯 50 多種語(yǔ)言 Pardon ? dti Wie gehts? Vr s snill ! Je ne sais pas !

5、 miracoloso Hjelp! Wie heien Sie? . hoje est ensolarado Cmo ests? mijn vriend Buongiorno Principessa! s t nazdar! Ich bin vierzig Jahre alt Wie bitte? hello haydi gidelim La voiture rouge Es ist sehr interessant! Je parle un petit peu franais. escargots朗讀顯示對(duì)應(yīng)的拉丁字符的拼音朗讀顯示對(duì)應(yīng)的拉丁字符的拼音Key words: microcon

6、troller, switching power supply目錄目錄3第一章前言61.選題目的和意義62.國(guó)內(nèi)外綜述6第二章系統(tǒng)硬件設(shè)計(jì)82.1 系統(tǒng)原理82.2 硬件的選取92.3 半橋輸出的PWM波產(chǎn)生電路102.4 A/D采樣及調(diào)理電路10電壓采樣電路112.42 電流采樣調(diào)理電路112.5 矩陣鍵盤(pán)電路122.6 液晶LCD顯示電路142.61 液晶1602顯示器介紹142.62 本系統(tǒng)中1602的應(yīng)用15第三章系統(tǒng)軟件設(shè)計(jì)163.1 軟件設(shè)計(jì)總體思路173.2 系統(tǒng)主程序模塊173.21 始初化模塊183.22 PWM波發(fā)生模塊193.23 A/D轉(zhuǎn)換模塊233.24 PID算法處

7、理模塊273.25 LCD液晶顯示模塊293.26 按鍵處理模塊293.3 中斷服務(wù)程序模塊313.31 中斷程序原理及框圖313.32 數(shù)字濾波算法32第四章結(jié)論34致謝36參考文獻(xiàn)37附錄39目錄?前言1.選題目的和意義直流斬波電路(DC Chopper)的功能是將直流電變?yōu)榱硪还潭妷夯蚩烧{(diào)電壓的直流電。也稱(chēng)為直接直流-直流變換器(DC/DC Converter)。直流斬波電路包括六種基本斬波電路升降壓斬波電路應(yīng)用最為廣泛。路包括六種基本斬波電路升降壓斬波電路應(yīng)用最為廣泛。直流斬波器能起調(diào)壓的作用,所以可以做開(kāi)關(guān)電源用。開(kāi)關(guān)電源作為電力電子領(lǐng)域的一個(gè)重要分支,隨著電力電子技術(shù)的高速發(fā)展而

8、被廣泛應(yīng)用于以電子計(jì)算機(jī)為主的各種終端設(shè)備和通信設(shè)備中,是當(dāng)今電子信息產(chǎn)業(yè)飛速發(fā)展不可缺少的一種電源方式。采用傳統(tǒng)控制方式的開(kāi)關(guān)電源,其控制精度、響應(yīng)速度等都由電路拓?fù)浜推骷旧淼膮?shù)決定,如果想進(jìn)一步提高開(kāi)關(guān)電源的性能,就只能選用參數(shù)更優(yōu)的器件,或者對(duì)原有電路進(jìn)行大范圍的改動(dòng),這對(duì)電源產(chǎn)品的研發(fā)、生產(chǎn)都會(huì)帶來(lái)很多麻煩,也制約了開(kāi)關(guān)電源性能的提升。同時(shí),由于模擬信號(hào)在傳遞過(guò)程中可能會(huì)出現(xiàn)信號(hào)失真、畸變以及受到外界電磁干擾,造成開(kāi)關(guān)電源工作狀態(tài)不穩(wěn)定。所以,采用傳統(tǒng)控制方式的開(kāi)關(guān)電源在性能上的提升相當(dāng)有限。隨著數(shù)字處理技術(shù)的日趨成熟,開(kāi)關(guān)電源的可編程數(shù)控技術(shù)得到了快速的發(fā)展和廣泛的關(guān)注。與硬件控

9、制方式相比,數(shù)字控制技術(shù)具有其無(wú)法比擬的優(yōu)勢(shì)。2.國(guó)內(nèi)外綜述開(kāi)關(guān)電源的發(fā)展方向是高頻、高可靠、低耗、低噪聲、抗干擾和模塊化。由于開(kāi)關(guān)電源輕、小、薄的關(guān)鍵技術(shù)是高頻化,因此國(guó)外各大開(kāi)關(guān)電源制造商都致力于同步開(kāi)發(fā)新型高智能化的元器件,特別是改善二次整流器件的損耗,并在功率鐵氧體(Mn?Zn)材料上加大科技創(chuàng)新,以提高在高頻率和較大磁通密度(Bs)下獲得高的磁性能,而電容器的小型化也是一項(xiàng)關(guān)鍵技術(shù)。SMT技術(shù)的應(yīng)用使得開(kāi)關(guān)電源取得了長(zhǎng)足的進(jìn)展,在電路板兩面布置元器件,以確保開(kāi)關(guān)電源的輕、小、薄。開(kāi)關(guān)電源的高頻化就必然對(duì)傳統(tǒng)的PWM開(kāi)關(guān)技術(shù)進(jìn)行創(chuàng)新,實(shí)現(xiàn)ZVS、ZCS的軟開(kāi)關(guān)技術(shù)已成為開(kāi)關(guān)電源的主流技

10、術(shù),并大幅提高了開(kāi)關(guān)電源的工作效率。對(duì)于高可靠性指標(biāo),美國(guó)的開(kāi)關(guān)電源生產(chǎn)商通過(guò)降低運(yùn)行電流,降低結(jié)溫等措施以減少器件的應(yīng)力,使得產(chǎn)品的可靠性大大提高。目前,開(kāi)關(guān)電源以小型、輕量和高效率的特點(diǎn)被廣泛應(yīng)用于以電子計(jì)算機(jī)為主導(dǎo)的各種終端設(shè)備、通信設(shè)備等幾乎所有的電子設(shè)備,是當(dāng)今電子信息產(chǎn)業(yè)飛速發(fā)展不可缺少的一種電源方式。目前市場(chǎng)上出售的開(kāi)關(guān)電源中采用雙極性晶體管制成的kHz、用制成的kHz電源,雖已實(shí)用化,但其頻率有待進(jìn)一步提高。要提高開(kāi)關(guān)頻率,就要減少開(kāi)關(guān)損耗,而要減少開(kāi)關(guān)損耗,就需要有高速開(kāi)關(guān)元器件。然而,開(kāi)關(guān)速度提高后,會(huì)受電路中分布電感和電容或二極管中存儲(chǔ)電荷的影響而產(chǎn)生浪涌或噪聲。這樣,不

11、僅會(huì)影響周?chē)娮釉O(shè)備,還會(huì)大大降低電源本身的可靠性。其中,為防止隨開(kāi)關(guān)啟-閉所發(fā)生的電壓浪涌,可采用R-C或L-C緩沖器,而對(duì)由二極管存儲(chǔ)電荷所致的電流浪涌可采用非晶態(tài)等磁芯制成的磁緩沖器。不過(guò),對(duì)1MHz以上的高頻,要采用諧振電路,以使開(kāi)關(guān)上的電壓或通過(guò)開(kāi)關(guān)的電流呈正弦波,這樣既可減少開(kāi)關(guān)損耗,同時(shí)也可控制浪涌的發(fā)生。這種開(kāi)關(guān)方式稱(chēng)為諧振式開(kāi)關(guān)。目前對(duì)這種開(kāi)關(guān)電源的研究很活躍,因?yàn)椴捎眠@種方式不需要大幅度提高開(kāi)關(guān)速度就可以在理論上把開(kāi)關(guān)損耗降到零,而且噪聲也小,可望成為開(kāi)關(guān)電源高頻化的一種主要方式。當(dāng)前,世界上許多國(guó)家都在致力于數(shù)兆Hz的變換器的實(shí)用化研究。3. 本論文的任務(wù)及工作第二章 系

12、統(tǒng)硬件設(shè)計(jì) 本章將對(duì)硬件部分的設(shè)計(jì)進(jìn)行詳細(xì)介紹,其中包括以單片機(jī)為核心最小系統(tǒng)的搭建以及外圍電路的設(shè)計(jì)和優(yōu)化,并對(duì)一些在設(shè)計(jì)中遇到的問(wèn)題進(jìn)行分析和解決。2.1 系統(tǒng)原理本次制作的是36V、3A的開(kāi)關(guān)電源,要求能夠?qū)敵龅碾妷哼M(jìn)行恒定的控制,使整個(gè)系統(tǒng)具有很好的穩(wěn)定性??梢酝ㄟ^(guò)鍵盤(pán)的輸入值對(duì)開(kāi)關(guān)電源在20V-36V的輸出控制,而對(duì)其進(jìn)行恒壓的控制是根據(jù)設(shè)置的電壓值與采集到的電壓值的偏差進(jìn)行比較,由單片機(jī)來(lái)完成PID算法處理得到電壓的偏差信號(hào),再根據(jù)偏差信號(hào)的大小改變單片機(jī)ECCP模塊所產(chǎn)生兩路推挽的PWM波的占空比,從而改變半控橋電路中兩個(gè)MOS管通斷時(shí)間的大小,從而起到穩(wěn)壓的作用。同時(shí)外加LE

13、D顯示模塊,對(duì)實(shí)時(shí)的電壓電流起到了檢測(cè)和顯示的作用。系統(tǒng)的硬件框圖如圖2-1所示。圖2-1 系統(tǒng)硬件框圖實(shí)際的硬件系統(tǒng)中,通過(guò)抗干擾電路來(lái)減少外界干擾如果沒(méi)有該部分輸入電路就會(huì)有干擾對(duì)輸出有很大的影響,整流濾波電路使輸入和輸出的波形更接近理想化,這樣可以減少誤差。如果沒(méi)有該部分加大了誤差有可能使結(jié)果和理想狀態(tài)下有很大的出入。單片機(jī)模塊輸出兩路推挽的PWM波,通過(guò)高速光耦隔離并且進(jìn)行電平的轉(zhuǎn)換,再通過(guò)以IR2113為核心的驅(qū)動(dòng)電路將PWM波供給開(kāi)關(guān)電源的半橋控制的逆變電路。從開(kāi)關(guān)電源輸出端電壓經(jīng)分壓后采集回單片機(jī)模塊進(jìn)行A/D轉(zhuǎn)換,通過(guò)LCD液晶顯示采樣回來(lái)的電壓值。通過(guò)軟件的控制使電壓穩(wěn)定在某

14、一值,具體的電壓值由按鍵模塊確定。2.2 硬件的選取本設(shè)計(jì)采用的是Microchip公司的高性能8位單片機(jī)PIC18F4520,并且使用C語(yǔ)言進(jìn)行程序的編寫(xiě),同時(shí)在MPLAB IDE 集成開(kāi)發(fā)環(huán)境中程序的編譯和調(diào)試對(duì)整個(gè)系統(tǒng)進(jìn)行描述和設(shè)計(jì)。本設(shè)計(jì)所使用的PIC18F4520單片機(jī)是采用10位A/D及納瓦技術(shù)的40腳的增強(qiáng)型閃存單片機(jī),如圖2-2所示。21-2 PIC18F4520 DPIP封裝的引腳圖 此單片機(jī)具有高性能的RISC(Reduced Instruction Set Computer)結(jié)構(gòu)CPU,有較寬的工作電壓范圍:2.0-5.5V,同時(shí)驅(qū)動(dòng)能力強(qiáng),驅(qū)動(dòng)電流高達(dá)25mA,還具有超

15、低的功耗,多級(jí)的中斷。由單片機(jī)來(lái)完成PID算法處理得到電壓的偏差信號(hào),再根據(jù)偏差信號(hào)的大小改變單片機(jī)ECCP模塊所產(chǎn)生兩路推挽的PWM波的占空比,從而改變半控橋電路中兩個(gè)MOS管通斷時(shí)間的大小,從而起到穩(wěn)壓的作用。在本設(shè)計(jì)中主要使用的是單片機(jī)的ECCP模塊(增強(qiáng)型捕捉/比較/PWM模塊),10位輸出的A/D轉(zhuǎn)換模塊,同時(shí)加上外圍的鍵盤(pán)輸入模塊,以及LCD顯示模塊。2.3半橋輸出的PWM波產(chǎn)生電路由于原先在選擇單片機(jī)時(shí)選擇的是PIC18F4520,其內(nèi)部本身就具有ECCP模塊,所以只需要單片機(jī)的最小系統(tǒng)就可以實(shí)現(xiàn)兩路推挽的PWM波的輸出,無(wú)需外加其他電路。2.4A/D采樣及調(diào)理電路本系統(tǒng)主要對(duì)輸

16、出的電壓以及電流進(jìn)行采樣,通過(guò)分壓或者信號(hào)調(diào)理電路進(jìn)行整形和放大送至A/D轉(zhuǎn)換器,由于PIC單片機(jī)本身就內(nèi)置有A/D轉(zhuǎn)換模塊,所以不必外擴(kuò)展A/D轉(zhuǎn)換器,使得整個(gè)系統(tǒng)的硬件電路變得更為簡(jiǎn)捷。圖2-3 PIC18F4520各管腳電路圖 圖2-4 電壓分壓采樣電路2.41電壓采樣電路單片機(jī)的A/D轉(zhuǎn)換器所能接受的輸入轉(zhuǎn)換電壓為0-5V,而從開(kāi)關(guān)電源的輸出端所輸出的電壓在24V-36V之間,要將其轉(zhuǎn)換成相應(yīng)的數(shù)量值就必須將輸出端的電壓進(jìn)行降壓處理,故采用了分壓電路,將輸出電壓的值降到2-4V之間,考慮到電阻的功耗問(wèn)題,兩個(gè)分壓電阻不宜太小,同時(shí)考慮到電阻的阻值越大越容易受干擾,阻值又不宜取太大,因此

17、,我們最終選定100k和10k這兩個(gè)電阻分壓以便單片機(jī)的A/D轉(zhuǎn)換器進(jìn)行模數(shù)的轉(zhuǎn)換。具體的分壓電路較為簡(jiǎn)單,如圖2-4所示。2.42 電流采樣調(diào)理電路 本系統(tǒng)采用康銅絲6進(jìn)行電流的采樣。用康銅絲是考慮到功率損耗的問(wèn)題,是因?yàn)榭点~絲的阻值很小,一般在0.01左右,電流流經(jīng)康銅絲后的電壓很小,最大值不會(huì)超過(guò)50mV,信號(hào)比較微弱。因此,在進(jìn)行采樣的時(shí)候,我們需要將此電壓信號(hào)放大到PIC單片機(jī)的A/D模塊能夠接受的0-5V之間的范圍。本系統(tǒng)根據(jù)實(shí)際的需要將該電壓進(jìn)行大約100倍的放大,這一模塊的電路圖如2-5所示。直接用提供的公式計(jì)算, 當(dāng)U1=U2=Uf時(shí), 滿(mǎn)足輸出Uo=-(U1+U2),當(dāng)然如

18、果要求說(shuō)滿(mǎn)足一個(gè)確定的關(guān)系式時(shí),可以通過(guò)改變兩個(gè)電阻與Rf的比值得到所需要的比例關(guān)系。從運(yùn)算放大器輸出的電壓Vout=1+(R31+R33)/R32Vcurrent,放大倍數(shù)由(R31+R33)/R32決定。 圖2-5 電流采樣信號(hào)調(diào)理電路2.5矩陣鍵盤(pán)電路通過(guò)鍵盤(pán)的輸入值對(duì)開(kāi)關(guān)電源在20V-36V的輸出控制,而對(duì)其進(jìn)行恒壓的控制是根據(jù)設(shè)置的電壓值與采集到的電壓值的偏差進(jìn)行比較。如圖2-6所示為33的矩陣式鍵盤(pán),這一鍵盤(pán)的電路設(shè)計(jì)是采用電阻分壓式設(shè)計(jì),配合A/D轉(zhuǎn)換器一查表得方式做按鍵的判斷,所以只要使用一個(gè)具有A/D功能的輸入口即可完成對(duì)33的矩陣式鍵盤(pán)的掃描操作,圖中的AnJian 端口與

19、圖2-3的AN0相連接,為A/D功能的輸入口。此外,一般的按鍵所用開(kāi)關(guān)都是機(jī)械彈性開(kāi)關(guān),由于機(jī)械觸點(diǎn)的彈性作用,按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地連接,在斷開(kāi)時(shí)也不會(huì)馬上完全的斷開(kāi),在閉合和斷開(kāi)的瞬間均有一連串的抖動(dòng),所以一般在程序中會(huì)加按鍵的去抖動(dòng)的部分。按鍵按下的電壓信號(hào)波形圖如圖2-7所示,從圖中可以看出按鍵按下和松開(kāi)的時(shí)候都存在著抖動(dòng)。抖動(dòng)時(shí)間的長(zhǎng)短因按鍵的機(jī)械特性不同而有所不同,一般為5ms10ms。如果不處理鍵抖動(dòng),則有可能引起一次按鍵被誤讀成多次,所以為了確保能夠正確地讀到按鍵,必須去除鍵抖動(dòng),確保在按鍵的穩(wěn)定閉合和穩(wěn)定斷開(kāi)的時(shí)候來(lái)判斷按鍵狀態(tài),判斷后再做處理。 圖2-6 33矩陣式

20、鍵盤(pán)在本系統(tǒng)的按鍵去抖動(dòng)設(shè)計(jì)中,主要是判斷按鍵是否抬起。如果此法效果不是很好,那就可以采用延時(shí)再判斷的方法,如前所述,機(jī)械按鍵的抖動(dòng)時(shí)間一般在10ms-20ms之間。在程序中首先A/D采樣進(jìn)來(lái)的電壓值與延時(shí)10ms后的電壓值進(jìn)行比較,若相等,則說(shuō)明按鍵已經(jīng)確定按下,按鍵的抖動(dòng)已經(jīng)消除。假若不相等,則按鍵不確定已經(jīng)按下,需要重新再掃描。實(shí)驗(yàn)證明,本系統(tǒng)中只需要采用判斷按鍵是否抬起的方法已經(jīng)可以很好的去抖動(dòng)滿(mǎn)足要求了。 圖1-7 按鍵抖動(dòng)2.6液晶LCD顯示電路2.61 液晶1602顯示器介紹液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富以及超薄輕的諸多優(yōu)點(diǎn),在各類(lèi)儀表和低功耗系統(tǒng)中得到廣泛的應(yīng)用7-

21、8。 根據(jù)顯示內(nèi)容可以分為字符型液晶,圖形液晶。根據(jù)顯示容量又可分為單行16字,2行16字,兩20字等等。本系統(tǒng)中采用的是一款應(yīng)用相當(dāng)廣泛,功能精簡(jiǎn)但完全可以滿(mǎn)足要求的1602液晶模塊。它是16字2行的字符型液晶模塊,是一種通用模塊,與數(shù)碼管相比該模塊主要有如下優(yōu)點(diǎn):1)位數(shù)多,可顯示32位,而32個(gè)數(shù)碼管體積相當(dāng)龐大了。2)顯示內(nèi)容豐富,可顯示所有數(shù)字和大、小寫(xiě)字母。3)程序簡(jiǎn)單,如果用數(shù)碼管動(dòng)態(tài)顯示,會(huì)占用很多時(shí)間來(lái)刷新顯示,而1602 自動(dòng)完成此功能。 1602采用標(biāo)準(zhǔn)的16腳接口,各管腳功能如表2-1所示。管腳序號(hào)名稱(chēng)功能1VSS電源地端2VDD電源5V端3VEE液晶顯示器對(duì)比度調(diào)整端

22、4RS寄存器選擇,高選數(shù)據(jù)寄存器、低選指令寄存器5R/W讀寫(xiě)信號(hào),高為讀、低為寫(xiě)6E使能端,高電平跳變?yōu)榈碗娖綍r(shí)有效714D0D7雙向數(shù)據(jù)口15、16LED+、LED-調(diào)節(jié)液晶背光 表2-1 1602各管腳及其功能2.62 本系統(tǒng)中1602的應(yīng)用根據(jù)系統(tǒng)設(shè)計(jì)的實(shí)際需要,液晶模塊主要是顯示設(shè)定電壓值,AD采集得到的時(shí)間電壓值,電流值。1602的各管腳和單片機(jī)各端口的連接如圖2-8所示,實(shí)物圖如圖2-9所示。液晶顯示器1602的D0-D3分別與PIC18F4520的RD0-RD3相連接,使能端E則與單片機(jī)的Vref+端相連,RS端與RD4連接,R/W端則與RD6相連,具體可以把圖2-3與圖2-8這

23、兩幅圖聯(lián)合起來(lái)看。15、16腳是用來(lái)調(diào)節(jié)背光,達(dá)到即使黑暗的地方也能看清液晶屏上顯示的字符,但它有損于液晶屏的壽命。圖2-8 1602與單片機(jī)引腳連接圖第三章 系統(tǒng)軟件設(shè)計(jì)單片機(jī)傳統(tǒng)的開(kāi)發(fā)語(yǔ)言是匯編語(yǔ)言,因?yàn)閰R編語(yǔ)言是最接近機(jī)器碼的一種語(yǔ)言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語(yǔ)言可能有所差異,所以不易移植。作為一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,C語(yǔ)言的特點(diǎn)就是可以使你盡量少地對(duì)硬件進(jìn)行操作,具有很強(qiáng)的功能性、結(jié)構(gòu)性和可移植性,因此常常被優(yōu)選作為單片機(jī)系統(tǒng)的編程語(yǔ)言。用C編寫(xiě)程序比匯編更符合人們的思考習(xí)慣,開(kāi)發(fā)者可以擺脫與硬件無(wú)必要的接觸,更專(zhuān)心的考慮功能和算法而不是考慮一

24、些細(xì)節(jié)問(wèn)題,這樣就減少了開(kāi)發(fā)和調(diào)試的時(shí)間。C語(yǔ)言具有良好的程序結(jié)構(gòu),適用于模塊化程序設(shè)計(jì),因此采用C語(yǔ)言設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)程序時(shí),首先要盡可能地采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,將功能模塊化,由不同的模塊完成不同的功能,這樣可使整個(gè)應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。不同的功能模塊,分別指定相應(yīng)的入口參數(shù)和出口參數(shù),對(duì)于一些要重復(fù)調(diào)用的程序一般把其編成函數(shù),這樣可以減少程序代碼的長(zhǎng)度,又便于整個(gè)程序的管理,還可增強(qiáng)可讀性和移植性。 綜上,C語(yǔ)言具有很強(qiáng)的功能性和結(jié)構(gòu)性,可以縮短單片機(jī)控制系統(tǒng)的開(kāi)發(fā)周期,而且易于調(diào)試和維護(hù),已經(jīng)成為目前單片機(jī)語(yǔ)言中最流行的編程語(yǔ)言。本程序設(shè)計(jì)正是將每一功能模塊化,一個(gè)

25、一個(gè)模塊進(jìn)行C語(yǔ)言的編寫(xiě),再一塊一塊調(diào)試,從整個(gè)設(shè)計(jì)下來(lái)的結(jié)果看,用C語(yǔ)言編寫(xiě)程序達(dá)到了很好的效果。本設(shè)計(jì)使用單片機(jī)對(duì)開(kāi)關(guān)電源進(jìn)行數(shù)字的控制,代替原來(lái)的PWM控制芯片KA75009。原先的KA7500所實(shí)現(xiàn)的功能是對(duì)輸出的電壓以及電流進(jìn)行反饋采樣,通過(guò)誤差放大器之后對(duì)輸出的PWM波的占空比進(jìn)行相應(yīng)的調(diào)節(jié),起到了穩(wěn)壓恒流的作用。改用PIC18F4520后,采取雙通道A/D采樣,分別為電壓采樣和電流的采樣,轉(zhuǎn)換為相應(yīng)之后進(jìn)行PID(Proportional Integral Differential)算法,同樣起到了穩(wěn)壓恒流的作用。同時(shí)外圍增設(shè)鍵盤(pán)和LCD顯示電路,對(duì)輸出的電壓和電流有實(shí)時(shí)的控制和

26、監(jiān)測(cè)。本章將對(duì)整個(gè)軟件部分的設(shè)計(jì)思路及其具體實(shí)現(xiàn)進(jìn)行闡述。3.1 軟件設(shè)計(jì)總體思路本系統(tǒng)的軟件主要有主程序模塊、中斷服務(wù)程序模塊組成。其中,主程序模塊主要完成系統(tǒng)的初始化模塊、PWM波發(fā)生模塊、ADC信號(hào)采集模塊以及PID算法處理模塊、鍵盤(pán)以及LCD顯示模塊。中斷服務(wù)程序主要完成TMR0定時(shí)10ms和A/D模塊的數(shù)據(jù)采集濾波處理功能。3.2 系統(tǒng)主程序模塊主程序模塊的程序框圖如圖3-1所示。圖3-1 主程序框圖 3.21 始初化模塊主程序中的初始化模塊主要完成系統(tǒng)全局變量的初始化、ECCP模塊的初始化、A/D轉(zhuǎn)化的初始化、LCD顯示的初始化、TMR0定時(shí)器的初始化和CPU中斷系統(tǒng)的初始化。初始

27、化模塊的程序框圖如圖3-2所示。ECCP模塊的初始化將設(shè)置有兩路互補(bǔ)推挽輸出的PWM波,A/D轉(zhuǎn)化初始化將A/D模塊初始化為10位的A/D轉(zhuǎn)換,TMR0初始化完成每10ms采樣一次電壓及電流值。圖3-2 初始化模塊框圖3.22 PWM波發(fā)生模塊 在PIC18F4520 中,CCP1模塊為帶有增強(qiáng)的PWM功能的標(biāo)準(zhǔn)CCP模塊10。這些增強(qiáng)的功能包括提供2路或4路輸出通道、用戶(hù)可選的極性(高電平有效或低電平有效)、死區(qū)控制以及自動(dòng)關(guān)閉和重啟。因此,增強(qiáng)型PWM 模式提供了更多的PWM 輸出選項(xiàng)以適應(yīng)范圍更廣的控制應(yīng)用。圖3-3所示為PWM操作的簡(jiǎn)化框圖。所有的控制寄存器都是雙重緩沖的,并且在一個(gè)新

28、的PWM周期的開(kāi)始時(shí)刻(Timer2復(fù)位時(shí)的周期邊界)被裝載以防止在任何輸出上出現(xiàn)毛刺。但PWM延遲寄存器PWM1CON例外,該寄存器在占空比邊界或周期邊界(選擇兩者中首先出現(xiàn)的那個(gè))被裝載。由于緩沖,模塊將不會(huì)立即啟動(dòng),而要等到分配的定時(shí)器復(fù)位為止。這意味著增強(qiáng)型PWM 波形并不完全與標(biāo)準(zhǔn)的PWM 波形吻合,而是偏移一個(gè)完整的指令周期(4TOSC)11。圖3-3 增強(qiáng)型PWM模式工作原理示意圖每個(gè)增強(qiáng)型CCP模塊至多有4路PWM 輸出,這取決于選定的操作模式。這些輸出,P1A至P1D,與PORTC和PORTD上的I/O引腳復(fù)用。輸出是否有效取決于選定的CCP操作模式。因此,若想要單片機(jī)工作于

29、半橋輸出的增強(qiáng)型的PWM模式,必須按照以下幾個(gè)步驟: (1) 通過(guò)分別設(shè)置CCP1CON寄存器的P1M1:P1M0 和CCP1M3:CCP1M0 位可配置模塊的輸出模式和極性。如圖3-4所示為CCP1CON寄存器各配置位。 圖3-4 CCP1CON寄存器配置位由于本設(shè)計(jì)中為兩路互補(bǔ)推挽的PWM波輸出,所以設(shè)置P1M1:P1M0=10,即半橋輸出:P1A和P1B為帶死區(qū)控制的調(diào)制輸出;P1C和P1D被指定為端口引腳。同時(shí)設(shè)置CCP1M3:CCP1M0=1100,使P1A和P1B都為高電平有效。 (2) 使P1A和P1B都為輸出模式,即配置TRISC和TRISD的相應(yīng)引腳為0。 (3) 設(shè)置PWM

30、波的周期。PWM 周期可以通過(guò)寫(xiě)PR2寄存器來(lái)指定。用以下公式來(lái)計(jì)算PWM周期。PWM周期=(PR2)+14TOSC(TMR2預(yù)分頻值)根據(jù)本系統(tǒng)所需PWM波的實(shí)際情況,原先的PWM控制芯片所產(chǎn)生的PWM波的頻率要求為25kHz,即周期為410-5s。而單片機(jī)外部的振蕩器為16MHz,TOSC=1/16106s,經(jīng)計(jì)算的PR2=159。(4) 設(shè)置PWM波的占空比。通過(guò)寫(xiě)CCPR1L寄存器和CCP1CON位來(lái)指定PWM占空比。最高分辨率可達(dá)10位。CCPR1L包含占空比的高8位,而CCP1CON包含低2位。由CCPR1L:CCP1CON 表示完整的10位值。計(jì)算占空比的公式如下:PWM占空比=

31、(CCPR1L:CCP1CON)TOSC(TMR2預(yù)分頻值) 可以在任何時(shí)候?qū)懭隒CPR1L和CCP1CON,但是在PR2和TMR2發(fā)生匹配(即周期結(jié)束)前占空比值不會(huì)被鎖存到CCPR1H中。在PWM模式中,CCPR1H 是只讀寄存器。CCPR1H寄存器和一個(gè)2位的內(nèi)部鎖存器用于給PWM占空比提供雙重緩沖。這種雙重緩沖結(jié)構(gòu)非常重要,可以避免在PWM工作過(guò)程中產(chǎn)生毛刺。同樣根據(jù)本系統(tǒng)所需PWM波的實(shí)際情況,PWM的占空比在25%左右。所以需要配置CCPR1L和CCP1CON,經(jīng)計(jì)算得CCPR1L=0X28,同時(shí)CCP1CON=00。(5) 設(shè)置死區(qū)延時(shí)。在半橋輸出模式下,兩個(gè)引腳用作輸出端來(lái)驅(qū)動(dòng)

32、推挽式負(fù)載。PWM 輸出信號(hào)在P1A引腳上輸出,而互補(bǔ)的PWM輸出信號(hào)在P1B引腳上輸出。如圖3-5所示。圖3-5 半橋PWM波輸出波形示意圖在半橋應(yīng)用中,模塊在所有時(shí)間以PWM頻率的調(diào)制信號(hào)驅(qū)動(dòng)電源開(kāi)關(guān),關(guān)閉電源開(kāi)關(guān)通常比打開(kāi)它需要更多的時(shí)間。如果上方的電源和下方的電源開(kāi)關(guān)同時(shí)切換(一個(gè)打開(kāi),另一個(gè)關(guān)閉),兩個(gè)開(kāi)關(guān)可能會(huì)在一段很短的時(shí)間內(nèi)都處于打開(kāi)狀態(tài),直到一個(gè)開(kāi)關(guān)完全關(guān)閉為止。在這很短的間隔內(nèi),很大的電流(直通電流)可能流過(guò)兩個(gè)電源開(kāi)關(guān),從而導(dǎo)致半橋供電電源短路。為了避免在切換期間流過(guò)這種潛在的破壞性直通電流,一般延遲打開(kāi)其中的一個(gè)開(kāi)關(guān)等待另一個(gè)開(kāi)關(guān)完全關(guān)閉。在半橋輸出模式下,可編程的死區(qū)

33、延遲可用來(lái)避免直通電流破壞構(gòu)成半橋的電子開(kāi)關(guān)。該延遲在信號(hào)從非有效狀態(tài)到有效狀態(tài)轉(zhuǎn)換時(shí)發(fā)生。PWM1CON 寄存器(如圖3-6所示)中的PDC6:PDC0位根據(jù)單片機(jī)指令周期設(shè)置延遲時(shí)間(TCY或4個(gè)TOSC)13。 圖3-6 PWM1CON寄存器其中bit6-bit0為PWM延遲計(jì)數(shù)位,延遲時(shí)間為PWM信號(hào)變?yōu)橛行У念A(yù)計(jì)時(shí)間和實(shí)際時(shí)間之差,其單位為FOSC/4(4TOSC)周期14。根據(jù)本設(shè)計(jì)的情況,設(shè)定延時(shí)時(shí)間為占空比時(shí)間的5%,即510-7s,故對(duì)PWM1CON 寄存器賦值為0x84。3.23 A/D轉(zhuǎn)換模塊 在本系統(tǒng)中需要對(duì)電壓和電流進(jìn)行相應(yīng)的A/D轉(zhuǎn)換,硬件電路的設(shè)計(jì)已經(jīng)在前一章進(jìn)行

34、了較為詳細(xì)的描述,在此不再贅述。這一小節(jié)主要介紹PIC單片機(jī)中的A/D轉(zhuǎn)換的原理以及在本實(shí)驗(yàn)中所需要用到A/D轉(zhuǎn)換功能的程序設(shè)計(jì)。PIC單片機(jī)中的A/D轉(zhuǎn)換模塊15如圖3-7所示。 可用軟件選擇模擬參考電壓為器件的正電源電壓和負(fù)電源電壓(VDD和VSS)或RA3/AN3/VREF+引腳和RA2/AN2/VREF-/CVREF引腳上的電平。A/D轉(zhuǎn)換器具有可在休眠模式下工作的特性。要使A/D轉(zhuǎn)換器在休眠狀態(tài)下工作,A/D轉(zhuǎn)換時(shí)鐘必須來(lái)自于A/D 模塊內(nèi)部的RC振蕩器。 采樣保持電路16的輸出是轉(zhuǎn)換器的輸入,轉(zhuǎn)換器采用逐次逼近法得到轉(zhuǎn)換結(jié)果。器件復(fù)位操作將強(qiáng)制所有寄存器進(jìn)入復(fù)位狀態(tài),這將迫使A/D

35、模塊關(guān)閉并中止正在進(jìn)行的轉(zhuǎn)換??梢詫⒚總€(gè)與A/D轉(zhuǎn)換器相關(guān)的端口引腳配置為模擬輸入或數(shù)字I/O。ADRESH和ADRESL寄存器保存A/D轉(zhuǎn)換的結(jié)果。當(dāng) A/D轉(zhuǎn)換完成之后,轉(zhuǎn)換結(jié)果被裝入ADRESH:ADRESL寄存器對(duì),GO/DONE位(ADCON0寄存器)被清零且A/D中斷標(biāo)志位ADIF被置1。上電復(fù)位時(shí),ADRESH:ADRESL寄存器中的值保持不變。上電復(fù)位后,ADRESH:ADRESL寄存器中的值不確定。在根據(jù)需要配置好A/D模塊之后,必須在轉(zhuǎn)換開(kāi)始之前對(duì)選定的通道進(jìn)行采樣。必須將模擬輸入通道相應(yīng)的TRIS位選擇為輸入。采集時(shí)間一結(jié)束,即可啟動(dòng)A/D轉(zhuǎn)換??蓪⒉杉瘯r(shí)間編程設(shè)定在GO

36、/DONE位置1和實(shí)際轉(zhuǎn)換啟動(dòng)之間。圖3-7 10位A/D轉(zhuǎn)換器模塊原理框圖在執(zhí)行A/D轉(zhuǎn)換時(shí)應(yīng)該遵循以下步驟:17:(1)通過(guò)ADCON0寄存器選擇輸入通道。ADCON0寄存器各配置位如圖3-8所示 。 其中bit7-bit6為未用位,bit5-bit2為模擬通道選擇位,從0000-1100分別代表AN0-AN12,這13個(gè)通道。bit1為A/D轉(zhuǎn)換狀態(tài)位,1表示轉(zhuǎn)換正在進(jìn)行,0表示空閑。bit0為A/D轉(zhuǎn)換使能位,1表示使能,0表示禁止。圖3-8 ADCON0寄存器各配置位(2)通過(guò)ADCON1寄存器配置模擬引腳、參考電壓和數(shù)字I/O口。ADCON1寄存器各配置位如圖3-9所示。其中bit

37、7-bit6為未用位,bit5-bit4為參考電壓配置位,在本次設(shè)計(jì)中將其配置位00,使得參考電壓在0-5V之間。bit3-bit0為A/D端口配置控制位,如表3-1所示。圖3-9 ADCON1寄存器各配置位表3-1 A/D端口配置控制位由于AN0為按鍵采集,AN1為電壓采集,AN2為電流采集,所以ADCON1寄存器的bit3-bit0設(shè)置為1100。 (3)通過(guò)配置ADCON2從而設(shè)置A/D轉(zhuǎn)換的采集時(shí)間。每當(dāng)GO/DONE位置1,用戶(hù)就可利用ADCON2寄存器選擇采集時(shí)間。該寄存器還提供了自動(dòng)設(shè)定采集時(shí)間的選項(xiàng)??梢允褂肁CQT2:ACQT0 位(ADCON2)設(shè)置采集時(shí)間,采集時(shí)間的范圍

38、是2到20 個(gè)TAD。當(dāng)GO/DONE位置1時(shí),A/D模塊繼續(xù)對(duì)輸入進(jìn)行采樣,采樣時(shí)間為所選擇的采集時(shí)間,然后自動(dòng)啟動(dòng)轉(zhuǎn)換。由于采集時(shí)間已被編程,因此在選擇通道和GO/DONE 位置1之間無(wú)需另外等待一個(gè)采集時(shí)間。 若ACQT2:ACQT0=000,則表示選擇手動(dòng)采集。當(dāng)GO/DONE位置1時(shí),采樣停止并啟動(dòng)轉(zhuǎn)換。用戶(hù)有責(zé)任確保在選定所需要的輸入通道和GO/DONE位置1之間經(jīng)過(guò)了所需要的采集時(shí)間。此選項(xiàng)也是ACQT2:ACQT0位的默認(rèn)復(fù)位狀態(tài),并且與不提供可編程采集時(shí)間的器件兼容。在這兩種情況下,當(dāng)轉(zhuǎn)換完成時(shí),GO/DONE位被清零、ADIF 標(biāo)志位被置1且A/D 再次開(kāi)始對(duì)當(dāng)前選定的通道

39、進(jìn)行采樣。如果采集時(shí)間已經(jīng)被編程,那么將不會(huì)有任何指示顯示采集時(shí)間何時(shí)結(jié)束,轉(zhuǎn)換何時(shí)開(kāi)始。ADCON2寄存器各配置位如圖2-10所示。圖3-10 ADCON2寄存器各配置位bit5-bit3為A/D采集時(shí)間選擇位,在本設(shè)計(jì)中將這3位設(shè)置成010,為4TAD(每位A/D轉(zhuǎn)換時(shí)間被定義為T(mén)AD)。而每完成一次10位A/D轉(zhuǎn)換需要11個(gè)TAD。圖3-11顯示了GO置位為1,bit5-bit3位被設(shè)置為010,且在轉(zhuǎn)換開(kāi)始之前選擇4TAD采集時(shí)間后A/D轉(zhuǎn)換器的工作狀態(tài)。在轉(zhuǎn)換期間將GO/DONE位清零將中止當(dāng)前的A/D轉(zhuǎn)換。不會(huì)用尚未完成的A/D轉(zhuǎn)換結(jié)果來(lái)更新A/D結(jié)果寄存器對(duì)。這意味著ADRESH

40、:ADRESL寄存器將仍然保持上一次的轉(zhuǎn)換結(jié)果(或上一次寫(xiě)入ADRESH:ADRESL寄存器的值)。在A/D轉(zhuǎn)換完成或中止以后,需要等待2個(gè)TAD才能開(kāi)始下一次采集。等待時(shí)間一到,將自動(dòng)開(kāi)始對(duì)選定通道進(jìn)行采集。圖3-11 A/D轉(zhuǎn)換周期TADACQ=4TAD)2.配置A/D中斷:(1)清零ADIF位 (2)將ADIE位置1 (3)將GIE位置13.等待所需要的采集時(shí)間。4.啟動(dòng)轉(zhuǎn)換:將ADCON0寄存器中的GO/DONE為置1。5.等待A/D轉(zhuǎn)換完成,在本設(shè)計(jì)中是以中斷的形式來(lái)判斷轉(zhuǎn)換是否完成。6.讀取A/D結(jié)果寄存器(ADRESH:ADRESL)。7.再次進(jìn)行A/D轉(zhuǎn)換。3.24 PID算法

41、處理模塊1. PID算法原理簡(jiǎn)介18典型PID控制的傳遞函數(shù)如式(1)所示: (1)式中:Kp為比例系數(shù);Ti為積分常數(shù);Td為微分常數(shù)。簡(jiǎn)單說(shuō)來(lái),PID控制器各校正環(huán)節(jié)的作用如下:比例環(huán)節(jié)(Proportiona1):及時(shí)成比例地反映控制系統(tǒng)的偏差信號(hào),偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,以減少偏差。積分環(huán)節(jié)(Integra1):主要用于消除靜差,提高系統(tǒng)的無(wú)差度。積分作用強(qiáng)弱取決于積分時(shí)間常數(shù)Ti,Ti越大,積分作用越弱,反之則越強(qiáng)。微分環(huán)節(jié)(Differentia1):能反映偏差信號(hào)的變化趨勢(shì)(變化速率),并能在偏差信號(hào)值變得太大之前,在系統(tǒng)中引入一個(gè)有效的早期修正信號(hào),從而加快系統(tǒng)的

42、動(dòng)作速度,減小調(diào)節(jié)時(shí)間。若令,則式(1)可以改寫(xiě)為: (2)將式(2)經(jīng)過(guò)拉氏變換,并考慮初始值,即可求得時(shí)域內(nèi)理想的模擬PID控制算式,如下: (3)由于單片機(jī)根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量19,因此式(3)中的積分和微分項(xiàng)不能直接使用,需要做離散化處理。按照模擬PID控制算法的算式(3),現(xiàn)以一系列的采樣時(shí)刻點(diǎn)代表連續(xù)的時(shí)間,以和式代替積分,以增量代替微分,則可得到離散化的PID表達(dá)式為: (4)式中:j為采樣序號(hào),j=0,1,2n;un第n次采樣時(shí)刻的控制器輸出值;en為第n次采樣時(shí)刻輸入的偏差值;en-1為第n-1次采樣時(shí)刻輸入的偏差值。數(shù)字PID控制分為位置式PID控制算法和增量式P

43、ID控制算法,式(4)所示便是位置式PID算式。由式(4)可得控制器第n-1次的輸出量un-1為: (5)所以,增量式PID控制算式如下所示: (6)2. 本系統(tǒng)的PID算法程序框圖在開(kāi)關(guān)電源結(jié)構(gòu)中,開(kāi)關(guān)電源是通過(guò)修改PWM波占空比改變逆變橋中COOLMOSFET的通斷時(shí)間,從而控制輸出電壓的大小。當(dāng)輸出電壓超過(guò)給定值時(shí),減小PWM波占空比,減小COOLMOSFET開(kāi)通時(shí)間,降低輸出電壓;反之,當(dāng)輸出電壓小于給定值時(shí),則增加PWM波占空比,增加COOLMOSFET開(kāi)通時(shí)間,使輸出電壓升高??梢?jiàn),在控制器進(jìn)行調(diào)節(jié)的時(shí)候我們所關(guān)心的是此次PWM波的占空比需要改變的量,即每次輸出控制量的增量。因此,

44、本系統(tǒng)使用增量式PID控制算法。程序框圖如圖3-12所示。圖3-12PID算法程序框圖3.25LCD液晶顯示模塊本設(shè)計(jì)中的LCD現(xiàn)實(shí)這一塊相對(duì)清晰,主要進(jìn)行的是對(duì)LCD的讀寫(xiě)操作。但是在編寫(xiě)程序的過(guò)程中主要的是將讀寫(xiě)的時(shí)序有很好的理解。如圖2-13和如圖2-14分別為顯示了1602的讀和寫(xiě)的操作。3.26 按鍵處理模塊通過(guò)按鍵實(shí)現(xiàn)設(shè)定電壓的增減,如按一下增加鍵(鍵1),則設(shè)定電壓值加一伏,但是如果設(shè)定電壓值大于或是等于36V時(shí),則不在增加;同理,按一下減少鍵(鍵2),則設(shè)定電壓值減一伏,但是如果設(shè)定電壓值小于或是等于24V時(shí),設(shè)定值將不在減少而是保存原值不變。 圖3-13 LCD1602讀操作

45、時(shí)序圖 圖3-14 LCD1602寫(xiě)操作時(shí)序圖注:tsp1和tsp2的最小值一般在30-40ns之間;tHD1和tHD2最小值一般在10ns;tPW的最小值為150ns;tC的最小值為400ns;tF的最大值一般為25ns;tR的最大值一般為25ns;tD的最大值一般為100ns。此模塊采用AD采集的方式來(lái)識(shí)別按鍵的按鍵模塊,每個(gè)按鍵對(duì)應(yīng)于不同的電壓,因此每個(gè)按鍵對(duì)應(yīng)于不同的AD值,從而通過(guò)判斷AD值的大小范圍就可以判定出按鍵的值,而此按鍵模塊只需一個(gè)AD采集口就夠了,大大的減少了IO口的占用情況。各個(gè)按鍵按下所得到的AD值如下:Key1 2.5V 0x200 Key2 2.0V 0x199

46、Key3 1.67V 0x156Key4 2.882V 0x24E Key5 2.24V 0x1CA Key6 1.795V 0x16FKey7 3.11V 0x27C Key8 2.37V 0x1E5 Key9 1.916V 0x1883.3 中斷服務(wù)程序模塊3.31 中斷程序原理及框圖此系統(tǒng)的中斷服務(wù)程序采取兩級(jí)中斷,主要是TMR0定時(shí)/計(jì)數(shù)器產(chǎn)生10ms定時(shí)的溢出中斷,主要完成定時(shí)10ms對(duì)A/D模塊的數(shù)字量讀取和重新開(kāi)始新的A/D轉(zhuǎn)換,每當(dāng)ADCBuffer緩沖區(qū)的內(nèi)容滿(mǎn)時(shí),對(duì)所有采集到的數(shù)據(jù)進(jìn)行數(shù)字濾波從而讀取正確的A/D轉(zhuǎn)換后的電壓數(shù)字量傳給主程序的電壓變換模塊從而交于PID算法處

47、理模塊進(jìn)行處理。在此分析電壓中斷服務(wù)子程序。程序的框圖如圖3-15所示。圖3-15 電壓中斷服務(wù)程序框圖3.32 數(shù)字濾波算法數(shù)字PID控制是一種采樣控制,它只能根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量。而測(cè)量信號(hào)中總是存在一些干擾、噪聲或者畸變,這些因素都影響上述控制算法的精度,從而使整個(gè)控制系統(tǒng)的性能下降。因此,利用數(shù)字濾波技術(shù)能夠有效地對(duì)偏差信號(hào)(測(cè)量信號(hào))中的干擾、噪聲進(jìn)行濾波或者對(duì)其畸變進(jìn)行動(dòng)態(tài)補(bǔ)償,從而提高數(shù)字PID控制算式的精度,改進(jìn)控制系統(tǒng)的性能。本系統(tǒng)中軟件中采用TMR0定時(shí)10ms,每10ms定時(shí)的時(shí)間到就將A/D轉(zhuǎn)換的結(jié)果讀出來(lái),存儲(chǔ)在定義的unsigned char ADCBuf

48、fer5緩沖區(qū)中。當(dāng)緩沖區(qū)滿(mǎn)時(shí),將緩沖區(qū)的內(nèi)容進(jìn)行排序,抑制掉最大值和最小值,只取中間的值作為轉(zhuǎn)換的結(jié)果。這部分?jǐn)?shù)字濾波的具體實(shí)現(xiàn)方法如下:/采用數(shù)字濾波算法,用排序法完成for(i=0;isizeof(ADCBuffer)/2;i+) for(j=i;jsizeof(ADCBuffer)/2;j+) if(ADCBufferiADCBufferj) temp=ADCBufferi;ADCBufferi=ADCBufferj; ADCBufferj=temp; /獲取濾波后的AD轉(zhuǎn)換值,將該值載入ADCValue中 ADCValue=ADCBuffersizeof(ADCBuffer)/2;第

49、四章 結(jié) 論此畢業(yè)設(shè)計(jì)主要完成的任務(wù)是對(duì)開(kāi)關(guān)電源進(jìn)行數(shù)字的控制即程序的編寫(xiě)。其實(shí)從硬件電路的角度講難度并不是很大,因?yàn)橹饕褪请妷汉碗娏鞯牟杉?,然后進(jìn)行A/D的轉(zhuǎn)換,再調(diào)節(jié)PWM波的占空比。原理相對(duì)簡(jiǎn)單,但是要做成功其實(shí)并不是一件容易的事情,主要碰到的問(wèn)題有不同電壓情況下PWM波的占空比是不一樣的。要想通過(guò)進(jìn)行電壓的設(shè)定以及將電壓穩(wěn)定在設(shè)定的狀態(tài)需要對(duì)PWM波的占空比有比較精確的定量認(rèn)識(shí)。在這個(gè)情況下面,需要極其耐心地對(duì)每個(gè)電壓所對(duì)應(yīng)的PWM波的占空比做一個(gè)較為詳細(xì)的記錄,以便進(jìn)行軟件程序的編寫(xiě)。在開(kāi)關(guān)電源中,相對(duì)模擬系統(tǒng)而言,數(shù)字系統(tǒng)22具有設(shè)計(jì)周期短,易實(shí)現(xiàn)模塊化管理,能夠消除因分立元件引

50、起的不穩(wěn)定和電磁干擾等優(yōu)點(diǎn)。因此,近年來(lái)數(shù)字控制在開(kāi)關(guān)電源中得到迅速的發(fā)展。隨著芯片技術(shù)的不斷發(fā)展,特別是單片機(jī)技術(shù)的發(fā)展,各種在模擬電路中難以實(shí)現(xiàn)的現(xiàn)代控制方法也開(kāi)始應(yīng)用于開(kāi)關(guān)電源的控制中,使得模擬控制向數(shù)字控制轉(zhuǎn)變。相信隨著數(shù)字技術(shù)的不斷發(fā)展和電子技術(shù)的不斷發(fā)展,單片機(jī)的數(shù)字控制將會(huì)越來(lái)越受到關(guān)注,也會(huì)越來(lái)越廣泛地被運(yùn)用到高效率、高功率因素的開(kāi)關(guān)電源中。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。因此

51、作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。隨著科技的發(fā)展,單片機(jī)已不是一個(gè)陌生的名詞,它的出現(xiàn)是近代計(jì)算機(jī)技術(shù)發(fā)展史上的一個(gè)重要里程碑,因?yàn)閱纹瑱C(jī)的誕生標(biāo)志著計(jì)算機(jī)正式形成了通用計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)兩大分支。單片機(jī)單芯片的微小體積和低的成本,可廣泛地嵌入到如玩具、家用電器、機(jī)器人、儀器儀表、汽車(chē)電子系統(tǒng)、工業(yè)控制單元、辦公自動(dòng)化設(shè)備、金融電子系統(tǒng)、艦船、個(gè)人信息終端及通訊產(chǎn)品中,成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具。本文所涉及的是市場(chǎng)占有率最高的是MCS51系列,因?yàn)槭澜缟虾芏嘀腎C生產(chǎn)廠(chǎng)家都生產(chǎn)51兼容的芯片。到目前為止,MCS51單片機(jī)已有數(shù)百個(gè)品種,還在不斷推

52、出功能更強(qiáng)的新產(chǎn)品。致 謝經(jīng)過(guò)三個(gè)多月的時(shí)間,畢業(yè)設(shè)計(jì)按照預(yù)期完成了,由于本人的知識(shí)水平有限,論文和設(shè)計(jì)中有遺漏和缺陷的地方懇請(qǐng)指正。我要感謝河南理工大學(xué),感謝電氣系對(duì)我四年的培養(yǎng),讓我學(xué)到了許許多多的知識(shí),感謝各位老師在這四年里對(duì)我的關(guān)懷與照顧,在此致以我深深的謝意。感謝我的導(dǎo)師給了我莫大的幫助,在她悉心的指導(dǎo)和嚴(yán)格的要求下,作品和論文順利完成了。論文從選題和最終完成,凝結(jié)著導(dǎo)師的辛勤的汗水,她不辭勞苦的教導(dǎo)、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)使我終生受益。在此畢業(yè)設(shè)計(jì)完成之際,謹(jǐn)向?qū)熀退袔椭^(guò)我的老師致以崇高的敬意和衷心的感謝。還有感謝家人、朋友還有宿舍里所有的室友,是他們給我創(chuàng)造了良好的學(xué)習(xí)氛圍,在學(xué)習(xí)和生

53、活中給了我支持和幫助。在以后的學(xué)習(xí)生活中我會(huì)時(shí)時(shí)敦促自己更加努力,不辜負(fù)師長(zhǎng)、親人、朋友對(duì)我的期望畢業(yè)設(shè)計(jì)是綜合運(yùn)用所學(xué)知識(shí)的一次能力鍛煉。在設(shè)計(jì)過(guò)程中,不但要汲取新的知識(shí)而且對(duì)以前所學(xué)的知識(shí)也要融會(huì)貫通。此次的畢業(yè)設(shè)計(jì)不但增強(qiáng)了自己的動(dòng)手能力,而且也使我學(xué)會(huì)了如何用所學(xué)的知識(shí)解決實(shí)際問(wèn)題。同時(shí)它也使我認(rèn)識(shí)到同學(xué)之間相互討論,相互學(xué)習(xí)的重要性,讓我在以后的工作中更加注重一個(gè)團(tuán)隊(duì)的合作精神。最后,感謝在百忙之中抽出時(shí)間參加論文評(píng)閱和課題答辯的各位老師,在此致以最衷心的感謝!參考文獻(xiàn)1 王小波4 高飛, 田玉冬. 36V/2A穩(wěn)壓開(kāi)關(guān)電源的設(shè)計(jì)J. 上海電機(jī)學(xué)院學(xué)報(bào),2007,10(2): 94-

54、975 林雯. 淺談開(kāi)關(guān)電源的技術(shù)發(fā)展趨勢(shì)J. 通信電源技術(shù),2008,25(6):79-807 劉松又. 高頻開(kāi)關(guān)電源的數(shù)字化控制電路的設(shè)計(jì)J. 湖南大學(xué)學(xué)報(bào), 2003(6): 978 雷媛媛,吳勝益. 試論開(kāi)關(guān)電源技術(shù)的發(fā)展J. 通信電源技術(shù),2008,25(4):75-77 9 胡瑋,康永. 基于單片機(jī)控制的雙路輸出數(shù)字開(kāi)關(guān)電源的研制J. 上海電機(jī)學(xué)院學(xué)報(bào),2008,10(2): 65-6710 劉鹿生.電力電子的高頻數(shù)字控制J.電力電子,2005(1):535511 馬彥霞,李俊. 等型變換器的閉環(huán)控制性能分析與仿真J. 中原工學(xué)院學(xué)報(bào),2004(4):363912 汪超. 基于高性能單片機(jī)的功率直流開(kāi)關(guān)電源的設(shè)計(jì)J. 湖南工程學(xué)院學(xué)報(bào),2003(6): 9713 王增福

溫馨提示

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

評(píng)論

0/150

提交評(píng)論