李愛竹,徐柳娟
(1.杭州東城電子有限公司,浙江杭州310021;2.浙江水利水電學(xué)院電氣工程系,浙江杭州310018)
在工業(yè)控制領(lǐng)域,機(jī)械控制部件驅(qū)動(dòng)多采用交流電機(jī)、直流電機(jī)、步進(jìn)電機(jī),其中步進(jìn)電機(jī)最廣泛地應(yīng)用于機(jī)電一體化產(chǎn)品中,特別是數(shù)控機(jī)床等機(jī)電控制的設(shè)備中。步進(jìn)電機(jī)是一種將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移的機(jī)電元件[1]。它轉(zhuǎn)動(dòng)的角度與輸入脈沖的個(gè)數(shù)成正比,轉(zhuǎn)動(dòng)的速度與輸入脈沖的頻率成正比[2-3]。每接收到一個(gè)電脈沖信號,步進(jìn)電機(jī)就按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,這個(gè)角度稱為“步距角”[4-5]。電機(jī)總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)控制,轉(zhuǎn)速由輸入脈沖信號的頻率控制。步進(jìn)電機(jī)驅(qū)動(dòng)方式一般有單電壓功率驅(qū)動(dòng)、雙電壓功率驅(qū)動(dòng)、高低壓功率驅(qū)動(dòng)、集成功率驅(qū)動(dòng)芯片等,其中集成功率驅(qū)動(dòng)芯片方式被最為廣泛的使用[6-7]。步進(jìn)電機(jī)集成功率驅(qū)動(dòng)電路所采用的常規(guī)芯片有ULN2003、L298、3977等,這些芯片往往有驅(qū)動(dòng)電流不夠、外圍電路復(fù)雜等缺點(diǎn);該系統(tǒng)采用的步進(jìn)電機(jī)驅(qū)動(dòng)芯片為東芝公司的TB6560,很好地解決了這些問題。TB6560由于內(nèi)部集成了續(xù)流二極管,4個(gè)輸出口不用接二極管,這樣很明顯地簡化了外圍電路;TB6560單相最大輸出電流3.5 A,大大提升了步進(jìn)電機(jī)的驅(qū)動(dòng)能力。該系統(tǒng)采用ALTERA公司的CPLD芯片EPM240T100作為核心控制芯片,充分發(fā)揮CPLD芯片豐富的I/O口資源優(yōu)勢,配置4路TB6560步進(jìn)電機(jī)驅(qū)動(dòng)模塊的控制接口,最高可實(shí)現(xiàn)4路步進(jìn)電機(jī)的實(shí)時(shí)控制;從而滿足機(jī)械控制、紡織設(shè)備、機(jī)器人控制等實(shí)際應(yīng)用的需要。
步進(jìn)電機(jī)CPLD控制系統(tǒng)由TB6560電機(jī)驅(qū)動(dòng)模塊、CPLD核心控制板、按鍵顯示模塊3個(gè)部分組成,系統(tǒng)框圖如圖1所示。
圖1 步進(jìn)電機(jī)CPLD控制系統(tǒng)框圖
TB6560步進(jìn)電機(jī)驅(qū)動(dòng)模塊包括TB6560步進(jìn)電機(jī)驅(qū)動(dòng)芯片以及外圍電路、EPM240T100控制接口電路。EPM240T100的I/O輸出為3.3 V電平,TB6560驅(qū)動(dòng)芯片的控制引腳電壓為5 V電平,EPM240T100控制接口電路完成EPM240T100輸出的3.3 V控制信號轉(zhuǎn)5 V的功能。
CPLD核心控制板配置EPM240T100型號的CPLD芯片,實(shí)現(xiàn)TB6560步進(jìn)電機(jī)驅(qū)動(dòng)模塊以及按鍵顯示模塊的實(shí)時(shí)控制功能。系統(tǒng)配置4路TB6560步進(jìn)電機(jī)驅(qū)動(dòng)模塊的控制接口,實(shí)現(xiàn)4路步進(jìn)電機(jī)的驅(qū)動(dòng),充分滿足了實(shí)際應(yīng)用中多路電機(jī)控制的需要。
按鍵顯示模塊由獨(dú)立式按鍵、74LS164驅(qū)動(dòng)的靜態(tài)LED顯示電路組成,完成步進(jìn)電機(jī)的啟動(dòng)、停止、正/反轉(zhuǎn)、加速、減速等控制以及控制信息的實(shí)時(shí)顯示功能。
TB6560是東芝公司的步進(jìn)電機(jī)驅(qū)動(dòng)芯片,內(nèi)部集成雙全橋MOSFET驅(qū)動(dòng),最高耐壓40 V,單相輸出最大電流3.5 A;具有整步、1/2、1/8、1/16細(xì)分方式,實(shí)現(xiàn)步進(jìn)電機(jī)的高精度位移控制;內(nèi)置溫度保護(hù)芯片,溫度大于150℃時(shí)自動(dòng)斷開所有輸出;具有過流保護(hù)。電機(jī)二相輸出接口內(nèi)部集成了續(xù)流二極管,不需外接二極管,簡化了外圍電路。
完整的步進(jìn)電機(jī)驅(qū)動(dòng)模塊包括電源、接口隔離、控制信號產(chǎn)生、前置放大和功率開關(guān)電路,以及電流控制、過流檢測與保護(hù)電路等[8]。TB6560集成步進(jìn)電機(jī)驅(qū)動(dòng)芯片,將這一系列功能集成于一塊芯片,簡化了硬件電路設(shè)計(jì),提高了電機(jī)驅(qū)動(dòng)模塊的性價(jià)比和穩(wěn)定性。TB6560電機(jī)驅(qū)動(dòng)模塊原理圖如圖2所示。
圖2中,使能信號EN用來控制步進(jìn)電機(jī)的啟動(dòng),EN信號為高電平,電機(jī)工作;EN信號為低電平,電機(jī)停轉(zhuǎn)。電機(jī)正、反轉(zhuǎn)控制信號DIR用來控制步進(jìn)電機(jī)的轉(zhuǎn)向,DIR信號為低電平,電機(jī)正轉(zhuǎn);DIR信號為高電平,電機(jī)反轉(zhuǎn)。MOTRST信號用來實(shí)現(xiàn)電機(jī)的復(fù)位,實(shí)現(xiàn)電機(jī)的初始化,低電平有效。
TB6560參數(shù)設(shè)置由TB6560的M2、M1、TQ2、TQ1引腳控制,具體如表1所示。M2、M1用來設(shè)置步進(jìn)電機(jī)的步距角,分為整步、半步、1/16步距、1/8步距;其中1/16步距為16細(xì)分,1/8步距為8細(xì)分,這里將M2、M1設(shè)立為“11”,即1/8步距角。系統(tǒng)所接步進(jìn)電機(jī)的轉(zhuǎn)子齒為50齒,設(shè)置為1/8步距角模式,電機(jī)轉(zhuǎn)1圈需要400個(gè)SCLK。CPLD芯片EPM240T100輸出1個(gè)SCLK,步進(jìn)電機(jī)旋轉(zhuǎn)0.9°,可以實(shí)現(xiàn)高精度的位移控制。
表1 TB6560參數(shù)設(shè)置表
TQ2、TQ1用來設(shè)置步進(jìn)電機(jī)的扭力電流,實(shí)現(xiàn)電機(jī)在不工作情況下,扭力電流降低,從而降低電機(jī)發(fā)熱,防止電機(jī)因?yàn)檫^熱而燒壞。步進(jìn)電機(jī)運(yùn)行狀態(tài)下,EPM240T100將TQ2、TQ1設(shè)置為“00”,即全流模式;步進(jìn)電機(jī)靜止?fàn)顟B(tài)下,EPM240T100將TQ2、TQ1設(shè)置為“10”,即電機(jī)靜態(tài)情況下,扭力電流減半。
圖2 步進(jìn)電驅(qū)動(dòng)電路TB6560原理圖
TB6560電機(jī)驅(qū)動(dòng)芯片的驅(qū)動(dòng)電流由NFA引腳、NFB引腳的外置電阻RNF來設(shè)置,NFA引腳為A路工作電流設(shè)置,NFB引腳為B路工作電流設(shè)置;這里RNF選擇0.25 Ω,驅(qū)動(dòng)電流設(shè)置為2 A。
OSC引腳的COSC電容用來設(shè)置TB6560的諧振頻率,COSC一般在100 pF~1 000 pF之間,諧振頻率為400 Hz~44 kHz之間。這里COSC為C1,取330 pF,TB6560的諧振頻率為130 kHz。
TB6560步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng)控制部分采用EPM240T100的CPLD芯片,該芯片是ALTERA公司MAXII系列的CPLD,具有240個(gè)邏輯單元,192個(gè)宏單元,100個(gè)引腳,80個(gè)I/O,封裝采用TQFP100[9]。
TB6560的控制程序采用VHDL編寫,EPM240T100的核心控制進(jìn)程包括電機(jī)轉(zhuǎn)速控制進(jìn)程、TB6560運(yùn)行步數(shù)計(jì)數(shù)進(jìn)程[10-12]。
該進(jìn)程通過一個(gè)數(shù)控分配器來實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制,根據(jù)系統(tǒng)預(yù)置的電機(jī)轉(zhuǎn)速值speed來確定數(shù)控分頻值,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制。其中,轉(zhuǎn)速加減按鍵可以實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的實(shí)時(shí)控制。
TB6560運(yùn)行步數(shù)計(jì)數(shù)、控制數(shù)據(jù)輸出進(jìn)程代碼如下:
該進(jìn)程在復(fù)位信號reset為0,系統(tǒng)上電復(fù)位時(shí),實(shí)現(xiàn)TB6560芯片的控制參數(shù)初始化。DIR電機(jī)正、反轉(zhuǎn)控制信號設(shè)置為0,即正轉(zhuǎn);M2、M1電機(jī)步距角控制信號設(shè)置為“11”,即1/8步距角;TQ2、TQ1電機(jī)全半流控制信號設(shè)置為“10”,即電機(jī)靜態(tài)下,扭力電流減半。
電機(jī)啟動(dòng)按鍵按下,經(jīng)過EPM240T100的按鍵抗抖動(dòng)處理,產(chǎn)生啟動(dòng)信號start。啟動(dòng)信號start將TB6560使能信號EN置高電平,電機(jī)開始運(yùn)行;TQ2、TQ1電機(jī)全半流控制信號設(shè)置為“00”,即電機(jī)運(yùn)行狀態(tài)下,扭力電流處于全流狀態(tài)。同時(shí)該進(jìn)程配置一個(gè)計(jì)數(shù)器,實(shí)時(shí)記錄步進(jìn)電機(jī)的運(yùn)行步數(shù),當(dāng)電機(jī)運(yùn)行計(jì)數(shù)值step_count為400時(shí),EPM240T100停止輸出SCLK,EN置低電平,電機(jī)停止運(yùn)行,TQ2、TQ1電機(jī)全半流控制信號設(shè)置為“10”,即扭力電流減半。
TB6560的控制程序Quartus II軟件仿真波形如圖3所示,可以滿足系統(tǒng)的控制時(shí)序要求。整個(gè)TB6560的控制程序?qū)崿F(xiàn)模塊化,當(dāng)系統(tǒng)需要控制多路步進(jìn)電機(jī)時(shí),只要調(diào)用對應(yīng)的模塊,就可以實(shí)現(xiàn)多路電機(jī)控制的功能。
圖3 TB6560控制程序仿真圖
EPM240T100通過JTAG下載線可以實(shí)現(xiàn)步進(jìn)電機(jī)控制程序的在線調(diào)試,根據(jù)步進(jìn)電機(jī)實(shí)際運(yùn)行與示波器測試波形的比較,來驗(yàn)證整個(gè)控制系統(tǒng)的功能。調(diào)試完成后,示波器測試波形如圖4所示。CH1為TB6560使能信號EN,CH2為步進(jìn)電機(jī)控制脈沖SCLK。
圖4 TB6560控制信號示波器測試波形
EPM240T100將TB6560使能信號EN置高電平后,電機(jī)開始運(yùn)行;步進(jìn)電機(jī)控制脈沖SCLK產(chǎn)生波形;當(dāng)SCLK產(chǎn)生400個(gè)脈沖,電機(jī)正好轉(zhuǎn)1圈,EPM240T100停止輸出SCLK,EN置低電平,電機(jī)停止運(yùn)行。
基于EPM240T100和TB6560的步進(jìn)電機(jī)控制系統(tǒng)已經(jīng)完成PCB板的制作以及軟、硬件調(diào)試,可以很好地完成步進(jìn)電機(jī)的控制功能,具有啟動(dòng)、暫停、正/反轉(zhuǎn)、連續(xù)運(yùn)行、加速、減速等多種控制功能。EPM240T100有豐富的I/O資源,系統(tǒng)具有4路TB6560電機(jī)驅(qū)動(dòng)模塊的接口,可以實(shí)現(xiàn)4路步進(jìn)電機(jī)的實(shí)時(shí)控制功能;具有硬件電路簡單、性價(jià)比高、穩(wěn)定性高、應(yīng)用廣泛等優(yōu)點(diǎn),所設(shè)計(jì)的步進(jìn)電機(jī)驅(qū)動(dòng)器有著廣泛的應(yīng)用前景。
[1]胡惟文,蔡劍華,王先春.基于FPGA的步進(jìn)電機(jī)均勻細(xì)分驅(qū)動(dòng)器的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,24(2):183-184.
[2]吳益飛.基于MSP430單片機(jī)的云臺控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006,22(72):90-93.
[3]武亞平.基于單片機(jī)技術(shù)研究DxD系列包裝機(jī)的控制系統(tǒng)[J].包裝與食品機(jī)械,2013(2):31-33.
[4]胡云卿,白建華,詹曉東.基于FPGA的三相步進(jìn)電機(jī)控制器[J].機(jī)電工程,2009,26(1):85-88.
[5]楊和平,周旋,童軍.步進(jìn)電機(jī)的特點(diǎn)及應(yīng)用[J].黑龍江科技信息,2007(1):10-12.
[6]杜坤梅.電機(jī)控制技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002.
[7]周忠輝.步進(jìn)電機(jī)驅(qū)動(dòng)的實(shí)現(xiàn)方法[J].儀表技術(shù)與傳感器,2004(11):60-61.
[8]潘海燕,姚朝霞.基于L297的兩相步進(jìn)電機(jī)驅(qū)動(dòng)器[J].機(jī)電工程,2007,24(4):86-88.
[9]陳曙光.基于EPM240T的CPLD開發(fā)板設(shè)計(jì)與實(shí)現(xiàn)[J].天津職業(yè)大學(xué)學(xué)報(bào),2010,19(3):80-82.
[10]王海華,宋蕾.基于CPLD的步進(jìn)電機(jī)控制器設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(10):99-100.
[11]龐淑娟,倪受東.基于FPGA的步進(jìn)電機(jī)速度控制器的設(shè)計(jì)[J].新技術(shù)新工藝,2008(4):32-33.
[12]金元郁,李勇,李園園.基于FPGA的步進(jìn)電機(jī)控制器設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(3):70-71.