【正文】
1 課 程 設(shè) 計 姓 名: 學(xué) 號 : 學(xué) 院: 電氣 與 信息 工程 學(xué)院 專 業(yè): 設(shè)計題目: 基 于 VHDL 控制的直流電機 PWM 控制器的設(shè)計 指導(dǎo)教師: 2021 年 1 月 安徽工業(yè)大學(xué) 2 摘 要 本文 主要介紹利用可編程芯片及 VHDL 語言實現(xiàn)對直流電機 PWM 控制器的設(shè)計。 該直流電機 PWM 控制器 由速度控制器模塊、 計數(shù)器模塊、數(shù)字比較模塊、分頻器 模塊組成 ,為了使該直流電機更完善,本系統(tǒng)還添加了正 轉(zhuǎn) 反轉(zhuǎn)模塊。 該系統(tǒng)無須外接 D/A 轉(zhuǎn)換器及模擬比較器,結(jié)構(gòu)簡單,控制精度高 ,有廣泛的應(yīng)用前景。 關(guān)鍵詞: 直流電機;脈寬調(diào)制; VHDL 語言 ABSTRACT 3 This paper describes the use of programmable chips and VHDL language realize PWM DC motor controller design. The PWM controller consists of a DC motor speed controller modules, counter modules, digital parator module divider modules, in order to make better the DC motor, the system also adds a True Story reversal module. The system is no external D / A converters and analog parators, simple structure, high control accuracy, a wide range of applications. Key words: DC motor。 PWM。 VHDL 目錄 4 摘 要 .............................................................................................................. 2 ABSTRACT ..................................................................................................... 2 1 引言 .............................................................................................................. 5 2 直流電機控制電路構(gòu)成及工作原理 ............................................................... 5 3 各模塊程序的編寫、頂層模塊與頂層模塊的仿真波形圖 ............................ 6 分頻器模塊程序 與仿真圖 .................................................................... 6 標(biāo)準(zhǔn)計數(shù)器模塊 與仿真圖 .................................................................... 7 加速器程序 與仿真圖 ............................................................................ 9 比較器 程序 與仿真圖 ...........................................................................10 頂層模塊圖 ..........................................................................................12 頂層模塊仿真波形 ...............................................................................12 4 結(jié)束語 ......................................................................................................... 13 參考文獻 ......................................................................................................... 13 5 1 引言 隨著電氣化、自動化、智能化的發(fā)展,直流電機在工業(yè)中的應(yīng)用越來越廣泛,市場上也有各種直流電機, 在傳統(tǒng)的 PWM調(diào)速系統(tǒng)中一般采用硬件作為脈沖發(fā)生器的方式 ,應(yīng)用的元器件較多 ,同樣會增加電路的復(fù)雜程度 ,隨著電子技術(shù)和大規(guī)模可編程邏輯器件的發(fā)展 . PWM采用軟件的方法來實現(xiàn)調(diào)速過程 ,具有更大的靈活性 ,實現(xiàn)了硬件設(shè)計軟件化 . 早前 產(chǎn)生 PWM信號波形是采用微機或單片機通過模擬比較器實現(xiàn) ,比較器的一端接給定的參考電壓 ,另一端接周期性線 性增加的鋸齒電壓。當(dāng)鋸齒波電壓小于參考電壓時輸出低電平,大于參考電壓時輸出高電平。改變參考電壓就可以改變 PWM波形中的高電平的寬度。此時鋸齒波電壓和設(shè)置參考電壓均須由微機或單片機通過 D/A轉(zhuǎn)換器產(chǎn)生,再經(jīng)過外接的模擬比較器輸出 PWM的波形,因此外圍電路比較復(fù)雜。 數(shù)字 PWM控制只需 FPGA中的內(nèi)部資源就可以實現(xiàn)。用數(shù)字比較器代替模擬比較器,數(shù)字比較器的一端接設(shè)定值計數(shù)器的輸出,另一端接線性遞增計數(shù)器輸出。當(dāng)線性計數(shù)器計數(shù)值小于設(shè)定值時輸出低電平,大于設(shè)定值時輸出高電平。與模擬控制相比,省去了外接的 D/A轉(zhuǎn)換 器和模擬比較器, FPGA外部連線很少,電路更加簡單。而且可以在系統(tǒng)調(diào)整脈寬細(xì)分電路位數(shù)及數(shù)字比較器的設(shè)定值,從而實現(xiàn)對電機轉(zhuǎn)速等參數(shù)的靈活控制 2 直流電機控制電路構(gòu)成及工作原理 如圖 1 所示,直流電機控制電路主要由三部分組成: FPGA 中 PWM 脈寬調(diào)制信號產(chǎn)生電路;工作 /停止控制和正 /反轉(zhuǎn)方向控制電路 。片外功率放大電路和 H 橋正 /反轉(zhuǎn)功率驅(qū)動電路。 在 CLK0 的作用下,鋸齒波計數(shù)器輸出周期性線性增加的鋸齒波。當(dāng)計數(shù)值小于設(shè)定值時 I 數(shù)字比較器輸出低電平,當(dāng)計數(shù)值大于設(shè)定值時,數(shù)字比較器輸出高電平,由此產(chǎn)生周期性的 PWM 波形。 分頻模塊和 tb 模塊共同控制輸出頻率。 旋轉(zhuǎn)方向控制電路控制直流電動機轉(zhuǎn)向及啟動 /停止,該電路由兩個 2 選 1 選擇器組成 Z/F 鍵控制選擇 PWM 波形從正端 Z 進入 H 橋,還是從負(fù)端 F 進入 H 橋,以控制電機的轉(zhuǎn)動方向。 START 鍵通過 ”與 ”門控制 PWM 的輸出實現(xiàn)對電機的工作 /停止控制。 H 橋電路由大功率晶體管組成, PWM 波形通過方向控制送到 H 橋,經(jīng)功率放大以后驅(qū)動電機轉(zhuǎn)動。 6 圖 1 直流電機控制電路框圖 3 各模塊程序的編寫 、頂層模塊 與 頂層模塊的仿真波形 圖 分頻 器模塊 程序 與仿真圖 該系統(tǒng)要求輸出頻率為 10Khz,首先通過該分頻模塊由公式 f1=20210/[(c+1)*2],其中 c=31,使頻率為 320khz,該頻率作為計數(shù)模塊的輸入頻率。程序及仿 真圖 3如下: library ieee。 use 。 use 。 entity fenpin is port(clk:in std_logic。 clock:out std_logic)。 end fenpin。 architecture art of fenpin is signal count:integer range 0 to 31。 signal clk_data:std_logic。 begin 7 process(clk) begin if clk39。event and clk=39。139。 then if count=31 then count=0。 clk_data=not clk_data。 else count=count1。 end if。 end if。 clock=clk_data。 end process。 end art。 圖 標(biāo)準(zhǔn)計數(shù)器模塊 該模塊既是計數(shù)模塊,計數(shù)時最大計數(shù)值為 31,又與分頻模塊共同控制輸出頻率。該模塊的輸入頻率來源于分頻模塊的 320khz,有公式 f=f1/32,從而使直流電機的輸出頻率等于10khz。程序與仿真圖 4如下: library ieee。 8 use 。 use 。 entity tb is port(clk0,m:in std_logic。 q:out std_logic_vector(4 downto 0))。 end tb。 architecture behav1 of tb is signal q1:std_logic_vector(4 downto 0)。 begin process(clk0) begin if clk039。event and clk0=39。139。 then if m=39。139。 then if q1=31 then q1=00000。 else q1=q1+1。 end if。 end if。 end if。 end process。 q=q1。 end behav1。 9 圖 加速器程序 設(shè)定值計數(shù)器 ta 設(shè)置 PWM 信號的占空比。當(dāng) U/D=1,輸入 CLK2 使設(shè)定值計數(shù)器的輸出值增加, PWM占空比增加,電機轉(zhuǎn)速加快。當(dāng) U/D=0,輸入 CLK2,使設(shè)定值計數(shù)器的輸出值減小, PWM 占空比減小,電機轉(zhuǎn)速變慢。 程序及仿真圖 2 如下: library ieee。 use 。 use 。 entity ta is port(clk,u_d,en:in std_logic。 m:out std_logic。cq:out std_logic_vector(4 downto 0))。 end ta。 architecture behav of ta is signal cq1:std_logic_vector(4 downto 0)。 begin process(clk) begin if clk39。event and clk=39。139。 then 10 if en=39。139。then if u_d=39。139。then if cq1=31 then cq1=11111。 else cq1=cq1+1。 end if。 elsif cq1=0 then cq1=00000。 else cq1=cq11。 end if。 elsif en=39。039。 then m=39。139。 end if。 end if。 end process。 cq=cq1。 end beh