- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
伺服机控制实习程式码LP-2900
VHDL數位電路實習與專題設計 * LP-2900實驗板元件規劃 PWM DIP0~DIP7 陳慶逸、林昱翰編著---文魁資訊 * VHDL數位電路實習與專題設計 第八章 伺服機控制實習 第 八 章 VHDL數位電路實習與專題設計 伺服機控制實習 VHDL數位電路實習與專題設計 文魁資訊-P8127 VHDL數位電路實習與專題設計 * 單元11-1 遙控伺服機位置控制實習I 實驗目的 瞭解遙控伺服機之驅動與位置控制的方法 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 * 相關知識 遙控伺服機介紹 體積小、扭力大、重量輕而且省電的馬達 在各種遙控模型上被廣泛使用,如遙控車、遙控船與遙控直昇機等等 伺服機外觀圖 遙控伺服機於三維空間轉動之機器視覺應用, 義守大學機器智慧與自動化實驗室提供 遙控伺服機於機器昆蟲玩具之應用, 義守大學機器智慧與自動化實驗室提供 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 * 相關知識 伺服機主要是由外殼、電路板、直流馬達、齒輪與位置檢測器所構成。其工作原理是由遙控接收機發出信號給伺服機,經由電路板上的控制晶片判斷轉動方向,再驅動直流馬達開始轉動,透過減速齒輪將動力傳至轉動軸,同時由位置檢測器送回信號,判斷是否已經到達定位。 伺服機外觀圖 伺服機內部架構 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 * 相關知識 遙控伺服機位置控制 伺服機控制信號示意圖 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 * 相關知識 要產生控制伺服機的脈波訊號,我們需要以0.1MHz的頻率來產生0.01ms的振盪週期。我們可以計數2000次來做為脈波訊號的週期20ms,所以要產生0度的控制訊號只要設定PWM訊號的比較值為70就可以產生0.7ms的脈波訊號。 伺服機控制信號產生器方塊圖 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 * 遙控伺服機位置控制實習I 實驗功能 以CPLD設計一個伺服機控制器以控制伺服機的轉動位置 實驗電路圖 陳慶逸、林昱翰編著---文魁資訊 VHDL數位電路實習與專題設計 * 伺服機控制實習程式碼 1 ------------------------------------------------------------------- 2 --實驗名稱:伺服機控制實習 3 --檔案名稱:servo_pwm.vhd 4 --功 能:產生伺服機控制脈波訊號 5 --日 期:2003.8.8 6 ------------------------------------------------------------------- 7 library ieee; 8 use ieee.std_logic_1164.all; 9 use ieee.std_logic_arith.all; 10 use ieee.std_logic_unsigned.all; 11 --------------------------------------------------------------- 12 -- 70(0.7ms) = 0 degree ; 110(1.1ms) = 45 degree 13 -- 150(1.5ms) = 90 degree; 230(2.3ms) = 180 degree 14 --------------------------------------------------------------- 15 entity servo_pwm is 16 generic (N : integer :=70 17 divisor: integer :=18 ); 18 port( 19 clk : in std_logic; 20 q : out std_logic 21 ); 22 end servo_pwm; 23 24 architecture a of servo_pwm is 25 signal clk1 : std_logic; 26 signal cnt2 : std_logic; 27 signal period : integer range 0 to 1999; 28 begin 30 process (clk) 31 variable cnt1,divisor2 : integer range 0 to divisor; 32 begin 33 d
原创力文档


文档评论(0)