马达控制实习课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《马达控制实习课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 马达 控制 实习 课件
- 资源描述:
-
1、第第六六章章步進馬達控制實習VHDL數位電路實習與專題設計文魁資訊-UE301第六章 步進馬達控制實習VHDL數位電路實習與專題設計2陳慶逸、林柏辰編著-文魁資訊內容大綱內容大綱n單元9-1 步進馬達全步控制(一相激磁)實習 n單元9-2 步進馬達全步控制(二相激磁)實習n單元9-3 步進馬達半步控制(一二相激磁)實習 n單元9-4 步進馬達轉向控制實習 n單元9-5 步進馬達轉向與全步半步選擇控制實習 n單元9-6 步進馬達轉速控制實習 n單元9-7 步進馬達步進數控制實習 第六章 步進馬達控制實習VHDL數位電路實習與專題設計3陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(
2、一相激磁)實習步進馬達全步控制(一相激磁)實習 n相關知識四相式步進馬達驅動示意圖 N S A A BB+V +V A A B B 轉子 4相6線式步進馬達 第六章 步進馬達控制實習VHDL數位電路實習與專題設計4陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n相關知識(續)一個四相步進馬達的工作方式如下圖所示;其中線圈接點所連接的開關是以脈波控制電晶體的飽和或截止加以實現。VAABB第六章 步進馬達控制實習VHDL數位電路實習與專題設計5陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(
3、一相激磁)實習n相關知識(續)而在一般的實驗中,我們常常拿內含四組NPN達靈頓電晶體的FT5754元件來驅動步進馬達,達靈頓電晶體在B極輸入正電壓而導通飽和時,可以放大C極端從線圈往下流通的電流,電源能否提供足夠的電流來驅動步進馬達會影響到步進馬達的轉速與力矩。FT5754外觀及內部結構如下所示:GND B C Vcc FT5754 B1 C1 Vcc C2 B2 G N D G N D B3 C3 Vcc B4 C4 第六章 步進馬達控制實習VHDL數位電路實習與專題設計6陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習 AA B
4、B 5V C1 C3 C2 C4 B1 B2 B3 B4 Vcc Vcc GND GND 5V 220 x4 n相關知識(續)當採用FT5754的達靈頓對電晶體來作為連接步進馬達的開關時,其電路的結構如下所示:第六章 步進馬達控制實習VHDL數位電路實習與專題設計7陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n相關知識(續)一相激磁的作法是控制每次只有一個線圈有電流通過,當四個線圈輪流動作時,步進馬達便能開始轉動。一相激磁的控制順序如下表所列:ABAB 線圈控制狀態轉動方向順時針逆時針11000201003001040001第六章
5、 步進馬達控制實習VHDL數位電路實習與專題設計8陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n實驗電路圖/AEPM7064S/LCC44456843I/OI/OI/OI/OI/GCLK1STEP30/BSTEP0STEP1FT5754956781231241110C3B2GNDGNDB3B4V+B1C1C2C4V+ACLOCKSTEP2MOTOR STEPPER123456VCCB第六章 步進馬達控制實習VHDL數位電路實習與專題設計9陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(
6、一相激磁)實習 n程式與說明步進馬達全步控制(一相激磁)程式碼 11 entity stepmotor_fulla is12 port(13 clk:in std_logic;14 step:out std_logic_vector(3 downto 0)15 );16 end stepmotor_fulla;1718 architecture arch of stepmotor_fulla is19 signal cnt:std_logic_vector(1 downto 0);20 begin2122-process-23 process(clk)24 begin25 if clkeven
7、t and clk=1 then26 cnt=cnt+1;27 end if;28 end process;29 step=1000 when cnt=0 else30 0100 when cnt=1 else31 0010 when cnt=2 else32 0001;33 end arch;第六章 步進馬達控制實習VHDL數位電路實習與專題設計10陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n程式與說明除頻器程式碼(將1.8432MHz除頻產生50Hz輸出):13 entity clk_div_step is14 generi
8、c(divisor:integer:=36864);15 port(16 clk_in:in std_logic;17 clk_out:out std_logic18 );19 end clk_div_step;2021 architecture arch of clk_div_step is22 signal cnt2:std_logic;23 begin24 -clk divider-25 process(clk_in)26 variable cnt1,divisor2:integer range 0 to divisor;27 begin28 divisor2:=divisor/2;29
9、 -up counter-30 if(clk_inevent and clk_in=1)then31 if cnt1=divisor then32 cnt1:=1;33 else34 cnt1:=cnt1+1;35 end if;36 end if;37 -clk_out register clk generator-38 if(clk_inevent and clk_in=1)then39 if(cnt1=divisor2)or(cnt1=divisor)then40 cnt2=not cnt2;41 end if;42 end if;43 clk_out=cnt2;44 end proce
10、ss;45 end arch;46 第六章 步進馬達控制實習VHDL數位電路實習與專題設計11陳慶逸、林柏辰編著-文魁資訊 單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n程式與說明主程式之電路連線圖:第六章 步進馬達控制實習VHDL數位電路實習與專題設計12陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n功能模擬與CPLD下載驗證 燒錄於力浦電子FPT-3實驗板 輸入clock 腳位43 輸出Step(3)Step(2)Step(1)Step(0)腳位4568調整Jumper J2的位置由IO0I
11、O3拉出激磁信號線接上5V 直流電源q進行步進馬達實驗時,我們需要把CPLD的I/O延伸出來以外接FT5754和步進馬達等周邊元件,因此我們可以將FPT-3實驗板上的jumper J2由原本的1、2 PIN腳(Internal I/O ON)改套到2、3 PIN腳上(External I/O ON),再從實驗板右邊CON1上將IO0IO3這幾個PIN腳跳線到麵包板上即可得到所需的激磁信號。q另外FT5754和步進馬達線圈共同點所需的電源必須與實驗板上接出來的信號具有共同的地電位,這也是實驗中要留意的地方。第六章 步進馬達控制實習VHDL數位電路實習與專題設計13陳慶逸、林柏辰編著-文魁資訊單元
12、單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n功能模擬與CPLD下載驗證燒錄於力浦電子LP-2900實驗板 欲將程式檔案燒錄於力浦電子LP-2900實驗板時,我們必須由實驗板上拉出FT5754和步進馬達所需的正、負電源,並由CPLD-EPF10K10 CHIP-BOARD上預留的焊孔以單心線拉出激磁信號(step(3)setp(0)):第六章 步進馬達控制實習VHDL數位電路實習與專題設計14陳慶逸、林柏辰編著-文魁資訊單元單元9-1 步進馬達全步控制(一相激磁)實習步進馬達全步控制(一相激磁)實習n功能模擬與CPLD下載驗證燒錄於力浦電子LP-2900實驗板(
13、續)此外,LP-2900實驗板上所提供的振盪時脈為10MHz,我們想要除頻產生50Hz的計數時脈信號就必需將除頻器程式碼(clk_div_step.vhd)中的divisor設定為200000(100000000Hz/200000=50Hz)-entity clk_div_step isgeneric(divisor:integer:=200000);-將將divisor設定為設定為200000 port(clk_in:in std_logic;clk_out:out std_logic );end clk_div_step;-輸入clock 腳位55 輸出Step(3)Step(2)Step
14、(1)Step(0)腳位37383941第六章 步進馬達控制實習VHDL數位電路實習與專題設計15陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n相關知識二相激磁的控制方法是每次都讓兩個線圈通過電流,每一個步驟可以移動一個步進角:ABAB 線圈控制狀態轉動方向順時針逆時針11100201103001141001A第六章 步進馬達控制實習VHDL數位電路實習與專題設計16陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n實驗電路圖/AEPM7064S/LCC44456843I
15、/OI/OI/OI/OI/GCLK1STEP30/BSTEP0STEP1FT5754956781231241110C3B2GNDGNDB3B4V+B1C1C2C4V+ACLOCKSTEP2MOTOR STEPPER123456VCCB第六章 步進馬達控制實習VHDL數位電路實習與專題設計17陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習 n程式與說明步進馬達全步控制(二相激磁)程式碼 12 entity stepmotor_fullb is13 port(14 clk:in std_logic;15 step:out std_log
16、ic_vector(3 downto 0)16 );17 end stepmotor_fullb;1819 architecture arch of stepmotor_fullb is20 signal cnt:std_logic_vector(1 downto 0);21 begin2223-process-24 process(clk)25 begin26 if clkevent and clk=1 then27 cnt=cnt+1;28 end if;29 end process;30 31 step=1100 when cnt=0 else32 0110 when cnt=1 els
17、e33 0011 when cnt=2 else34 1001;35 end arch;第六章 步進馬達控制實習VHDL數位電路實習與專題設計18陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n程式與說明除頻器程式碼(將1.8432MHz除頻產生50Hz輸出):13 entity clk_div_step is14 generic(divisor:integer:=36864);15 port(16 clk_in:in std_logic;17 clk_out:out std_logic18 );19 end clk_div_ste
18、p;2021 architecture arch of clk_div_step is22 signal cnt2:std_logic;23 begin24 -clk divider-25 process(clk_in)26 variable cnt1,divisor2:integer range 0 to divisor;27 begin28 divisor2:=divisor/2;29 -up counter-30 if(clk_inevent and clk_in=1)then31 if cnt1=divisor then32 cnt1:=1;33 else34 cnt1:=cnt1+1
19、;35 end if;36 end if;37 -clk_out register clk generator-38 if(clk_inevent and clk_in=1)then39 if(cnt1=divisor2)or(cnt1=divisor)then40 cnt2=not cnt2;41 end if;42 end if;43 clk_out=cnt2;44 end process;45 end arch;46 第六章 步進馬達控制實習VHDL數位電路實習與專題設計19陳慶逸、林柏辰編著-文魁資訊 單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n程
20、式與說明主程式之電路連線 圖:第六章 步進馬達控制實習VHDL數位電路實習與專題設計20陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n功能模擬與CPLD下載驗證 燒錄於力浦電子FPT-3實驗板 輸入clock 腳位43 輸出Step(3)Step(2)Step(1)Step(0)腳位4568調整Jumper J2的位置由IO0IO3拉出激磁信號線接上5V 直流電源q進行步進馬達實驗時,我們需要把CPLD的I/O延伸出來以外接FT5754和步進馬達等周邊元件,因此我們可以將FPT-3實驗板上的jumper J2由原本的1、2 PIN
21、腳(Internal I/O ON)改套到2、3 PIN腳上(External I/O ON),再從實驗板右邊CON1上將IO0IO3這幾個PIN腳跳線到麵包板上即可得到所需的激磁信號。q另外FT5754和步進馬達線圈共同點所需的電源必須與實驗板上接出來的信號具有共同的地電位,這也是實驗中要留意的地方。第六章 步進馬達控制實習VHDL數位電路實習與專題設計21陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n功能模擬與CPLD下載驗證燒錄於力浦電子LP-2900實驗板 欲將程式檔案燒錄於力浦電子LP-2900實驗板時,我們必須由實驗板
22、上拉出FT5754和步進馬達所需的正、負電源,並由CPLD-EPF10K10 CHIP-BOARD上預留的焊孔以單心線拉出激磁信號(step(3)setp(0)):第六章 步進馬達控制實習VHDL數位電路實習與專題設計22陳慶逸、林柏辰編著-文魁資訊單元單元9-2 步進馬達全步控制(二相激磁)實習步進馬達全步控制(二相激磁)實習n功能模擬與CPLD下載驗證燒錄於力浦電子LP-2900實驗板(續)此外,LP-2900實驗板上所提供的振盪時脈為10MHz,我們想要除頻產生50Hz的計數時脈信號就必需將除頻器程式碼(clk_div_step.vhd)中的divisor設定為200000(100000
23、000Hz/200000=50Hz)-entity clk_div_step isgeneric(divisor:integer:=200000);-將將divisor設定為設定為200000 port(clk_in:in std_logic;clk_out:out std_logic );end clk_div_step;-輸入clock 腳位55 輸出Step(3)Step(2)Step(1)Step(0)腳位37383941第六章 步進馬達控制實習VHDL數位電路實習與專題設計23陳慶逸、林柏辰編著-文魁資訊單元單元9-3 步進馬達半步控制(一二相激磁)實習步進馬達半步控制(一二相激磁)
24、實習 n相關知識一二相激磁的作法是以一相激磁和二相激磁來交替控制,在定子繞組切換激磁線圈電壓時,仍有一個線圈上有電流通過,可保持一定的力矩以維持運轉上的平穩,而其耗電量又比二相激磁來得節省。一二相激磁每次可以移動半個步進角,其激磁的控制順序如下:ABAB 線圈控制狀態轉動方向順時針逆時針1100021100301004011050010600117000181001第六章 步進馬達控制實習VHDL數位電路實習與專題設計24陳慶逸、林柏辰編著-文魁資訊單元單元9-3 步進馬達半步控制(一二相激磁)實習步進馬達半步控制(一二相激磁)實習n實驗電路圖/AEPM7064S/LCC44456843I/O
25、I/OI/OI/OI/GCLK1STEP30/BSTEP0STEP1FT5754956781231241110C3B2GNDGNDB3B4V+B1C1C2C4V+ACLOCKSTEP2MOTOR STEPPER123456VCCB第六章 步進馬達控制實習VHDL數位電路實習與專題設計25陳慶逸、林柏辰編著-文魁資訊單元單元9-3 步進馬達半步控制(一二相激磁)實習步進馬達半步控制(一二相激磁)實習 n程式與說明步進馬達半步控制(一二相激磁)程式碼 12 entity stepmotor_half is13 port(14 clk:in std_logic;15 step:out std_log
展开阅读全文