史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   關於步進馬達轉速控制 (http://forum.slime.com.tw/thread202439.html)

kinco 2007-04-10 12:26 AM

關於步進馬達轉速控制
 
請問有沒有版友知道哪裡有相關的資料可以參考?
引用:

相關知識
以一般的計數器除N之除頻電路來說,1KHz(1000Hz)的頻率除一所得到的頻率為1000Hz、除二得到500Hz、除三得到333Hz、除四得到250Hz、除五得到200Hz、…,除八得到125Hz,我們可以很清楚的發現除N的除頻電路所得到的頻率切割結果並非是均勻分布的。

以上~如果我想要得到均勻分布的頻率切割結果要怎麼做~?:on_16:

飛鳥 2007-04-10 04:51 PM

步進馬達有分1,2,4,5,6相激磁

算法都不一樣,不知道你是不是要問這個

http://jade.ee.hit.edu.tw/eclass/sim...F%E7%90%86.htm

kinco 2007-04-10 11:16 PM

引用:

作者: 飛鳥 (文章 1696194)
步進馬達有分1,2,4,5,6相激磁

算法都不一樣,不知道你是不是要問這個

http://jade.ee.hit.edu.tw/eclass/sim...F%E7%90%86.htm

因為小弟是第一次接觸這個~非常的不懂...:on_51:
教授說要用VHDL去做~
以下是VHDL的編碼~
請問飛鳥大有可以參考的東西嗎?謝謝:on_66:
語法:

-------------------------------------------------------------------
--實驗名稱:步進馬達實習
--檔案名稱:stepmotor_speed.vhd
--功    能:步進馬達轉速控制
--日    期:2003.8.8
-------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;

entity stepmotor_speed is
port(
      clk : in std_logic;
      spd : in std_logic_vector(3 downto 0);
      step: out std_logic_vector(3 downto 0)
    );
end stepmotor_speed;

architecture arch of stepmotor_speed is
  signal buf: std_logic_vector (4 downto 0);
  signal dly : std_logic;
  signal clk_new: std_logic;
  signal cnt : std_logic_vector(1 downto 0);
begin
---------- process ---------
  process(clk)
  begin
    if clk'event and clk='1' then
      dly <= buf(4);
      buf <= buf +('0' & spd);
    end if;
  end process;

  clk_new<=buf(4) xor dly;

  process(clk_new)
  begin
    if clk_new'event and clk_new='1' then
        cnt <= cnt+1;
    end if;
  end process;

  step <= "1000" when cnt=0 else
          "0100" when cnt=1 else
          "0010" when cnt=2 else
          "0001";
end arch;


飛鳥 2007-04-11 12:57 AM

.......vhdl..

我寫單晶片只用c和組合語言,沒用過dhvl

kinco 2007-04-11 11:28 AM

引用:

作者: 飛鳥 (文章 1696451)
.......vhdl..

我寫單晶片只用c和組合語言,沒用過dhvl

感謝你~:on_51:

wenneng 2007-04-11 05:37 PM

你應該是要
計數clock每幾個clock就改變為下一個狀態吧?
經由計數clock的數量多寡來調整步進馬達轉速吧?

kinco 2007-04-11 11:29 PM

引用:

作者: wenneng (文章 1696782)
你應該是要
計數clock每幾個clock就改變為下一個狀態吧?
經由計數clock的數量多寡來調整步進馬達轉速吧?

好像是喔~我也不是很清楚~請問大大可以解釋給我知道嗎?:on_47:

wenneng 2007-04-14 09:41 AM

clk是固定頻率周期固定為T
當計數10個clk就是10T的時間,當計數50個clk就是50T的時間...
每當計數n個clk就1000->0100->0010->0001->1000...改變狀態
當調整n的就相當於調整速度


所有時間均為台北時間。現在的時間是 04:08 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1