步進(jìn)電機(jī)定位控制系統(tǒng)VHDL程序與仿真_第1頁
步進(jìn)電機(jī)定位控制系統(tǒng)VHDL程序與仿真_第2頁
步進(jìn)電機(jī)定位控制系統(tǒng)VHDL程序與仿真_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、    步進(jìn)電機(jī)定位控制系統(tǒng)VHDL程序與仿真entity step_motor isport (reset:in STD_LOGIC; -系統(tǒng)復(fù)位信號      dir: in STD_LOGIC; -方向控制信號      clk: in STD_LOGIC; -系統(tǒng)時鐘信號     ini: in STD_LOGIC; -初始化使能信號      ma

2、nner: in STD_LOGIC_VECTOR (1 downto 0); -激磁方式的選擇開關(guān)      angle: in INTEGER range 255 downto 0; -步進(jìn)角的倍數(shù)設(shè)定輸入      baBA: out STD_LOGIC_VECTOR (3 downto 0); -步進(jìn)電機(jī)狀態(tài)輸出end step_motor;architecture stepmotor_arch of step_motor issignal count: INTEGER range 0

3、to 7; -計數(shù)器signal cntInc: INTEGER range -2 to 2; -設(shè)定累加器所需的累(加/減)計數(shù)值signal cc : integer range 0 to 3;signal cntIni: INTEGER range -1 to 0; -設(shè)定累加器所需的計數(shù)初值signal angleDnCount: INTEGER range 255 downto 0;  -計算已經(jīng)轉(zhuǎn)過的步進(jìn)角signal angleDnCntDec: INTEGER range 2 downto 1;begin  process(dir, manner, angl

4、e)-, ini)  begin      -if ini='1' then      cc<=conv_integer(manner);      if dir='0' then           case cc is      

5、        when 1 => - 1-?相激勵                  -count<=0;                  cntIni<=0;

6、0;                 cntInc<=2;                  angleDnCntDec<=2;-"10"        &#

7、160;     when 2 => - 2-?相激勵                  -count<=7;                  cntIni<=-1;   

8、;               cntInc<=2;                  angleDnCntDec<=2;-"10"          

9、60;     when 3 => - 1-2?相激勵                  -count<=0;                  cntIni<=0;   

10、               cntInc<=1;                  angleDnCntDec<=1;-"01"          

11、0;      when 0 => -manner="00" autodetect                              if (angle rem 2) =1 then - 2-?相激勵  &

12、#160;               -count<=7;                  cntIni<=-1;             &#

13、160;        cntInc<=2;                      angleDnCntDec<=2;-"10"             

14、      else - 1-?相激勵                                    -count<=0;     &#

15、160;            cntIni<=0;                      cntInc<=2;            

16、0;         angleDnCntDec<=2;-"10"                  end if; -angle          end case; -manner    &

17、#160; else - if dir='1'          case cc is               when 1 => - 1-?相激勵                &#

18、160; -count<=0;                  cntIni<=0;                  cntInc<=-2;        &

19、#160;         angleDnCntDec<=2;-"10"              when 2 => - 2-?相激勵                  -count&l

20、t;=7;                  cntIni<=-1;                  cntInc<=-2;          &

21、#160;       angleDnCntDec<=2;-"10"                when 3 => - 1-2?相激勵                  -count&

22、lt;=0;                  cntIni<=0;                  cntInc<=-1;          &

23、#160;       angleDnCntDec<=1;-"01"                 when 0 => -manner="00" autodetect             &#

24、160;                if (angle rem 2) = 1 then - 2-?相激勵                      cntIni<=-1;     

25、                 cntInc<=-2;                      angleDnCntDec<=2;-"10"    

26、60;              else - 1-?相激勵                                  &

27、#160;     cntIni<=0;                      cntInc<=-2;                   &#

28、160;  angleDnCntDec<=2;-"10"                  end if; -angle          end case; -manner      end if; - else dir=0  &#

29、160;   -end if; - ini  end process;  counting_reset: process(reset,ini, angle, clk)  begin      if reset='1' then         count<=0;         angleDnCount<=0;

30、      elsif clk'event and clk='1' then          if ini='0' then              count<=0+cntIni;        &

31、#160;     angleDnCount<=angle;          else              count <= count+cntInc;              if angleDnCount > angleDnCntDec then                  angleDnCount <= angleDnCount-angleDnCntDec;              else &#

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論