熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于CPLD的步進電機控制器設計

基于CPLD的步進電機控制器設計

時間:2008-07-29 09:48:00來源:ronggang

導語:?本文設計了一種基于CPLD的步進電機控制系統。它以CPLD作為核心器件,極大地減少了外圍元件的使用。具有系統擴展性能好、可靠性高、抗干擾能力強、結構簡單、成本低廉,不占用CPU時間、易于高速控制等優點
摘要:本文設計了一種基于CPLD的步進電機控制系統。它以CPLD作為核心器件,極大地減少了外圍元件的使用。具有系統擴展性能好、可靠性高、抗干擾能力強、結構簡單、成本低廉,不占用CPU時間、易于高速控制等優點。 關鍵詞:步進電機,控制器,CPLD 1、前言 步進電機可在寬廣的頻率范圍內通過改變脈沖頻率實現調速、快速起停、正反轉控制等,由其組成的開環系統簡單、可靠,因此它被廣泛的運用于數控機床、自動記錄儀、工業機器人、無損檢測等系統中,步進電機的性能很大程度上取決于其控制系統[1]。基于CPLD的步進電機控制系統[2]具有I/O端口多,可自由編程定義其功能等特點,大大縮減了電路的體積、提高電路的穩定性。先進的開發工具使整個系統的設計調試周期大大縮短。利用VHDL語言進行軟件編程,通過EDA設計軟件對程序編譯、優化、綜合、仿真、適配,可以對步進電機控制實現數字輸入。系統外圍電路設計相對簡單、可靠,且鑒于CPLD和VHDL語言自身的特點,系統具有較好的擴展性,在控制系統中也具有一定的通用性。 2、系統設計方案 如圖1所示。首先輸入原始時鐘信號,經過分頻器得到10ms按鍵判斷周期和頻率為2048Hz的時鐘信號,2048Hz的信號經過外部硬件分頻以后輸入芯片,作為電機的轉速信號。由按鍵輸入四個控制信號,和電機的轉速頻率信號一起送入電機控制狀態機,由狀態機根據不同的輸入來選擇電機輸出控制信號。 [align=center] 圖1 系統設計框圖 [/align] 3、系統硬件設計 CPLD采用Altera公司MAX7000系列的EPM7128SLC84-15。驅動電路原理圖如圖2所示。 [align=center] 圖2 驅動電路原理圖[/align] CPLD輸出控制信號連接至圖上的A、B、C、D四個端口。其控制信號經光電隔離后進入ULN2003A。ULN2003A是一片集成了7個達林頓管的芯片。來自光耦合的5V高電平信號經過ULN2003A以后,輸出端與地導通。步進電機的正極接上12V的工作電壓,負級接在ULN2003A的輸出端,當CPLD的I/O口為低電平時,步進電機的負極與地開路,正負極之間沒有壓差,電機不運轉;當CPLD的I/O口為高電平時,步進電機的負極與地導通,正負極之間形成12V壓差,電機運轉。 步進電機的轉速是由四個線圈的通電速度決定的,也就是由輸入脈沖的頻率決定的,因此,步進電機的轉速選擇其實就是輸入脈沖的頻率選擇。本設計采用雙四位二進制計數器74LS393N進行硬件分頻。頻率源為CPLD的2048Hz的頻率,將74LS393N內部的T觸發器串聯,就能將2048Hz的頻率分頻得到0.5Hz~1024Hz、等比倍率為2的頻率,這些頻率通過硬件選擇器選擇輸入至CPLD的I/O口就能進行電機轉速的控制了。 4、軟件設計 本設計使用Quartus II進行系統的軟件設計及仿真。Quartus II是Altera提供的FPGA/CPLD開發集成環境,支持VHDL的硬件描述語言。首先由外部的按鍵產生RST(復位)、EN(使能)、MODE(模式)、CTRL(轉向)四個控制脈沖信號,脈沖信號經過消抖模塊進行消抖后送入主控制器。由于EN、MODE、CTRL這三個信號在主控制器內為電平有效,所以在信號送入主控制器之前用T觸發器進行電平的鎖定。四個控制信號和外部輸入的電機轉速時鐘信號clk_step一同送入主控制器,主控制器經過運算以后得出電機四個相位的通電信號,通電信號經過D觸發器消除毛刺以后從芯片I/O口送出。 主控制器模塊有5個輸入信號和4個輸出信號,其內部主要結構為一個雙向的Moore形狀態機,其主要代碼如下: library ieee; use ieee.std_logic_1164.all; entity zhuangtai is port( en,clk,rst,mode,ctrl: in std_logic; ——EN為使能信號,RST為復位信號,MODE為電機運轉模式信號,CTRL為正反轉控制信號,這四個信號為電平有效; CLK為電機轉速頻率。 a,b,c,d: out std_logic); ——A,B,C,D為步進電機四個相位的通電信號。 end zhuangtai; architecture zt1 of zhuangtai is type states is(statex,state0,state1,state2,state3,state4,state5,state6,state7); ——state0-state7 為步進電機通電的不同狀態,statex為不通電狀態。 signal ste:states; signal q:std_logic_vector(3 downto 0); ——Q為四個相位的輸出信號,A,B,C,D分別對應為Q的3,2,1,0位。 步進電機可工作在四拍、八拍通電狀態,出于對力矩、平穩、噪音及減少角度等方面考慮。往往采用八拍通電順序,即A-AB-B-BC-C-CD-DA-A這種導電狀態,狀態轉換順序如圖3所示。 [align=center] 圖3 狀態轉換順序[/align] 該狀態機的工作方式為:當轉速時鐘clk-step的上升沿到來,且EN為高電平的時候,狀態機根據不同的MODE和CTRL的值在statex,state0-state7之間轉換,最后根據當前狀態ste的值對信號q進行賦值,再將q的高低位分別賦值給電機的線圈通電信號A,B,C,D。 begin moore: process (clk, rst) begin if rst=‘1‘ then ——如果復位信號為高電平,則復位有效 ste <= statex; elsif (clk‘event and clk=‘1‘) then if en=‘1‘ then ——使能為1,既允許工作的時候 case ste is when statex => ——判斷完當前狀態以后,先根據當前正反轉的信號進入相應的判斷語句,再對當前運轉模式信號進行判斷,判斷完畢以后進入對應的下一個狀態。 if ctrl=‘0‘ then if mode=‘1‘ then ste <= state0; elsif ctrl=‘1‘ then if mode=‘1‘ then ste <= state6; … 5、結論 系統功能仿真如圖4,圖5所示。圖中各信號定義為:clk:12M時鐘信號,clk_step:步進電機轉速時鐘信號;EN:按鍵使能信號,RST:按鍵復位信號,MODE:按鍵運轉模式信號,CTRL:按鍵運轉方向信號。當MODE=1、CTRL=0時,電機工作在正向、八拍導通狀態;當MODE=1、CTRL=1時,電機工作在反向、八拍導通狀態;也可以控制電機工作在四拍導通方式下,此時MODE=0。A、B、C、D為步進電機四相線圈通電信號。 [align=center] 圖4 運轉模式功能仿真 圖5 正反轉控制功能仿真[/align] 本文的創新點:與傳統的設計相比,該設計模塊綜合度高,設計的驅動電路體積小、速度快、功耗低、性能穩定,可以根據不同的場合選擇合適的電機控制策略,控制簡單方便。凡是使用步進電機的地方都可以使用本驅動器。在實際使用中收到了很好的效果,項目經濟效益500多萬元。 參考文獻: [1] 楚榮珍,周向寧等.嵌入式步進電機系統的控制與實現[J].微計算機信息,2007,23-1:53-55。 [2]馬宏偉.高性能步進電機控制系統的研制[M].西安:西安科技大學出版社,2004. [3]朱正偉.EDA技術及應用[M].北京:清華大學出版社,2005.25-30

標簽:

點贊

分享到:

上一篇:基于CAN總線的塑窗焊接清理生...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 巴林右旗| 射洪县| 津南区| 镇沅| 五大连池市| 乐清市| 平远县| 黄大仙区| 巴彦县| 龙游县| 通山县| 广德县| 惠水县| 永福县| 卓资县| 贡山| 棋牌| 和林格尔县| 河北区| 翁牛特旗| 徐州市| 昌邑市| 四川省| 新蔡县| 同心县| 剑河县| 宜丰县| 张家口市| 太仆寺旗| 奎屯市| 嘉祥县| 盐山县| 游戏| 合江县| 高陵县| 盐山县| 恩平市| 扬州市| 穆棱市| 萍乡市| 鸡东县|