一、實驗?zāi)康?/div>
1、學(xué)習(xí)直流電機的工作原理和控制方式,了解PWM控制原理
2、熟悉QuartusⅡ軟件的相關(guān)操作,掌握數(shù)字電路設(shè)計的基本流程;
3、掌握混合編輯法進(jìn)行編輯的基本方法,熟悉軟件環(huán)境的參數(shù)配置,仿真,管腳分配,下載等基本操作。
二、實驗原理
1.直流電機:
①定義輸出或輸入為直流電能的旋轉(zhuǎn)電機,稱為直流電機,它是能實現(xiàn)直流電能和機械能互相轉(zhuǎn)換的電機。當(dāng)它作電動機運行時是直流電動機,將電能轉(zhuǎn)換為機械能;作發(fā)電機運行時是直流發(fā)電機,將機械能轉(zhuǎn)換為電能。
②直流電機的兩根控制引腳A和B,電流流入的大小決定了電機的轉(zhuǎn)速。當(dāng)用脈沖波輸入時,周期恒定時,占空比大的平均電流就大,平均電流越大,轉(zhuǎn)速越高,等效于占空比越大,轉(zhuǎn)速越高,所以可以用PWM(Pulse Width Modulation)方式來控制轉(zhuǎn)速;通過脈沖波輸入的引腳來控制方向。
③本實驗中采用RF-310T-11400型號直流電機,同時配有光耦測速模塊。通過檢測輸出脈沖來檢測電機轉(zhuǎn)速。
2.設(shè)計原理框圖:
3.混合編輯法步驟:
(1)建立新工程
a)指定新工程名稱;
b)選擇需要加入的文件和庫;
c)選擇目標(biāo)器件;
d)選擇第三方EDA工具;
e)結(jié)束設(shè)置。
(2)建立文件 File→New→Device Design Files…,建立多個VHDL文本文件。
(3)輸入程序代碼
(4)創(chuàng)建圖元 File→Create/update→Create Symbol File for Current File→生成*.bsf格式的圖形文件。生成的圖元符號在頂成設(shè)計中作為模塊使用。
(5)建立原理圖文件并添加圖元符號
(6)連接各模塊并命名
(7)編譯工程
(8)仿真
a) 系統(tǒng)默認(rèn)為時序仿真。
b) 功能仿真 Assignment→Setting→Simulator Setting…,單擊Processing→Generate Functional simulation Netlist→單擊波形仿真按鈕;
仿真結(jié)果正確后,繼續(xù)后續(xù)步驟。
(9)引腳分配 Assignment→Pins…
(10)下載驗證
a)對引腳分配后必須再重新編譯;
b)配置下載電纜--Tools→Programmer…;
c)JTAG模式下載--下載文件為 *.sof;d)Active Serial 模式下載--下載文件為 *.pof;
三、實驗設(shè)備
1、微機 1臺
2、直流電機 1臺
3、Windows 操作系統(tǒng)
4、QuartusII 8.0或9.0應(yīng)用軟件
四、實驗步驟
1、按照實驗準(zhǔn)備將相應(yīng)的跳線連接好,調(diào)節(jié)撥碼開關(guān)選擇對應(yīng)的模塊;
2、打開QuartusⅡ軟件,采用混合編輯法編輯直流電機的電路圖和程序:新建一個工程,找到本次實驗每個模塊的源程序,并將每個模塊編譯成圖元符號文件,該圖元符號可以在頂層原理圖文件中作為模塊使用;新建一個頂層原理圖文件,在其中將原理圖輸入,即添加各個模塊的圖元符號并連接各個模塊;編譯工程;仿真;將程序下載到實驗平臺上。
3、將en置高(SW4撥上),LED8亮表示可以調(diào)速,將start置高(SW1撥上)電機開始工作,調(diào)動direct(SW2)控制電機轉(zhuǎn)動方向,按F1鍵加快電機轉(zhuǎn)速,當(dāng)達(dá)到最高速時,LED1指示燈亮,按F2鍵電機減速,當(dāng)達(dá)到最小時,LED3指示燈亮;在調(diào)節(jié)轉(zhuǎn)速時,觀察數(shù)碼管上顯示的電機轉(zhuǎn)速,表示每秒多少轉(zhuǎn),即rps。
注意:由于電機的驅(qū)動電流原因,在剛開始的增速過程中,要增加到一定程度時,輸出相應(yīng)的電流才能驅(qū)動電機。即按鍵F1起初按下的幾次,電機會沒有反映,多按幾次就好了。
五、實驗內(nèi)容
1. 用VHDL語言設(shè)計一個直流電機控制器,要求方向可控(可正轉(zhuǎn)、反轉(zhuǎn)),速度可控制加速和減速,并可測速,用數(shù)碼管顯示當(dāng)前轉(zhuǎn)速
2. 用QuartusⅡ軟件進(jìn)行編譯、下載到實驗平臺上進(jìn)行驗證。
(1) 仿真電路:
(2) 操作步驟
① 建立VHDL文本文件,輸入各個模塊的代碼;
1) 分頻模塊(div):
2) 比較模塊(cmp):
3) 測速模塊(rate):
4) 方向控制模塊(mux1)
5) 調(diào)速模塊(cnt16
6) 標(biāo)準(zhǔn)階梯波產(chǎn)生器(cnt16_bz)
7) 按鍵檢測模塊(key_check
8) 顯示模塊(xianshi)
② 創(chuàng)建圖元文件:
1) 分頻模塊(div):
2) 比較模塊(cmp):
3) 測速模塊(rate):
4) 方向控制模塊(mux1):
5) 調(diào)速模塊(cnt16)
6) 標(biāo)準(zhǔn)階梯波產(chǎn)生器(cnt16_bz)
7) 按鍵檢測模塊(key_check)
8) 顯示模塊(xianshi)
③ 建立原理圖文件并添加圖元符號:
連接后的原理圖如圖所示:
④ 建立波形圖文件:
如圖,時鐘信號clk為50MHz,
oc_pulse信號為50MHz;
反相信號direct周期為480ns;
start信號置為高電平;
en置為高電平;
加速、減速信號speed_up、speed_down都為周期為30ns的時鐘信號,且不同時起效。
⑤ 仿真結(jié)果:
如圖,仿真方式為功能仿真
④結(jié)果分析
1) 從波形圖中可以看出,當(dāng)方向控制信號direct改變時,電機信號立即從motorA變?yōu)?/font>motorB,即實現(xiàn)了正轉(zhuǎn)和反轉(zhuǎn)的切換,方向可控。
2) 從波形圖中可以看出,當(dāng)減速信號speed_down置高,加速信號speed_up為時鐘信號時,電機加速,即電機的占空比逐漸增大;當(dāng)加速信號speed_up置高,減速信號speed_down為時鐘信號時,電機減速,即電機的占空比逐漸減小,即實現(xiàn)了速度可控制。
3) 從data[2..0]的波形可以看出,可以實現(xiàn)測速,將實時速度顯示出來;
4) 從數(shù)碼管a-g的波形可以看出,顯示器可以將當(dāng)前轉(zhuǎn)速通過數(shù)碼管顯示出來;
5) 當(dāng)電機速度減至最小時,speed_min為低電平,速度增到最大時,speed_max為低電平,說明可以正常顯示速度為最大、最小時的情況
六、總結(jié)和問題討論
1. 調(diào)試方法:可以先將每個模塊分別運行,通過輸入模擬信號仿真使其保證實現(xiàn)正常功能后再連接成完整電路,可以提前得知需要修改和調(diào)試的模塊
2. 體會和建議:只有仔細(xì)思考代碼之后的邏輯才能更好地理解實驗、做好實驗。