基于EDA的直流電機測速_第1頁
基于EDA的直流電機測速_第2頁
基于EDA的直流電機測速_第3頁
基于EDA的直流電機測速_第4頁
基于EDA的直流電機測速_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子信息工程綜合應(yīng)用設(shè)計(報告)(課 程 設(shè) 計)題目 直流電動機測速實驗 二級學(xué)院 電子信息與自動化學(xué)院 專 業(yè) 電子信息工程 班 級 學(xué)生 學(xué) 號 指導(dǎo)教師 時 間 2011.12.26.至2012. 1.13 直流電動機測速實驗摘要:本文章介紹的是以EP1C6試驗箱為核心的直流電機測速系統(tǒng)。系統(tǒng)已EP1C6作為驅(qū)動芯片,通過控制占空比來實現(xiàn)直流電機的驅(qū)動與其速度的調(diào)節(jié),通過按鍵來個定的直流電機轉(zhuǎn)速的信息,并由霍爾元件感應(yīng)測試其速度,經(jīng)數(shù)碼管顯示出來。本設(shè)計采用vhdl語言,使用quartus進行編程。最終實現(xiàn)直流電機的控制。關(guān)鍵字EDA;直流電機;PWM;VHDL引言 工程實踐中,經(jīng)常會

2、遇到各種需要測量轉(zhuǎn)速的場合,例如在發(fā)動機,電動機,機床主軸等旋轉(zhuǎn)設(shè)備的實驗運轉(zhuǎn)和控制中,常需要分時或連續(xù)測量,顯示其轉(zhuǎn)速與瞬間速度。同時隨著社會的發(fā)展,各種智能化的產(chǎn)品日益走人尋常百姓家。為了實現(xiàn)產(chǎn)品的便攜性、低成品與對電源的限制,小型直流電機的應(yīng)用以與電機轉(zhuǎn)速的精確控制的需求相當廣泛。 整個系統(tǒng)以EP1C6實驗箱為核心,通過按鍵輸入一個轉(zhuǎn)速,通過調(diào)整占空比來實現(xiàn)轉(zhuǎn)速向預(yù)設(shè)的值靠近。一、 設(shè)計要求1. 用數(shù)碼管顯示直流電機轉(zhuǎn)速2. 控制直流電機轉(zhuǎn)速3. 控制直流電機保持在一個恒定值二、 設(shè)計目的a) 掌握直流電機的工作原理。b) 了解開關(guān)型霍爾傳感器的工作原理和使用方法。c) 掌握電機測速的原

3、理。三、 設(shè)計方案原理1、 總體方案本設(shè)計分為直流電機測速控制模塊、直流電機測速有時鐘是能的十進制計數(shù)器模塊、譯碼顯示輸出模塊、PWM產(chǎn)生控制模塊2、 分模塊介紹(1) 模塊一:直流電機測速控制模塊通過把1M時鐘信號分頻為1hz信號,當clk<6時,產(chǎn)生6秒鐘計數(shù),當clk=6時鎖存信號=1, clk=7時清0信號=1。模塊一:實驗原理圖(2) 模塊二:直流電機測速有時鐘使能的十進制計數(shù)器模塊每當有一個時鐘信號CLK'EVENT AND CLK= '1'時cqi加1,當cqi=9時,在加1,cqi=0,從而達到10進制計數(shù)。每當出現(xiàn)1111時再加1,就變?yōu)?000

4、,同時進位信號為1.模塊二:實驗原理圖模塊三:譯碼顯示輸出模塊譯碼顯示模塊分為位選信號和8位數(shù)碼管顯示信號。位選信號為3位有8種組合,通過000到111來選不同位,8位數(shù)碼管顯示信號有8位分別定義19的顯示模塊三:實驗原理圖(3) 模塊四: pwm產(chǎn)生控制模塊程序把占空比為1000分頻,預(yù)先設(shè)定了占空比為500.通過控制占空比從而達到控制直流電機轉(zhuǎn)速的目的,在這個模塊中我們讓數(shù)碼管顯示的速度DOUT與一個預(yù)先設(shè)定的速度DOUT1比較如果DOUT<DOUI,那么占空比加1,如果大于,占空比減1,如果等于,占空比不變。模塊四:實驗原理圖 3、 總體設(shè)計框圖四、 設(shè)計過程介紹1、 設(shè)計過程1、

