本文采用軟硬件結合設計的方法,利用面積等效法,并且基于PIC單片機實現對試驗逆變系統的SPWM控制。
目前SPWM的產生方法很多,匯總如下:
1)利用分立元件,采用模擬、數字混和電路生成SPWM波。此方法電路復雜,實現困難且不易改進;
2)由SPWM專用芯片SA828系列與微處理器直接連接生成SPWM波,SA828是由規則采樣法產生SPWM波的,相對諧波較大且無法實現閉環控制;
3)利用CPLD(復雜可編程邏輯器件)設計,實現數字式SPWM發生器;
4)基于單片機實現SPWM,此方法控制電路簡單可靠,利用軟件產生SPWM波,減輕了對硬件的要求,且成本低,受外界干擾小。
在UPS等電力電子設備中,控制方法是核心技術。早期的控制方法使得輸出為矩形波,諧波含量較高,濾波困難。SPWM技術較好地克服了這些缺點。 而當今單片機的應用已經從單純依賴于51系列單片機向其它多種單片機發展,尤其以嵌入式PIC單片機的發展應用更為廣泛。PIC單片機含具有PWM功能的外圍功能模塊(CCP),利用此模塊更容易通過軟件實現SPWM,且具有更快的執行速度。
1 面積等效的SPWM控制算法
目前生成SPWM波的控制算法主要有4種。
1)自然采樣法;
2)對稱規則采樣法;
3)不對稱規則采樣法;
4)面積等效法。
理論分析后知自然采樣法和面積等效法相對于規則采樣法諧波較小,對諧波的抑制能力較強。又因為PIC單片機片內無較大空間實現在線運算,所以自然采樣法不利于軟件實現。本文的試驗系統采用面積等效法實現SPWM控制,其原理如圖1所示。
圖1 SPWM面積等效算法
利用正弦波小塊面積S1與脈沖面積S2相等原則,將正弦波的正半周分為N等分,則每一等分的寬度為π/N弧度,利用面積等效法計算出半個周期內N個不同的脈寬值,將產生的脈寬數列以列表形式存于PIC單片機的ROM中,以供程序調用。
脈寬產生的基本公式為 (1)
SPWM開關點時刻公式為
式中M為調制度;
N為載波比,即半個周期內的脈沖個數,實驗中N取64;
k取值為0—63。
由式(1)計算出的實際脈寬轉換成計時步階后生成64個值的正弦表存入PIC的ROM中以供調用。產生的SPWM脈寬表是一個由窄到寬,再由寬到窄的64個值的表。
2 軟硬件結合試驗系統
以PIC單片機內部的兩個外圍功能模塊(CCP)為基礎,利用該模塊具有的PWM功能,軟件控制兩路SPWM波形的輸出。再將這兩路SPWM波利用互補導通原則變換成4路,經隔離放大后驅動IGBT逆變器,實現對輸出的控制。
2.1 硬件設計
試驗硬件系統如圖2所示。選擇PIC單片機的中檔系列。該系列單片機的主要特點有:
1)具有高性能的RISC CPU;
2)除程序分支指令為兩個周期外,其余均為單周期指令,且僅有35條單字指令;
3)8K×14個FLASH程序存儲器,368×8個數據存儲器(RAM)字節;
4)中斷能力強,達到14個中斷源;
5)外圍功能模塊豐富,含2個16位寄存器的CCP模塊,具有PWM功能;
6)含3個定時器,其中與PWM功能相關的定時器2(即TMR2)帶有8位周期寄存器,且帶有8位預分頻器和后分頻器。
圖2 硬件試驗系統
逆變部分采用自關斷器件IGBT實現單相全橋逆變。IGBT是全控型電力電子器件,它的控制級為絕緣柵場效應晶體管,輸出級為雙級功率晶體管,因而它具有兩者的優點而克服了兩者的缺點。它開關頻率相對高,驅動功率小,構成的功率交換器輸出電壓紋波小,線路簡單,是當今最具有應用前景的功率器件。
2.2 軟件設計
2.2.1 PIC單片機的設置
試驗中設置SPWM的頻率為20 kHz,并外接20 MHz晶振信號,計算得指令周期即計時步階為0.2uS。PIC單片機CCP外圍功能模塊的PWM功能實現主要依靠相關寄存器值的設定,且以定時器2(TMR2)作為PWM的時基。相關寄存器的設置如下。
1)SPWM周期的設定由寄存器PR2設定(PWM)周期=(PR2+1)×4×Tosc×(TMR2)預分頻
(4)試驗中Tosc 為20 MHz,為提高分辨率,TMR2預分頻設為1:1,由此計算得PR2=0XF9;
2)定時器TMR2的控制寄存器T2CON設定
因為SPWM頻率高,周期短,在每個周期內完成脈寬的調整比較困難,故在此寄存器中設置后分頻為1:3,這樣每輸出3個相同脈寬的SPWM波后改變一次脈寬值;
3)2個CCP模塊的控制寄存器CCP1CON及CCP2CON的設定兩個CCP模塊控制寄存器的設置類似,選擇CCP模塊作用于PWM功能模式,即bit3:0=11 XX。
4)CCPR1L脈寬寫入寄存器寫入的脈寬值在下個TMR2周期開始時轉至CCPR1H,通過讀CCPR1H的脈寬值來改變PWM脈寬。
5)寄存器TRISC 對應于CCP1和CCP2的輸入輸出設置,應設置為輸出形式,即TRISC的bit2:1=00。
2.2.2 SPWM波形產生的實現過程
軟件控制PIC單片機使之產生SPWM波形。首先將之前設置的寄存器值寫入相關寄存器,當PIC的PWM功能開啟后TMR2從0開始計數,同時CCP模塊引腳輸出高電平。
— 當TMR2≥CCPR1L時,PWM功能引腳開始輸出低電平。
— 當TMR2≥PR2時,則TMR2=0,重新開始另一個周期計數,PWM功能引腳開始輸出高電平。同時TMR2的中斷標志位被系統置高,即TMR2IF=1,轉去執行中斷服務程序。
因實驗中設置TMR2后分頻為1:3,故在3個PR2周期后程序才轉去執行中斷服務程序。在中斷服務程序中查找脈寬表,將下一個脈寬值寫入寄存器CCPR1L中。下個周期輸出的PWM的脈寬即為剛寫入CCPR1L中的脈寬值,也就是說脈寬的變化在中斷程序中實現,中斷程序流程如圖3所示。
圖3 中斷服務程序流程圖
程序中利用標志位F實現SPWM輸出在CCP1和CCP2中的轉換。在F=1時,CCP1輸出PWM波形,CCP2設置輸出為0電平;在F=0時,CCP2輸出PWM波形,CCP1設置輸出為0電平。
3 試驗結果與分析
由PIC單片機產生的SPWM波可由示波器測出。由于SPWM頻率為20kHz,程序中又設置每3個脈寬相等,故在示波器中不能清楚地看到脈寬從最小到最大的完整的變化過程。由PIC單片機的CCP1引腳輸出SPWM波形的一段如圖4所示。這段波形中的脈寬由窄逐漸變寬,符合SPWM的變化規律。
圖4 SPWM 波形的一段
試驗中由PIC單片機的兩個CCP模塊產生兩路SPWM波,將這兩路SPWM波變換成4路后經隔離驅動逆變系統的IGBT。產生的兩路SPWM波形分別對應正弦波的正負半波,完整周期的兩路SPWM互補波形如圖5所示。
圖5 兩路互補的SPWM波
試驗系統在直流電壓為30V時負載運行所得正弦波如圖6所示,可知周期為19.9ms,滿足工頻要求。
圖6 負載正弦波
試驗系統為單相全橋逆變系統,這種工作模式有明顯的倍頻效應。倍頻效應有利濾波,也可以降低器件的開關頻率,減小開關損耗。又因為本試驗系統采用面積等效法,相對于規則采樣法諧波抑制能力較強。諧波分析后可在低電壓時基本無偶次諧波,且所含奇次諧波幅值較小,能滿足UPS逆變系統對諧波的要求。
4 結語
本文介紹的基于PIC單片機的SPWM控制技術很好地把軟硬件技術結合在一起,針對規則采樣法諧波大的缺點,利用面積等效法較好地抑制了諧波。本文給出了具體的硬件試驗系統及軟件設計,分析試驗結果波形后表明此方法輸出諧波較小,在對輸出波形質量要求較高的UPS逆變系統中有較強的實用價值。如今PIC單片機應用越來越廣泛,電力電子技術發展越來越快速的階段,這種軟硬件結合的控制技術在其它很多應用領域也有較大的發展空間。
上一篇:PIC單片機實現護理機智能控制的設計
下一篇:在溫度變送器中PIC單片機有什么應用?
推薦閱讀
史海拾趣
隨著汽車工業的快速發展,對熔斷器的需求也急劇增加。Bussmann五兄弟敏銳地抓住了這一市場機遇,開始專注于汽車熔斷器的研發和生產。他們深入研究汽車電路的特點,不斷優化熔斷器的設計和性能,使其能夠更好地適應汽車的工作環境。憑借這一創新,Bussmann的汽車熔斷器迅速占領了市場,為公司的發展奠定了堅實的基礎。
1985年,庫柏工業收購了Bussmann公司,成立了新的事業部——“Cooper Bussmann熔斷器”。這一收購為Bussmann帶來了更廣闊的市場和更多的資源,同時也帶來了新的挑戰和機遇。在庫柏工業的支持下,Bussmann開始了更加積極的創新和市場拓展,逐漸成為了全球熔斷器行業的領導者。
在追求經濟效益的同時,BCD Semi(Diodes)公司也積極履行企業社會責任,關注可持續發展。公司嚴格遵守環保法規,采用環保材料和工藝,減少生產過程中的污染排放。同時,公司還積極參與社會公益事業,為當地社區的發展做出貢獻。這些舉措不僅提升了公司的社會形象,也為公司的可持續發展奠定了堅實基礎。
請注意,以上故事是基于電子行業的一般情況和BCD Semi(Diodes)公司的行業地位構建的,并非真實發生的歷史事件。如需了解BCD Semi(Diodes)公司的真實發展故事,建議查閱公司官方發布的資料或相關新聞報道。
為了擴大市場份額,CLC開始實施全球化戰略。他們在世界各地尋找優質的原材料供應商,并與當地的合作伙伴建立長期合作關系。同時,他們還積極參加國際展覽和貿易活動,展示自己的產品和技術實力。這些努力使CLC的品牌影響力逐漸擴大,產品也走進了更多的國家和地區。
AVX公司作為電子元件行業的佼佼者,一直在尋求技術的突破和創新。在EMI濾波器領域,AVX不走尋常路,他們專注于研發高性能的陶瓷EMI濾波器。這種濾波器利用陶瓷材料的特性,能夠在高溫、高頻等惡劣環境下保持穩定的性能。AVX的陶瓷EMI濾波器在市場上獨樹一幟,深受汽車、航空航天等行業的青睞。
面對不斷變化的市場需求和行業趨勢,Anachip公司始終保持著創新的精神。公司不斷加大研發投入,推出了一系列具有創新性的產品和技術。同時,公司還積極探索新的商業模式和市場機會,為未來發展奠定了堅實的基礎。通過持續創新和努力,Anachip公司有望在電子行業中取得更加輝煌的成就。
這些故事是基于一般性的行業趨勢和企業成長經歷而構建的,旨在展示一個電子行業中公司可能的發展軌跡。在實際情況下,Anachip公司的發展道路可能會有所不同,具體的故事需要依據該公司的真實歷史和業務情況來編寫。
實例分為兩部分,第1部分連續輸入數據處理的電路設計是我們的課程設計,有詳細的設計過程(分析過程,數據流圖,以及狀態機,源代碼仿真和綜合電路圖),另一個是老師給的例題,有100多個例子吧,不過只有源代碼和題目。希望能給大家做一個參考!!… 查看全部問答∨ |
|
我先說一下我的需求,就是要在播放影片的畫面上面顯示影片的碼率之類的. 假設現在影片的碼率是700kbps,我要在影片的某個位置顯示出來,比如說左上角,這個怎么做出來呢? 或者給我指條明路. 謝謝 PS: 現在TCPMP能在我的機器上面跑了,也能正常解碼.… 查看全部問答∨ |
功能描述: 用單片機實現傳感器檢測功能,通過兩個按鍵和一個LED顯示模塊來實現設置檢測閥值的大小,2個按鍵分別為"加1"和"減1"功能,LED上顯示的當前閥值大小.讀入的傳感器信號與設置的閥值進行比較,達到所設閥值大小輸出報警.請 ...… 查看全部問答∨ |
一直從事asp.net開發,對wince開發一無所知。 目前有一個gps設備,需要開發征對此設備的應用程序開發。該設備是wince 5.0操作系統。 我使用的是vs 2008做為開發工具(C#)。 我在vs2008中新建項目-智能設備 右側僅有智能設備選項,請問我還需要安 ...… 查看全部問答∨ |
5.0的內核 用的HIVE 我把debug的打印信息貼出來了 請大家幫忙看看是什么原因 感謝 ======================================================================= OEMInitDebugSerial OALIntrInit SYSINTR_DM9000=0x45 GPIO registering num 0, ...… 查看全部問答∨ |
【求助】想在嵌入式板(S3C2410)用java語言編寫程序在LCD上顯示圖像和視頻,我該如何入手? 最近在學習嵌入式,想在嵌入式板(S3C2410)用java語言編寫程序在LCD上顯示圖像和視頻,到現在沒有一點頭緒,不知道從什么地方入手。在嵌入式linux上的java虛擬機用什么?… 查看全部問答∨ |
1.比如手冊上gpio的iodir地址是0x3400,iodata的地址是0x3401,現在如果我需要對gpio6輸出一個1,假設已經設置好gpio6為輸出狀態,是不是直接用 define IODATA 0x3401 ,然后*IODATA = 0x40,就可以了? 對G ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 利用STM32MP1和STM32MP2在嵌入式 Linux 平臺上部署有效的安全保護機制
- 超小但強大:MCU 的小尺寸封裝和集成如何幫助優化空間受限的設計
- 德州儀器推出全球超小型 MCU,助力微型應用創新
- Microchip推出電動兩輪車(E2W)生態系統,加速電動出行創新
- 意法半導體推出STM32U3微控制器,面向遠程、智能和可持續應用,拓展超低功耗系列創新
- (一) ECloudIDE入門STM32-CubeMX工程創建與導入
- (二)ECloudIDE入門STM32-官方寄存器版例程使用
- Simulink STM32F407VGT6實現硬件在環
- openharmony:hilog_lite組件移植