步進電機是一種將脈沖信號轉(zhuǎn)換成角位移的伺服執(zhí)行器件。其特點是結(jié)構(gòu)簡單、運行可靠、控制方便。尤其是步距值不受電壓、溫度的變化的影響、誤差不會長期積累,這給實際的應(yīng)用帶來了很大的方便。它廣泛用于消費類產(chǎn)品(打印機、照相機)、工業(yè)控制(數(shù)控機床、工業(yè)機器人)、醫(yī)療器械等機電產(chǎn)品中。用單片機和CPLD實現(xiàn)步進電機的控制。
通常的步進電機控制方法是采用CPU(PC機、單片機等)配合專用的步進電機驅(qū)動控制器來實現(xiàn),這存在成本較高、各個環(huán)節(jié)搭配不便(不同類的電機必須要相應(yīng)的驅(qū)動控制器與之配對)等問題。
CPLD器件具有速度快、功耗低、保密性好、程序設(shè)計靈活、抗干擾能力強、與外圍電路接口方便等特點,越來越多的應(yīng)用于各種工控、測量、儀器儀表等方面。同時單片機非常適合應(yīng)用于需要復(fù)雜的控制算法的場合。因此本設(shè)計采用的方法是:用單片機采集現(xiàn)場信號后計算出步進電機運轉(zhuǎn)所需的控制信息后,再傳給CPLD,CPLD把接收到的信息轉(zhuǎn)換成步進電機實際的控制信號(運轉(zhuǎn)方向、運轉(zhuǎn)速度)輸出給電機的驅(qū)動電路。這樣的好處是單片機與CPLD各行其是。單片機可以專注于處理輸入信號與輸出信息之間的轉(zhuǎn)換等復(fù)雜的算法.不必占用過多的CPU資源去直接控制電機,也減小了由此引入干擾的可能性;CPLD只需把單片機傳送過來的信息轉(zhuǎn)換成電機的控制信號。這樣就發(fā)揮了單片機和CPLD兩者的優(yōu)點。
1 步進電機原理簡介
通常電機的轉(zhuǎn)子為永磁體,當電流流過定子繞組時,定子繞組產(chǎn)生一矢量磁場。該磁場會帶動轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對磁場方向與定子的磁場方向一致。當定子的矢量磁場旋轉(zhuǎn)一個角度。轉(zhuǎn)子也隨著該磁場轉(zhuǎn)一個角度。每輸入一個電脈沖,電動機轉(zhuǎn)動一個角度前進一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成正比。改變繞組通電的順序,電機就會反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動機各相繞組的通電順序來控制步進電機的轉(zhuǎn)動。
我們使用的單極四相步進電機為例。
四個繞組引出四相(相A1相A2相B1相B2)和兩個公共線(接到電源的正機)。把繞組的某一相接到電源的地線。這樣該繞組就會受到激勵。我們采用四相八拍的控制方式,即1相與2相交替導(dǎo)通,這樣可提高分辨率。每一步可轉(zhuǎn)0.9°控制電機正轉(zhuǎn)的勵磁順序如下表:
若要求電機反轉(zhuǎn),將勵磁信號倒過來傳送即可。
2 步進電機控制方案
本方案采用AT89S51作為主控制器件。它與AT89C51兼容,同時還增加了SPI接口和看門狗模塊,這不但使程序調(diào)試變得方便而且也使程序運行更加穩(wěn)定。在方案中該單片機主要實現(xiàn)現(xiàn)場信號的采集并計算出步進電機運轉(zhuǎn)的方向和速度信息。然后傳送給CPLD。
CPLD采用EPM7128SLC84-15,EPM7128是可編程的大規(guī)模邏輯器件,為ALTERA公司的MAX7000系列產(chǎn)品。具有高阻抗、電可擦等特點,可用單元為2500個,工作電壓為+5V。CPLD接收到單片機發(fā)送過來的信息后,轉(zhuǎn)換成對應(yīng)的控制信號輸出給步進電機驅(qū)動器。驅(qū)動器則把控制信號處理后輸入電機繞組,實現(xiàn)了電機的有效控制。
2.1 電機驅(qū)動器硬件結(jié)構(gòu)
電機的驅(qū)動器采用如下電路:
其中R1-R8的電阻值為320Ω。R9-R12的電阻值為2.2KΩ。Q1-Q4為達林頓管D401A,Q5-Q8為S8550。J1、J2與步進電機的六條引線相連