第一篇:基于單片機(jī)的逆變電源系統(tǒng)設(shè)計(jì)
第一章 逆變電源的數(shù)字化控制 2 1.1逆變電源數(shù)字化控制技術(shù)的發(fā)展 2 1.2傳統(tǒng)逆變電源控制技術(shù) 2 1.2.1傳統(tǒng)逆變電源控制技術(shù)的缺點(diǎn) 2 1.2.2傳統(tǒng)逆變電源控制技術(shù)的改進(jìn) 2 1.3逆變電源數(shù)字化控制技術(shù)的現(xiàn)狀 2 1.3.1逆變電源控制技術(shù)數(shù)字化、智能化、網(wǎng)絡(luò)化 2 1.3.2逆變電源數(shù)字化需要解決的一些難題 2 1.4逆變電源數(shù)字化的各種控制策略 2 1.4.1數(shù)字PI控制 2 1.4.2滑模變結(jié)構(gòu)控制 2 1.4.3無(wú)差拍控制 2 1.4.4重復(fù)控制 2 第二章 推挽型逆變器的基礎(chǔ)知識(shí) 2 2.1 開關(guān)型逆變器 2 2.2 推挽型電路 2 2.2.1 線路結(jié)構(gòu) 2 2.2.2 工作原理 2 2.2.2推挽型逆變器的變壓器設(shè)計(jì) 2 第三章 基于單片機(jī)的控制系統(tǒng)設(shè)計(jì) 2 3.1 系統(tǒng)硬件電路的設(shè)計(jì) 2 3.1.1 AT89C52單片機(jī) 2 3.1.2顯示電路 2 3.1.3 A/D轉(zhuǎn)換電路 2 3.1.4 SPWM波形電路 2 3.1.5 SA828主要特點(diǎn) 2 3.1.6 SA828工作原理 2 3.1.7內(nèi)部結(jié)構(gòu)及工作原理 2 3.1.8 SA828 初始化寄存器編程 2 3.1.9 SA828控制寄存器編程 2 3.2 系統(tǒng)軟件的設(shè)計(jì) 2 3.2.1 初始化程序 2 3.2.2 主程序 2 3.2.3 SA838初始化及控制子程序 2 3.2.4 ADC0809的控制及數(shù)據(jù)處理子程序 2 3.2.5 數(shù)據(jù)處理及電壓顯示子程序 2 3.2.6 輸出頻率測(cè)試計(jì)算及顯示子程序部分 2 第四章 聯(lián)機(jī)調(diào)試及結(jié)果分析 2 4.1 聯(lián)機(jī)調(diào)試情況 2 4.2 實(shí)驗(yàn)驗(yàn)證及結(jié)果分析 2 4.3結(jié)論 2 參考文獻(xiàn) 2 第一章 逆變電源的數(shù)字化控制
1.1逆變電源數(shù)字化控制技術(shù)的發(fā)展 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,對(duì)逆變電源提出了更高的要求,高性能的逆變電源必須滿足:高輸入功率因數(shù),低輸出阻抗;暫態(tài)響應(yīng)快速,穩(wěn)態(tài)精度高;穩(wěn)定性高,效率高,可靠性高;電磁干擾低等。要實(shí)現(xiàn)這些功能,離不開數(shù)字化控制技術(shù)。1.2傳統(tǒng)逆變電源控制技術(shù)
1.2.1傳統(tǒng)逆變電源控制技術(shù)的缺點(diǎn) 傳統(tǒng)的逆變電源多為模擬控制系統(tǒng)。雖然模擬控制技術(shù)已經(jīng)非常成熟,但其存在很多固有的缺點(diǎn):控制電路的元器件比較多,電路復(fù)雜,所占的體積較大;靈活性不夠,硬件電路設(shè)計(jì)好了,控制策略就無(wú)法改變;調(diào)試不方便,由于所采用器件特性的差異,致使電源一致性差,且模擬器件的工作點(diǎn)的漂移,導(dǎo)致系統(tǒng)參數(shù)的漂移。模擬方式很難實(shí)現(xiàn)逆變電源的并聯(lián),所以逆變電源數(shù)字化控制是發(fā)展的趨勢(shì),是現(xiàn)代逆變電源研究的一個(gè)熱點(diǎn)。1.2.2傳統(tǒng)逆變電源控制技術(shù)的改進(jìn)
為了改善系統(tǒng)的控制性能,通過(guò)模擬、數(shù)字(A/D)轉(zhuǎn)換器,將微處理器與系統(tǒng)相連,在微處理器中實(shí)現(xiàn)數(shù)字控制算法,然后通過(guò)輸入、輸出口或脈寬調(diào)制口(pulse width modulation, PWM)發(fā)出開關(guān)控制信號(hào)。微處理器還能將采集的功率變換裝置工作數(shù)據(jù),顯示或傳送至計(jì)算機(jī)保存。一些控制中所用到的參考值可以存儲(chǔ)在微處理器的存儲(chǔ)器中,并對(duì)電路進(jìn)行實(shí)時(shí)監(jiān)控。微處理器的使用在很大程度上提高了電路系統(tǒng)的性能,但由于微處理器運(yùn)算速度的限制,在許多情況下,這種微處理器輔助的電路控制系統(tǒng)仍舊要用到運(yùn)算放大器等模擬控制元件。近年來(lái)隨著大規(guī)模集成電路技術(shù)的發(fā)展,一些專用心片的產(chǎn)生,使逆變電源的全數(shù)字控制成為現(xiàn)實(shí)。實(shí)時(shí)地讀取逆變電源的輸出,并實(shí)時(shí)地處理,使得一些先進(jìn)的控制策略應(yīng)用于逆變電源控制成為可能,從而可對(duì)非線性負(fù)載動(dòng)態(tài)變化時(shí)產(chǎn)生的諧波進(jìn)行動(dòng)態(tài)補(bǔ)償,將輸出諧波達(dá)到可以接受的水平。
1.3逆變電源數(shù)字化控制技術(shù)的現(xiàn)狀
1.3.1逆變電源控制技術(shù)數(shù)字化、智能化、網(wǎng)絡(luò)化
隨著電機(jī)控制專用芯片的出現(xiàn)和控制理論的普遍發(fā)展,逆變電源技術(shù)朝著全數(shù)化智能化及網(wǎng)絡(luò)化的方向發(fā)展,逆變電源的數(shù)字控制技術(shù)發(fā)生了一次大飛躍。逆變電源數(shù)字化控制的優(yōu)點(diǎn)在于各種控制策略硬件電路基本是一致的,要實(shí)現(xiàn)各種控制策略,無(wú)需變動(dòng)硬件電路,只需修改軟件即可,大大縮短了開發(fā)周期,而且可以應(yīng)用一些新型的復(fù)雜控制策略,各電源之間的一致性很好,這樣為逆變電源的進(jìn)一步發(fā)展提供了基礎(chǔ),而且易組成可靠性高的大規(guī)模逆變電源并聯(lián)運(yùn)行系統(tǒng)。
1.3.2逆變電源數(shù)字化需要解決的一些難題
數(shù)字化是逆變電源發(fā)展的主要方向,但還是需要解決以下一些難題:
a)逆變電源輸出要跟蹤的是一個(gè)按正弦規(guī)律變化的給定信號(hào),它不同于一般開關(guān)電源的常值控制。在閉環(huán)控制下,給定信號(hào)與反饋信號(hào)的時(shí)間差就體現(xiàn)為明顯的相位差,這種相位差與負(fù)載是相關(guān)的,這就給控制器的設(shè)計(jì)帶來(lái)了困難。
b)逆變電源輸出濾波器對(duì)系統(tǒng)的模型影響很大,輸入電壓的波動(dòng)幅值和負(fù)載的性質(zhì),大小的變化范圍往往比較大,這些都增加了控制對(duì)象的復(fù)雜性,使得控制對(duì)象模型的高階性、不確定性、非線性顯著增加。
c)對(duì)于數(shù)字式PWM,都存在一個(gè)開關(guān)周期的失控區(qū)間,一般是在每個(gè)開關(guān)周期的開始或上個(gè)周期之末來(lái)確定本次脈沖的寬度,即使這時(shí)系統(tǒng)發(fā)生了變化,也只能在下一個(gè)開關(guān)周期對(duì)脈沖寬度做出調(diào)整,所以現(xiàn)在逆變電源的數(shù)字化控制引起了廣泛的關(guān)注。1.4逆變電源數(shù)字化的各種控制策略
逆變電源數(shù)字控制方法成為當(dāng)今電源研究領(lǐng)域的一個(gè)熱點(diǎn),與數(shù)字化相對(duì)應(yīng),各種各樣的離散控制方法也紛紛涌現(xiàn),包括數(shù)字比例-積分-微分(PI)調(diào)節(jié)器控制、無(wú)差拍控制、數(shù)字滑變結(jié)構(gòu)控制、模糊控制以及各種神經(jīng)網(wǎng)絡(luò)控制等,從而有力地推動(dòng)逆變電源控制技術(shù)的發(fā)展。
1.4.1數(shù)字PI控制
數(shù)字PI控制以參數(shù)簡(jiǎn)單、易整定等特點(diǎn)得到了廣泛應(yīng)用。逆變器采用模擬數(shù)字PI控制時(shí),如果只是輸出電壓的瞬時(shí)值反饋,其動(dòng)態(tài)性能和非線性負(fù)載時(shí)的性能不會(huì)令人滿意;如果是輸出濾波電感或輸出濾波電容的電流瞬時(shí)值引入反饋,其性能將得到較大改進(jìn),然而,龐大的模擬控制電路使控制系統(tǒng)的可靠性下降,調(diào)試復(fù)雜,不易于整定。數(shù)字信號(hào)處理芯片的出現(xiàn)使這個(gè)問(wèn)題得以迅速解決,如今各種補(bǔ)償措施及控制方式可以很方便地應(yīng)用于逆變電源的數(shù)字PI控制中,控制器參數(shù)修改方便,調(diào)試簡(jiǎn)單。
但是,數(shù)字PI控制算法應(yīng)用到逆變電源的控制中,不可避免地產(chǎn)生了一些局限性:一方面是系統(tǒng)的采樣量化誤差,降低了算法的分辨率,使得PI調(diào)節(jié)器的精度變差;另一方面,采樣和計(jì)算延時(shí)使被控系統(tǒng)成為一個(gè)具有純時(shí)間滯后的系統(tǒng),造成PI控制器設(shè)計(jì)困難,穩(wěn)定性減小,隨著高速專用芯片及高速A/D的發(fā)展,數(shù)字PI控制技術(shù)在逆變電源的控制中會(huì)有進(jìn)一步的應(yīng)用。
1.4.2滑模變結(jié)構(gòu)控制
滑模變結(jié)構(gòu)控制(sliding mode variable structure control,SVSC)最顯著的特點(diǎn)是對(duì)參數(shù)變化和外部擾動(dòng)不敏感,即魯棒性強(qiáng),加上其固有的開關(guān)特性,因此非常適用于閉環(huán)反饋控制的電能變換器。
基于微處理器的離散滑??刂剖鼓孀兤鬏敵霾ㄐ斡休^好的暫態(tài)響應(yīng),但系統(tǒng)的穩(wěn)態(tài)性能不是很理想。具有前饋控制的離散滑??刂葡到y(tǒng)[1],暫態(tài)性能和穩(wěn)態(tài)精度得到提高,但如果系統(tǒng)過(guò)載時(shí),滑??刂破鞯呢?fù)擔(dān)將變得非常重。自矯正離散滑模控制可以解決這個(gè)問(wèn)題。
逆變器的控制器由參數(shù)自適應(yīng)的線性前饋控制器和非線性滑模控制器組成,滑??刂破鲀H在負(fù)載導(dǎo)致輸出電壓變化時(shí)產(chǎn)生控制力,穩(wěn)態(tài)的控制力主要由前饋控制器提供,滑??刂破鞯那袚Q面(超平面)是根據(jù)優(yōu)化準(zhǔn)則進(jìn)行設(shè)計(jì)的。1.4.3無(wú)差拍控制
無(wú)差拍控制(deadbeat control)是一種基于電路方程的控制方式,其控制的基本思想是將輸出正弦參考波等間隔地劃分為若干個(gè)取樣周期,根據(jù)電路在每一取樣周期的起始值,用電路理論算出關(guān)于取樣周期中心對(duì)稱的方波脈沖作用時(shí),負(fù)載輸出在取樣周期末尾時(shí)的值。這個(gè)輸出值的大小,與方波脈沖的極性與寬度有關(guān),適當(dāng)控制方波脈沖的極性與寬度,就能使負(fù)載上的輸出在取樣周期的末后與輸出參考波形相重合[2]。不斷調(diào)整每一取樣周期內(nèi)方波脈沖的極性與寬度,就能在負(fù)載上獲得諧波失真小的輸出。因此,即使在很低的開關(guān)頻率下,無(wú)差拍控制也能夠保證輸出波形的質(zhì)量,這是其它控制方法所不能做到的,但是,其也有局限性:由于采樣和計(jì)算時(shí)間的延遲,輸出脈沖的占空比受到很大限制;對(duì)于系統(tǒng)參數(shù)的變化反應(yīng)靈敏,如電源電壓波動(dòng)、負(fù)載變動(dòng),系統(tǒng)的魯棒性差。
對(duì)于采樣和計(jì)算延時(shí)的影響,一種方法是通過(guò)修改輸出脈沖方式的方法來(lái)減小計(jì)算延時(shí)造成的占空比局限;另一種方法是通過(guò)狀態(tài)觀測(cè)器對(duì)系統(tǒng)狀態(tài)提前進(jìn)行預(yù)測(cè),用觀測(cè)值替代實(shí)際值進(jìn)行控制,從而避免采樣和計(jì)算延時(shí)對(duì)系統(tǒng)的影響。為了提高系統(tǒng)的魯棒性,一種方法是采用負(fù)載電流預(yù)測(cè)方法來(lái)減小負(fù)載變動(dòng)對(duì)電源輸出的影響,但實(shí)際改善的程度有限;另一種可行的方法是對(duì)系統(tǒng)參數(shù)進(jìn)行在線辨識(shí),從而實(shí)時(shí)確定控制器參數(shù),以達(dá)到良好的控制效果。但是,在線系統(tǒng)辨識(shí)的計(jì)算復(fù)雜度和存儲(chǔ)量都非常大,一般的微處理器很難在很短的時(shí)間內(nèi)完成,因此實(shí)現(xiàn)的可能性不大,所以還沒(méi)有一種比較好的方法來(lái)解決無(wú)差拍控制魯棒性差的問(wèn)題。正是由于無(wú)差拍控制在電源控制中的不足及局限性到目前還難以解決,使得無(wú)差拍控制在工業(yè)界的應(yīng)用還有待不斷的深入研究。1.4.4重復(fù)控制
逆變器采用重復(fù)控制(repetitive control)是為了克服整流型非線性負(fù)載引起的輸出波形周期性的畸變,它通常與其他PWM控制方式相結(jié)合。重復(fù)控制的思想是假定前一周期出現(xiàn)的基波波形將在下一基波周期的同一時(shí)間重復(fù)出現(xiàn),控制器根據(jù)給定信號(hào)和反饋信號(hào)的誤差來(lái)確定所需的校正信號(hào),然后在下一個(gè)基波周期的同一時(shí)間將此信號(hào)疊加到原控制信號(hào)上,以消除后面各周期中將出現(xiàn)的重復(fù)畸變[3]。
雖然重復(fù)控制使系統(tǒng)獲得了很好的靜態(tài)性能,且易于實(shí)現(xiàn),但該技術(shù)卻不能夠獲得好的動(dòng)態(tài)性能。自適應(yīng)重復(fù)控制方案成功地應(yīng)用于逆變器的控制中。
模糊控制(fuzzy control)能夠在準(zhǔn)確性和簡(jiǎn)潔性之間取得平衡,有效地對(duì)復(fù)雜的電力電子系統(tǒng)做出判斷和處理。將模糊控制應(yīng)用于逆變器,具有如下優(yōu)點(diǎn):模糊控制器的設(shè)計(jì)不需被控對(duì)象的精確數(shù)學(xué)模型,并且有較強(qiáng)的魯棒性和自適應(yīng)性;查找模糊控制表只需占有處理器很少的時(shí)間,可采用較高采樣率來(lái)補(bǔ)償模糊規(guī)則和實(shí)際經(jīng)驗(yàn)的偏差。
將輸出電壓和濾波電感電流反饋,即電壓誤差和電感電流作為輸入模糊變量,可以實(shí)現(xiàn)逆變器的模糊控制,整流性負(fù)載時(shí),其輸出電壓總諧波失真(total harmonic distortion,TH)小于5%,將模糊控制與無(wú)差拍控制相結(jié)合,可用來(lái)補(bǔ)償由于非線性負(fù)載導(dǎo)致的電壓降落,[5-6]。模糊控制從模仿人的思維外特性入手,模仿人的模糊信息處理能力。它對(duì)系統(tǒng)的控制是以人的經(jīng)驗(yàn)為依據(jù)的,而人的經(jīng)驗(yàn)正是反映人在思維過(guò)程中的判斷、推理、歸納。理論上已經(jīng)證明,模糊控制可以任意精度逼近任何線性函數(shù),但受到當(dāng)前技術(shù)水平的限制,模糊變量的分檔和模糊規(guī)則都受到一定的限制,隸屬函數(shù)的確定還沒(méi)有統(tǒng)一的理論指導(dǎo),帶有一定的人為因素,因此,模糊控制的精度有待于進(jìn)一步提高。
此外神經(jīng)網(wǎng)絡(luò)控制是一種使用人工神經(jīng)網(wǎng)絡(luò)的控制方法。因?yàn)槿斯ど窠?jīng)網(wǎng)絡(luò)是建立在強(qiáng)有力的數(shù)學(xué)基礎(chǔ)上,所以它有很大的潛力,這個(gè)數(shù)學(xué)基礎(chǔ)包括各種各樣的已被充分理解的數(shù)學(xué)工具。在無(wú)模型自適應(yīng)控制器中,人工神經(jīng)網(wǎng)絡(luò)也是一個(gè)重要組成部分。但由于神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)技術(shù)沒(méi)有突破,還沒(méi)有成功地應(yīng)用于逆變電源的控制中。
第二章 推挽型逆變器的基礎(chǔ)知識(shí) 2.1 開關(guān)型逆變器 廣義地說(shuō),凡用半導(dǎo)體功率器件作為開關(guān),將一種電源形態(tài)轉(zhuǎn)變?yōu)榱硪环N形態(tài)的主電路都叫做開關(guān)變換電路,這種變換可以是交流電和直流電之間的變換,也可以是電壓或電流幅值的變換,或者是交流電的頻率、相數(shù)等的變換。按電力電子的習(xí)慣稱謂,基本的電力電子電路可以分為四大類型,即AC——DC電路、DC——AC電路、AC——AC電路、DC——DC電路。本文中的逆變電路就屬DC——AC電路。開關(guān)逆變器中的開關(guān)都是在某一固定頻率下工作,這種保持開關(guān)頻率恒定,但改變接通時(shí)間長(zhǎng)短(即脈沖寬度),使負(fù)載變化時(shí),負(fù)載上電壓變化不大的方法,稱脈寬調(diào)制法(Pluse Width Modulation,簡(jiǎn)稱為PWM)[4]。由于電子開關(guān)按外加控制脈沖而通斷,控制與本身流過(guò)的電流、二端所加的電壓無(wú)關(guān),因此電子開關(guān)稱為“硬開關(guān)”。凡用脈寬調(diào)制方式控制電子開關(guān)的開關(guān)逆變器,稱為PWM開關(guān)型逆變器。本文是用SPWM專用產(chǎn)生芯片控制電子開關(guān)的通斷,屬硬開關(guān)技術(shù)。相對(duì)應(yīng)有另一類控制技術(shù)“軟開關(guān)”,它是一種使電子開關(guān)在其兩端電壓為零時(shí)導(dǎo)通電流,或使流過(guò)電子開關(guān)電流為零時(shí)關(guān)斷的控制技術(shù)。軟開關(guān)的開通、關(guān)斷損耗理想值為零,損耗很小,開關(guān)頻率可以做到很高。2.2 推挽型電路
各種變換電路按其是否具備電能回饋能力分為非回饋型和回饋型,非回饋型電路按其輸出端與輸入端是否電氣個(gè)力分為非隔離型和隔離型。隔離型電路又分為正激型、反激型、半橋型、全橋型和推挽型。帶中心抽頭變壓器原邊兩組線圈輪流工作的線路一般稱為推挽線路,它不太適合離線變換器的應(yīng)用。推挽型電路的一個(gè)突出優(yōu)點(diǎn)是變壓器雙邊勵(lì)磁,在輸入回路中僅有1個(gè)開關(guān)的通態(tài)壓降,而半橋型電路和全橋型電路都有2個(gè),因此在同樣的條件下,產(chǎn)生的通態(tài)損耗較小,而且不需驅(qū)動(dòng)隔離,驅(qū)動(dòng)電路簡(jiǎn)單,這對(duì)很多輸入電壓較低的電源十分有利,因此低電壓輸入類電源應(yīng)用推挽型電路比較合適。但是功率開關(guān)所承受的電壓應(yīng)大于2。
2.2.1 線路結(jié)構(gòu)
圖1-1 推挽型電路原理圖
推挽型電路的原理圖如圖1-1所示。主變壓器 原邊繞組 接成推挽形式,副變繞組 接成全波整流形式。
2.2.2 工作原理
由于驅(qū)動(dòng)電路作用,兩個(gè)功率開關(guān)管、交替導(dǎo)通。當(dāng) 導(dǎo)通時(shí),加到 上,所有帶“.” 端為正。功率開關(guān)管 通過(guò)變壓器耦合作用承受 的電壓。副邊繞組 “.” 為正,電流流經(jīng)、L到負(fù)載上。原邊電流是負(fù)載折算至原邊的電流及原邊電感所定的磁化電流之和。導(dǎo)通期間,原邊電流隨時(shí)間而增加,導(dǎo)通時(shí)間由驅(qū)動(dòng)電路決定。關(guān)斷時(shí),由于原邊能量的儲(chǔ)存和漏電感的原因,的漏極電壓將升高.2.2.2推挽型逆變器的變壓器設(shè)計(jì)
推挽型逆變器設(shè)計(jì)在整個(gè)電源的設(shè)計(jì)過(guò)程中具有最為重要的地位,一旦完成設(shè)計(jì),不宜輕易改變,因此設(shè)計(jì)時(shí)對(duì)各方面問(wèn)題考慮周全,避免返工,造成時(shí)間和經(jīng)費(fèi)的浪費(fèi)。下面介紹具體設(shè)計(jì)。變壓器是開關(guān)電源中的核心元件,許多其他主電路元器件的參數(shù)設(shè)計(jì)都依賴于變壓器的參數(shù),因此應(yīng)該首先進(jìn)行變壓器的設(shè)計(jì)。高頻變壓器工作時(shí)的電壓、電流都不是正弦波,因此其工作狀況同工頻變壓器是很不一樣的,設(shè)計(jì)公式也有所不同。需要設(shè)計(jì)的參數(shù)是電壓比、鐵心的形式和尺寸、各繞組匝數(shù)、導(dǎo)體截面積和繞組結(jié)構(gòu)等,所依據(jù)的參數(shù)是工作電壓、工作電流和工作頻率等[5]。另外,變壓器兼有儲(chǔ)能,限流,隔離的作用.在磁心大小,原邊電感,氣隙大小,原,副邊線圈匝數(shù)的選擇,以及在磁心內(nèi)直流成分和交流成分之間的相互影響都應(yīng)在設(shè)計(jì)中細(xì)致考慮.第三章 基于單片機(jī)的控制系統(tǒng)設(shè)計(jì)
按照設(shè)計(jì)的要求,基于單片機(jī)AT89C52的設(shè)計(jì)主要實(shí)現(xiàn)以下功能:SA828的初始化及控制、ADC0809采樣的數(shù)據(jù)的處理和輸出顯示電壓頻率。選用單片機(jī)作為主控器件,控制部分的原理框圖如下:
圖3-1 控制系統(tǒng)原理框圖 3.1 系統(tǒng)硬件電路的設(shè)計(jì)
圖3-2為控制部分的電路原理圖。電路主要由AT89C52單片機(jī)、四位顯示及驅(qū)動(dòng)電路、AD采樣電路、復(fù)位電路等組成。
圖3-2 3.1.1 AT89C52單片機(jī)
AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8為單片機(jī),片內(nèi)含8k bytes 的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052善拼引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。[6] 主要性能參數(shù):
與MCS-51產(chǎn)品指令和引腳完全兼容 8k字節(jié)可充擦寫Flash閃速存儲(chǔ)器 1000次擦寫周期
全靜態(tài)操作:0Hz—24MHz 三級(jí)加密程序存儲(chǔ)器 256×8字節(jié)內(nèi)部RAM 32個(gè)可變成I/O口線 3個(gè)16位定時(shí)計(jì)數(shù)器 8個(gè)中斷源
可編程串行UART通道 低功耗空閑和掉電模式 功能特性概述:
AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)蓸O中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)器/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。引腳功能: Vcc:電源電壓 GND:地
P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。
在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。
P1口:P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P1寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。
與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部技術(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。
Flash編程和程序校驗(yàn)期間,P1接收低8位地址。
P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。
在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX @RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。
Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。
P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),他們被內(nèi)部上拉電阻拉高可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流。
P3口出了作為一般的I/O線外,更重要的用途是它的第二功能,如下表: 端口引腳 第二功能
P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2(外中斷0)P3.3(外中斷1)
P3.4 T0(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)
P3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)
此外,P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。
RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)周期以上高電平將使單片機(jī)復(fù)位。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。對(duì)于本次設(shè)計(jì)的引腳使用情況如下: P1口:控制LED數(shù)碼管8位段碼;P3.0,P3.1,P3.4,P3.5:數(shù)碼管位選通口;XTAL:接晶振;RST:接復(fù)位電路;P0: ADC0809的結(jié)果輸入;SA828的控制字口;P2.0:SA828的片選;P2.7:ADC0809的片選;P3.2:外部中斷0.AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256×8位的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),3個(gè)16位定時(shí)/計(jì)數(shù)器、6個(gè)中斷源、低功耗空閑和掉電方式等特點(diǎn)。器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,可以滿足系統(tǒng)要求。系統(tǒng)采用5V電源電壓,外接12M晶振。3.1.2顯示電路
顯示的方法分為動(dòng)態(tài)顯示和靜態(tài)顯示。所謂靜態(tài)顯示就是在同一時(shí)刻只顯示一種字符,其顯示方法簡(jiǎn)單,只需將顯示段碼送至段碼口,并把位控字送至位控口即可。動(dòng)態(tài)顯示是利用人眼對(duì)視覺(jué)的殘留效應(yīng),采用動(dòng)態(tài)掃描顯示的方法。[7]本設(shè)計(jì)采用動(dòng)態(tài)顯示,顯示電路采用四位一體共陽(yáng)極LED數(shù)碼管,從P1口輸出段碼,位選控制端接于P3.0,P3.1,P3.4,P3.5。段驅(qū)動(dòng)采用74LS245,位選驅(qū)動(dòng)采用74LS244。硬件連接圖如下: 圖3-3 顯示部分硬件連接圖 3.1.3 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換器采用集成電路0809完成,0809是8位MOS型A/D轉(zhuǎn)換器。[] 1).主要特性
① 8路8位A/D轉(zhuǎn)換器,即分辨率8位;② 具有轉(zhuǎn)換起??刂贫?
③ 轉(zhuǎn)換時(shí)間為100μs;
④ 單個(gè)+5V電源供電;
⑤ 模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn);
⑥ 工作溫度范圍為-40~+85攝氏度;
⑦ 低功耗,約15mW。
2).內(nèi)部結(jié)構(gòu)
ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨(dú)工作。輸入輸出與TTL兼容。
圖3-4ADC0809內(nèi)部結(jié)構(gòu)框圖 3).外部特性(引腳功能)
ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖3-5 所示。下面說(shuō)明各引腳功能。
IN0~I(xiàn)N7:8路模擬量輸入端。
2-1~2-8:8位數(shù)字量輸出端。
ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。如表所示。
ALE:地址鎖存允許信號(hào),輸入,高電平有效。圖 3-5 ADC0809引腳圖
START: A/D轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效。
EOC: A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。
OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。
CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。REF(+)、REF(-):基準(zhǔn)電壓。Vcc:電源,單一+5V。GND:地。
表3-6 ADDA、ADDB、ADDC真值表
ADC0809的工作過(guò)程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。4).AD0809與控制電路的連接如下圖:
圖 3-7 AD0809的連接電路 3.1.4 SPWM波形電路
由于逆變開關(guān)管的開關(guān)時(shí)間要由載波與調(diào)制波的交點(diǎn)來(lái)決定。在調(diào)制波的頻率、幅值和載波的頻率這3項(xiàng)參數(shù)中.不論哪一項(xiàng)發(fā)生變化時(shí),都使得載波與調(diào)制波的交點(diǎn)發(fā)生變化。因此,在每一次調(diào)整時(shí),都要重新計(jì)算交點(diǎn)的坐標(biāo)。顯然,單片機(jī)的計(jì)算能力和速度不足以勝任這項(xiàng)任務(wù)。過(guò)去通常的作法是:對(duì)計(jì)算作一些簡(jiǎn)化,并事先計(jì)算出交點(diǎn)坐標(biāo).將其制成表格,使用時(shí)進(jìn)行查表調(diào)用。但即使這樣,單片機(jī)的負(fù)擔(dān)也很重。
為了減輕單片機(jī)的負(fù)擔(dān),一些廠商推出了專用于生成三相或單相SPWM波控制信號(hào)的大規(guī)模集成電路芯片,如HEF4752、SLE4520、SA828、SA838等等。采用這樣的集成電路芯片,可以大大地減輕單片機(jī)的負(fù)擔(dān),使單片機(jī)可以空出大量的機(jī)時(shí)用于檢測(cè)和監(jiān)控。這里詳細(xì)介紹SA828三相SPWM波控制芯片的主要特點(diǎn)、原理和編程。3.1.5 SA828主要特點(diǎn)
⑴.適用于英特爾和摩托羅拉兩種總線格式,接口通用性好, 編程,操作簡(jiǎn)單,方便,快捷。⑵.應(yīng)用常用的對(duì)稱的雙邊采樣法產(chǎn)生PWM波形, 波形產(chǎn)生數(shù)字化,無(wú)時(shí)漂,無(wú)溫漂穩(wěn)定性好。
⑶.在外接時(shí)鐘頻率為12.5MHZ時(shí)載波頻率可高達(dá)24KHZ,可實(shí)現(xiàn)靜音運(yùn)行。最小脈寬和死區(qū)時(shí)間通過(guò)軟件設(shè)置完成,既節(jié)約了硬件成本,又使修改靈活方便。
調(diào)制頻率范圍寬,精度高(12位),輸出正弦波頻率可達(dá)4KHZ,可實(shí)現(xiàn)高頻率高精度控制及光滑的變頻.。
⑷.在電路不變的情況下, 通過(guò)修改控制暫存器參數(shù),就可改變逆變器性能指標(biāo),驅(qū)動(dòng)不同負(fù)載或工作于不同工況。
⑸.可通過(guò)改變輸出SPWM脈沖的相序?qū)崿F(xiàn)電機(jī)的正反轉(zhuǎn)。
⑹.獨(dú)立封鎖端可瞬時(shí)封鎖輸出PWM脈沖亦使微處理器防止突然事件的發(fā)生。3.1.6 SA828工作原理
SA828是MITEL公司推出的一種專用于三相SPWM信號(hào)發(fā)生和控制的集成芯片。它既可以單獨(dú)使用,也可以與大多數(shù)型號(hào)的單片機(jī)接口。該芯片的主要特點(diǎn)為:全數(shù)字控制;兼容Intel系列和MOTOROLA系列單片機(jī);輸出調(diào)制波頻率范圍0—4kHz;12位調(diào)速分辨率;載波頻率最高可達(dá)24kHz;內(nèi)部ROM固化波形:可選最小脈寬和延遲時(shí)間(死區(qū));可單獨(dú)調(diào)整各相輸出以適應(yīng)不平衡負(fù)載。[8] SA828采用28腳的DIP和SOIC封裝。其引腳如圖3-8所示。各引腳的功能如下:(1)輸入類引腳說(shuō)明
AD0——AD7:地址或數(shù)據(jù)輸入通道。
SET TRIP:通過(guò)該引腳,可以快速關(guān)斷全部SPWM信號(hào)輸出,高電平有效。
:硬件復(fù)位引腳,低電平有效。復(fù)位后,寄存器的、、WTE和RST各位為0。CLK:時(shí)鐘輸入端,SA828既可以單獨(dú)外接時(shí)鐘,也可以與單片機(jī)共用時(shí)鐘。:片選引腳。
、、ALE:用于“ / ”模式,分別接收寫、讀、地址鎖存指令。INTEL模式下ALE的下降沿傳送地址,的上升沿給SA828寫數(shù)據(jù)。在此模式下不用。
R/、AS、DS:用于“R/ ”模式,分別接收讀/寫、地址、數(shù)據(jù)指令。MOTOROLA模式下,AS的下降沿傳送地址,當(dāng)R/ 為低電平時(shí),DS的下降沿給SA828寫數(shù)據(jù)(接底電平)
(2)輸出類引腳說(shuō)明 圖3-8 RPHB、YPHB、BPHB:這些引腳通過(guò)驅(qū)動(dòng)電路控制逆變橋的R、Y、B相的下臂開關(guān)管。RPHT、YPHT、BPHT:這些引腳通過(guò)驅(qū)動(dòng)電路控制逆變橋的R、Y、B相的上臂開關(guān)管。
它們都是標(biāo)準(zhǔn)TTL輸出.每個(gè)輸出都有12mA的驅(qū)動(dòng)能力,可直接驅(qū)動(dòng)光偶。
:該引腳輸出—個(gè)封鎖狀態(tài)。當(dāng)SETTRIP有效時(shí),為低電平、表示輸出已被封鎖。它也有12mA的驅(qū)動(dòng)能力,可直接驅(qū)動(dòng)一個(gè)LED指示燈。ZPPR、ZPPY、ZPPB:這些引腳輸出調(diào)制波頻率。WSS:該引腳輸出采樣波形。3.1.7內(nèi)部結(jié)構(gòu)及工作原理
SA828內(nèi)部結(jié)構(gòu)如圖3-9所示。來(lái)自單片機(jī)的數(shù)據(jù)通過(guò)總線控制和譯碼進(jìn)入初始化寄存器或控制寄存器,它們對(duì)相控邏輯電路進(jìn)行控制。外部時(shí)鐘輸入經(jīng)分頻器分成設(shè)定的頻率,并生成三角形載波,三角載被與片內(nèi)ROM中的調(diào)制波形進(jìn)行比較,自動(dòng)生成SPWM輸出脈沖。通過(guò)脈沖刪除電路,刪去比較窄的脈沖(如圖3-10所示),因?yàn)檫@樣的脈沖不起任何作用,只會(huì)增加開關(guān)管的損耗。通過(guò)脈沖延遲電路生成死區(qū),保證任何橋臂上的兩個(gè)開關(guān)管不會(huì)在狀態(tài)轉(zhuǎn)換期間短路。
圖3-9 SA828的內(nèi)部結(jié)構(gòu)
片內(nèi)ROM存有正弦波形。寄存器列陣包含3個(gè)8位寄存器和2個(gè)虛擬寄存器。他的虛擬寄存器R3的寫操作結(jié)果是R0,R1,R2中的數(shù)據(jù)寫入控制寄存器。虛擬寄存器R4的寫操作結(jié)果是R0,R1,R2中的數(shù)據(jù)寫入初始化寄存器。各寄存器地址如表3-11所列。
圖 3-10 脈沖序列中的窄脈沖
AD2 AD1 AD0 寄存器 功能 0 0 0 R0 暫存數(shù)據(jù) 0 0 1 R1 暫存數(shù)據(jù) 0 1 0 R2 暫存數(shù)據(jù) 0 1 1 R3 傳控制數(shù)據(jù) 1 0 0 R4 傳初始化數(shù)據(jù) 表 3-11 其工作過(guò)程可簡(jiǎn)析如下:由于調(diào)制波形關(guān)于90度,180度,270度對(duì)稱,故波形ROM中僅有0∽90度的波形瞬時(shí)幅值,采樣間隔0.23度, 90度內(nèi)共384組8位采樣值存入ROM中,每個(gè)采樣值線性的表達(dá)正弦波的瞬時(shí)值, 通過(guò)相位控制邏輯,將它組成0∽360度的完整波形.該調(diào)制波與載波比較產(chǎn)生三相六路雙極性PWM調(diào)制波形.其經(jīng)脈沖寬度取消電路,將脈沖寬度小于取消時(shí)間的脈沖去掉,再經(jīng)脈沖延時(shí)電路引入死區(qū)時(shí)間,從而保證了在轉(zhuǎn)換瞬間高,低端功率開關(guān)不會(huì)出現(xiàn)共同導(dǎo)通現(xiàn)象。圖3-9中24位初始化暫存寄存器,可用來(lái)設(shè)置輸出波形參數(shù),例如載波頻率,最小脈寬,脈沖取消時(shí)間計(jì)數(shù)器置”0” 圖3-12 Intel總線時(shí)序
等。一經(jīng)設(shè)置好,運(yùn)行中不允許改變。24位控制寄存器,用來(lái)調(diào)整改變調(diào)制波頻率,幅值,輸出關(guān)閉,過(guò)調(diào)制選擇,開機(jī)關(guān)機(jī)等.上述設(shè)置和調(diào)整均通過(guò)微處理器或微控制器發(fā)出指令,數(shù)據(jù)先存入三個(gè)8位暫存寄存器R0,R1,R2中,然后通過(guò)R3和R4分別傳送給24位初始化寄存器和24位控制寄存器。初始化或調(diào)整時(shí),端要置0。SA828由外配的微處理器通過(guò)復(fù)用MOTEL總線控制,并與外配的微處理器接口,該接口總線有自動(dòng)適應(yīng)英特爾和摩托羅拉兩種總線格式及工作時(shí)序的能力(兩種總線的工作時(shí)序如圖3-12和3-13),在電路啟動(dòng)運(yùn)行后,當(dāng)AS/ALE端從低電平變?yōu)楦唠姇r(shí),內(nèi)部檢測(cè)電路鎖存DS/ 的狀態(tài),若檢測(cè)結(jié)果為高電平則自動(dòng)進(jìn)入英特爾模式,若檢測(cè)結(jié)果為低電平,則選擇摩托羅拉模式工作,總線連接和定時(shí)信息相對(duì)所用微處理器而言,這個(gè)過(guò)程在每次AS/ALE變?yōu)楦唠娖綍r(shí)要進(jìn)行,實(shí)際中模式選擇由系統(tǒng)自動(dòng)設(shè)定。
圖3-13 Motorola總線時(shí)序
3.1.8 SA828 初始化寄存器編程
初始化是用來(lái)設(shè)定與電機(jī)和逆變器有關(guān)的基本參數(shù)。它包括載波頻率設(shè)定、調(diào)制波頻率范圍設(shè)定、脈沖延遲時(shí)間設(shè)定、最小刪除脈寬設(shè)定、幅值控制。
初始化編程時(shí),即設(shè)定各寄存器內(nèi)容。下面分別介紹這些內(nèi)容的設(shè)定。[9](1)載波頻率設(shè)定
載波頻率(即三角波頻率)越高越好,但頻率越高損耗會(huì)越大,另外,還受開關(guān)管最高頻率限制,因此要合理設(shè)定。設(shè)定字由CFS0--CFS2這3位組成。載波頻率 通過(guò)下式(3—1)求出。式中K為時(shí)鐘頻率,n值的二進(jìn)制數(shù)即為載波頻率設(shè)定字,可以取1,2,4,8,16或32。由于K=12MHz,當(dāng)n=1時(shí),反算得 =23.4375KHz,考慮到(max)=24KHz , <(max)當(dāng)n=2時(shí),=11.71725KHz ,故n取1,實(shí)際 =23.4375KHz。(2)調(diào)制波頻率范圍設(shè)定
根據(jù)調(diào)制頻率范圍.確定設(shè)定字。設(shè)定調(diào)制波頻率范圍的目的是在此范圍內(nèi)進(jìn)行l(wèi)2位分辨率的細(xì)分,這樣可以提高控制精度,也就是范圍越?。刂凭仍礁摺U{(diào)制被頻率范圍設(shè)定字是由FRS0—FRS2這3位組成。調(diào)制波頻率 通過(guò)下式(3—2)求得。m值的二進(jìn)制數(shù)即為調(diào)制波頻率范圍設(shè)定字。上面已得 =23.4375KHz,若取 =500Hz則m=8.192 ,考慮到調(diào)制波的頻率為400Hz,則m=8 ,反算得 =488.28Hz。(3)脈沖延遲時(shí)間設(shè)定 該設(shè)定字是由PDY0—PDY5這6位組成。脈沖延遲時(shí)間 通過(guò)下式(3—3)求得。設(shè)脈沖延遲時(shí)間 則 =60(4)最小刪除脈寬設(shè)定
最小刪除脈寬設(shè)定字是由PDT0—PDT6這7位組成。最小刪除脈寬 由下式(3—4)圖3-14 延遲前后脈寬關(guān)系
求得。考慮到延遲(死區(qū))的因素,在延遲時(shí).通常的做法是在保持原頻率不變的基礎(chǔ)上,使開關(guān)管延遲開通.如圖3-7所示.實(shí)際輸出的脈寬=延遲前的脈寬--延遲時(shí)間。由結(jié)構(gòu)圖 可知.SA828的工作順序是先刪除最窄脈沖,然后再延遲.所以式(3—4)給出的 應(yīng)是延遲前的最小刪除脈寬。它等于實(shí)際輸出的最小脈寬加上延遲時(shí)間,即 =實(shí)際輸出的最小脈寬十 ,假設(shè)實(shí)際輸出的最小脈寬=10 那么 =15 則 =180> =128 , =10.67 s 最小脈寬為5.67 s。(5)幅值控制
AC是幅值控制位。當(dāng)AC=0時(shí),控制寄存器中的R相的幅值就是其他兩相的幅值。當(dāng)AC=l時(shí),控制寄存器中的R、Y、B相分別可以調(diào)整各自的幅值,以適應(yīng)不平衡負(fù)載。
初始化寄存器通常在程序初始化時(shí)定義。這些參數(shù)專用于逆變電路中.因此,在操作期間不應(yīng)該改變它們。如果一定要修改,可先用控制寄存器中的 來(lái)關(guān)斷SPWM輸出,然后再進(jìn)行修改。
3.1.9 SA828控制寄存器編程
控制寄存器的作用包括調(diào)制波頻率選擇(調(diào)速)、調(diào)制波幅值選擇(調(diào)壓)、正反轉(zhuǎn)選擇、輸出禁止位控制、計(jì)數(shù)器復(fù)位控制、軟復(fù)位控制。控制數(shù)據(jù)仍然是通過(guò)Ro—R2寄存器輸入并暫存,當(dāng)向R3虛擬寄存器寫操作時(shí).將這些數(shù)據(jù)送入控制寄存器。(1)調(diào)制波頻率選擇
調(diào)制波頻率選擇字由PFS0—PFS7這8位組成。通過(guò)下式
(3-5)求得 值,它的二進(jìn)制數(shù)即是調(diào)制波頻率選擇字。取 =400Hz , =488.28Hz ,得 =3355.45179(2)調(diào)制波幅值選擇
通過(guò)改變調(diào)制波幅值來(lái)改變輸出電壓有效值,達(dá)到變頻同時(shí)變壓的目的。輸出電壓的改變要根據(jù)U/f曲線,隨頻率變化進(jìn)行相應(yīng)的變化。調(diào)制波幅值是借助于8位幅值選擇字(RAMP、YAMP、BAMP)來(lái)實(shí)現(xiàn)的。每一相都可以通過(guò)計(jì)算下式 %(3-6)求出A值,它的二進(jìn)制數(shù)即為幅值選擇字(即RAMP或YAMP或BAMP)。式中的 就是調(diào)壓比,注意,初始化寄存器的AC位決定了R相幅值是否代表另二相幅值。= =91.8=92(3)輸出禁止位控制
輸出禁止位。當(dāng) =0時(shí),關(guān)斷所有SPWM信號(hào)輸出。(4)計(jì)數(shù)器復(fù)位控制
計(jì)數(shù)器復(fù)位位,當(dāng) =0,使內(nèi)部的相計(jì)數(shù)器置為0(R相)。(5)軟復(fù)位控制
RST是軟復(fù)位位。它與硬復(fù)位 有相同的功能。高電平有效。
SPWM波形的產(chǎn)生,選擇專用的芯片SA828,如前面所講,這里不再論述。它和單片機(jī)的接口如下圖所示: 3.2 系統(tǒng)軟件的設(shè)計(jì) 3.2.1 初始化程序
系統(tǒng)上電時(shí),初始化程序?qū)?shù)據(jù)存儲(chǔ)區(qū)清零。3.2.2 主程序
完成定時(shí)器的初始化,開各種中斷,循環(huán)調(diào)用各個(gè)子程序。包括電壓顯示子程序、AD轉(zhuǎn)換子程序、828初始化子程序。主程序流程圖見圖 程序清單如下: START: SETB IT1;選擇INT1為邊沿觸發(fā)方式 SETB EX1;開外中斷1 SETB EA;開總控制中斷
CLR PX1;外中斷1為低優(yōu)先級(jí) SETB IT0;脈沖下降沿觸發(fā)外中斷0 SETB EX0;開外中斷0 MOV TMOD,#01H;T0工作在定時(shí),方式1 SETB PX0;外中斷0為高優(yōu)先級(jí) MOV TH0,#00H MOV TL0,#00H ACALL KAISHI ACALL INCADC AJMP START 3.2.3 SA838初始化及控制子程序
按照單片機(jī)與SA828的接線圖,P2.0作為SA828的片選控制口,因此SA828的起始地址為FE00H。系統(tǒng)上電復(fù)位之后首先對(duì)SA828寫初始化字和控制字。具體計(jì)算如前面所述。流程圖如下: 程序清單如下:
CLR P2.1;禁止PWM輸出
MOV A,#80H;SA828初始化寄存器 MOV DPTR,#0FE00H;SA828地址 MOVX @DPTR,A;給R0寫數(shù)據(jù) INC DPTR MOV A,#60H MOVX @DPTR,A;給R1寫數(shù)據(jù) INC DPTR MOV A,#04H MOVX @DPTR,A;給R2寫數(shù)據(jù) INC DPTR INC DPTR MOVX @DPTR,A;給初始化寄存器R4寫數(shù)據(jù) MOV A,#1BH;SA828控制寄存器 MOV DPTR,#0FE00H;SA828地址 MOVX @DPTR,A;給R0寫數(shù)據(jù) INC DPTR MOV A,#2DH MOVX @DPTR,A;給R1寫數(shù)據(jù) INC DPTR MOV A,#05CH MOVX @DPTR,A;給R2寫數(shù)據(jù) INC DPTR MOVX @DPTR,A;給控制寄存器R3寫數(shù)據(jù) SETB P2.1;允許PWM輸
單片機(jī)對(duì)采樣到的輸出如做PI調(diào)節(jié)計(jì)算轉(zhuǎn)換為電壓幅值控制字后,需要重新寫入控制字,其方法是相同的。
3.2.4 ADC0809的控制及數(shù)據(jù)處理子程序
單片機(jī)與ADC0809的接線圖所示,P2.7作為ADC0809的片選控制口,因此ADC0809的起始地址為7F00H。如圖所示,ADC0809的地址選擇線接地,固定8路模擬數(shù)據(jù)輸入端重IN-0為電壓采樣輸入端。ADC0809的CLK信號(hào)是從AT89C52的ALE端經(jīng)四分頻器74LS74分頻后得到的,工作頻率為500HZ,轉(zhuǎn)換時(shí)間為128us左右,據(jù)此設(shè)計(jì)一個(gè)延時(shí)時(shí)間,延時(shí)時(shí)間一到,采用查詢方式進(jìn)行數(shù)據(jù)傳送。即用軟件測(cè)試EOC(P3.1)的狀態(tài),若測(cè)試結(jié)果為1,則轉(zhuǎn)換結(jié)束接著進(jìn)行數(shù)據(jù)傳送,否則等待,直到測(cè)試結(jié)果為1。因?yàn)锳DC0809的最大輸入電壓為5V,其轉(zhuǎn)換結(jié)果FFH對(duì)應(yīng)5V。所以FFH對(duì)應(yīng)的輸入應(yīng)大于等于5V,表示輸入超過(guò)量程。本設(shè)計(jì)中FFH對(duì)應(yīng)36V,其轉(zhuǎn)換公式為,X=,因此程序中有二進(jìn)制轉(zhuǎn)換及乘14子程序,除以100處理為小數(shù)點(diǎn)固定顯示在次低位。另外,考慮到系統(tǒng)存在電磁干擾,采用了中值濾波子程序進(jìn)行軟件抗干擾。中值濾波對(duì)于去掉由于偶然因素引起的波動(dòng)或采樣器不穩(wěn)定而造成的誤差所引起的脈動(dòng)干擾比較有效。中值濾波之后將最優(yōu)值存于6AH中再進(jìn)行轉(zhuǎn)換處理。流程圖如圖下面是程序清單: INCADC: MOV R0,#2CH MOV R2,#03H SAMP: MOV DPTR,#7F00H;AD0809端口地址送DPTR MOV A,#00H;輸入通道0選擇 MOVX @DPTR,A;啟動(dòng)A/D轉(zhuǎn)換 MOV R7,#0FFH;延時(shí)查詢方式 DELAY:DJNZ R7,DELAY LOOP1:JB P3.1,T1;查詢p3.1是否為1 JNB P3.1,LOOP1 T1:MOVX A,@DPTR;讀取從IN0輸入的轉(zhuǎn)換結(jié)果 MOV @R0,A INC R0 DJNZ R2,SAMP 以下是數(shù)字濾波程序流程圖及程序清單:
FILTER:MOV A,6CH CJNE A,6DH,CMP1 AJMP CMP2 CMP1:JNC CMP2 XCH A,6DH XCH A,6CH CMP2:MOV A6DH CJNE A,6EH,CMP3 MOV 6AH,A CMP3:JC CMP4 MOV 6AH,A CMP4:MOV A,6EH CJNE A,6CH,CMP5 MOV 6AH,A CMP5:JC CMP6 XCH A,6CH CMP6:MOV 6AH,A;濾波結(jié)果存于6AH RET 3.2.5 數(shù)據(jù)處理及電壓顯示子程序 DISPLAY: MOV A,6AH ACALL L1;十進(jìn)制轉(zhuǎn)換 ACALL PLAY RET PLAY:;顯示程序 MOV A,R5;分離D1 ANL A,#0FH MOV 50H,A MOV A,R5;分離D2 ANL A,#0F0H SWAP A MOV 51H,A MOV A,R4;分離D3 ANL A,#0FH MOV 52H,A MOV A,R4;分離D4 ANL A,#0F0H SWAP A MOV 53H,A PLAY1: CLR P2.6 CLR P2.5 CLR P2.4 CLR P2.3 MOV R1,#50H;顯示數(shù)據(jù)首地址 MOV P1,#0FFH;清除原來(lái)的數(shù)據(jù) SETB P2.3;顯示最低位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS;數(shù)據(jù)顯示1ms CLR P2.3 MOV P1,#0FFH INC R1 SETB P2.4;顯示次低位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR ANL A,#7FH;小數(shù)固定顯示 MOV P1,A LCALL DL1MS CLR P2.4 MOV P1,#0FFH INC R1 SETB P2.5;顯示次高位 MOV A,@R1 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS CLR P2.5 MOV P1,#0FFH INC R1 SETB P2.6;顯示最高位 MOV A,@R1 JZ NODISPLAY;若A=0,則不顯示 MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P1,A LCALL DL1MS CLR P2.6 MOV P1,#0FFH NODISPLAY: MOV P1,#0FFH AJMP PLAY1 RET
L1:CLR C;十進(jìn)制轉(zhuǎn)換 MOV R5,#00H MOV R4,#00H MOV R3,#08H NEXT1:RLC A MOV R2,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R2 DJNZ R3,NEXT1 RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
DL1MS: MOV R6,#14H DL1:MOV R7,#19H DL2:DJNZ R7,DL2 DJNZ R6,DL1 RET 3.2.6 輸出頻率測(cè)試計(jì)算及顯示子程序部分 ⑴.頻率測(cè)試計(jì)算子程序部分
SA828帶有頻率輸出端口,將其與單片機(jī)的中斷INT0口相接,如原理圖所示。本例中所使用的中斷源有2個(gè):T0中斷和 中斷。中斷的功能是計(jì)算ZPPR輸出的調(diào)制波頻率。由于調(diào)制波頻率可能比較低,因此用T0溢出中斷來(lái)記錄一個(gè)ZPPR周期中T0溢出的次數(shù),這個(gè)溢出次數(shù)保存到70H中。這樣,在一個(gè) 中斷間隔里,所用的時(shí)間(即ZPPR周期)是3個(gè)字節(jié)的數(shù)(1個(gè)字節(jié)的T0溢出次數(shù),2個(gè)字節(jié)的T0值)。因?yàn)锳T89C52使用12MHZ的時(shí)鐘頻率,一個(gè)機(jī)器周期是,所以調(diào)制波頻率的計(jì)算公式為: =0F4240H,也是一個(gè)3字節(jié)的數(shù),因此 是一個(gè)3字節(jié)除法運(yùn)算。如果對(duì)精度要求不高,的分子分母可以舍掉最低字節(jié)來(lái)簡(jiǎn)化運(yùn)算,這樣就成為雙字節(jié)除法運(yùn)算。所以,當(dāng) 中斷時(shí),只取TH0,將其存放到71H中除法運(yùn)算的整數(shù)商存放到72H、73H中,小數(shù)商存放到75H中,以便頻率顯示程序中調(diào)用。
中斷子程序及流程圖如下:
SUANPIN: CLR EA;關(guān)中斷 CLR TR0 PUSH ACC;保存現(xiàn)場(chǎng) PUSH B PUSH DPL PUSH DPH PUSH PSW PUSH 50H PUSH 51H PUSH 52H PUSH 53H PUSH 60H PUSH 61H PUSH 62H PUSH 63H PUSH 6AH SETB PSW.3 MOV 70H,#00H;MOV TL0,#00H;TL0清0 MOV 71H,TH0;取TH0值 MOV TH0,#00H;TH0清0 MOV A,71H;檢查除數(shù)是否為0 ORL A,70H;不會(huì)溢出,高位永遠(yuǎn)為零 JZ ABC;除數(shù)為0則退出 MOV R2,#00H;輸入被除數(shù) MOV R3,#00H MOV R4,#0FH MOV R5,#42H MOV R6,70H;輸入除數(shù) MOV R7,71H LCALL NDIV;調(diào)用雙字節(jié)除法子程序原來(lái)的程序,NDIV:MOV B,#16;雙字節(jié)無(wú)符號(hào)數(shù)除法子程序;當(dāng)條件(R2R3)〈(R6R7)滿足時(shí),;(R2R3R4R5)/(R6R7)=(R4R5),余數(shù)在(R2R3)NDVL1: CLR C MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A XCH A,R2 RLC A XCH A,R2 MOV F0,C CLR C SUBB A,R7 MOV R1,A MOV A,R2 SUBB A,R6 JB F0,NDVM1 JC NDVD1 NDVM1: MOV R2,A MOV A,R1 MOV R3,A INC R5 NDVD1:DJNZ B ,NDVL1 CLR F0
MOV 72H,R4;頻率整數(shù)部分存于7273H中 MOV 73H,R5;調(diào)制波頻率整數(shù)部分存72H MOV 75H,R2;將調(diào)制波頻率小數(shù)部分(小于100)存75H MOV 70H,#00H;70H清0 ABC:POP 6AH POP 63H POP 62H POP 61H POP 60H POP 53H POP 52H POP 51H POP 50H POP PSW;恢復(fù)現(xiàn)場(chǎng) POP DPH POP DPL POP B POP ACC SETB EA;開中斷 SETB TR0 RETI
⑵.頻率顯示部分
本系統(tǒng)用一個(gè)四位一體的LED數(shù)碼管顯示數(shù)據(jù),系統(tǒng)初始化后顯示的為電壓,按頻率顯示按鈕顯示頻率。利用中斷源 顯示,它將72H、73H中的頻率整數(shù)(二進(jìn)制數(shù))部分先進(jìn)行二--十轉(zhuǎn)換存于R3R4R5中,根據(jù)經(jīng)驗(yàn),轉(zhuǎn)換過(guò)來(lái)的十進(jìn)制數(shù)只有百位,即R3中的值為00,R4中的值為0X。因此將R4R5中的數(shù)分離分別在最高位、次高位、次低位顯示,并且次低位帶有小數(shù)點(diǎn)。將75H中的小數(shù)部分在最低位顯示。至此,頻率顯示部分完成。
中斷程序及流程圖如下:
DISPLAYF:PUSH ACC;保存現(xiàn)場(chǎng) PUSH B PUSH DPL PUSH DPH PUSH PSW PUSH 50H PUSH 51H PUSH 52H PUSH 53H PUSH 60H PUSH 61H PUSH 62H PUSH 63H PUSH 6AH SETB PSW.4;使用第二工作寄存區(qū)
MOV R6,72H;頻率整數(shù)部分存欲R6R7中調(diào)用雙字節(jié)十進(jìn)制轉(zhuǎn)換程序 MOV R7,73H;;ACALL HB2;調(diào)用雙字節(jié)十進(jìn)制轉(zhuǎn)換程序
HB2:CLR A;BCD碼初始化;雙字節(jié)十進(jìn)制轉(zhuǎn)換 MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H;轉(zhuǎn)換雙字節(jié)二進(jìn)制整數(shù)
HB3:MOV A,R7;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5;BCD碼帶進(jìn)位自身相加,相當(dāng)于乘2 ADDC A,R5 DA A;十進(jìn)制調(diào)整 MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV A,75H;頻率小數(shù)部分在最低位顯示 ANL A,#0F0H SWAP A MOV 50H,A MOV A,R5;頻率整數(shù)部分個(gè)位數(shù)在次低位顯示 ANL A,#0FH CLR CY SUBB A,#07H MOV 51H,A MOV A,R5;頻率整數(shù)部分十位數(shù)在次高位顯示 ANL A,#0F0H SWAP A CLR CY SUBB A,#05H MOV 52H,A MOV A,R4;頻率整數(shù)部分百位數(shù)在最高位顯示 ANL A,#0FH DEC A MOV 53H,A ACALL PLAY;顯示頻率
POP 6AH POP 63H POP 62H POP 61H POP 60H POP 53H POP 52H POP 51H POP 50H POP PSW;恢復(fù)現(xiàn)場(chǎng) POP DPH POP DPL POP B POP ACC AJMP DISPLAYF RETI
第四章 聯(lián)機(jī)調(diào)試及結(jié)果分析 4.1 聯(lián)機(jī)調(diào)試情況
系統(tǒng)的調(diào)試分為硬件調(diào)試和軟件調(diào)試兩個(gè)部分。硬件調(diào)試包括控制電路的調(diào)試和主電路的調(diào)試。調(diào)試時(shí),應(yīng)該先調(diào)控制部分。首先檢查電路的焊接是否正確,然后用萬(wàn)用表測(cè)試或通電檢測(cè)。主電路部分硬件的檢測(cè)方法同控制部分。硬件檢查無(wú)誤后,軟件調(diào)試。軟件調(diào)試可以先編寫顯示程序并進(jìn)行硬件的正確性檢驗(yàn),然后分別進(jìn)行主程序、AD轉(zhuǎn)換子程序、電壓顯示子程序、頻率顯示子程序、數(shù)字濾波子程序等子程序的編程及調(diào)試。
在聯(lián)機(jī)調(diào)試前,先用偉福模擬仿真,然后利用愛思G3000在線聯(lián)機(jī)調(diào)試。聯(lián)機(jī)調(diào)試時(shí)出現(xiàn)了下面一些問(wèn)題:
1).四位一體LED顯示管不顯示; 2).P1口沒(méi)有數(shù)據(jù)輸出; 3).AD轉(zhuǎn)換器不工作;
4).SA828的輸出波形不正確。解決的辦法及處理結(jié)果:
1).檢查各個(gè)數(shù)碼管的位控端及代碼段是否連接完好,給它加的驅(qū)動(dòng)是否正確,以及各個(gè)數(shù)碼管本身是否完好。經(jīng)檢測(cè)是我們的驅(qū)動(dòng)連接有問(wèn)題,重新連接后,顯示正常。
2).P1口沒(méi)有數(shù)據(jù)輸出的原因也是我們的顯示驅(qū)動(dòng)出錯(cuò)導(dǎo)致,當(dāng)驅(qū)動(dòng)錯(cuò)誤排除后,P1口數(shù)據(jù)輸出正常。
3).和AD轉(zhuǎn)換器的各個(gè)連線都聯(lián)結(jié)正確,我們的焊接技術(shù)不好,出現(xiàn)了個(gè)別引腳虛焊,虛焊處理后,問(wèn)題解決。
4).SA828的輸出波形下橋臂出現(xiàn)一段脈寬為1us的不正常波形,按照電路設(shè)計(jì)原理,小于5.67us的波形在脈沖刪除電路中是該刪除掉的,由于三相下橋臂均輸出這種不正常的波形,我們用到了SA828的輸出禁止端SETTRIP,把此端接上高電平即可使輸出禁止而不影響內(nèi)部電路的正常工作,但是實(shí)驗(yàn)結(jié)果還能看到此不正常的波形,若其是內(nèi)部電路產(chǎn)生,即使不能刪除,在輸出禁止時(shí)理論上應(yīng)該是能禁止的。又考慮到可能是干擾所至,消除掉可能存在的干擾后依然存在此波形。初次使用這系列的芯片,對(duì)其資料也不完全掌握,實(shí)驗(yàn)最后,仍留此問(wèn)題,亟待日后解決。另外,在絞盡腦汁之后,發(fā)現(xiàn)一個(gè)問(wèn)題,原來(lái)認(rèn)為不用的芯片端口可以按其功能相應(yīng)的接高電平或接地,在這樣做之后,芯片發(fā)燙,斷開連接即恢復(fù)正常 4.2 實(shí)驗(yàn)驗(yàn)證及結(jié)果分析
1).1).從SA828的RPHT、PRHB輸出的驅(qū)動(dòng)脈沖信號(hào)如下圖4-1所示
圖4-1 PWM輸出的上、下橋臂的驅(qū)動(dòng)信號(hào)
2).經(jīng)過(guò)TTL驅(qū)動(dòng)電路,加在柵極的驅(qū)動(dòng)電壓信號(hào)如圖4-2所示。圖4-2 MOSFET柵極的驅(qū)動(dòng)信號(hào) 3).仿真交流輸出信號(hào)如圖4-3所示 圖4-3 仿真交流輸出信號(hào) 4).結(jié)果分析
實(shí)驗(yàn)室搭建主電路進(jìn)行實(shí)驗(yàn)和調(diào)試,獲得了較好的實(shí)驗(yàn)效果。該系統(tǒng)輸出正弦波的頻率為400HZ。試驗(yàn)證明整個(gè)系統(tǒng)方案結(jié)構(gòu)緊湊,實(shí)時(shí)性較好。4.3結(jié)論
在前面的系統(tǒng)硬件軟件設(shè)計(jì)下,我們?cè)趯?shí)驗(yàn)室組成實(shí)際的線路進(jìn)行了實(shí)驗(yàn)和調(diào)試,獲得了較為良好的實(shí)驗(yàn)效果。該系統(tǒng)輸出正弦波合成的頻率為400HZ,試驗(yàn)證明整個(gè)系統(tǒng)結(jié)構(gòu)緊湊,實(shí)時(shí)性較以完全單片機(jī)軟件編程產(chǎn)生SPWM波的方法要好得多,而他的功能又比用HEF4752等純硬件方法生成的SPWM波的方法完善。綜上分析及實(shí)驗(yàn)驗(yàn)證,可以得到下面幾點(diǎn)結(jié)論:
1).SA828時(shí)一個(gè)高性能的SPWM專用IC,在合適的外圍條件的支持下,它可以輸出較好的SPWM脈沖信號(hào)。
2).以單片機(jī)最小系統(tǒng)來(lái)完成SA828的外圍硬件支持,可以使系統(tǒng)的硬件結(jié)構(gòu)簡(jiǎn)化,提高可靠性,減小系統(tǒng)成本和體積。
3).文中介紹的以AT89C52最小系統(tǒng)與SA828相結(jié)合構(gòu)成的全數(shù)字化SPWM脈沖形成系統(tǒng),即可解決全軟件編程產(chǎn)生SPWM脈沖波的缺陷,又可以彌補(bǔ)純硬件系統(tǒng)完成SPWM脈沖生成方案的不足,是一種較好的方案。4).文中介紹的SPWM脈沖形成方案,不僅在開關(guān)電源的數(shù)字化制作方面是一個(gè)嘗試和創(chuàng)新,而且在直流調(diào)速、交流調(diào)速、變頻電源、電力回收領(lǐng)域,也具有通用性,它應(yīng)用前景廣闊。
結(jié)束語(yǔ): 本設(shè)計(jì)利用MCS-51單片機(jī)控制SA828產(chǎn)生SPWM調(diào)制信號(hào),AD轉(zhuǎn)換器控制輸出頻率及電壓,電路結(jié)構(gòu)簡(jiǎn)單,可靠性高,實(shí)時(shí)性好,具有廣闊的使用前景。
第二篇:基于16位單片機(jī)的逆變電源系統(tǒng)的設(shè)計(jì)
基于16位單片機(jī)的逆變電源系統(tǒng)的設(shè)計(jì)
近來(lái),逆變電源在各行各業(yè)的應(yīng)用日益廣泛。本文介紹了一種以16位單片機(jī)8XC196MC為內(nèi)核的逆變電源系統(tǒng)的設(shè)計(jì)。8XC196MC片內(nèi)集成了一個(gè)3相波形發(fā)生器WFG,這一外設(shè)裝置大大簡(jiǎn)化了產(chǎn)生同步脈寬調(diào)制波形的控制軟件和外部硬件,可構(gòu)成最小單片機(jī)系統(tǒng)同時(shí)協(xié)調(diào)完成SPWM波形生成和整個(gè)系統(tǒng)的檢測(cè)、保護(hù)、智能控制、通訊等功能。
2、電源系統(tǒng)的基本原理
該電源由蓄電池輸入24V直流電,然后通過(guò)橋式逆變電路逆變成SPWM波形,經(jīng)低通濾波器得到正弦波輸出。SPWM波形由8XC196MC的3相波形發(fā)生器WFG產(chǎn)生,可輸出所需電壓和頻率的正弦波。
3、系統(tǒng)硬件設(shè)計(jì)
該逆變電源系統(tǒng)可實(shí)現(xiàn)調(diào)頻、調(diào)壓功能。通過(guò)A/D轉(zhuǎn)換,自動(dòng)反饋調(diào)節(jié)電壓,使輸出波形穩(wěn)定。三相電壓值、頻率可用數(shù)碼管顯示,通過(guò)使用MAX232E可與PC機(jī)通訊,實(shí)現(xiàn)遠(yuǎn)程控制與監(jiān)測(cè)。該系統(tǒng)的硬件框圖如圖1所示。
3.1SPWM波形產(chǎn)生電路
SPWM波形是由8XC196MC的專用寄存器WFG控制下完成的。WFG的功能特點(diǎn):
片內(nèi)有3個(gè)同步的PWM模塊,每個(gè)模塊包含一個(gè)相位比較寄存器、一個(gè)無(wú)信號(hào)時(shí)間(deadtime)發(fā)生器和一對(duì)可編程的輸出。WFG可產(chǎn)生獨(dú)立的3對(duì)PWM波形,但它們有共同的載波頻率、無(wú)信號(hào)時(shí)間和操作方式。一旦起動(dòng)以后,WFG只要求CPU在改變PWM的占空比時(shí)加以干預(yù)。
WFG的工作原理: 1.時(shí)基發(fā)生器為SPWM建立載波周期。該周期值取決于WG-RELOAD的值; 2.相位驅(qū)動(dòng)通道決定SPWM波形的占空比,可編程輸出,每個(gè)相位驅(qū)動(dòng)器包含一個(gè)可編程的無(wú)信號(hào)時(shí)間發(fā)生器;
3.控制電路用來(lái)確定工作模式和其它寄存器配置信息。WFG有2種中斷:WFG中斷和EXTINT中斷。
WFG中斷是重裝載WG-COUNT時(shí)產(chǎn)生。不同的工作方式,有不同的重裝載方式,每個(gè)PWM周期,方式0在WG-COUNT=WG-RELOAD時(shí)產(chǎn)生一次WFG中斷,方式1在WG-COUNT=WG-RELOAD和WG-COUNT=1時(shí)都產(chǎn)生中斷。
EXTINT中斷由保護(hù)電路產(chǎn)生??删幊淘O(shè)置產(chǎn)生中斷的方式,在整個(gè)系統(tǒng)檢測(cè)過(guò)流信號(hào),保護(hù)電力電子開關(guān)器件。
3.2驅(qū)動(dòng)與保護(hù)電路
按照傳統(tǒng)的逆變器驅(qū)動(dòng)電路的設(shè)計(jì),器件的開關(guān)動(dòng)作需要靠獨(dú)立的驅(qū)動(dòng)電路來(lái)實(shí)現(xiàn),并且要求驅(qū)動(dòng)電路的供電電源要彼此隔離,這無(wú)疑增加了硬件電路的設(shè)計(jì)困難,降低了逆變電路的可靠性。為解決上述問(wèn)題,本文選用了美國(guó)IR公司的驅(qū)動(dòng)芯片IR2130。該芯片采用自舉驅(qū)動(dòng)方式,懸浮溝道設(shè)計(jì)使其能驅(qū)動(dòng)母線電壓小于600v的功率管,開關(guān)頻率可以從幾十赫茲到數(shù)百千赫茲。其內(nèi)部自舉技術(shù)的巧妙運(yùn)用,可使其應(yīng)用于高壓系統(tǒng),還可以對(duì)上下橋臂器件的門極驅(qū)動(dòng)信號(hào)產(chǎn)生2微秒的互鎖信號(hào),而且設(shè)置了欠壓保護(hù)功能,可方便的設(shè)計(jì)出過(guò)壓、過(guò)流保護(hù)。
在實(shí)際應(yīng)用中應(yīng)該注意一些問(wèn)題,尤其是要嚴(yán)格設(shè)計(jì)選用自舉二極管和自舉電容。自舉二極管的恢復(fù)時(shí)間很重要,本設(shè)計(jì)采用快速恢復(fù)二極管,其耐壓值一定要大于母線峰值。自舉電容的容量由功率管的柵極驅(qū)動(dòng)要求和最大開通時(shí)間決定,必須保證電容充電到足夠的電壓,而放電時(shí)其兩端電壓不低于欠壓保護(hù)動(dòng)作值,一般驅(qū)動(dòng)開關(guān)頻率大于5K赫茲時(shí),電容不應(yīng)該小于0.1。電源電容容量的匹配也十分重要,其值至少是自舉電容的十倍。芯片內(nèi)部自帶過(guò)流保護(hù)功能,一旦發(fā)生過(guò)流或直通故障,能迅速關(guān)斷PWM輸出。
該器件只要合理的選擇自舉電容,電源電容,自舉二極管,驅(qū)動(dòng)電路工作十分可靠。
3.3顯示與通信接口
顯示部分采用HD7279A同時(shí)驅(qū)動(dòng)8位共陰極數(shù)碼管,該芯片完全由單片機(jī)控制,接口簡(jiǎn)單,控制方式靈活。
顯示內(nèi)容:三相電壓,三相電流,頻率,各種保護(hù)狀態(tài)。與PC機(jī)通信使用MAX232E進(jìn)行電平交換,該芯片產(chǎn)生TTL(單片機(jī)側(cè))電平和RS-232(PC機(jī)側(cè))電平。串行通信口通過(guò)MAX232E與PC機(jī)串行口相連。
系統(tǒng)軟件設(shè)計(jì)
圖2軟件結(jié)構(gòu)框圖
軟件程序設(shè)計(jì)是整個(gè)逆變電源系統(tǒng)的核心,它決定逆變電源輸出的特性,如:電壓范圍及穩(wěn)定度、諧波含量、保護(hù)功能的完善、可靠性等。軟件框圖如圖2所示。
4.1初始化
計(jì)算一個(gè)周期內(nèi)的正弦脈寬值,初始化I/O口和WFG波形發(fā)生器,設(shè)置載波周期和死區(qū)時(shí)間。
在方式0中,載波周期TC的計(jì)算公式為: Tc=(2×WG-RELOAD)/Fxtal(μs)在忽略無(wú)信號(hào)時(shí)間的情況下,占空比為: 占空比=(WG-COMPx/WG-RELOAD)×100% 4.2頻率調(diào)節(jié)和輸出電壓調(diào)節(jié)
通過(guò)改變WG-RELOAD中的時(shí)間常數(shù),可調(diào)節(jié)輸出頻率。通常保持同步調(diào)制關(guān)系,即頻率調(diào)制比不變,mf=常量。在頻率調(diào)節(jié)過(guò)程為保證輸出電壓不變,在改變G-RELOAD內(nèi)容的時(shí),按比較地改變WG-COMPx中的值。
由于負(fù)載的變化,輸出電壓是不穩(wěn)定的。要達(dá)到良好的動(dòng)態(tài)穩(wěn)壓特性,采用輸出電壓反饋閉環(huán)控制。采用算法為增量數(shù)字PID:
?u(k)=u(k)-u(k-1)=kp[e(k)-e(k-1)]+k1e(k)+kD[e(k)-2e(k-1)+e(k-2)] 按PID的結(jié)果修正各開關(guān)周期的脈寬,可以達(dá)到調(diào)節(jié)電壓目的。4.3對(duì)外串行接口程序
8XC196MC單片機(jī)的串行通訊方式在實(shí)際應(yīng)用中效果非常好,其靈活性和實(shí)用性是其它獨(dú)立串口所無(wú)法比擬的。利用EPA和PTS實(shí)現(xiàn)串行通訊可完成與PC機(jī)的RS232方式的通信,進(jìn)行數(shù)據(jù)的發(fā)送、上傳。
5、實(shí)驗(yàn)分析
采用以上方案,制造了一臺(tái)樣機(jī)進(jìn)行試驗(yàn)。實(shí)驗(yàn)參數(shù)為:直流24V電壓輸入,載波頻率9.6KHZ,主回路功率管IRF540,直流側(cè)電容C=470uF,變壓器的匝數(shù)比1:10,輸出濾波電感Lf=6mH,輸出濾波電容Cf=30uF。
圖3為試驗(yàn)輸出波形:
圖3輸出電壓波形
6、結(jié)論 該電源設(shè)備結(jié)構(gòu)合理,體積小、成本低、穩(wěn)定。試驗(yàn)表明,逆變電源輸出波形好,可實(shí)現(xiàn)調(diào)壓調(diào)頻,動(dòng)態(tài)特性好,可靠性高。本文的創(chuàng)新點(diǎn)在于控制電路大為簡(jiǎn)化并且實(shí)現(xiàn)了全數(shù)字化,其系統(tǒng)能智能控制及遠(yuǎn)程監(jiān)測(cè)。
參考文獻(xiàn): [1]程軍.intel80C196單片機(jī)應(yīng)用實(shí)踐與C語(yǔ)言開發(fā)[M].北京:北京航空航天大學(xué)出版
摘自中電網(wǎng)的供電電源要彼此隔離,這無(wú)疑增加了硬件電路的設(shè)計(jì)困難,降低了逆變電路的可靠性。為解決上述問(wèn)題,本文選用了美國(guó)IR公司的驅(qū)動(dòng)芯片IR2130。該芯片采用自舉驅(qū)動(dòng)方式,懸浮溝道設(shè)計(jì)使其能驅(qū)動(dòng)母線電壓小于600v的功率管,開關(guān)頻率可以從幾十赫茲到數(shù)百千赫茲。其內(nèi)部自舉技術(shù)的巧妙運(yùn)用,可使其應(yīng)用于高壓系統(tǒng),還可以對(duì)上下橋臂器件的門極驅(qū)動(dòng)信號(hào)產(chǎn)生2微秒的互鎖信號(hào),而且設(shè)置了欠壓保護(hù)功能,可方便的設(shè)計(jì)出過(guò)壓、過(guò)流保護(hù)。在實(shí)際應(yīng)用中應(yīng)該注意一些問(wèn)題,尤其是要嚴(yán)格設(shè)計(jì)選用自舉二極管和自舉電容。自舉二極管的恢復(fù)時(shí)間很重要,本設(shè)計(jì)采用快速恢復(fù)二極管,其耐壓值一定要大于母線峰值。自舉電容的容量由功率管的柵極驅(qū)動(dòng)要求和最大開通時(shí)間決定,必須保證電容充電到足夠的電壓,而放電時(shí)其兩端電壓不低于欠壓保護(hù)動(dòng)作值,一般驅(qū)動(dòng)開關(guān)頻率大于5K赫茲時(shí),電容不應(yīng)該小于0.1。電源電容容量的匹配也十分重要,其值至少是自舉電容的十倍。芯片內(nèi)部自帶過(guò)流保護(hù)功能,一旦發(fā)生過(guò)流或直通故障,能迅速關(guān)斷PWM輸出。
該器件只要合理的選擇自舉電容,電源電容,自舉二極管,驅(qū)動(dòng)電路工作十分可靠。
3.3顯示與通信接口
顯示部分采用HD7279A同時(shí)驅(qū)動(dòng)8位共陰極數(shù)碼管,該芯片完全由單片機(jī)控制,接口簡(jiǎn)單,控制方式靈活。
顯示內(nèi)容:三相電壓,三相電流,頻率,各種保護(hù)狀態(tài)。
與PC機(jī)通信使用MAX232E進(jìn)行電平交換,該芯片產(chǎn)生TTL(單片機(jī)側(cè))電平和RS-232(PC機(jī)側(cè))電平。串行通信口通過(guò)MAX232E與PC機(jī)串行口相連。
系統(tǒng)軟件設(shè)計(jì)
圖2
第三篇:一種基于單片機(jī)的正弦波輸出逆變電源的設(shè)計(jì)
一種基于單片機(jī)的正弦波輸出逆變電源的設(shè)計(jì)
摘 要:介紹了一種正弦波輸出的逆變電源的設(shè)計(jì)。設(shè)計(jì)中采用了DC/DC和DC/AC兩級(jí)變換,高頻變壓器隔離,單片機(jī)控
制。實(shí)驗(yàn)結(jié)果表明性能可靠。
關(guān)鍵詞:逆變電源;單片機(jī);正弦脈寬調(diào)制
O 引言
低壓小功率逆變電源已經(jīng)被廣泛應(yīng)用于工業(yè)和民用領(lǐng)域。特別是新能源的開發(fā)利用,例如太陽(yáng)能電池的普遍使用,需要一個(gè)逆變系統(tǒng)將太陽(yáng)能電池輸出的直流電壓變換為220V、50Hz交流電壓,以便于使用。本文給出了一種用單片機(jī)控制的正弦波輸出逆變電源的設(shè)計(jì),它以12V直流電源作為輸入,輸出220V、50Hz、0~150W的正弦波交流電,以滿足大部分常規(guī)小電器的供電需求。該電源采用推挽升壓和全橋逆變兩級(jí)變換,前后級(jí)之間完全隔離。在控制電路上,前級(jí)推挽升壓電路采用SG3525芯片控制,采樣變壓器繞組電壓做閉環(huán)反饋;逆變部分采用單片機(jī)數(shù)字化SPWM控制方式,采樣直流母線電壓做電壓前饋控制,同時(shí)采樣電流做反饋控制;在保護(hù)上,具有輸入過(guò)、欠壓保護(hù),輸出過(guò)載、短路保護(hù),過(guò)熱保護(hù)等多重保護(hù)功能電路,增強(qiáng)了該電源的可靠性和安全性。
該電源可以在輸人電壓從10.5V到15V變化范圍內(nèi),輸出220V±10V的正弦波交流電壓,頻率50Hz±O.5Hz,直流分量 l 主電路 逆變電源主電路采用推挽升壓和全橋逆變兩級(jí)變換,如圖1所示。 輸入電壓一端接在變壓器原邊的中間抽頭,另一端接在開關(guān)管S1及S2的中點(diǎn)??刂芐1及S2輪流導(dǎo)通,在變壓器原邊形成高頻的交流電壓,經(jīng)過(guò)變壓器升壓、整流和濾波在電容C1上得到約370 V直流電壓。對(duì)S3~S6組成的逆變橋采用正弦脈寬調(diào)制,逆變輸出電壓經(jīng)過(guò)電感L、電容C2濾波后,最終在負(fù)載上得到220 V、50 Hz的正弦波交流電。采用高頻變壓器實(shí)現(xiàn)前后級(jí)之間的隔離,有利于提高系統(tǒng)的安全性。 輸入電壓10.5~15 V,輸入最大電流15 A,考慮一倍的余量,推挽電路開關(guān)管S1及S2耐壓不小于30 V,正向電流不 小于30 A,選用IRFZ48N。 升壓高頻變壓器的設(shè)計(jì)應(yīng)滿足在輸入電壓最低時(shí),副邊電壓經(jīng)整流后不小于逆變部分所需要的最低電壓350 V,同時(shí)輸入電壓最高時(shí),副邊電壓不能過(guò)高,以免損壞元器件。同時(shí)也必須考慮繞線上的電壓降和發(fā)熱問(wèn)題。選EE型鐵氧體磁芯,原副邊繞組為7匝:300匝。關(guān)于高頻變壓器的設(shè)計(jì)可以參考文獻(xiàn)。 變壓器副邊輸出整流橋由4個(gè)HER307組成.濾波電容選用68μF、450 V電解電容。 根據(jù)輸出功率的要求,輸出電流有效值為0 6~O.7 A,考慮一定的電壓和電流余量,逆變橋中的S3~S6選用IRF840。逆變部分采用單極性SPWM控制方式,開關(guān)頻率fs=16 kHz。 假?zèng)]濾波器時(shí)間常數(shù)為開關(guān)周期的16倍,即諧振頻率取1 kHz,則有 濾波電感電容LC≈2.5×10-3,可選取L=5 mH,C=4.7μF。濾波電感L選用內(nèi)徑20 mm,外徑40 mm的環(huán)形鐵粉芯磁芯,繞線采用直徑O.4 mm的漆包線2股并繞,匝數(shù)180匝。數(shù)字化SPWM控制方法 該逆變電源的控制電路也分為兩部分。前級(jí)推挽升壓電路由PWM專用芯片SG3525控制,采樣變壓器繞組電壓實(shí)現(xiàn)電壓閉環(huán)反饋控制。后級(jí)逆變電路由單片機(jī)PICl6C73控制,采樣母線電壓實(shí)現(xiàn)電壓前饋控制。前級(jí)控制方法比較簡(jiǎn)單,在這里主 要介紹后級(jí)單片機(jī)的數(shù)字化SPWM控制方式。 2.l 正弦脈寬調(diào)制SPWM 正弦脈寬調(diào)制SPWM技術(shù)具有線性調(diào)壓、抑制諧波等優(yōu)點(diǎn),是目前應(yīng)用最為廣泛的脈寬調(diào)制技術(shù).一般用三角波μc作為載波信號(hào),正弦波ug=UgmSin2πfgt作為調(diào)制信號(hào),根據(jù)μ和μg的交點(diǎn)得到一系列脈寬按正弦規(guī)律變化的脈沖信號(hào)。則可以定義調(diào)制比m=Ugm/Ucm,頻率比K=fc/fa=Tg/Tco。 正弦脈寬調(diào)制可以分為單極性SPWM和雙極性SPWM。雙極性SPWM的載波為正負(fù)半周都有的對(duì)稱三角波,輸出電壓為正負(fù)交替的方波序列而沒(méi)有零電平,因此可以應(yīng)用于半橋和全橋電路。實(shí)際中應(yīng)選擇頻率比K為奇數(shù),使得輸出電壓μo具有奇函數(shù)對(duì)稱和半波對(duì)稱的性質(zhì),μc無(wú)偶次諧波。但是輸出電壓μc中含有比較嚴(yán)重的n=K次中心諧波以及n=jk±6次邊頻諧波。 其控制信號(hào)為相位互補(bǔ)的兩列脈沖信號(hào)。 單極性SPWM的載波為單極性的不對(duì)稱三角波,輸出電壓也是單極性的方波。因?yàn)檩敵鲭妷褐邪汶娖剑虼?,單極性SPWM只能應(yīng)用于全橋逆變電路。由于其載波本身就具有奇函數(shù)對(duì)稱和半波對(duì)稱特性,無(wú)論頻率比K取奇數(shù)還是偶數(shù)輸出電壓Uo都沒(méi)有偶次諧波。輸出電壓的單極性特性使得uo不含有n=k次中心諧波和邊頻諧波,但卻有少量的低頻諧波分量。單極性SPWM的控制信號(hào)為一組高頻(載波頻率fe)脈沖和一組低頻(調(diào)制頻率fk)脈沖,每組的兩列脈沖相位互補(bǔ)。由三角載波和正弦調(diào)制波的幾何關(guān)系可以得到,在k》l時(shí),高頻脈沖的占空比D為 2.2 PIC單片機(jī)的軟件實(shí)現(xiàn) PICl6C73是Microchip公司的一款中檔單片機(jī),它功能強(qiáng)大而又價(jià)格低廉。PICl6C73內(nèi)部有兩個(gè)CCP(Capture、Compare、PWM)模塊,當(dāng)它工作在PwM模式下,CCP x引腳就可以輸出占空比10位分辨率可調(diào)的方波,圖2為其工作原理圖。 TMR2在計(jì)數(shù)過(guò)程中將同步進(jìn)行兩次比較:TMR2和CCPRxH比較一致將使CCPX引腳輸出低電平;TMR2和PR2比較一致將使CCPx引腳輸出高電平,同時(shí)將TMR2清O,并讀入下一個(gè)CCPRxH值,如圖3所示。因此,設(shè)定CCPRxH值就可以設(shè)定占空比,設(shè)定PR2值就可以設(shè)定脈沖周期。脈沖占空比D可以表示為 在本設(shè)計(jì)中,全橋逆變器采用單極性SPWM調(diào)制方式。CCP1模塊用來(lái)產(chǎn)生高頻脈沖,CCP2模塊用來(lái)產(chǎn)牛低頻脈沖。選擇16M晶振,根據(jù)脈沖周期Tc=[(PR2)+l]×4×4*Tosc和頻率比k=Tg/Tc,可以取PR2=249,k=320,則有Tg=20 ms,高頻脈沖序列每一一個(gè)周期中包含:320個(gè)脈沖。設(shè)調(diào)制比m=0.92,將,t=TgN/320代入式(2),聯(lián)立式(3)可以得到產(chǎn)生高頻脈沖 所需要的CCP1H的取值,第0~79個(gè)脈沖為 CCP1H=230sin(πN/160)(4) 式中:N為O→79。 考慮到正弦波的對(duì)稱性,可以得到第80~159個(gè)脈沖為 CCP1H=230sin[π×(80—N)/160](5)根據(jù)脈沖的互補(bǔ)性,可以得到第160~239個(gè)脈沖為 CCP1H=250—230sin(πN/160)(6) 第240~319個(gè)脈沖為 CCP1H=250—230Sin[π×(80一N)/160](7) 因此,在程序中存儲(chǔ)表格230sin(πN/160),N∈[0,79]就可以得到整個(gè)周期320個(gè)高頻脈沖的CCP.H值。第O~79點(diǎn),CCP1H為正向查表取值;第80~159點(diǎn),CCP1H為反向查表取值;第160~239點(diǎn)CCP1H為計(jì)數(shù)周期減去正向查表值;第240~319點(diǎn)CCP1H為計(jì)數(shù)周期減去反向查表值。 對(duì)于低頻脈沖,前半個(gè)周期可以看成由占空比始終為1的高頻脈沖組成,后半個(gè)周期看成由占空比始終為0的高頻脈沖組成,因此,第O~159個(gè)脈沖,CCP2H=250,第160~319個(gè)脈沖,CCP2H=O。 圖4為單片機(jī)_TMR2中斷程序的流程圖,在中斷程序中查表修改CCPxL的值.就可以改變下一個(gè)脈沖的CCPxH值,從而 修改下一個(gè)脈沖的占空比,實(shí)現(xiàn)SPWM控制。實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)中,輸入電壓變化范圍為10.5~15 V,輸出濾波電感5.3mH,濾波電容8μF,從空載到150W負(fù)載狀態(tài)下都可以輸出(220±10V)、50Hz的正弦波交流電壓,如表1和表2所示。圖5和圖6分別為空載和150W純阻性負(fù)載條件下輸出電壓電流波形??梢钥闯鲚敵鲭妷汉碗娏鞑ㄐ瘟己?,經(jīng)測(cè)量電壓波形的THD為3.6%。結(jié)語(yǔ) 本文詳細(xì)分析了一種正弦波輸出的逆變電源的設(shè)計(jì),以及基于單片機(jī)的數(shù)字化SPWM控制的實(shí)現(xiàn)方法。數(shù)字化SPWM控制靈活,電路結(jié)構(gòu)簡(jiǎn)單,控制的核心部分在軟件中,有利于保護(hù)知識(shí)產(chǎn)權(quán)。 基于單片機(jī)控制的交通燈設(shè)計(jì)系統(tǒng) 班級(jí): 姓名: 學(xué)號(hào): 第一章 概述 1.設(shè)計(jì)內(nèi)容 本系統(tǒng)需要采用AT89C51單片機(jī)AT89C5中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)以下功能: 1.1初始東西綠燈亮,南北紅燈亮,東西方向通車。1.2黃燈閃爍后,東西路口紅燈亮同時(shí)南北路口綠燈亮,南北方向開始通車。1.3延時(shí)27s,南北方向綠燈滅,黃燈閃爍3次,然后又切換成東西方向通車,如此重復(fù)。 設(shè)計(jì)交通燈控制系統(tǒng)硬件電路與軟件控制程序,對(duì)硬件電路與軟件程序分別進(jìn)行調(diào)試,并進(jìn)行軟硬件聯(lián)調(diào),要求獲得調(diào)試成功的仿真圖。2.設(shè)計(jì)目的 2.1 了解交通燈管理的基本工作原理。2.2 熟悉AT89C51工作原理和應(yīng)用編程。 2.3 熟悉AT89C51行接口的各種工作方式和應(yīng)用。 2.4 熟悉AT89C51數(shù)器/定時(shí)器的工作方式和應(yīng)用編程外部中斷的方法。2.5 掌握多位LED顯示問(wèn)題的解決。3.設(shè)計(jì)原理 AT89C51片機(jī)具有控制二連體共陰極數(shù)碼管和發(fā)光二極管的輸出顯示以及檢測(cè)按鍵輸入的功能。利用AT89C51片機(jī)模仿制作室外十字路口多功能交通燈,實(shí)現(xiàn)室內(nèi)控制與室外顯示的功能。合理控制交通繁忙,交通特殊情況和恢復(fù)交通正常的三種情況。 本設(shè)計(jì)用4個(gè)共陽(yáng)極LED數(shù)碼管的分別表示東、西、南、北四個(gè)方向路口,以數(shù)碼管的上、中、下3個(gè)橫段分別代表紅、黃、綠3盞燈,用P0、P1口分別輸出控制模擬交通燈的狀態(tài)顯示的數(shù)碼管和倒計(jì)時(shí)顯示數(shù)碼管的狀態(tài)碼,P3^ 1、P3^ 2、P3^4-P3^7控制數(shù)碼管的位選,P2^0-P2^4接收中斷信號(hào)并反饋給INT0接口進(jìn)行中斷處理。 第二章 硬件設(shè)計(jì) 1.設(shè)計(jì)框圖 如圖2-1所示 此處要有文字說(shuō)明 圖2-1設(shè)計(jì)框圖 2.元器件選擇及其功能介紹 AT89C51是一種帶4K字節(jié)LASH存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51片引腳圖如下圖2-2所示。 圖2-2 AT89C51片引腳圖 主要特性: ·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:1000寫/擦循環(huán) ·數(shù)據(jù)保留時(shí)間:10年 ·全靜態(tài)工作:0Hz-24MHz ·三級(jí)程序存儲(chǔ)器鎖定 ·128×8位內(nèi)部RAM ·32可編程I/O線 ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 ·片內(nèi)振蕩器和時(shí)鐘電路 3.設(shè)計(jì)原理圖 硬件電路圖通過(guò)Proteus 仿真之后如圖2-3所示,其中: 按鈕K0連接P2^0端口實(shí)現(xiàn)紅燈全亮,處理交通意外 按鈕K1連接P2^1端口實(shí)現(xiàn)南北方向亮燈時(shí)間+1s 按鈕K2連接P2^2端口實(shí)現(xiàn)南北方向亮燈時(shí)間-1s 按鈕K3連接P2^3端口實(shí)現(xiàn)東西方向亮燈時(shí)間+1s 按鈕K4連接P2^4端口實(shí)現(xiàn)東西方向亮燈時(shí)間-1s 圖2-3整體連接電路原理圖 第三章 軟件設(shè)計(jì) 1.各個(gè)程序段介紹 1.1數(shù)碼管顯示 void Display(uchar j)//j控制顯示table中連續(xù)位的起始點(diǎn) { char h,l;if(j<11)//根據(jù)狀態(tài)判定時(shí)間 { h=Time_EW/10;//EW通行時(shí)間十位 l=Time_EW%10;//EW通行時(shí)間個(gè)位 } else if(j<23){ h=Time_SN/10;//SN通行時(shí)間十位 l=Time_SN%10;//SN通行時(shí)間個(gè)位 } for(i=0;i<4;)//按位顯示通行狀況及時(shí)間 { P0=table1[j];//通行狀況顯示 P3=tab[i];//位選顯示 i++; j++; if(i%2)//兩位計(jì)時(shí)顯示 { P1=table[l]; Delay(400); } else { P1=table[h]; Delay(400); } } Delay(5);} 1.2 INT0外部中斷服務(wù)程序 void EXINT0(void)interrupt 0//INT0外部中斷 { EX0=0;//關(guān)中斷 if(Busy_Button==0){ P0=0xFE;//意外按鈕按下全顯示紅燈 for(;Busy_Button!=1;)//意外按鈕彈起時(shí)恢復(fù)之前狀態(tài) Display(24);} /*四個(gè)時(shí)間控制按鈕分別控制SN、EW方向初始通行時(shí)間加減,最長(zhǎng)不超過(guò)s,最少不低于s*/ if(SN_Add==0)//SN+1 { SN1+=1; if(SN1>99) SN1=99;} if(SN_Red==0)//SN-1 { SN1-=1; if(SN1<20) SN1=20;} if(EW_Add==0)//EW+1 { EW1+=1; if(EW1>99) EW1=99;} if(EW_Red==0)//EW-1 { EW1-=1; if(EW1<20) EW1=20;} EX0=1;//開中斷 } 1.3延時(shí)子程序 void Delay(uchar a)//循環(huán)a次 { uchar x;x=a;while(x--){;} } 2.程序 #define uchar unsigned char #include uchar x;x=a;while(x--){;} } void Display(uchar j){ char h,l;if(j<11){ h=Time_EW/10; l=Time_EW%10;} else if(j<23){ h=Time_SN/10; l=Time_SN%10;} for(i=0;i<4;){ P0=table1[j]; P3=tab[i]; i++; j++; if(i%2) { P1=table[l]; Delay(400); } else { P1=table[h]; Delay(400); } } Delay(5);} void EXINT0(void)interrupt 0 { EX0=0;if(Busy_Button==0){ P0=0xFE; for(;Busy_Button!=1;)Display(24);} if(SN_Add==0){ SN1+=1; if(SN1>99) SN1=99;} if(SN_Red==0){ SN1-=1; if(SN1<20) SN1=20;} if(EW_Add==0){ EW1+=1; if(EW1>99) EW1=99;} if(EW_Red==0){ EW1-=1; if(EW1<20) EW1=20;} EX0=1; } void timer0(void)interrupt 1 using 1 { TH0=0x3C;TL0=0xB0;count++;if(count==20){ Time_EW--; Time_SN--; count=0;} } 第四章 仿真結(jié)果及其總結(jié) 1.仿真結(jié)果圖 1.1正常狀態(tài)的仿真結(jié)果如圖4-1所示 圖4-1正常狀態(tài) 1.2黃燈狀態(tài)的仿真結(jié)果如圖4-2所示 圖4-2黃燈狀態(tài) 1.3緊急狀態(tài)的仿真結(jié)果如圖4-3所示 圖4-3 緊急狀態(tài) 1.4延長(zhǎng)通行時(shí)間的仿真結(jié)果如圖4-4所示 圖4-4延長(zhǎng)通行時(shí)間 2.總結(jié) 通過(guò)這次交通燈的課程設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決現(xiàn)實(shí)問(wèn)題的能力。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用學(xué)習(xí)過(guò)程中,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更深層次的理解和認(rèn)識(shí)。在此,由于自身能力有限,在課程設(shè)計(jì)中碰到了很多的問(wèn)題,我通過(guò)查閱相關(guān)書籍、資料以及和周圍同學(xué)交流得到解決。 通過(guò)這次交通燈的課程設(shè)計(jì),使我了解了寫畢業(yè)設(shè)計(jì)的流程和方法。為自己以后的畢業(yè)論文的設(shè)計(jì)做一次練習(xí),具有積極的意義。還有交通燈是我們生活中非常常見的一種東西,對(duì)于我們學(xué)以致用的這種能力得到了很好鍛煉,能夠?yàn)槲覀円院蟮墓ぷ饔趯W(xué)習(xí)打下基礎(chǔ)。 由于本人的水平有限,設(shè)計(jì)中難免會(huì)有一些不合理的部分,系統(tǒng)的穩(wěn)定性還有待提高,望批評(píng)更正。 課程設(shè)計(jì)(論文) 題 目 名 稱 簡(jiǎn)易防盜系統(tǒng)設(shè)計(jì) 課 程 名 稱 單片機(jī)原理及應(yīng)用課程設(shè)計(jì) 學(xué) 生 姓 名 學(xué) 號(hào) 系、專 業(yè) 信息工程系、信息工程類 指 導(dǎo) 教 師 2013年 6 月 28 日 目錄 1概 要﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 2設(shè)計(jì)指標(biāo)與要求﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 3設(shè)計(jì)方案與論證﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 4電路設(shè)計(jì)原理與流程圖﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌5采用的主要元器件﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌6編程實(shí)現(xiàn)﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌7仿真結(jié)果與分析﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌8總結(jié)與致謝﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 9參考文獻(xiàn)﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 概 要 傳感技術(shù)是21世紀(jì)人們?cè)诟咝录夹g(shù)發(fā)展方面爭(zhēng)奪的一個(gè)制高點(diǎn),各個(gè)發(fā)達(dá)國(guó)家都將傳感技術(shù)視為高新技術(shù)發(fā)展的關(guān)鍵。從20世紀(jì)80年代起,基于傳感技術(shù)的光電防盜系統(tǒng)也得到了高速的發(fā)展,最早的非可見光侵物探測(cè)器,有發(fā)射機(jī) 將一個(gè)編碼信號(hào)送到一個(gè) IR LED中。此LED的輸出聚成一束很窄的光束,并使其對(duì)準(zhǔn)遠(yuǎn)距離仿制的接收機(jī)中的一只匹配的IR光敏探測(cè)器。此系統(tǒng)是以針尖視線的原理來(lái)工作的,它可以被任何一個(gè)進(jìn)入到發(fā)射機(jī)與接收機(jī)透視鏡之間瞄準(zhǔn)直線上的大于針尖的物體所觸發(fā)。隨后又出現(xiàn)了給予被動(dòng)是紅外傳感技術(shù)的被動(dòng)式紅外入侵報(bào)警器,它能可靠地將運(yùn)動(dòng)著的物體和飄落著的物體加以區(qū)別,同時(shí)它還具有強(qiáng)大的監(jiān)控范圍,隱蔽性好,抗干擾能力強(qiáng),和誤報(bào)率低等特點(diǎn)。 本設(shè)計(jì)采用光電傳感器檢測(cè)入侵者,其基本原理為:傳感器感應(yīng)到入侵者,將其轉(zhuǎn)換成超低頻信號(hào),經(jīng)電路放大,輸出。同時(shí)由接受裝置根據(jù)接受到的信號(hào)得到高低電平,輸出。經(jīng)判斷,再將報(bào)警信號(hào)通過(guò)電路輸入到單片機(jī)的接口上,由單片機(jī)決定是否對(duì)報(bào)警信號(hào)進(jìn)行觸發(fā)。 2設(shè)計(jì)指標(biāo)與要求 采用光電式傳感器檢測(cè)入侵者,用蜂鳴器作為報(bào)警器的輸出,報(bào)警距離≥10M; 3設(shè)計(jì)方案與論證 系統(tǒng)主控部分采用AT89C51芯片,當(dāng)光電感應(yīng)器感受到外部有入侵物時(shí),發(fā)出信號(hào),單片機(jī)接收到信號(hào)時(shí),采用延時(shí)抖動(dòng),再次檢測(cè)是否還有報(bào)警信號(hào),如果有報(bào)警信號(hào),啟動(dòng)報(bào)警器,紅燈全部亮,報(bào)警結(jié)束后,紅燈滅,綠燈亮,如果誤報(bào)警,可以采用外部中斷0使人工停止報(bào)警,如果光電感應(yīng)器沒(méi)能檢測(cè)到入侵物,可以采用外部中斷1人工報(bào)警,人工報(bào)警時(shí)流水燈亮,蜂鳴器響! 因?yàn)槿绻霉怆姼袘?yīng)器來(lái)檢測(cè)入侵者,在仿真里無(wú)法看到現(xiàn)象,故采用開關(guān)來(lái)模擬光電感應(yīng)器。 4電路設(shè)計(jì)的原理與流程圖 (1)電路設(shè)計(jì)的原理 首先給單片機(jī)的P1.0安裝一個(gè)開關(guān),用來(lái)模擬光電感應(yīng)器。然后給單片機(jī)的P3.1腳通過(guò)三級(jí)管接一個(gè)蜂鳴器,用于當(dāng)有報(bào)警信號(hào)時(shí)用來(lái)報(bào)警。再給P3.0接4個(gè)LED燈,用于報(bào)警時(shí)顯示報(bào)警燈作用。再給P3.2接一個(gè)按鍵,用于當(dāng)光電感應(yīng)誤報(bào)警時(shí),可以人工中斷報(bào)警。給P3.3接一個(gè)按鍵,用于當(dāng)光電感應(yīng)沒(méi)有報(bào)警時(shí),按下可以人工報(bào)警。 (2)流程圖 開始?jí)喝攵褩3绦虺跏蓟疨1.2=1P3.0=1P3.1=0P2=00HP1.2清零NP1.0=0?P1.2清零出棧N返回P1.0=0?P1.2=1P3.0取反P3.1取反20H=50TR0=1NTF0=1?Y壓入堆棧P1.2=1R7=5P2=0FFH調(diào)用延時(shí)子程序NP2=00H調(diào)用延時(shí)子程序P3.1清零P1=0FFH調(diào)用延時(shí)子程序調(diào)用延時(shí)子程序YR7-1=0?YP3.1=1調(diào)用延時(shí)子程序30H=50TR0=1NTF0=1?YTF0清零TF0=0重裝系統(tǒng)NN重裝系統(tǒng)30H-1=0?P3.1=0P1.2=0出棧P2=00H返回結(jié)束YN20H-1=0?YP3.0=1P3.1=0P1.2=0 5采用的主要元器件 主要元器件:AT89C51,NPN,RES,CAP,CAP-ELEC,BUTTON,BUZZER, CRYSTAL 6編程實(shí)現(xiàn) ORG 0000H LJMP MAIN ORG 0003H LJMP ZT0 ORG 0013H LJMP ZT1 ORG 0100H MAIN:MOV TMOD,#01 MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB EX0 SETB IT0 SETB EX1 SETB PX0 SETB IT1 MOV SP,#60 CLR P3.1 MOV P1,#0FFH MOV P2,#00H CLR P1.2 LP:JNB P1.0,LA LJMP LP LA:LCALL DS01 JNB P1.0,ALARM LJMP LP DS01:MOV R1,#0FFH D1:MOV R2,#0FFH D2:NOP DJNZ R2,D2 DJNZ R1,D1 RET ALARM:SETB P1.2 CPL P3.0 CPL P3.1 MOV 20H,#50 SETB TR0 L2:JBC TF0,L1 LJMP L2 L1:CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ 20H,L2 SETB P3.0 CLR P3.1 CLR P1.2 LJMP LP ZT0:PUSH ACC SETB P1.2 SETB P3.0 CLR P3.1 LCALL DS01 CLR P1.2 POP ACC RETI ZT1:PUSH ACC SETB P1.2 MOV R7,#05 DQ:MOV P2,#0FFH LCALL DS01 MOV P2,#00H LCALL DS01 DJNZ R7,DQ SETB P3.1 LCALL DS01 MOV 30H,#50 SETB TR0 L4:JBC TF0,L3 SJMP L4 L3:CLR TF0 MOV TH0,#3CH MOV TL0,#0B0H DJNZ 30H,L4 CLR P3.1 CLR P1.2 POP ACC MOV P2,#00H RETI END 7仿真結(jié)果與分析 在系統(tǒng)正常的情況下,系統(tǒng)不斷檢測(cè)是否有警報(bào)信號(hào),當(dāng)檢測(cè)有警報(bào)信號(hào)時(shí),系統(tǒng)轉(zhuǎn)入報(bào)警,從而蜂鳴器響。8 總結(jié) 總結(jié) 課程設(shè)計(jì)是我們理論聯(lián)系實(shí)際的最好的途徑之一,讓我們有機(jī)會(huì)把課本上學(xué)到的知識(shí)運(yùn)用到實(shí)際生活中。目前單片機(jī)在工業(yè)檢測(cè)領(lǐng)域中得到了廣泛的應(yīng)用,在我們平常的生活中也是隨處可見,包括我們?nèi)粘I钪须S處可見的交通燈、鬧鐘等都含有單片機(jī)作為一個(gè)主要的部件,懂得并熟悉掌握單片機(jī)的運(yùn)用技術(shù)常有用的。通過(guò)這次課程設(shè)計(jì)使對(duì)單片機(jī)語(yǔ)言的理解和掌握上有了很大的進(jìn)步,以前所了解的單片機(jī)語(yǔ)言僅限于一些片面的知識(shí),通過(guò)這次編程,將這些零零碎碎的知識(shí)匯集起來(lái),編寫出了一個(gè)完整的系統(tǒng),并且對(duì)單片機(jī)語(yǔ)言的應(yīng)用能力有了極大的提高。在這次課程設(shè)計(jì)的過(guò)程中,我深深體會(huì)到團(tuán)隊(duì)合作的精神是極其重要的。因?yàn)樯碓谝粋€(gè)團(tuán)隊(duì),有了困難大家一起解決,減少了壓力,同時(shí)拓展了思維,交換了意見,一個(gè)人的思想當(dāng)被接受和了解時(shí),我們有了更多的思想關(guān)于一個(gè)問(wèn) 題,我想這些都是作為一個(gè)團(tuán)隊(duì)的好處。經(jīng)過(guò)此次課程設(shè)計(jì),我們經(jīng)歷了喜,怒,哀,樂(lè)。同時(shí)我們也對(duì)明年的畢業(yè)設(shè)計(jì)有了一定的想法和實(shí)現(xiàn)自己想法的決心.9參考文獻(xiàn) [1] 李泉溪.單片機(jī)原理與應(yīng)用實(shí)例仿真[M].北京:北京航空航天大學(xué)出版社,2009.[2] 江世明.基于Proteus的單片機(jī)應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2009.[3] 周潤(rùn)景,張麗娜.基于Proteus的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:北京航空航天大學(xué)出版社,2006.[4] 張友德.單片微型計(jì)算機(jī)原理、應(yīng)用與實(shí)驗(yàn)[M].上海:復(fù)旦大學(xué)出版社,2003.第四篇:基于單片機(jī)控制的交通燈設(shè)計(jì)系統(tǒng)
第五篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì) 簡(jiǎn)易報(bào)警系統(tǒng)設(shè)計(jì)(定稿)