基于THB6064H的步進(jìn)電機(jī)閉環(huán)控制電路設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:提出基于大電流步進(jìn)電機(jī)驅(qū)動(dòng)芯片THB6064H的步進(jìn)電機(jī)閉環(huán)控制系統(tǒng)的電路設(shè)計(jì)方案。整個(gè)控制系統(tǒng)主要包括基于THB6064H的驅(qū)動(dòng)電路部分、基于單片機(jī)的控制電路部分和基于增量式旋轉(zhuǎn)編碼器的反饋環(huán)節(jié)。將控制器與驅(qū)動(dòng)器做成一體化,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的閉環(huán)控制,使控制精度大大提高。
關(guān)鍵詞:THB6064H;步進(jìn)電機(jī);閉環(huán)
引言
步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的一種裝置。它產(chǎn)生的位移與輸入脈沖數(shù)嚴(yán)格成正比,平均轉(zhuǎn)速與輸入脈沖的頻率成正比,具有結(jié)構(gòu)簡(jiǎn)單、可靠性高和成本低的特點(diǎn)。由于步進(jìn)電機(jī)沒有積累誤差,容易實(shí)現(xiàn)較高精度的位移和速度控制,被廣泛用于精確控制領(lǐng)域。由步進(jìn)電機(jī)與驅(qū)動(dòng)電路組成的開環(huán)數(shù)控系統(tǒng)簡(jiǎn)單并且價(jià)格低廉,但有時(shí)存在振蕩和失步現(xiàn)象,故在復(fù)雜電磁環(huán)境下或是對(duì)精度要求較高的場(chǎng)合下,必須加入反饋電路組成高性能的閉環(huán)數(shù)控系統(tǒng)。本文采用旋轉(zhuǎn)編碼器作為反饋器件對(duì)步進(jìn)電機(jī)實(shí)行閉環(huán)控制。
1 THB6064H簡(jiǎn)介
THB6064H是在東芝公司2009年主推的TB6560AHQ的基礎(chǔ)上開發(fā)的一款PWM斬波型兩相步進(jìn)電機(jī)驅(qū)動(dòng)芯片。該芯片配合簡(jiǎn)單的外圍電路即可設(shè)計(jì)出高性能、多細(xì)分、大電流的驅(qū)動(dòng)電路,在低成本、低振動(dòng)、低噪聲、高速度的設(shè)計(jì)中應(yīng)用效果較佳。其主要參數(shù)和性能指標(biāo)有:雙全橋MOSFET驅(qū)動(dòng),低導(dǎo)通電阻Ron=0.4Ω(上橋+下橋),高耐壓50 V DC,大電流4.5 A(峰值);多種細(xì)分可選(1/2、1/8、1/10、1/16、1/20、1/32、1/40、1/64),自動(dòng)半流鎖定功能,衰減方式連續(xù)可調(diào);內(nèi)置高溫保護(hù)及過流保護(hù),當(dāng)溫度高于170℃時(shí)自動(dòng)斷開所有輸出;封裝形式為HZIP25-P-1.27封裝。
2 控制原理
本文的步進(jìn)電機(jī)閉環(huán)控制方法采用核步法。核步法的控制思想是從簡(jiǎn)化控制系統(tǒng)出發(fā),利用核步計(jì)數(shù)器對(duì)系統(tǒng)位置進(jìn)行跟蹤監(jiān)視,即時(shí)發(fā)出反饋控制信號(hào),從而完成對(duì)位置的控制。其基本原理如圖1所示。單片機(jī)接收來自上位機(jī)的時(shí)序脈沖信號(hào)和方向信號(hào),經(jīng)驅(qū)動(dòng)放大后送往步進(jìn)電機(jī)來控制步進(jìn)電機(jī)工作;步進(jìn)電機(jī)帶動(dòng)編碼器同軸旋轉(zhuǎn),由編碼器檢測(cè)轉(zhuǎn)角度,并以脈沖的形式反饋到單片機(jī)進(jìn)行核步計(jì)數(shù);單片機(jī)根據(jù)脈沖反饋當(dāng)量值與給定值進(jìn)行比較,按照核步算法發(fā)出控制指令。如果發(fā)生丟步,單片機(jī)就會(huì)根據(jù)差值繼續(xù)發(fā)送脈沖,把丟掉的步數(shù)補(bǔ)上,從而完成步進(jìn)電機(jī)轉(zhuǎn)動(dòng)位置的閉環(huán)控制。
3 硬件設(shè)計(jì)
3.1 驅(qū)動(dòng)部分電路
驅(qū)動(dòng)電路以步進(jìn)電機(jī)驅(qū)動(dòng)芯片THB6064H為核心,配合簡(jiǎn)單的外圍電路實(shí)現(xiàn)步進(jìn)電機(jī)的驅(qū)動(dòng)。驅(qū)動(dòng)電路如圖2所示。
驅(qū)動(dòng)電源的電壓最高不能超過50 V,要大于芯片邏輯電壓。提高驅(qū)動(dòng)電壓可使電機(jī)在高頻范圍轉(zhuǎn)矩增大,電壓大小要根據(jù)使用情況來選擇。VMA、VMB端口是步進(jìn)電機(jī)的驅(qū)動(dòng)電源引腳,設(shè)計(jì)時(shí)應(yīng)接入瓷片去耦電容和電解電容用來穩(wěn)壓。OUT1A、OUT2A、OUT1B、OUT2B端口分別為步進(jìn)電機(jī)的2相輸出接口,由于此芯片內(nèi)集成了續(xù)流二極管,不用像以前的一些驅(qū)動(dòng)芯片那樣在輸出口外接二極管,因此就可以使電路板的布線空間縮小,從而減小控制器的體積。NFA、NFB端口分別為步進(jìn)電機(jī)A、B兩相的相電流檢測(cè)端,應(yīng)連接大功率檢測(cè)電阻,典型值為0.25 Ω/2 W。VREF為電流設(shè)定端,調(diào)整此端電壓就可以設(shè)定驅(qū)動(dòng)電流的大小。PGNDA、PGNDB、SGND分別為步進(jìn)電機(jī)驅(qū)動(dòng)的引腳地和邏輯電源地。芯片的邏輯電源為5 V,VDD端口為邏輯電源引腳,設(shè)計(jì)時(shí)也要接入電容來減小干擾噪聲;ALERT為過流保護(hù)輸出端;RESET為芯片復(fù)位腳,低電平有效;OSC1A、OSC1B端口所接電容的大小決定了斬波器頻率,推薦接入100~1 000 pF的電容,此時(shí)的斬波頻率為400~44 kHz;M1、M2、M3端口分別為步進(jìn)電機(jī)驅(qū)動(dòng)的細(xì)分設(shè)置引腳,用外接撥碼開關(guān)可設(shè)定不同的細(xì)分值,例如整步、1/2步、1/4步、1/8步等,最高可達(dá)64細(xì)分。由于步進(jìn)電機(jī)在低頻工作時(shí),可能會(huì)伴有較大的振動(dòng)和較大的噪聲,這些就需要通過細(xì)分驅(qū)動(dòng)來解決。驅(qū)動(dòng)輸出的電流調(diào)節(jié)和衰減方式調(diào)節(jié)都可通過外接撥碼開關(guān)來實(shí)現(xiàn),電路簡(jiǎn)單,方便可靠。
3.2 反饋控制電路
電路的反饋環(huán)節(jié)選用增量型旋轉(zhuǎn)編碼器與步進(jìn)電機(jī)固定同軸旋轉(zhuǎn),產(chǎn)生反饋脈沖信號(hào),發(fā)送到單片機(jī),經(jīng)單片機(jī)處理后獲得步進(jìn)電機(jī)的旋轉(zhuǎn)信息。
3.2.1 旋轉(zhuǎn)編碼器的工作原理
旋轉(zhuǎn)編碼器是一種集光、機(jī)、電于一體的轉(zhuǎn)速、位移傳感器,具有高頻響、分辨能力高、力矩小、耗能低、性能可靠、使用壽命長等優(yōu)點(diǎn)。旋轉(zhuǎn)編碼器包括碼盤(編碼盤的線數(shù)不同)、發(fā)光元件、接收元件和信號(hào)處理部分。碼盤的線數(shù)決定了其精度。當(dāng)步進(jìn)電機(jī)帶動(dòng)碼盤旋轉(zhuǎn)時(shí),因刻線處透光,間隔處不透光,透過的光被接收元件接收并輸入到信號(hào)處理部分,產(chǎn)生脈沖信號(hào)輸出。旋轉(zhuǎn)編碼器一般分為增量式和絕對(duì)式:增量式旋轉(zhuǎn)編碼器輸出脈沖供后續(xù)電路計(jì)數(shù)和旋轉(zhuǎn)方向的判斷,能夠?qū)崿F(xiàn)多圈無限累計(jì)測(cè)量;絕對(duì)式旋轉(zhuǎn)編碼器以代碼的形式輸出來表示當(dāng)前的位置,轉(zhuǎn)動(dòng)方向是通過代碼的變化趨勢(shì)來確定的。一般相同分辨率的編碼器,增量式的要比絕對(duì)式的便宜,實(shí)際應(yīng)用中,增量式旋轉(zhuǎn)編碼器應(yīng)用更為廣泛。本文選用增量型旋轉(zhuǎn)編碼器,有三根信號(hào)輸出線A相、B相、Z相。當(dāng)編碼器轉(zhuǎn)動(dòng)時(shí)A、B兩根線都產(chǎn)生脈沖輸出,A、B兩相脈沖相差90°相位角,由此可測(cè)出編碼器的轉(zhuǎn)動(dòng)方向與電機(jī)轉(zhuǎn)速。當(dāng)正轉(zhuǎn)時(shí),A相脈沖比B相脈沖超前90°,反轉(zhuǎn)時(shí)A相比B相落后90°。A相用來測(cè)量脈沖個(gè)數(shù),B相與A相配合就可測(cè)量出轉(zhuǎn)動(dòng)方向。Z相為零脈沖線,光電編碼器在每轉(zhuǎn)一圈的固定位置產(chǎn)生一個(gè)脈沖,主要用作計(jì)數(shù)和基準(zhǔn)點(diǎn)定位,一般可以不用該相。
3.2.2 控制電路
控制部分電路是以51單片機(jī)為控制核心,接收上位機(jī)的脈沖信號(hào)和方向信號(hào)CLK1和CW1經(jīng)過存儲(chǔ)處理后發(fā)送給驅(qū)動(dòng)電路部分驅(qū)動(dòng)步進(jìn)電機(jī)工作。另外,單片機(jī)還要實(shí)時(shí)接收來自旋轉(zhuǎn)編碼器的反饋脈沖信號(hào),對(duì)編碼器的兩相反饋脈沖信號(hào)進(jìn)行處理,判斷步進(jìn)電機(jī)的位置和旋轉(zhuǎn)方向是否與給定信息相符合,如果不相符就調(diào)用相應(yīng)的算法進(jìn)行自動(dòng)補(bǔ)償,最終使步進(jìn)電機(jī)達(dá)到預(yù)定的位置。由于旋轉(zhuǎn)編碼器的分辨率有高有低,如果選擇高分辨率的旋轉(zhuǎn)編碼器,在細(xì)分情況下,當(dāng)步進(jìn)電機(jī)在最高轉(zhuǎn)速時(shí),要求單片機(jī)的相應(yīng)速度要符合要求。本設(shè)計(jì)選用的單片機(jī)為宏晶科技的STC12C5201單片機(jī),1個(gè)時(shí)鐘/機(jī)器周期,增強(qiáng)型8051內(nèi)核,速度比普通8051快8~12倍。一般程序稍大的可選用STC12C5202或者STC12C5204。編碼器與STC12C5201的接口如圖3所示。
需要注意的是,上位機(jī)向單片機(jī)發(fā)送控制信號(hào)的時(shí)候要經(jīng)過光耦隔離。光耦隔離的作用有兩個(gè):第一,防止電機(jī)干擾和損壞前級(jí)芯片;第二,對(duì)控制信號(hào)進(jìn)行整形。對(duì)于控制信號(hào)CLK和CW/CCW要選用中速或者高速的光耦,以保證信號(hào)經(jīng)過光耦后不會(huì)發(fā)生延遲或者變形而影響步進(jìn)電機(jī)的驅(qū)動(dòng)。
4 軟件設(shè)計(jì)
軟件設(shè)計(jì)中初始化設(shè)置要定義各端口的功能,電機(jī)的初始化主要是運(yùn)行前設(shè)置端口的I/O方向,確定所選擇的細(xì)分驅(qū)動(dòng)方式等。之后,要實(shí)時(shí)獲得電機(jī)的工作狀態(tài)和驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn),并在中斷服務(wù)程序中處理電機(jī)的丟步和轉(zhuǎn)向控制?,F(xiàn)代單片機(jī)運(yùn)行速度都很快,所以對(duì)編碼器采用軟件鑒相,既簡(jiǎn)化電路結(jié)構(gòu),又節(jié)約成本。將編碼器的A相與單片機(jī)的外部中斷INT0相連,B相與普通I/O口的P1.0相連。由于編碼器的A相與B相在輸出上有固定的相位關(guān)系,正轉(zhuǎn)與反轉(zhuǎn)時(shí)編碼器的A、B兩相的電平信號(hào)不同,正轉(zhuǎn)時(shí),每當(dāng)A相出現(xiàn)高電平的前四分之一周期時(shí),B相為高電平;反轉(zhuǎn)時(shí),每當(dāng)A相出現(xiàn)高電平的前四分之一周期時(shí),B相為低電平。因此,單片機(jī)使用外部中斷0來處理編碼器數(shù)據(jù),把編碼器的A相接中斷源。在中斷服務(wù)程序中,程序通過讀取B相(P1.0口)的狀態(tài)來確定編碼器的轉(zhuǎn)向,進(jìn)而完成加1或者減1的雙向計(jì)數(shù)。軟件程序流程如圖4所示。
結(jié)語
本文提出了基于驅(qū)動(dòng)芯片THB6064H的步進(jìn)電機(jī)閉環(huán)控制電路設(shè)計(jì)方案。硬件設(shè)計(jì)將低成本的51單片機(jī)與步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片一體化(目前基本都是分立開的),既可以實(shí)現(xiàn)所需功能,又能降低成本。該電路結(jié)構(gòu)簡(jiǎn)單、動(dòng)態(tài)特性好、適應(yīng)性強(qiáng)、速度快、精度高、性能穩(wěn)定。采用
編碼器作為位置反饋,既能使步進(jìn)電機(jī)達(dá)到伺服電機(jī)的高速度、高精度效果,又能降低成本,在各種車床、切割機(jī)、雕刻機(jī)等數(shù)控場(chǎng)合有很高的實(shí)用價(jià)值。