5、測速顯示當電機旋轉(zhuǎn)時,帶動轉(zhuǎn)盤是的磁鋼片一起旋轉(zhuǎn),當磁鋼片旋轉(zhuǎn)到霍爾器件的上方時,可以導(dǎo)致霍爾器件的輸出端高電平變?yōu)榈碗娖?。當磁鋼片轉(zhuǎn)過霍爾器件上方后,霍爾器件的輸出端又恢復(fù)高電平輸出。這樣電機每旋轉(zhuǎn)一周,則會使霍爾器件的輸出端產(chǎn)生一個低脈沖,我們就可以通過檢測單位時間霍爾器件輸出端低脈沖的個數(shù)來推算出直流電機在單位時間的轉(zhuǎn)速。電機的轉(zhuǎn)速通常是指每分鐘電機的轉(zhuǎn)速,也就是單位為rpm,實際測量過程中,為了減少轉(zhuǎn)速刷新的時間,通常都是510秒刷新一次。如果每6秒鐘刷新一次,那么相當于只記錄了6秒鐘的電機轉(zhuǎn)數(shù),把記錄的數(shù)據(jù)乘10即得到一分鐘的轉(zhuǎn)速。最后將這個數(shù)據(jù)在數(shù)碼管上顯示出來。為了使顯示的數(shù)據(jù)能

6、夠在數(shù)碼管是顯示穩(wěn)定,在這個數(shù)據(jù)的輸出時加入了一個16位的鎖存器,把鎖存的數(shù)據(jù)送給數(shù)碼管顯示,這樣就來會因為在計數(shù)過程中,數(shù)據(jù)的變化而使數(shù)碼管顯示不斷變化。2、pwm產(chǎn)生控制通過控制占空比,從而達到控制直流電機控制。用按鍵先預(yù)設(shè)一個速度值,讓電動機的實際轉(zhuǎn)速與預(yù)設(shè)值比較,如果不相等,就調(diào)節(jié)占空比使之達到預(yù)設(shè)值。2、 設(shè)計過程中出現(xiàn)的幾個問題與解決方法(1) 問題一 不了解直流電機轉(zhuǎn)動原理解決辦法通過在圖書館資料學(xué)習(xí)以與不懂得地方問老師(2) 問題二 不會控制直流電機轉(zhuǎn)速解決辦法通過學(xué)習(xí)了解了控制占空比就可以控制直流電機轉(zhuǎn)速五、 調(diào)試過程介紹1、 調(diào)試過程把程序下載到實驗箱,觀察實驗現(xiàn)象,如果不

7、對就修改程序,重復(fù)前面的操作,直到成功2、 調(diào)試過程中出現(xiàn)的問題與其解決方法(1) 問題一 數(shù)碼管顯示的速度跳動很大解決方法通過把占空比從100分頻調(diào)到1000,這樣占空比沒變化1速度的變化就會減少(2) 問題二 顯示的速度在你預(yù)設(shè)的速度間波動很大解決方法由于直流電機測速采用的是6秒鐘計數(shù),所以要把控制信號的時鐘頻率也變?yōu)?秒,通過分頻把1M時鐘變?yōu)?秒,讓計數(shù)頻率與控制頻率一致六、 總結(jié)通過了這次課程設(shè)計,學(xué)會了vhdl語言,雖然以前也學(xué)過EDA,但是沒有深入了解vldl語言,對編程更是不行,通過這三個星期的學(xué)習(xí),能熟練的讀懂程序,并且還具備了一些VHDL編程能力以與VHDL硬件描述語言的思

