EDA步進(jìn)電機(jī)控制_第1頁
EDA步進(jìn)電機(jī)控制_第2頁
EDA步進(jìn)電機(jī)控制_第3頁
EDA步進(jìn)電機(jī)控制_第4頁
EDA步進(jìn)電機(jī)控制_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.EDA技術(shù)設(shè)計(jì)報(bào)告直流電機(jī)的PWM控制電子信息工程學(xué)院 通信2班 顧問 20122144851、 EDA技術(shù)概述EDA(Electronic Design Automation)技術(shù)作為現(xiàn)代電子設(shè)計(jì)技術(shù)的核心,它依賴功能強(qiáng)大的計(jì)算機(jī),在EDA工具軟件平臺(tái)上,對(duì)以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯化簡、邏輯分割、邏輯綜合、結(jié)構(gòu)綜合(布局布線),以及邏輯優(yōu)化和仿真測(cè)試等項(xiàng)功能,直至實(shí)現(xiàn)既定性能的電子綜合系統(tǒng)功能。EDA技術(shù)使得設(shè)計(jì)者的工作幾乎僅限于利用軟件的方式,即利用硬件描述語言HDL和EDA軟件來完

2、成對(duì)系統(tǒng)硬件功能的實(shí)現(xiàn)。2、 硬件描述語言與所用軟件簡介2.1、Verilog HDL硬件描述語言功能介紹Verilog HDL是一種硬件描述語言,用于從算法級(jí)、門級(jí)到開關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對(duì)象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模。Verilog HDL 語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語言。此外,Verilog HDL語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)

3、計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。Verilog HDL語言不僅定義了語法,而且對(duì)每個(gè)語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語言從C編程語言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL語言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語言足以對(duì)從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。2.2、Quartus II軟件綜述Quartus II是Altera公司在21世紀(jì)初推出的FPGA/CPLD開發(fā)環(huán)境,是Alt

4、era前一代FPGA/CPLD開發(fā)環(huán)境MAX+PLUSII的更新?lián)Q代產(chǎn)品,其優(yōu)點(diǎn)是功能強(qiáng)大、界面友好、使用便捷。Quartus II軟件集成了Altera的FPGA/CPLD開發(fā)流程中所涉及的所有工具和第三方軟件接口。通過此開發(fā)工具,設(shè)計(jì)者可以創(chuàng)建、組織和管理自己的設(shè)計(jì)。2.3、第三方仿真工具M(jìn)odelSimModelSim仿真工具是由Model技術(shù)開發(fā)公司開發(fā)的目前業(yè)界最通用的仿真器之一,它支持Verilog和VHDL混合仿真,仿真精度高,仿真速度快。其仿真版本繁多,與Altera相關(guān)的主要有ModelSim-Altera(即AE版本)、ModelSim SE和ModelSim PE版本等。

5、三、設(shè)計(jì)原理3.1、直流電機(jī)PWM調(diào)速原理脈沖寬度調(diào)制(PWM)是一種模擬控制方式,其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實(shí)現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導(dǎo)通時(shí)間的改變,這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定,是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。PWM控制技術(shù)以其控制簡單,靈活和動(dòng)態(tài)響應(yīng)好的優(yōu)點(diǎn)而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,也是人們研究的熱點(diǎn)。PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)任然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流

6、供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,短的時(shí)候即是供電被斷開的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。3.2、直流電機(jī)的PWM控制PWM信號(hào)可以由CPU產(chǎn)生,也可以油FPGA產(chǎn)生。由CPU產(chǎn)生PWM信號(hào)時(shí),是通過模擬比較器產(chǎn)生的,比較器的一端接一個(gè)給定的參考電壓,另一端接周期線性增加的鋸齒波電壓。當(dāng)鋸齒波電壓小于參考電壓時(shí)輸出低電平,當(dāng)鋸齒波電壓大于參考電壓時(shí)就輸出高電平。所以改變參考電壓就可以改變PWM波形的高電平的寬度,也就是改變PWM波形的占空比

