基于THB6064H的步進(jìn)電機(jī)閉環(huán)控制電路設(shè)計(jì)
引言
本文引用地址:http://m.butianyuan.cn/article/201603/287662.htm步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的一種裝置。它產(chǎn)生的位移與輸入脈沖數(shù)嚴(yán)格成正比,平均轉(zhuǎn)速與輸入脈沖的頻率成正比,具有結(jié)構(gòu)簡(jiǎn)單、可靠性高和成本低的特點(diǎn)。由于步進(jìn)電機(jī)沒(méi)有積累誤差,容易實(shí)現(xiàn)較高精度的位移和速度控制,被廣泛用于精確控制領(lǐng)域。由步進(jìn)電機(jī)與驅(qū)動(dòng)電路組成的開(kāi)環(huán)數(shù)控系統(tǒng)簡(jiǎn)單并且價(jià)格低廉,但有時(shí)存在振蕩和失步現(xiàn)象,故在復(fù)雜電磁環(huán)境下或是對(duì)精度要求較高的場(chǎng)合下,必須加入反饋電路組成高性能的閉環(huán)數(shù)控系統(tǒng)[1]。本文采用旋轉(zhuǎn)編碼器作為反饋器件對(duì)步進(jìn)電機(jī)實(shí)行閉環(huán)控制。
1THB6064H簡(jiǎn)介
THB6064H是在東芝公司2009年主推的TB6560AHQ的基礎(chǔ)上開(kāi)發(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ù)及過(guò)流保護(hù),當(dāng)溫度高于170 ℃時(shí)自動(dòng)斷開(kāi)所有輸出;封裝形式為HZIP25P1.27封裝[2]。
2控制原理
本文的步進(jìn)電機(jī)閉環(huán)控制方法采用核步法[3]。核步法的控制思想是從簡(jiǎn)化控制系統(tǒng)出發(fā),利用核步計(jì)數(shù)器對(duì)系統(tǒng)位置進(jìn)行跟蹤監(jiān)視,即時(shí)發(fā)出反饋控制信號(hào),從而完成對(duì)位置的控制。其基本原理如圖1所示。單片機(jī)接收來(lái)自上位機(jī)的時(shí)序脈沖信號(hào)和方向信號(hào),經(jīng)驅(qū)動(dòng)放大后送往步進(jìn)電機(jī)來(lái)控制步進(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)控制。
圖1閉環(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所示。
圖2驅(qū)動(dòng)電路
驅(qū)動(dòng)電源的電壓最高不能超過(guò)50 V,要大于芯片邏輯電壓。提高驅(qū)動(dòng)電壓可使電機(jī)在高頻范圍轉(zhuǎn)矩增大,電壓大小要根據(jù)使用情況來(lái)選擇。VMA、VMB端口是步進(jìn)電機(jī)的驅(qū)動(dòng)電源引腳,設(shè)計(jì)時(shí)應(yīng)接入瓷片去耦電容和電解電容用來(lái)穩(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è)電阻,典型值為025 Ω/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í)也要接入電容來(lái)減小干擾噪聲;ALERT為過(guò)流保護(hù)輸出端;RESET為芯片復(fù)位腳,低電平有效;OSC1A、OSC1B端口所接電容的大小決定了斬波器頻率,推薦接入100~1 000 pF的電容,此時(shí)的斬波頻率為400~44 kHz;M1、M2、M3端口分別為步進(jìn)電機(jī)驅(qū)動(dòng)的細(xì)分設(shè)置引腳,用外接撥碼開(kāi)關(guān)可設(shè)定不同的細(xì)分值,例如整步、1/2步、1/4步、1/8步等,最高可達(dá)64細(xì)分。由于步進(jìn)電機(jī)在低頻工作時(shí),可能會(huì)伴有較大的振動(dòng)和較大的噪聲,這些就需要通過(guò)細(xì)分驅(qū)動(dòng)來(lái)解決。驅(qū)動(dòng)輸出的電流調(diào)節(jié)和衰減方式調(diào)節(jié)都可通過(guò)外接撥碼開(kāi)關(guān)來(lái)實(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)速、位移傳感器,具有高頻響、分辨能力高、力矩小、耗能低、性能可靠、使用壽命長(zhǎng)等優(yōu)點(diǎn)。旋轉(zhuǎn)編碼器包括碼盤(pán)(編碼盤(pán)的線數(shù)不同)、發(fā)光元件、接收元件和信號(hào)處理部分。碼盤(pán)的線數(shù)決定了其精度。當(dāng)步進(jìn)電機(jī)帶動(dòng)碼盤(pán)旋轉(zhuǎn)時(shí),因刻線處透光,間隔處不透光,透過(guò)的光被接收元件接收并輸入到信號(hào)處理部分,產(chǎn)生脈沖信號(hào)輸出。旋轉(zhuǎn)編碼器一般分為增量式和絕對(duì)式:增量式旋轉(zhuǎn)編碼器輸出脈沖供后續(xù)電路計(jì)數(shù)和旋轉(zhuǎn)方向的判斷,能夠?qū)崿F(xiàn)多圈無(wú)限累計(jì)測(cè)量;絕對(duì)式旋轉(zhuǎn)編碼器以代碼的形式輸出來(lái)表示當(dāng)前的位置,轉(zhuǎn)動(dòng)方向是通過(guò)代碼的變化趨勢(shì)來(lái)確定的[4]。一般相同分辨率的編碼器,增量式的要比絕對(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相用來(lái)測(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)過(guò)存儲(chǔ)處理后發(fā)送給驅(qū)動(dòng)電路部分驅(qū)動(dòng)步進(jìn)電機(jī)工作。另外,單片機(jī)還要實(shí)時(shí)接收來(lái)自旋轉(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所示。
圖3編碼器與單片機(jī)接口
需要注意的是,上位機(jī)向單片機(jī)發(fā)送控制信號(hào)的時(shí)候要經(jīng)過(guò)光耦隔離。光耦隔離的作用有兩個(gè):第一,防止電機(jī)干擾和損壞前級(jí)芯片;第二,對(duì)控制信號(hào)進(jìn)行整形。對(duì)于控制信號(hào)CLK和CW/CCW要選用中速或者高速的光耦,以保證信號(hào)經(jīng)過(guò)光耦后不會(huì)發(fā)生延遲或者變形而影響步進(jìn)電機(jī)的驅(qū)動(dòng)[5]。
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)向控制[6]?,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來(lái)處理編碼器數(shù)據(jù),把編碼器的A相接中斷源。在中斷服務(wù)程序中,程序通過(guò)讀取B相(P1.0口)的狀態(tài)來(lái)確定編碼器的轉(zhuǎn)向,進(jìn)而完成加1或者減1的雙向計(jì)數(shù)[7]。軟件程序流程如圖4所示。
圖4軟件程序流程
結(jié)語(yǔ)
本文提出了基于驅(qū)動(dòng)芯片THB6064H的步進(jìn)電機(jī)閉環(huán)控制電路設(shè)計(jì)方案。硬件設(shè)計(jì)將低成本的51單片機(jī)與步進(jìn)電機(jī)專(zhuān)用驅(qū)動(dòng)芯片一體化(目前基本都是分立開(kāi)的),既可以實(shí)現(xiàn)所需功能,又能降低成本。該電路結(jié)構(gòu)簡(jiǎn)單、動(dòng)態(tài)特性好、適應(yīng)性強(qiáng)、速度快、精度高、性能穩(wěn)定。采用編碼器作為位置反饋,既能使步進(jìn)電機(jī)達(dá)到伺服電機(jī)的高速度、高精度效果,又能降低成本,在各種車(chē)床、切割機(jī)、雕刻機(jī)等數(shù)控場(chǎng)合有很高的實(shí)用價(jià)值。
評(píng)論