8、維方法。在這次試驗中我們這組做了一個直流電機測速與其控制。從一開始什么都不懂,到最后自己不僅能修改程序,在系統(tǒng)的設(shè)計方面也有了自己的一些想法。這次課程設(shè)計基本還算成功。為什么說基本呢,是因為要求的功能都能實現(xiàn)。唯一不足的也是實驗未完成的地方就是按鍵消抖部分。其實我也嘗試消抖但沒成功,這是最大的缺點。沒有消抖,按鍵按一下就會跳動很大。如果消抖解決了那么我們的課題就非常成功了,總之在這次課程設(shè)計學(xué)到了很多東西,也得到了老師很多的幫助與指導(dǎo),我對eda技術(shù)也有了更多的興趣,希望還能設(shè)計,接受下一次挑戰(zhàn)。參考文獻:1松,黃繼業(yè).EDA技術(shù)與VHDL(第2版).:清華大學(xué).2007年1月2松,黃繼業(yè).E

9、DA技術(shù)實用教程(第3版).科學(xué)3王振紅.VHDL數(shù)字電路設(shè)計與應(yīng)用實踐教程.:機械工業(yè).2003年6月4包明.EDA技術(shù)與可編程邏輯器件的應(yīng)用.:航空航天大學(xué).2006年8月5江國強.EDA技術(shù)習(xí)題與實驗.:工程大學(xué)電子工業(yè).2005年1月6昌華.數(shù)字邏輯EDA設(shè)計與實踐.:國防工業(yè).2007年10月7江思敏.VHDL數(shù)字電路與系統(tǒng)設(shè)計.:機械工業(yè).2006年8月8王道憲.VHDL電路設(shè)計技術(shù).:國防工業(yè).2004年1月9 廖常初.可編程序控制器應(yīng)用技術(shù)(第三版) M.:大學(xué).2000年 10 俞一鳴.Altera 可編程邏輯器件的應(yīng)用與設(shè)計M.:機械工業(yè).2007年 11 周景潤.基于 Q

10、uartus 的FPGA 數(shù)字系統(tǒng)設(shè)計M.:電子工業(yè).2007年 12 孟慶輝.EDA 技術(shù)實用教程M.:國防工業(yè).2008年附錄一 原件清單1、 帶有quartus的電腦一臺2、 EP1C6試驗箱一個附錄二 源程序直流電機測速控制產(chǎn)生library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-entity teltcl is port( Clk : in std_logic; -時鐘輸入1Mhz ena : out std_logic; -允許計數(shù)

11、 clr : out std_logic; -計數(shù)器清零信號產(chǎn)生 load : out std_logic -鎖存、顯示輸出允許 ); end teltcl;-architecture behave of teltcl is signal clk1hz :std_logic;-1HZ時鐘信號 signal count : std_logic_vector(2 downto 0);-6秒計數(shù) signal clr1 :std_logic;-清零信號 signal ena1 :std_logic;-允許計數(shù)信號 signal load1 :std_logic;-允許計數(shù)信號 signal cq1,

12、cq2,cq3,cq4 : INTEGER RANGE 0 TO 15;-計數(shù)數(shù)據(jù) begin process(clk) -1HZ信號產(chǎn)生 variablettemp : INTEGERRANGE 0 TO 999999; begin IF clk='1' AND clk'event THEN IFttemp=999999 THENttemp:=0; ELSE IFttemp<500000 THEN clk1hz<='1' ELSE clk1hz<='0' END IF; ttemp:=cnttemp+1; END IF

