【正文】
D_OUT1=CNT1。 THEN IF RISING_EDGE(C_EN) THEN 17 IF CNT1=1001 THEN CNT1=0000。 END PROCESS。139。139。039。 SIGNAL CNT0,CNT1:STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。 ELSE CQ=CQ+1。 WHEN 100=D=11111111。 DSPY:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)。 END IF。 ENTITY CNT8 IS PORT( CLK:IN STD_LOGIC。 ELSIF BA THEN AGB=39。 USE 。但真進到實驗室之后,按照之前的想法操作后才知道并沒有那么簡單,并不是簡簡單單的模塊組合,必須是按 12 照要求進一步的深化,明確理解各個 模塊之間的關系,以此更詳盡的去設計各個模塊的功能。 11 正反轉測試:當按下按鍵 1 時,發(fā)光二級管亮,即正轉;再按一下則反轉。其檔位顯示在數(shù)碼管 8 中。按鍵 1 控制正反轉。兩路數(shù)值同時加在數(shù)字比較器上,當脈寬計數(shù)器輸出值小于DECD 輸出的規(guī)定值時,比較器輸出低電平;當脈寬計數(shù)器輸出值大于 DECD輸出的規(guī)定值時,比較器輸出高電平。旋轉方向控制電路控制直流電動機轉向及啟動停止, 該電路由兩個 2 選 1 選擇器組成 , Z/F 鍵控制選擇 PWM 波形從正端 Z 進入 H 橋,還是從 負端 F 進入 H 橋,以控制電機的轉動方向。 方案 4:基于 FPGA 實現(xiàn)對直流電機的控制 通過用 VHDL 語言編寫各個模塊,再加以整合,從而實現(xiàn)整體功能。那么數(shù)字比較 器的輸出端即是 PWM波形。 ( 1)基本要求: a.速度調節(jié): 4 檔,數(shù)字顯示其檔位。 在本文中,我們設計一個直流電機。利用 FPGA 可編程芯片實現(xiàn)對直流電機PWM 控制器的設計,對直流電機轉速進行控制。 b.能控制電機的旋轉方向。我們將輸出的 PWM波通過接入正反轉控制來控制電機是否開始工作。采用此方案,所形成的電機功能穩(wěn)定性強,精度高,可控范圍較大,能形成最大速度較大,更能滿足設計任務。 START 鍵通過“與”門控制 PWM 的輸出, 實現(xiàn)對電機的工作停止控制。改變 DECD 的輸出值就等于改變 PWM的輸出信號的占空比,也等于改變了周期,這樣就實現(xiàn)了速度調控。 方案的實現(xiàn) 方案的仿真 由此圖可以看出,由 CMP 引出的輸出端作為正反轉的輸入端和連接硬件按鍵 1 的 Z/F 可以控制電機的正反轉。 轉 速的顯示是由一個頻率器組成, 一個輸入端接去抖動電路的輸出端,另一輸入端接 CLK0。 誤差分析 本次設計在硬件驗證這一環(huán)節(jié)出現(xiàn)一定的誤差,這包括兩方面 的產(chǎn)生一是設計本身產(chǎn)生的,二是實驗系統(tǒng)造成的。不要急于去實現(xiàn)所有的功能,應該一個一個的來,盡量詳細的描述模塊的作用,這樣才能保證在最后的工程中哪出錯可以直接去修改。 13 USE 。039。 AA:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END PROCESS。 D:OUT STD_LOGIC_VECTOR(7 DOWNTO 0 ))。 WHEN OTHERS=NULL。 END IF。 ENTITY FRE_CNT10 IS PORT( CLK_1HZ:IN STD_LOGIC。 16 BEGIN PROCESS(CLK_1HZ,CLK_2HZ,LOAD) BEGIN IF RISING_EDGE(CLK_1HZ) THEN CLK_2HZ=NOT CLK_2HZ。 THEN CLR=39。 THEN CNT0=(OTHERS=39。 ELSE CNT0=CNT0+39。 PROCESS(CLK_2HZ,CLR,C_EN) BEGIN IF CLR=39。 ELSE CNT1=CNT1+39。 END IF。 PROCESS(LOAD,CNT0) BEGIN IF RISING_EDGE(LOAD) THEN D_OUT0=CNT0。139。 END IF。C_EN=39。 PROCESS(CLK_2HZ,FREQ,CLR) BEGIN IF CLR=39。 AND CLK_2HZ=3