摘要:本文設計了一種基于CPLD的步進電機控制系統。它以CPLD作為核心器件,極大地減少了外圍元件的使用。具有系統擴展性能好、可靠性高、抗干擾能力強、結構簡單、成本低廉,不占用CPU時間、易于高速控制等優點。
關鍵詞:步進電機,控制器,CPLD
1、前言
步進電機可在寬廣的頻率范圍內通過改變脈沖頻率實現調速、快速起停、正反轉控制等,由其組成的開環系統簡單、可靠,因此它被廣泛的運用于數控機床、自動記錄儀、工業機器人、無損檢測等系統中,步進電機的性能很大程度上取決于其控制系統[1];贑PLD的步進電機控制系統[2]具有I/O端口多,可自由編程定義其功能等特點,大大縮減了電路的體積、提高電路的穩定性。先進的開發工具使整個系統的設計調試周期大大縮短。利用VHDL語言進行軟件編程,通過EDA設計軟件對程序編譯、優化、綜合、仿真、適配,可以對步進電機控制實現數字輸入。系統外圍電路設計相對簡單、可靠,且鑒于CPLD和VHDL語言自身的特點,系統具有較好的擴展性,在控制系統中也具有一定的通用性。
2、系統設計方案
如圖1所示。首先輸入原始時鐘信號,經過分頻器得到10ms按鍵判斷周期和頻率為2048Hz的時鐘信號,2048Hz的信號經過外部硬件分頻以后輸入芯片,作為電機的轉速信號。由按鍵輸入四個控制信號,和電機的轉速頻率信號一起送入電機控制狀態機,由狀態機根據不同的輸入來選擇電機輸出控制信號。
 圖1 系統設計框圖
3、系統硬件設計
CPLD采用Altera公司MAX7000系列的EPM7128SLC84-15。驅動電路原理圖如圖2所示。
 圖2 驅動電路原理圖
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所示。
|