史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2007-04-10, 12:26 AM   #1
kinco
註冊會員
榮譽勳章
UID - 248756
在線等級: 級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時
註冊日期: 2003-02-06
VIP期限: 2007-04
住址: 台北.中和
文章: 507
精華: 0
現金: 0 金幣
資產: 670 金幣
預設 疑問 - 關於步進馬達轉速控制

請問有沒有版友知道哪裡有相關的資料可以參考?
引用:
相關知識
以一般的計數器除N之除頻電路來說,1KHz(1000Hz)的頻率除一所得到的頻率為1000Hz、除二得到500Hz、除三得到333Hz、除四得到250Hz、除五得到200Hz、…,除八得到125Hz,我們可以很清楚的發現除N的除頻電路所得到的頻率切割結果並非是均勻分布的。
以上~如果我想要得到均勻分布的頻率切割結果要怎麼做~?
kinco 目前離線  
送花文章: 23, 收花文章: 5 篇, 收花: 9 次
回覆時引用此帖
舊 2007-04-10, 04:51 PM   #2 (permalink)
協調管理員
 
飛鳥 的頭像
榮譽勳章
UID - 23073
在線等級: 級別:72 | 在線時長:5513小時 | 升級還需:108小時級別:72 | 在線時長:5513小時 | 升級還需:108小時
註冊日期: 2003-01-07
VIP期限: 無限期
住址: 史萊姆團隊
文章: 7199
精華: 11
現金: 837 金幣
資產: 260029 金幣
預設

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

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

http://jade.ee.hit.edu.tw/eclass/sim...F%E7%90%86.htm
__________________
http://flybird017.googlepages.com/quok.gif http://flybird020.googlepages.com/new321.gif
寶貝你我的地球
, 請 少開電器,減少溫室氣體排放外,多種植植物,減少列印, 多用背面,丟棄時做垃圾分類。

http://netgames123.googlepages.com/tobikeways.jpg

飛鳥 目前離線  
送花文章: 11706, 收花文章: 3363 篇, 收花: 16453 次
回覆時引用此帖
舊 2007-04-10, 11:16 PM   #3 (permalink)
註冊會員
榮譽勳章
UID - 248756
在線等級: 級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時
註冊日期: 2003-02-06
VIP期限: 2007-04
住址: 台北.中和
文章: 507
精華: 0
現金: 0 金幣
資產: 670 金幣
預設

引用:
作者: 飛鳥 查看文章
步進馬達有分1,2,4,5,6相激磁

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

http://jade.ee.hit.edu.tw/eclass/sim...F%E7%90%86.htm
因為小弟是第一次接觸這個~非常的不懂...
教授說要用VHDL去做~
以下是VHDL的編碼~
請問飛鳥大有可以參考的東西嗎?謝謝
語法:
-------------------------------------------------------------------
--實驗名稱:步進馬達實習
--檔案名稱: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;
kinco 目前離線  
送花文章: 23, 收花文章: 5 篇, 收花: 9 次
回覆時引用此帖
舊 2007-04-11, 12:57 AM   #4 (permalink)
協調管理員
 
飛鳥 的頭像
榮譽勳章
UID - 23073
在線等級: 級別:72 | 在線時長:5513小時 | 升級還需:108小時級別:72 | 在線時長:5513小時 | 升級還需:108小時
註冊日期: 2003-01-07
VIP期限: 無限期
住址: 史萊姆團隊
文章: 7199
精華: 11
現金: 837 金幣
資產: 260029 金幣
預設

.......vhdl..

我寫單晶片只用c和組合語言,沒用過dhvl
飛鳥 目前離線  
送花文章: 11706, 收花文章: 3363 篇, 收花: 16453 次
回覆時引用此帖
向 飛鳥 送花的會員:
kinco (2007-04-11)
感謝您發表一篇好文章
舊 2007-04-11, 11:28 AM   #5 (permalink)
註冊會員
榮譽勳章
UID - 248756
在線等級: 級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時
註冊日期: 2003-02-06
VIP期限: 2007-04
住址: 台北.中和
文章: 507
精華: 0
現金: 0 金幣
資產: 670 金幣
預設

引用:
作者: 飛鳥 查看文章
.......vhdl..

我寫單晶片只用c和組合語言,沒用過dhvl
感謝你~
kinco 目前離線  
送花文章: 23, 收花文章: 5 篇, 收花: 9 次
回覆時引用此帖
舊 2007-04-11, 05:37 PM   #6 (permalink)
註冊會員
榮譽勳章
UID - 257587
在線等級: 級別:9 | 在線時長:124小時 | 升級還需:16小時級別:9 | 在線時長:124小時 | 升級還需:16小時級別:9 | 在線時長:124小時 | 升級還需:16小時級別:9 | 在線時長:124小時 | 升級還需:16小時
註冊日期: 2006-11-20
文章: 26
精華: 0
現金: 16 金幣
資產: 16 金幣
預設

你應該是要
計數clock每幾個clock就改變為下一個狀態吧?
經由計數clock的數量多寡來調整步進馬達轉速吧?
wenneng 目前離線  
送花文章: 2, 收花文章: 7 篇, 收花: 8 次
回覆時引用此帖
舊 2007-04-11, 11:29 PM   #7 (permalink)
註冊會員
榮譽勳章
UID - 248756
在線等級: 級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時級別:8 | 在線時長:113小時 | 升級還需:4小時
註冊日期: 2003-02-06
VIP期限: 2007-04
住址: 台北.中和
文章: 507
精華: 0
現金: 0 金幣
資產: 670 金幣
預設

引用:
作者: wenneng 查看文章
你應該是要
計數clock每幾個clock就改變為下一個狀態吧?
經由計數clock的數量多寡來調整步進馬達轉速吧?
好像是喔~我也不是很清楚~請問大大可以解釋給我知道嗎?
kinco 目前離線  
送花文章: 23, 收花文章: 5 篇, 收花: 9 次
回覆時引用此帖
舊 2007-04-14, 09:41 AM   #8 (permalink)
註冊會員
榮譽勳章
UID - 257587
在線等級: 級別:9 | 在線時長:124小時 | 升級還需:16小時級別:9 | 在線時長:124小時 | 升級還需:16小時級別:9 | 在線時長:124小時 | 升級還需:16小時級別:9 | 在線時長:124小時 | 升級還需:16小時
註冊日期: 2006-11-20
文章: 26
精華: 0
現金: 16 金幣
資產: 16 金幣
預設

clk是固定頻率周期固定為T
當計數10個clk就是10T的時間,當計數50個clk就是50T的時間...
每當計數n個clk就1000->0100->0010->0001->1000...改變狀態
當調整n的就相當於調整速度
wenneng 目前離線  
送花文章: 2, 收花文章: 7 篇, 收花: 8 次
回覆時引用此帖
向 wenneng 送花的會員:
kinco (2007-04-15)
感謝您發表一篇好文章
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 11:31 PM


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


SEO by vBSEO 3.6.1