基于TMC428的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
步進(jìn)電機(jī)是一種重要的執(zhí)行裝置,廣泛用于工業(yè)控制和各種辦公設(shè)備中,步進(jìn)電機(jī)的穩(wěn)定可靠運(yùn)行直接關(guān)系到工業(yè)控制的精度和設(shè)備的質(zhì)量,特別是在高精度數(shù)控系統(tǒng)中更是要求步進(jìn)電機(jī)能夠精確運(yùn)行。如何實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的精確可靠控制成為工業(yè)控制等系統(tǒng)中的關(guān)鍵技術(shù)。多年來很多專家學(xué)者研制出很多性能較好的步進(jìn)電機(jī)控制系統(tǒng),然而,早期的步進(jìn)電機(jī)控制系統(tǒng)體積大,使用的元器件多,這給系統(tǒng)的可靠運(yùn)行帶來了較大的隱患。隨著電子技術(shù)的發(fā)展,很多功能單元都走向模塊化和數(shù)字化,并且具有體積小,重量輕,工作可靠性高,成本低等優(yōu)點(diǎn),而且能夠?qū)崿F(xiàn)多軸控制,這給步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)帶來了很大的方便。由TRINAMIC公司生產(chǎn)的TMC428就是這樣一款三軸步進(jìn)電機(jī)運(yùn)動(dòng)控制芯片。這里使用TMC428控制芯片設(shè)計(jì)一種三軸步進(jìn)電機(jī)控制系統(tǒng),本系統(tǒng)可用于經(jīng)濟(jì)型三軸數(shù)控系統(tǒng)中。
一、TMC428芯片及其功能
TMC428是一種小尺寸、高性價(jià)比的二相步進(jìn)電機(jī)控制器,包括位置控制、速度控制及微步控制等步進(jìn)電機(jī)常用的控制功能,可同時(shí)對(duì)三個(gè)二相步進(jìn)電機(jī)進(jìn)行控制。帶有2個(gè)獨(dú)立的SPI接口,可分別與微處理器和帶有SPI接口的步進(jìn)電機(jī)驅(qū)動(dòng)器相連接,能夠與3個(gè)TMC236相連接構(gòu)成菊花鏈結(jié)構(gòu)。
1、 結(jié)構(gòu)
TMC428采用16引腳封裝,是由各個(gè)單元的寄存器和片內(nèi)RAM構(gòu)成的。其內(nèi)部包括二個(gè)外部串行接口、波形發(fā)生器和脈沖發(fā)生器、微步單元、多口RAM控制器和中斷控制器。如圖一所示。SPI串行通信使用32bit數(shù)據(jù)長(zhǎng)度的簡(jiǎn)單協(xié)議,與電機(jī)驅(qū)動(dòng)器相連接時(shí),其數(shù)據(jù)傳輸速率高達(dá)1Mbit/s。時(shí)鐘輸入范圍寬且時(shí)鐘頻率最高可達(dá)16MHz,采用3.3V或5V的CMOS/TTL兼容電平供電。
圖一
2、 功能
TMC428有4種不同的工作模式,對(duì)每個(gè)步進(jìn)電機(jī)的控制單獨(dú)編程,其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和HOLD模式。TMC428提供了一組功能不同的寄存器單元和片內(nèi)RAM,一般從微處理器獲得控制指令,微處理器則通過發(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è)TMC236,也就是說,驅(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)行連接。
二、系統(tǒng)分析
本系統(tǒng)采用MCS51單片機(jī)作為微處理器,用于系統(tǒng)的控制和指令發(fā)布,這是整個(gè)控制系統(tǒng)的核心,系統(tǒng)的各種邏輯和數(shù)量計(jì)算都有單片機(jī)完成。由于系統(tǒng)采用SPI串行通信方式,而51單片機(jī)本身不帶有SPI接口,所以在單片機(jī)與TMC428必須獨(dú)立SPI專用接口模塊進(jìn)行數(shù)據(jù)轉(zhuǎn)換,這里采用MCP2510 SPI接口芯片。上電以后,單片機(jī)首先對(duì)TMC428進(jìn)行初始化,設(shè)置初始的位置、速度以及加速度等運(yùn)動(dòng)參數(shù),并且配置菊花鏈串行通信數(shù)據(jù)和微步表。由于運(yùn)動(dòng)參數(shù)被配置在TMC428的功能寄存器中,在工作過程中可以根據(jù)實(shí)際要求在線更改以適應(yīng)實(shí)際運(yùn)動(dòng)過程,而菊花鏈串行通信數(shù)據(jù)和微步表是存放在片內(nèi)RAM中,上電以后這些參數(shù)一般不能更改,所以在初始化時(shí)要對(duì)這些參數(shù)進(jìn)行精確計(jì)算。采用3個(gè)TMC236構(gòu)成一個(gè)菊花鏈,每個(gè)TMC236控制一個(gè)步進(jìn)電機(jī),當(dāng)初始化完成后,TMC428可以脫離單片機(jī)自動(dòng)地把控制數(shù)據(jù)發(fā)送給TMC236實(shí)現(xiàn)對(duì)電機(jī)的控制,但由于TMC236所發(fā)出的控制信號(hào)比較弱,不足以驅(qū)動(dòng)電機(jī),所以在TMC236發(fā)出的控制信號(hào)必須進(jìn)過功率放大才能驅(qū)動(dòng)電機(jī)。系統(tǒng)結(jié)構(gòu)如圖二所示。
圖二
三、硬件設(shè)計(jì)
本系統(tǒng)單片機(jī)選用AT89S52,系統(tǒng)時(shí)鐘頻率采用16MHZ,由于TMC428的最高工作頻率能夠達(dá)到16MHZ,但TMC236的PWM操作頻率不能超過100KHZ,所以為了方便設(shè)計(jì)本系統(tǒng)采用分頻電路對(duì)16MHZ的時(shí)鐘頻率分頻為20KHZ,TMC428和TMC236都采用同一20KHZ時(shí)鐘頻率。為減小電源的復(fù)雜性,系統(tǒng)由單一+5V直流電源供電。由于本系統(tǒng)中TMC428不使用內(nèi)部中斷,所以3個(gè)參考開關(guān)輸入必須接地,同時(shí)沒有使用3.3V電源,所以V33引腳必須通過一個(gè)470nF的電容接地,+5V輸入電源要通過一個(gè)100nF的電容濾波,以保證TMC428的可靠運(yùn)行。驅(qū)動(dòng)SPI接口的數(shù)據(jù)輸入線SDI_S引腳要通過一個(gè)阻值為10K的電阻下拉。TMC428的nscs_s引腳作為3個(gè)TMC236使能信號(hào)與CSN引腳相連??刂茢?shù)據(jù)通過SDO_S引腳傳送至TMC236的SDI引腳中,由于采用的是菊花鏈形式,所以3個(gè)TMC236通過各自的SDO——SDI兩個(gè)引腳相串聯(lián)。在TMC236電路設(shè)計(jì)中,20KHZ的外部時(shí)鐘從OSC引腳輸入。由于TMC236內(nèi)部集成了HVCMOSFET構(gòu)成的雙全橋驅(qū)動(dòng)電路,它采用恒流斬波驅(qū)動(dòng)方式來驅(qū)動(dòng)雙極性二相步進(jìn)電機(jī),其中電機(jī)的供應(yīng)電源由VS引腳輸入,但必須在VS引腳上連接220pF和100uF的電容進(jìn)行濾波,在本系統(tǒng)中采用+12V的直流電源作為電機(jī)兩相繞組的勵(lì)磁電源。TMC236的OA1和OA2連接步進(jìn)電機(jī)的A相勵(lì)磁繞組,而OB1和OB2連接步進(jìn)電機(jī)的B相勵(lì)磁繞組。另外,為了限制電機(jī)的最大電流,必須對(duì)TMC236雙全橋驅(qū)動(dòng)電路設(shè)置限流電阻Rs,Rs電阻的設(shè)置可根據(jù)如下計(jì)算公式計(jì)算:
其中Imax為電機(jī)所允許的最大電流,在這里Imax=1030mA,所以計(jì)算電阻Rs=0.33Ω。本系統(tǒng)采用脈沖變壓器作為功率放大裝置直接對(duì)步進(jìn)電機(jī)供電。系統(tǒng)的主電路如圖三所示。
圖三
四、軟件設(shè)計(jì)
控制系統(tǒng)的軟件主要完成對(duì)TMC428的初始化以及控制參數(shù)計(jì)算和發(fā)送的工作。在初始化過程中首先要對(duì)TMC428的工作模式進(jìn)行設(shè)置,一個(gè)是位置控制模式和速度控制模式,另外就是TMC428所要控制的步進(jìn)電機(jī)的個(gè)數(shù)。這些參數(shù)的設(shè)置是通過微處理器向TMC428的相關(guān)寄存器寫數(shù)據(jù)來完成。其中位置和速度控制模式寄存器的地址為1010,在本系統(tǒng)中位置控制采用RAMP模式,速度控制采用VELOCITY模式。由于本系統(tǒng)是三軸控制設(shè)計(jì),所以TMC428要同時(shí)對(duì)三個(gè)步進(jìn)電機(jī)進(jìn)行控制,因此在步進(jìn)電機(jī)全局配置參數(shù)寄存器設(shè)置中要把寄存器的地兩位設(shè)置為10,其他位采用默認(rèn)值。根據(jù)TMC428的功能要求,每個(gè)電機(jī)都有自己的配置寄存器,對(duì)于電機(jī)的初始位置和初始速度都要在各自寄存器中單獨(dú)設(shè)置。在初始化過程中對(duì)電機(jī)的目標(biāo)速度、目標(biāo)位置、實(shí)際速度和位置以及加速度和速度的最大值、最小值進(jìn)行設(shè)置00地址表示電機(jī)1,01地址表示電機(jī)2,10地址表示電機(jī)三,其寄存器地址范圍為0000~1110。當(dāng)初始化完成后根據(jù)實(shí)際需要微處理器在任意時(shí)刻都可以改變寄存器和片內(nèi)RAM中的數(shù)據(jù)以適應(yīng)實(shí)際控制。本系統(tǒng)的軟件工作過程如圖四所以。
圖四
五、總結(jié)
采用專用步進(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)良。
參考文獻(xiàn):
1 TMC428 datasheet
2 TMC236 datasheet
3 吳紅星.《電機(jī)驅(qū)動(dòng)與控制專用集成電路及應(yīng)用》.北京:中國(guó)電力出版社,2006年
4 于海生、潘松峰、于培仁、吳賀榮.《微型計(jì)算機(jī)控制技術(shù)》.北京:清華大學(xué)出版社,1999年
5 董桂花.《步進(jìn)電機(jī)控制系統(tǒng)的研究》.《農(nóng)機(jī)化研究》. 2003年03期。
6 周明德.《單片機(jī)原理與技術(shù)》.北京:人民郵電出版社,2008年