13、; end if; end process; process(Clk1hz)-6秒計數(shù) begin if(Clk1hz'event and Clk1hz='1') then count<=count+1; if count<6 then ena1<='1'load1<='0'clr1<='0' elsif count=6 then load1<='1'ena1<='0'clr1<='0' elsif count=7 then e

14、na1<='0'load1<='0'clr1<='1' end if; end if; ena<=ena1; load<=load1;clr<=clr1; end process;end behave;直流電機測速有時鐘使能的十進制計數(shù)器產(chǎn)生LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC; -計數(shù)時鐘信號 CLR:IN STD_LOGIC; -清零信號 ENA:IN STD_LOGIC; -計數(shù)使能

15、信號 CQ :OUT INTEGER RANGE 0 TO 15;-4位計數(shù)結(jié)果輸出 CARRY_OUT:OUT STD_LOGIC); -計數(shù)進位END CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGERRANGE 0 TO 15;BEGINPROCESS(CLK,ENA) ISBEGIN IF CLR= '1' THEN CQI<= 0; -計數(shù)器異步清零 elsIF CLK'EVENT AND CLK= '1' THEN IF ENA= '1' THEN iF CQI=

16、10 THEN cqi<=1; ELSE CQI<=cqi+1; END IF; -等于9,則計數(shù)器清零 END IF; END IF;END PROCESS;PROCESS (CQI) IS BEGIN IF CQI=10 THEN CARRY_OUT<= '1' -進位輸出 ELSE CARRY_OUT<= '0' END IF;END PROCESS; CQ<=CQI;END ART;直流電機測速譯碼輸出LIBRARY IEEE;use ieee.std_logic_1164.all;use ieee.std_logic_un

17、signed.all;entity display isport(in7,in6,in5,in4,in3,in2,in1,in0:in std_logic_vector(3 downto 0);lout7:out std_logic_vector(7 downto 0);SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);clk:in std_logic);end display;architecture phtao of display issignal s:std_logic_vector(2 downto 0);signal lout4:std_logic_vect

18、or(3 downto 0);beginprocess (clk)beginif (clk'event and clk='1')thenif (s="111") thens<="000"else s<=s+1;end if;end if;sel<=s;end process;process (s)begincase s iswhen "000"=>lout4<=in6;when "001"=>lout4<=in5;when "010&quo

19、t;=>lout4<=in4;when "011"=>lout4<="0000"when "100"=>lout4<=in3;when "101"=>lout4<=in2;when "110"=>lout4<=in1;when "111"=>lout4<="0000"when others=>lout4<="XXXX"end case;case lout

20、4 iswhen "0000"=>lout7<="00111111"when "0001"=>lout7<="00000110"when "0010"=>lout7<="01011011"when "0011"=>lout7<="01001111"when "0100"=>lout7<="01100110"when "0101&

21、quot;=>lout7<="01101101"when "0110"=>lout7<="01111101"when "0111"=>lout7<="00000111"when "1000"=>lout7<="01111111"when "1001"=>lout7<="01100111"when "1010"=>lout7<=

22、"00111111"when "1111"=>lout7<="01000000"when others=>lout7<="XXXXXXXX"end case;end process;end phtao;PWM產(chǎn)生與其控制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;ENTITY PWM ISPORT(clock:IN STD_LOGIC

23、;-duty_cycle:IN STD_LOGIC_VECTOR(6 DOWNTO 0);DOUT:IN STD_LOGIC_VECTOR(15 DOWNTO 0);DOUT1:IN STD_LOGIC_VECTOR(15 DOWNTO 0);pwm_out:OUT STD_LOGIC);END;ARCHITECTURE ART OF PWM ISSIGNAL PWM_OUT_IO:STD_LOGIC;SIGNAL COUNT: STD_LOGIC_VECTOR(15 DOWNTO 0);SIGNAL CLK1HZ:STD_LOGIC;SIGNAL DUTY_CYCLE_IO:STD_LOGIC_VECTOR(9 DOWNTO 0):="0111110100"BEGINPWM_OUT<=PWM_OUT_IO;process(clock) variablettemp : INTEGERRANGE 0 TO 999999;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論