3軸步進(jìn)電機(jī)控制芯片-TMC428的原理以應(yīng)用
(蘇州鈞信自動(dòng)控制有限公司? 高偉)
摘 要:專用步進(jìn)電機(jī)控制器可以控制多達(dá)3軸步進(jìn)電機(jī),內(nèi)部集成波形發(fā)生器,脈沖發(fā)生器,可以實(shí)現(xiàn)3軸聯(lián)動(dòng)以及獨(dú)立動(dòng)作。可大大減少外部電路的設(shè)計(jì),減輕上位微處理器的負(fù)擔(dān)。
關(guān)鍵詞: ?SPI ; 控制 ; 波形發(fā)生器 ; 脈沖發(fā)生器
目前許多設(shè)備上需要用到多個(gè)電機(jī)的控制,在設(shè)計(jì)開發(fā)過程中自然會(huì)增加開發(fā)難度,而且難度隨著控制軸數(shù)的增多而增大。TMC428是TRINAMIC公司開發(fā)的3軸步進(jìn)電機(jī)控制芯片,它可以減少外圍電路,減少電機(jī)控制軟件設(shè)計(jì)的工作量,降低開發(fā)成本,縮短研發(fā)時(shí)間。
TMC428具有系統(tǒng)所需的所有運(yùn)動(dòng)控制功能,以其為核心控制3個(gè)TMC2X6或TMC2X9(該公司的驅(qū)動(dòng)芯片)構(gòu)成3軸步進(jìn)系統(tǒng)的控制和驅(qū)動(dòng)功能,該控制系統(tǒng)具有體積小,結(jié)構(gòu)簡(jiǎn)單,內(nèi)部可構(gòu)成虛擬閉環(huán)等許多優(yōu)點(diǎn)。IO部分可以由其上位的微控制器來實(shí)現(xiàn)。
1. 主要性能
??TMC428是小尺寸、高性價(jià)比的二相步進(jìn)電機(jī)控制芯片。它帶有二個(gè)獨(dú)立的SPI口,可分別與微處理器和帶有SPI接口的步進(jìn)電機(jī)驅(qū)動(dòng)器相連以構(gòu)成完整的系統(tǒng)。其控制指令可由微處理器通過SPI接口給定。TMC428提供了所有與數(shù)字運(yùn)動(dòng)控制有關(guān)的功能,包括位置控制、速度控制及微步控制等步進(jìn)電機(jī)常用的控制功能。這些功能如果讓微處理器來完成,則需占用大量的系統(tǒng)資源,所以它的使用可將微處理器解放出來,以把資源用在接口的擴(kuò)展和對(duì)步進(jìn)電機(jī)的更高層次的控制上。此外,TMC236也是TRINAMIC公司開發(fā)的帶有串行接口的步進(jìn)電機(jī)驅(qū)動(dòng)器。3個(gè)TMC236連結(jié)構(gòu)成的菊花鏈(Daisychain)結(jié)構(gòu)便是一種基于串行通訊的網(wǎng)絡(luò)結(jié)構(gòu),可以使多個(gè)具有串行通信接口的設(shè)備以接力的方式傳遞數(shù)據(jù)。TMC428可以通過SPI接口與它們相連接,以同時(shí)控制3個(gè)二相步進(jìn)電機(jī)。
TMC428的主要特點(diǎn)如下:
●????? 可以控制多達(dá)3軸的2相步進(jìn)電機(jī)而且各軸之間可以獨(dú)立運(yùn)行
●????? 與微控制芯片和驅(qū)動(dòng)芯片通過簡(jiǎn)單的SPI通訊,使用簡(jiǎn)單,便于構(gòu)成虛擬的閉環(huán)網(wǎng)絡(luò),控制器可以時(shí)刻得知驅(qū)動(dòng)器的狀態(tài)
●????? 內(nèi)有24bit位置計(jì)數(shù)器
●????? 根據(jù)微處理器給定的電機(jī)運(yùn)動(dòng)參數(shù)(位置,速度、加速度),依照梯形或三角形的速度由線產(chǎn)生驅(qū)動(dòng)脈沖波形和順序,來對(duì)電機(jī)進(jìn)行位置和速度控制??梢栽陔姍C(jī)運(yùn)行過程中更改電機(jī)參數(shù)如速度,加速度,目標(biāo)位置等。
●????? 可微步控制。采用6位分辨率的微步細(xì)分可實(shí)現(xiàn)64,32,16,8,4,2,1。每個(gè)電機(jī)可分別選擇其需要的微步分辨率。滿步頻率最高達(dá)20kHz。
●????? 通過可編程電流比例控制,可以使電機(jī)在不同的工作狀態(tài)下采用大小不同的工作電流??刂齐姍C(jī)工作可在8個(gè)檔次上,分別是最大電流的12.5%、25%、37.5%、50%、62.5%、75%、87.5%、100%
●根據(jù)不同的應(yīng)用提供有SSOP16、SOP24,DIL20三種封裝可選。如圖1
圖1 不同的封裝方式?
內(nèi)部結(jié)構(gòu)及工作原理
圖3 TMC428內(nèi)部結(jié)構(gòu)?
TMC428的內(nèi)部結(jié)構(gòu)如圖3所示。TMC428是由各個(gè)單元的寄存器和片內(nèi)RAM構(gòu)成的。其內(nèi)部包括二個(gè)外部串行接口、波形發(fā)生器和脈沖發(fā)生器、微步單元、多口RAM控制器和中斷控制器。?
TMC428一般從微處理器獲得控制指令,微處理器則通過發(fā)送和接收固定長(zhǎng)度的數(shù)據(jù)包對(duì)TMC428寄存器和RAM進(jìn)行讀寫操作。TMC428的寄存器和片內(nèi)RAM的功能有所不同。寄存器用于存儲(chǔ)電機(jī)總體配置參數(shù)和運(yùn)動(dòng)參數(shù),而片內(nèi)RAM用于存儲(chǔ)?驅(qū)動(dòng)串行接口的配置和微步表。電機(jī)總體參數(shù)是指對(duì)驅(qū)動(dòng)器菊花鏈中TMC236的配置。運(yùn)動(dòng)參數(shù)包括各電機(jī)的當(dāng)前位置、目標(biāo)位置、最大速度、最大加速度、電流比例、波形發(fā)生器和脈沖發(fā)生器參數(shù)以及微步細(xì)分分辨率等。片內(nèi)RAM包括64個(gè)地址的數(shù)據(jù)空間,每個(gè)地址可存儲(chǔ)24位寬的數(shù)據(jù),前32位地址數(shù)據(jù)是對(duì)驅(qū)動(dòng)器菊花鏈串行通信數(shù)據(jù)包的配置,后32位地址的數(shù)據(jù)為微步細(xì)分表。
????初始化以后,TMC428即可自動(dòng)發(fā)送數(shù)據(jù)包到菊花鏈的每個(gè)TMC2X6或TMC2X9驅(qū)動(dòng)芯片,也就是說,驅(qū)動(dòng)串行接口經(jīng)過初始化后便可以自動(dòng)工作,而不需要微處理器的參與。只要把位置、速度寫進(jìn)指定的寄存器就可以控制電機(jī)。TMC428的多口RAM控制器可管理數(shù)據(jù)的存取時(shí)序。這樣,微處理器就可以在任何時(shí)間讀寫寄存器和片內(nèi)RAM的數(shù)據(jù)。
????通過波形發(fā)生器可以處理存儲(chǔ)在寄存器里的運(yùn)動(dòng)參數(shù)并計(jì)算電機(jī)運(yùn)動(dòng)速度曲線。脈沖發(fā)生器則根據(jù)波形發(fā)生器計(jì)算得到的速度來產(chǎn)生步進(jìn)脈沖。步進(jìn)脈沖產(chǎn)生時(shí)TMC428的驅(qū)動(dòng)串行接口將自動(dòng)發(fā)送數(shù)據(jù)包給步進(jìn)電機(jī)驅(qū)動(dòng)器菊花鏈以驅(qū)動(dòng)步進(jìn)電機(jī)。當(dāng)采用微步控制時(shí),微步單元即開始處理根據(jù)脈沖發(fā)生器產(chǎn)生的步進(jìn)脈沖,同時(shí)根據(jù)選擇的微步分辨率來產(chǎn)生全步、半步和微步脈沖,并通過驅(qū)動(dòng)串口送給驅(qū)動(dòng)器菊花鏈。
????驅(qū)動(dòng)串行接口是TMC428與驅(qū)動(dòng)器菊花鏈之間的通信接口。從TMC428到驅(qū)動(dòng)器之間的串行數(shù)據(jù)包的長(zhǎng)度是可配置的,以適應(yīng)由不同類型和廠家的電路構(gòu)成的SPI環(huán)形結(jié)構(gòu),最大數(shù)據(jù)長(zhǎng)度為64bit。初始化后,TMC428與步進(jìn)電機(jī)驅(qū)動(dòng)器之間的通信是自動(dòng)完成的。不同類型的帶有SPI接口的驅(qū)動(dòng)器都可以混合構(gòu)成菊花鏈結(jié)構(gòu)與TMC428進(jìn)行連接。
??4、應(yīng)用
????4.1?兼容性
????TMC428與大多數(shù)廠商生產(chǎn)的步進(jìn)電機(jī)驅(qū)動(dòng)電路兼容。它可以直接連接帶有SPI口的步進(jìn)電機(jī)驅(qū)動(dòng)器,也可以通過附加的器件連接常用的并口驅(qū)動(dòng)器。甚至帶有步進(jìn)、方向輸入的步進(jìn)電機(jī)驅(qū)動(dòng)器也可以由TMC428來控制。將步進(jìn)電機(jī)驅(qū)動(dòng)芯片TMC2X6或TMC2X9非常簡(jiǎn)單地連接成串行菊花鏈結(jié)構(gòu),用TMC428構(gòu)成3軸步進(jìn)電機(jī)控制系統(tǒng)進(jìn)行控制可更好地發(fā)揮TMC428的特點(diǎn)。?
4.2?狀態(tài)檢測(cè)
????實(shí)時(shí)監(jiān)測(cè)電機(jī)運(yùn)行狀態(tài)對(duì)整個(gè)系統(tǒng)的安全和控制是很重要的,TMC428就提供有狀態(tài)檢測(cè)功能。每次每處理器發(fā)送數(shù)據(jù)包給TMC428的同時(shí),TMC428會(huì)返回?cái)?shù)據(jù)給微處理器。大部分帶有串行口的電機(jī)驅(qū)動(dòng)電路都提供有不同的狀態(tài)位(工作,不工作等)和錯(cuò)誤標(biāo)志(短路,開路,溫度過高等)。這樣,TMC428就可以在任何時(shí)候提供當(dāng)前電機(jī)的運(yùn)動(dòng)參數(shù)和工作模式以及各狀態(tài)位。從電機(jī)驅(qū)動(dòng)菊花鏈返回給TMC428的數(shù)據(jù)包有48bit長(zhǎng)。TMC428將其放在二個(gè)24bit的寄存器中。這樣,微處理器就可以直接讀取這些寄存器里的信息,比如在可以電機(jī)運(yùn)動(dòng)過程中時(shí)間檢測(cè)電機(jī)位置,速度,加速度甚至電流等參數(shù)。?
5.系統(tǒng)的構(gòu)成?
采用RAM或簡(jiǎn)單,廉價(jià)的單片機(jī)做系統(tǒng)的微處理器,結(jié)合TMC428和驅(qū)動(dòng)芯片TMC2X6(TMC236,239)或TMC2X9(TMC239,249)構(gòu)成3軸步進(jìn)電機(jī)的控制和驅(qū)動(dòng)。其中TMC236,TMC246內(nèi)部本身集成了HVCMOSFET構(gòu)成的雙橋驅(qū)動(dòng)電路,采用恒流斬波驅(qū)動(dòng)方式來驅(qū)動(dòng)雙極性兩相步進(jìn)電機(jī),并具有功耗低,效率高的優(yōu)點(diǎn)。整個(gè)系統(tǒng)如圖4所示 ?
圖4?基于TMC428的3軸步進(jìn)驅(qū)動(dòng)控制系統(tǒng)電路?
?由圖4可見,采用專用步進(jìn)電機(jī)運(yùn)動(dòng)控制器和驅(qū)動(dòng)電路組成的系統(tǒng)具有外圍電路簡(jiǎn)單、系統(tǒng)抗干擾能力強(qiáng)和可靠性高等優(yōu)點(diǎn),可減少控制電路的開發(fā)成本。整個(gè)系統(tǒng)除了電源之外只有5個(gè)IC,因此,體積小,控制簡(jiǎn)單,特別適用于3軸步時(shí)電機(jī)的驅(qū)動(dòng)。實(shí)驗(yàn)證明該驅(qū)動(dòng)器控制的步時(shí)電機(jī)定位精度高,加、減速性能良好,同時(shí),啟停、反轉(zhuǎn)性能也很優(yōu)良。被廣泛應(yīng)用于安防設(shè)備,儀器儀表,辦公自動(dòng)化等眾多領(lǐng)域。?
另外為了便于客戶提高系統(tǒng)的控制精度TRINAMIC還開發(fā)出了可以構(gòu)成三軸閉環(huán)控制的編碼器處理芯片TMC423可以接收3軸增量式編碼器輸入。?
?