7、。CPU產(chǎn)生PWM信號(hào),需要D/A轉(zhuǎn)換器產(chǎn)生鋸齒波電壓和設(shè)置參考電壓,通過外接模擬比較器輸出PWM,因此外圍電路很復(fù)雜。而用FPGA的數(shù)字PWM控制產(chǎn)生PWM信號(hào),只需要FPGA內(nèi)部資源就可以實(shí)現(xiàn),運(yùn)用可編程邏輯器件,采用VerilogHDL硬件描述語言編程。數(shù)字比較器的一端接設(shè)定值計(jì)數(shù)器輸出,另一端接線性遞增計(jì)數(shù)器輸出。如果線性計(jì)數(shù)器的技術(shù)值小于設(shè)定值就輸出低電平,如果線性計(jì)數(shù)器的技術(shù)值大于設(shè)定值時(shí)輸出高電平。FPGA的數(shù)字PWM控制與模擬PWM控制相比,省去了外接的D/A轉(zhuǎn)換器和模擬比較器,F(xiàn)PGA外部連線很少、電路簡單、便于控制。四、基本功能介紹4.1、功能簡介 本次設(shè)計(jì)制作了一個(gè)PWM

8、信號(hào)電機(jī)控制系統(tǒng),共有兩個(gè)按鍵,其中,一個(gè)按鍵可以控制產(chǎn)生的PWM的寬度(即數(shù)字1的時(shí)間長度),按下該按鍵,PWM的寬度增加4096個(gè)主時(shí)鐘寬度,從而達(dá)到電機(jī)加速的目的,共有16個(gè)檔速,PWM的寬度從0-4096*15個(gè)主時(shí)鐘的寬度。另外一個(gè)按鍵控制PWM波的輸出與否,按下,如果PWM在輸出,則停止輸出,如果不在輸出,則開始運(yùn)行,從而實(shí)現(xiàn)對(duì)電機(jī)的開關(guān)控制。同時(shí),本系統(tǒng)內(nèi)部自行設(shè)定了一個(gè)5s定時(shí)器,可以實(shí)現(xiàn)每5S鐘電機(jī)轉(zhuǎn)向的反轉(zhuǎn)。4.2、設(shè)計(jì)原理框圖 電機(jī)控制系統(tǒng)Key_in1Key_in0Pwm_en指示信號(hào)Motoa電機(jī)a端Motob電機(jī)b端按鍵消抖及檢測(cè)5s定時(shí)實(shí)現(xiàn)反轉(zhuǎn)轉(zhuǎn)速控制電機(jī)開關(guān)4.

9、3、頂層圖4.4、引腳說明 輸入: Clock:系統(tǒng)總時(shí)鐘輸入 Rst_n:系統(tǒng)復(fù)位按鍵 Key1:0:系統(tǒng)功能按鍵。Key1控制PWM波從輸出與否 Key0控制電機(jī)轉(zhuǎn)速,可加速 輸出: motoa,motob:電機(jī)的兩個(gè)輸入引腳 pwm_en:pwm波指示:1-輸出(即電機(jī)開啟) 0-停止(即無PWM輸出)五、代碼各部分模塊介紹5.1、系統(tǒng)模塊RTL視圖5.2、系統(tǒng)各模塊簡介: 5.2.1、pwm_logic模塊簡介引腳說明:輸入:clk:總時(shí)鐘信號(hào) rst_n:復(fù)位信號(hào) pwm_en: pwm使能信號(hào) duty_cycle: 控制PWM寬度 輸出: pwm_out:PWM輸出 PWM_lo

10、gic模塊頂層視圖5.2.2、pwm_logic模塊原理介紹程序通過一個(gè)計(jì)數(shù)器來實(shí)現(xiàn)PWM的輸出,通過duty_cycle來控制輸出的PWM波的占空比,PWM_en來實(shí)現(xiàn)PWM的輸出與否。 核心程序如下: always (posedge clk) /計(jì)數(shù)器計(jì)數(shù),pwm_en為使能信號(hào)begin if(!rst_n) counter = 0; else if(pwm_en) counter = counter + 1b1;endalways (posedge clk) /PWM_out輸出,程序根據(jù)判斷計(jì)數(shù)器begin /counter【15:12】跟duty_cycle比較來實(shí)現(xiàn) if(!rs

11、t_n) /PWM的輸出,則輸出1大于則輸/0. pwm_out = 1b0; else if (pwm_en & (counter15:12 = duty_cycle) pwm_out = 1b1; else pwm_out = 1b0;end 5.2.3、moto模塊簡介引腳說明:輸入:clk:總時(shí)鐘信號(hào) rst_n:復(fù)位信號(hào) Key1:0:按鍵輸入 PWM_in:PWM輸入信號(hào)輸出: duty_cycle:轉(zhuǎn)速控制 pwm_en: pwm使能信號(hào) Motoa:電機(jī)a端口。 Motob:電機(jī)b端口。 moto模塊頂層視圖5.3、moto模塊原理介紹 模塊內(nèi)部原理: 5.3.1、按鍵消抖及檢

12、測(cè)部分 核心程序如下: /按鍵消抖部分always (posedge clock)begin if(!rst_n) begin dout1 = 0; dout2 = 0; dout3 = 0; end else if(div_clk) /div_clk是主時(shí)鐘分頻之后的時(shí)鐘, Begin / 用于使能按鍵檢測(cè) dout1 = key; dout2 = dout1; dout3 = dout2; endend/按鍵邊沿檢測(cè)部分 always (posedge clock) begin if(!rst_n) buff = 0; else /按鍵檢測(cè),通過assign 語句對(duì)key_edge buf

13、f = dout1 | dout2 | dout3; /賦值,保證了按鍵的消抖 endassign key_edge = (dout1 | dout2 | dout3) & buff;5.3.2、時(shí)鐘分頻部分核心程序如下:always (posedge clock)begin if(!rst_n) begin count = 0; div_clk = 0; end /else if (count 17d120000) /else if (count 17d4000) else if (count 17d4) Begin /counter 計(jì)數(shù)器計(jì)數(shù),通過判斷 count = count + 1

14、b1; /counter的大小來決定輸出的頻率 div_clk = 1b0; end else begin count = 17d0; div_clk = 1b1; endend 5.3.3、5s定時(shí)及反轉(zhuǎn)部分通過對(duì)計(jì)數(shù)器進(jìn)行計(jì)數(shù),計(jì)到5s,大約計(jì)數(shù)器等于30h2FAF080時(shí)執(zhí)行下列語句,來實(shí)現(xiàn)輸出motoa,motob的反轉(zhuǎn)。moto_dir = moto_dir;assign motoa = moto_dir ? pwm_in : 1b0;assign motob = moto_dir ? 1b0 : pwm_in;5.3.4、按鍵控制部分本程序共有兩個(gè)按鍵,按鍵一通過控制duty_cy

15、cle的長度來控制PWM波的占空比,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制。按鍵二通過控制PWM_EN來實(shí)現(xiàn)PWM輸出與否,從而實(shí)現(xiàn)電機(jī)的開關(guān)。 核心程序如下always (posedge clock)/按鍵1,控制電動(dòng)機(jī)速度begin if(!rst_n) duty_cycle = 0; else if(key_edge0) duty_cycle = duty_cycle + 1b1;/按鍵按下,則PWM占空比加一endalways (posedge clock) /按鍵2,控制電動(dòng)機(jī)啟動(dòng)、停止begin if(!rst_n) pwm_en = 1b0; else if(key_edge1) /按鍵二按下,

16、PWM輸出使能取反 pwm_en 時(shí),S1導(dǎo)通S4關(guān)斷,當(dāng)時(shí),S4導(dǎo)通S1關(guān)斷,b相和c相類似。下圖為載波比p=3時(shí)的三相SPWM逆變電路基本波形 輸出電壓的諧波集中分布在處,其中n=1,3,5,時(shí),k=3(2m-1)1,m=1,2,3,n=2,4,6,時(shí),k=6m+1,m=0,1,2,或k=6m-1,m=1,2,3,所以,在載波頻率的整數(shù)倍處的高次諧波不再存在。SPWM的諧波分布一組一組集中分布于載波頻率的整數(shù)倍頻率兩側(cè),且在每一組諧波中,隨著k的增大,諧波值通常逐漸減小。3、 三相SPWM半橋逆變電路的仿真 在仿真在Simpowersystems的“Electrical Sources”庫

17、中選擇電壓源模塊,直流電壓設(shè)置為530V,選擇“Universal Bridge”模塊,在對(duì)話框中選擇橋臂數(shù)為3,構(gòu)成三相半橋電路,開關(guān)器件選擇帶反并聯(lián)二極管的IGBT,三相串聯(lián)RLC負(fù)載模塊選擇Y型連接,設(shè)定額定電壓為413V,額定功率為50Hz,有功為1kW,感性無功為500Var,SPWM控制信號(hào)由Simpowersystems中的“Discrete PWM Generator”產(chǎn)生,選擇三橋臂六脈沖模式。仿真模型如下:設(shè)置調(diào)制深度m為1,輸出基波頻率設(shè)為50Hz,載波頻率設(shè)為基頻的30倍,即1500Hz,仿真時(shí)間設(shè)為0.06s,在powergui中設(shè)置為離散仿真模式,sample ti

18、me為5*10s,運(yùn)行后結(jié)果圖如下:三相SPWM逆變器m=1時(shí)的仿真波形由上至下分別為直流電流波形,交流相電壓波形,相電流波形,線電壓波形;輸出電壓諧波分析如下圖:三相SPWM逆變器m=1時(shí)的諧波分析圖所以當(dāng)m=1時(shí),輸出線電壓的幅值為0.866U,諧波的分析符合之前分析結(jié)果,主要在開關(guān)頻率的整數(shù)倍附近。經(jīng)分析,相電流的THD僅為3.56%,若進(jìn)一步提高開關(guān)頻率,則電流更加近似于正弦波。4、 死區(qū)時(shí)間(dead time)對(duì)其影響眾所周知,橋式電路是很多逆變電路的基本結(jié)構(gòu),在理想情況下,每個(gè)橋臂的上下開關(guān)管嚴(yán)格輪流導(dǎo)通和斷開。但實(shí)際情況并非如此,每個(gè)開關(guān)管的通斷都需要一定時(shí)間,關(guān)斷時(shí)間比導(dǎo)通時(shí)

19、間長,所以為了防止橋臂短路,通常會(huì)讓觸發(fā)信號(hào)推遲一段時(shí)間,稱為死區(qū)時(shí)間。在此時(shí)間內(nèi)橋臂上下開關(guān)都沒有觸發(fā)信號(hào),橋臂的工作狀態(tài)將取決于兩個(gè)續(xù)流二極管和該相電流的方向。在下圖中,和分別是無死區(qū)時(shí)a相橋臂上下開關(guān)管的互補(bǔ)驅(qū)動(dòng)信號(hào),和分別是將理想互補(bǔ)信號(hào)的各個(gè)上升沿均推遲了死區(qū)時(shí)間的實(shí)際SPWM驅(qū)動(dòng)脈沖。當(dāng)電流為負(fù)值時(shí),電流由橋臂上管的反并聯(lián)二極管和下管承載,因此在上下脈沖都不存在的死區(qū)時(shí)間里工作,輸出電壓為正;當(dāng)電流為正值時(shí),電流由橋臂下管的反并聯(lián)二極管和上管承載,因此在上下脈沖都不存在的死區(qū)時(shí)間里工作,輸出電壓為負(fù)。綜上所述,下圖中畫出了有死區(qū)時(shí)的實(shí)際輸出電壓波形、對(duì)照無死區(qū)時(shí)的理想輸出電壓。定義

20、死區(qū)對(duì)輸出電壓的影響為死區(qū)畸變電壓 =-如下圖所示,為寬度為、高度為的窄脈沖,其周期與調(diào)制波相同,其符號(hào)與電流相反,正電流時(shí)為負(fù),負(fù)電流時(shí)為正。橋臂逆變的實(shí)際輸出電壓即為無死區(qū)時(shí)的理想輸出電壓再疊加上死區(qū)畸變電壓,因此只需對(duì)進(jìn)行分析,再結(jié)合理想電壓的分析結(jié)果,便可確定死區(qū)時(shí)間對(duì)逆變器輸出電壓的影響。死區(qū)時(shí)間對(duì)逆變橋臂輸出的影響 死區(qū)畸變電壓的窄脈沖可以用調(diào)制波周期的矩形脈沖等效,對(duì)其進(jìn)行傅里葉分析知其包含3、5、7次奇次諧波,因此死區(qū)將低次諧波引入逆變器,降低了逆變器的諧波性能。5、 通過仿真研究死區(qū)時(shí)間的影響 仿真模型的建立以之前的為基礎(chǔ),使用Simpowersystems/Extra Libray/Discrete Control Blocks 中的“Discrete On/Off Delay”來模擬死區(qū)時(shí)間。在PWM發(fā)生器與三相橋的驅(qū)動(dòng)信號(hào)輸入端之間插入此模塊,選擇上升

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論