本發(fā)明涉及伺服控制技術(shù)領(lǐng)域,特別涉及一種編碼器的濾波方法及裝置。
背景技術(shù):
在伺服電機(jī)控制中,編碼器是電機(jī)轉(zhuǎn)子的位置和轉(zhuǎn)速的檢測(cè)裝置,對(duì)于伺服系統(tǒng)的閉環(huán)控制至關(guān)重要。常見(jiàn)的編碼器可以分為增量型編碼器和絕對(duì)值型編碼器。絕對(duì)值型編碼器就是對(duì)應(yīng)一圈,每個(gè)基準(zhǔn)的角度發(fā)出一個(gè)唯一與該角度對(duì)應(yīng)的二進(jìn)制數(shù)值,通過(guò)外部記圈器件可以進(jìn)行多個(gè)位置的記錄和測(cè)量。絕對(duì)值型編碼器分辨率高,控制準(zhǔn)確,但是由于其價(jià)格較高,所以不能完全取代增量型編碼器。
增量型編碼器就是電機(jī)轉(zhuǎn)子每轉(zhuǎn)過(guò)單位的角度時(shí)就發(fā)出一個(gè)脈沖信號(hào),通常為A相、B相、Z相輸出。其中,Z相為單圈脈沖,即每圈發(fā)出一個(gè)脈沖。由于增量型編碼器單圈分辨率較低,所以導(dǎo)致電機(jī)在運(yùn)行過(guò)程中容易產(chǎn)生抖動(dòng),特別是在低速運(yùn)行的情況下。為了消除電機(jī)低速抖動(dòng),現(xiàn)在比較常用的濾波方法比如有三二濾波。該方法是取相鄰的三個(gè)點(diǎn),如果兩個(gè)點(diǎn)為高則脈沖輸出高,如果為低則輸出低。然而,本申請(qǐng)的發(fā)明人發(fā)現(xiàn):這種方法可以濾掉比較窄的脈沖,但是對(duì)于稍寬的脈沖的話(huà),該方法就不能濾除。因此,現(xiàn)有技術(shù)中,對(duì)于使用增量型編碼器的伺服控制系統(tǒng),仍然無(wú)法有效消除電機(jī)低速抖動(dòng)的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明部分實(shí)施方式的目的在于提供一種編碼器的濾波方法及裝置,使得可以有效濾除電機(jī)低速抖動(dòng)時(shí)的波形,從而可以提高伺服的控制精度和穩(wěn)定性。
為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施方式提供了一種編碼器的濾波方法,包括:檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向;根據(jù)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向?qū)⒕幋a器在即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)輸出的特定波形濾除;其中所述特定波形為與所述當(dāng)前的整體運(yùn)轉(zhuǎn)方向不相符的波形。
本發(fā)明的實(shí)施方式還提供了一種編碼器的濾波裝置,包括:檢測(cè)模塊,用于檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向;濾波模塊,用于根據(jù)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向?qū)⒕幋a器在即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)輸出的特定波形濾除;其中所述特定波形為與所述當(dāng)前的整體運(yùn)轉(zhuǎn)方向不相符的波形。
本發(fā)明實(shí)施方式相對(duì)于現(xiàn)有技術(shù)而言,由于電機(jī)在低速運(yùn)轉(zhuǎn)時(shí),容易出現(xiàn)抖動(dòng),進(jìn)而導(dǎo)致編碼器輸出一些反轉(zhuǎn)波形,而該些反轉(zhuǎn)波形的存在容易影響伺服的控制精度以及電機(jī)運(yùn)轉(zhuǎn)的穩(wěn)定性,并且采用現(xiàn)有的三二濾波方法難以有效濾除該種低速抖動(dòng)產(chǎn)生的反轉(zhuǎn)波形,而本實(shí)施方式基于電機(jī)在運(yùn)轉(zhuǎn)過(guò)程中通常不會(huì)發(fā)生加速度突變的情況,通過(guò)預(yù)先判斷出電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向再對(duì)接下來(lái)的反轉(zhuǎn)波形進(jìn)行濾除,從而可以準(zhǔn)確、有效地排除電機(jī)低速抖動(dòng)對(duì)伺服控制精度的影響,有利于電機(jī)的穩(wěn)定性。
另外,所述檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,具體包括:統(tǒng)計(jì)當(dāng)前時(shí)刻之前的第二預(yù)設(shè)時(shí)間段內(nèi)所述電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間;其中,所述第二預(yù)設(shè)時(shí)間段和所述第一預(yù)設(shè)時(shí)間段相連續(xù);根據(jù)所述正向運(yùn)轉(zhuǎn)的總時(shí)間和所述反向運(yùn)轉(zhuǎn)的總時(shí)間判斷所述電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。通過(guò)統(tǒng)計(jì)一段時(shí)間內(nèi)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間,并根據(jù)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間,可以準(zhǔn)確判斷出電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
另外,根據(jù)所述正向運(yùn)轉(zhuǎn)的總時(shí)間和所述反向運(yùn)轉(zhuǎn)的總時(shí)間判斷所述電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,具體包括:如果所述正向運(yùn)轉(zhuǎn)的總時(shí)間與所述反向運(yùn)轉(zhuǎn)的總時(shí)間之比大于第一預(yù)設(shè)閾值,則判定所述當(dāng)前的整體運(yùn)轉(zhuǎn)方向?yàn)檎蜻\(yùn)轉(zhuǎn);如果所述正向運(yùn)轉(zhuǎn)的總時(shí)間和所述反向運(yùn)轉(zhuǎn)的總時(shí)間之比小于第二預(yù)設(shè)閾值,則判定所述當(dāng)前的整體運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn)。由此,可以方便地判斷出電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
另外,所述統(tǒng)計(jì)當(dāng)前時(shí)刻之前的第二預(yù)設(shè)時(shí)間段內(nèi)所述電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間,具體包括:在所述第二預(yù)設(shè)時(shí)間段內(nèi),根據(jù)所述編碼器輸出的A相、B相脈沖的延遲關(guān)系判斷所述電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向;其中所述A相脈沖超前所述B相脈沖四分之一周期時(shí),判定所述電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)檎蜻\(yùn)轉(zhuǎn);所述A相脈沖落后所述B相脈沖四分之一周期時(shí),判定所述電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn);統(tǒng)計(jì)所述第二預(yù)設(shè)時(shí)間段內(nèi)電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向以及與所述實(shí)際運(yùn)轉(zhuǎn)方向?qū)?yīng)的運(yùn)轉(zhuǎn)時(shí)長(zhǎng)。由此,可以高效地計(jì)算出電機(jī)當(dāng)前的實(shí)際運(yùn)轉(zhuǎn)方向。
另外,所述第二預(yù)設(shè)時(shí)間段為兩個(gè)脈沖周期。通過(guò)統(tǒng)計(jì)兩個(gè)脈沖周期內(nèi)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間,從而可以準(zhǔn)確判斷電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
另外,當(dāng)所述第二預(yù)設(shè)時(shí)間段的起始時(shí)間為所述電機(jī)的初始運(yùn)行時(shí)間時(shí),在所述第二預(yù)設(shè)時(shí)間段內(nèi),根據(jù)所述電機(jī)的初始運(yùn)轉(zhuǎn)方向,將編碼器在所述第二預(yù)設(shè)時(shí)間段內(nèi)實(shí)際輸出的特定波形濾除;其中,所述特定波形為與所述初始運(yùn)轉(zhuǎn)方向不相符的波形。從而,可以消除電機(jī)在初始運(yùn)行時(shí)間出現(xiàn)抖動(dòng)時(shí)對(duì)伺服控制精度的影響。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明第一實(shí)施方式編碼器的濾波方法的流程圖;
圖2是根據(jù)本發(fā)明第二實(shí)施方式編碼器的濾波方法的流程圖;
圖3是根據(jù)本發(fā)明第二實(shí)施方式編碼器的濾波方法中電機(jī)正向運(yùn)轉(zhuǎn)時(shí)編碼器輸出的A相、B相脈沖的轉(zhuǎn)換順序示意圖;
圖4是根據(jù)本發(fā)明第二實(shí)施方式編碼器的濾波方法中電機(jī)反向運(yùn)轉(zhuǎn)時(shí)編碼器輸出的A相、B相脈沖的轉(zhuǎn)換順序示意圖;
圖5是根據(jù)本發(fā)明第二實(shí)施方式編碼器的濾波方法的濾波示意圖;
圖6是根據(jù)本發(fā)明第三實(shí)施方式編碼器的濾波裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明第四實(shí)施方式編碼器的濾波裝置中檢測(cè)模塊的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的各實(shí)施方式進(jìn)行詳細(xì)的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實(shí)施方式中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,即使沒(méi)有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)所要求保護(hù)的技術(shù)方案。
本發(fā)明的第一實(shí)施方式涉及一種編碼器的濾波方法,舉例而言,該濾波方法可以應(yīng)用于增量型編碼器的濾波。
如圖1所示,該濾波方法包括如下步驟:
步驟102:檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
步驟104:根據(jù)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向?qū)⒕幋a器在即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)輸出的特定波形濾除。其中特定波形為與當(dāng)前的整體運(yùn)轉(zhuǎn)方向不相符的波形。
通常,在電機(jī)運(yùn)行過(guò)程中,不會(huì)發(fā)生加速度突變,電機(jī)不會(huì)突然發(fā)生反轉(zhuǎn),即電機(jī)的整體運(yùn)轉(zhuǎn)方向是穩(wěn)定的。所謂電機(jī)的整體運(yùn)轉(zhuǎn)方向,對(duì)于增量型編碼器而言,例如可以是指若干個(gè)脈沖周期內(nèi)電機(jī)的運(yùn)轉(zhuǎn)方向。因此,在步驟102中,檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,即可作為電機(jī)下一時(shí)間段內(nèi)的運(yùn)轉(zhuǎn)方向。從而,在步驟104中,當(dāng)在第一預(yù)設(shè)時(shí)間段內(nèi),根據(jù)編碼器輸出的脈沖,實(shí)際判斷出電機(jī)瞬時(shí)的運(yùn)轉(zhuǎn)方向與電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向相反時(shí),不輸出該運(yùn)轉(zhuǎn)方向相反的瞬時(shí)脈沖。比如說(shuō),電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向是正向運(yùn)轉(zhuǎn),當(dāng)前時(shí)刻為t,在t時(shí)刻之后的第一個(gè)脈沖周期內(nèi),例如在t1時(shí)刻至t2時(shí)刻之間,檢測(cè)到一個(gè)A相脈沖P1,且根據(jù)t1時(shí)刻脈沖P1的跳變關(guān)系判斷出電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn),此時(shí),在第一預(yù)設(shè)時(shí)間段內(nèi),則不輸出該脈沖P1,即當(dāng)t1時(shí)刻之前的A相脈沖為低時(shí),在t1至t2時(shí)刻之間繼續(xù)輸出低,或者,當(dāng)t1時(shí)刻之前的A相脈沖為高時(shí),在t1至t2時(shí)刻之間繼續(xù)輸出高。
本實(shí)施方式與現(xiàn)有技術(shù)相比,利用電機(jī)運(yùn)行時(shí)電機(jī)運(yùn)轉(zhuǎn)方向不會(huì)發(fā)生突變的規(guī)律,根據(jù)檢測(cè)出的電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,將即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)的,與當(dāng)前的整體運(yùn)轉(zhuǎn)方向相反的波形濾除,從而使得伺服控制系統(tǒng)可以在消除電機(jī)低速抖動(dòng)的影響的前提下對(duì)電機(jī)提供更為精確的控制,有利于提高電機(jī)運(yùn)轉(zhuǎn)的穩(wěn)定性。
本發(fā)明的第二實(shí)施方式涉及一種編碼器的濾波方法。第二實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上做出改進(jìn),主要改進(jìn)之處在于:在第二實(shí)施方式中,進(jìn)一步限定了電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向的檢測(cè)的方法,使得檢測(cè)到的電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向較為準(zhǔn)確。
如圖2所示,本實(shí)施方式的濾波方法包括如下步驟:
步驟202:檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
步驟202中,包括如下子步驟:
子步驟2022:統(tǒng)計(jì)當(dāng)前時(shí)刻之前的第二預(yù)設(shè)時(shí)間段內(nèi)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間。
子步驟2022中,第二預(yù)設(shè)時(shí)間段和第一預(yù)設(shè)時(shí)間段在時(shí)間上相連續(xù)。
為了準(zhǔn)確地判斷電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,需要合理設(shè)定第二預(yù)設(shè)時(shí)間段的時(shí)長(zhǎng),舉例而言,第二預(yù)設(shè)時(shí)間段可以設(shè)定為兩個(gè)脈沖周期,即在每?jī)蓚€(gè)脈沖周期內(nèi),分別統(tǒng)計(jì)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間。第一預(yù)設(shè)時(shí)間段可以為一個(gè)脈沖周期。這樣,在當(dāng)前時(shí)刻,由當(dāng)前時(shí)刻起,取早于當(dāng)前時(shí)刻的兩個(gè)脈沖周期作為第二預(yù)設(shè)時(shí)間段,由當(dāng)前時(shí)刻起,取下一個(gè)脈沖周期作為第一預(yù)設(shè)時(shí)間段。子步驟2022中,統(tǒng)計(jì)當(dāng)前時(shí)刻之前的第二預(yù)設(shè)時(shí)間段內(nèi)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間具體包括:
在第二預(yù)設(shè)時(shí)間段內(nèi),根據(jù)編碼器輸出的A相、B相脈沖的延遲關(guān)系判斷電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向。以增量型編碼器為例,增量型編碼器輸出A相、B相、Z相脈沖,其中,當(dāng)A相脈沖超前B相脈沖四分之一周期時(shí),判定電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)檎蜻\(yùn)轉(zhuǎn)。當(dāng)A相脈沖落后B相脈沖四分之一周期時(shí),判定電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn)。根據(jù)該延遲關(guān)系,可以得到如圖3、圖4所示,電機(jī)正向運(yùn)轉(zhuǎn)、反向運(yùn)轉(zhuǎn)時(shí),A相脈沖和B相脈沖的轉(zhuǎn)換順序。根據(jù)圖3、圖4所示的A相脈沖、B相脈沖的轉(zhuǎn)換順序,可以在編碼器中預(yù)設(shè)脈沖轉(zhuǎn)換與電機(jī)實(shí)際運(yùn)轉(zhuǎn)方向的對(duì)應(yīng)關(guān)系,該對(duì)應(yīng)關(guān)系如表一所示。
表一
再根據(jù)表一所示的對(duì)應(yīng)關(guān)系可以判斷出電機(jī)瞬時(shí)的實(shí)際運(yùn)轉(zhuǎn)方向。在判斷出電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向之后,可以統(tǒng)計(jì)與實(shí)際運(yùn)轉(zhuǎn)方向?qū)?yīng)的運(yùn)轉(zhuǎn)時(shí)長(zhǎng),本實(shí)施方式中,統(tǒng)計(jì)第二預(yù)設(shè)時(shí)間段內(nèi)電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向以及與實(shí)際運(yùn)轉(zhuǎn)方向?qū)?yīng)的運(yùn)轉(zhuǎn)時(shí)長(zhǎng)。例如,當(dāng)A相脈沖或者B相脈沖發(fā)生跳變時(shí),開(kāi)始計(jì)時(shí),當(dāng)A相脈沖和B相脈沖再次發(fā)生跳變時(shí),可以統(tǒng)計(jì)出兩次跳變之間的時(shí)長(zhǎng),并且可以判斷出兩次跳變之間的電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向。
子步驟2024:根據(jù)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間判斷電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
具體而言,如果正向運(yùn)轉(zhuǎn)的總時(shí)間與反向運(yùn)轉(zhuǎn)的總時(shí)間之比大于第一預(yù)設(shè)閾值,則判定當(dāng)前的整體運(yùn)轉(zhuǎn)方向?yàn)檎蜻\(yùn)轉(zhuǎn)。如果正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間之比小于第二預(yù)設(shè)閾值,則判定當(dāng)前的整體運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn)。第一預(yù)設(shè)閾值和第二預(yù)設(shè)閾值可以根據(jù)實(shí)際需要進(jìn)行設(shè)定。例如,當(dāng)電機(jī)是由反向運(yùn)轉(zhuǎn)向正向運(yùn)轉(zhuǎn)轉(zhuǎn)換時(shí),該第一預(yù)設(shè)閾值例如可以設(shè)置為20%,由于電機(jī)低速抖動(dòng)的時(shí)間非常短,所以電機(jī)由反向運(yùn)轉(zhuǎn)切向正向運(yùn)轉(zhuǎn)時(shí),由抖動(dòng)而導(dǎo)致的正向運(yùn)轉(zhuǎn)時(shí)間通常不會(huì)大于20%。同樣,當(dāng)反向運(yùn)轉(zhuǎn)的總時(shí)間遠(yuǎn)大于正向運(yùn)轉(zhuǎn)的總時(shí)間時(shí),即正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間之比小于第二預(yù)設(shè)閾值,第二預(yù)設(shè)閾值例如為5%,而5%這個(gè)數(shù)值可以根據(jù)電機(jī)低速運(yùn)轉(zhuǎn)產(chǎn)生抖動(dòng)的經(jīng)驗(yàn)得出,則判斷出電機(jī)的運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn)。
步驟204:根據(jù)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向?qū)⒕幋a器在即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)輸出的特定波形濾除。
值得一提的是,本實(shí)施方式中,當(dāng)?shù)诙A(yù)設(shè)時(shí)間段的起始時(shí)間為電機(jī)的初始運(yùn)行時(shí)間時(shí),在第二預(yù)設(shè)時(shí)間段內(nèi),還可以根據(jù)電機(jī)的初始運(yùn)轉(zhuǎn)方向,將編碼器在第二預(yù)設(shè)時(shí)間段內(nèi)實(shí)際輸出的特定波形濾除。該特定波形為與初始運(yùn)轉(zhuǎn)方向不相符的波形。
結(jié)合圖5所示,對(duì)本實(shí)施方式的濾波方法進(jìn)行舉例說(shuō)明如下:
圖5中,Direct示出了電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向,包括電機(jī)發(fā)生抖動(dòng)時(shí)的運(yùn)轉(zhuǎn)方向,其中,當(dāng)Direct為高時(shí),表示電機(jī)正向運(yùn)轉(zhuǎn),當(dāng)Direct為低時(shí),表示電機(jī)反向運(yùn)轉(zhuǎn)。Real_A、Real_B分別為編碼器實(shí)際輸出的A相、B相脈沖,F(xiàn)ilter_A、Filter_B為采取本實(shí)施方式的濾波方法濾波后輸出的波形。如表二所示,為根據(jù)Real_A、Real_B的輸出以及表一確定出的電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向Direct。
表二
由圖5可知,在t0至t1的脈沖周期內(nèi),A相脈沖出現(xiàn)了一個(gè)反轉(zhuǎn),實(shí)際為電機(jī)出現(xiàn)了一次抖動(dòng),在t1至t2的脈沖周期內(nèi),B相脈沖出現(xiàn)了一個(gè)反轉(zhuǎn),實(shí)際為電機(jī)出現(xiàn)了一次抖動(dòng)。由于抖動(dòng)造成的反轉(zhuǎn)時(shí)間并不會(huì)很長(zhǎng),所以t0至t2兩個(gè)脈沖周期內(nèi)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間遠(yuǎn)大于反向運(yùn)轉(zhuǎn)的總時(shí)間,所以在t2時(shí)刻,可以判斷出,電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向?yàn)檎蜻\(yùn)轉(zhuǎn),接下來(lái),在t2至t3時(shí)間段內(nèi),當(dāng)電機(jī)出現(xiàn)抖動(dòng)時(shí),出現(xiàn)了一個(gè)反轉(zhuǎn)脈沖,由于當(dāng)前時(shí)間段內(nèi)電機(jī)的整體運(yùn)轉(zhuǎn)方向?yàn)檎颍钥梢暂敵鰹V除掉該反轉(zhuǎn)脈沖的波形給伺服系統(tǒng),從而實(shí)現(xiàn)對(duì)于電機(jī)的精確控制,提高電機(jī)運(yùn)行的穩(wěn)定性。
上面各種方法的步驟劃分,只是為了描述清楚,實(shí)現(xiàn)時(shí)可以合并為一個(gè)步驟或者對(duì)某些步驟進(jìn)行拆分,分解為多個(gè)步驟,只要包含相同的邏輯關(guān)系,都在本專(zhuān)利的保護(hù)范圍內(nèi);對(duì)算法中或者流程中添加無(wú)關(guān)緊要的修改或者引入無(wú)關(guān)緊要的設(shè)計(jì),但不改變其算法和流程的核心設(shè)計(jì)都在該專(zhuān)利的保護(hù)范圍內(nèi)。
本發(fā)明第三實(shí)施方式涉及一種編碼器的濾波裝置。
如圖6所示,該濾波裝置6包括:
檢測(cè)模塊60,用于檢測(cè)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
濾波模塊61,用于根據(jù)電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向?qū)⒕幋a器在即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)輸出的特定波形濾除。其中特定波形為與當(dāng)前的整體運(yùn)轉(zhuǎn)方向不相符的波形。
通常,在電機(jī)運(yùn)行過(guò)程中,不會(huì)發(fā)生加速度突變,電機(jī)不會(huì)突然發(fā)生反轉(zhuǎn),即電機(jī)的整體運(yùn)轉(zhuǎn)方向是穩(wěn)定的。所謂電機(jī)的整體運(yùn)轉(zhuǎn)方向,對(duì)于增量型編碼器而言,例如可以是指若干個(gè)脈沖周期內(nèi)電機(jī)的運(yùn)轉(zhuǎn)方向。因此,可以將檢測(cè)模塊60檢測(cè)到的電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,作為電機(jī)下一時(shí)間段內(nèi)的運(yùn)轉(zhuǎn)方向。從而,濾波模塊61在第一預(yù)設(shè)時(shí)間段內(nèi),根據(jù)編碼器輸出的脈沖,實(shí)際判斷出電機(jī)瞬時(shí)的運(yùn)轉(zhuǎn)方向與電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向相反時(shí),可以輸出將該脈沖濾除后的波形。
本實(shí)施方式與現(xiàn)有技術(shù)相比,利用電機(jī)運(yùn)行時(shí)電機(jī)運(yùn)轉(zhuǎn)方向不會(huì)發(fā)生突變的規(guī)律,根據(jù)檢測(cè)出的電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向,將即將到來(lái)的第一預(yù)設(shè)時(shí)間段內(nèi)的,與當(dāng)前的整體運(yùn)轉(zhuǎn)方向相反的波形濾除,從而使得伺服控制系統(tǒng)可以在消除電機(jī)低速抖動(dòng)的影響的前提下對(duì)電機(jī)提供更為精確的控制,有利于提高電機(jī)運(yùn)轉(zhuǎn)的穩(wěn)定性。
不難發(fā)現(xiàn),本實(shí)施方式為與第一實(shí)施方式相對(duì)應(yīng)的裝置實(shí)施例,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。
值得一提的是,本實(shí)施方式中所涉及到的各模塊均為邏輯模塊,在實(shí)際應(yīng)用中,一個(gè)邏輯單元可以是一個(gè)物理單元,也可以是一個(gè)物理單元的一部分,還可以以多個(gè)物理單元的組合實(shí)現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實(shí)施方式中并沒(méi)有將與解決本發(fā)明所提出的技術(shù)問(wèn)題關(guān)系不太密切的單元引入,但這并不表明本實(shí)施方式中不存在其它的單元。
本發(fā)明第四實(shí)施方式涉及一種編碼器濾波裝置。第四實(shí)施方式在第三實(shí)施方式的基礎(chǔ)上做出改進(jìn),主要改進(jìn)之處在于:在第四實(shí)施方式中,對(duì)檢測(cè)模塊做出了進(jìn)一步限定,使得檢測(cè)到的電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向較為準(zhǔn)確。
如圖7所示,第四實(shí)施方式的檢測(cè)模塊60包括:
運(yùn)轉(zhuǎn)時(shí)長(zhǎng)統(tǒng)計(jì)子模塊601,用于統(tǒng)計(jì)當(dāng)前時(shí)刻之前的第二預(yù)設(shè)時(shí)間段內(nèi)電機(jī)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間。其中,第二預(yù)設(shè)時(shí)間段和第一預(yù)設(shè)時(shí)間段相連續(xù),
整體運(yùn)轉(zhuǎn)方向判斷子模塊602,用于根據(jù)正向運(yùn)轉(zhuǎn)的總時(shí)間和反向運(yùn)轉(zhuǎn)的總時(shí)間判斷電機(jī)當(dāng)前的整體運(yùn)轉(zhuǎn)方向。
其中,運(yùn)轉(zhuǎn)時(shí)長(zhǎng)統(tǒng)計(jì)子模塊還包括:
實(shí)際運(yùn)轉(zhuǎn)方向判斷子單元,用于在第二預(yù)設(shè)時(shí)間段內(nèi),根據(jù)編碼器輸出的A相、B相脈沖的延遲關(guān)系判斷電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向。其中A相脈沖超前B相脈沖四分之一周期時(shí),判定電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)檎蜻\(yùn)轉(zhuǎn)。A相脈沖落后B相脈沖四分之一周期時(shí),判定電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向?yàn)榉聪蜻\(yùn)轉(zhuǎn)。統(tǒng)計(jì)子單元,用于統(tǒng)計(jì)第二預(yù)設(shè)時(shí)間段內(nèi)電機(jī)的實(shí)際運(yùn)轉(zhuǎn)方向以及與實(shí)際運(yùn)轉(zhuǎn)方向?qū)?yīng)的運(yùn)轉(zhuǎn)時(shí)長(zhǎng)。
本實(shí)施方式與現(xiàn)有技術(shù)相比,可以實(shí)時(shí)、準(zhǔn)確、有效地將電機(jī)低速運(yùn)行時(shí)由于抖動(dòng)產(chǎn)生的異常波形濾除,從而提高伺服系統(tǒng)的控制精度以及電機(jī)運(yùn)行的穩(wěn)定性。
由于第二實(shí)施方式與本實(shí)施方式相互對(duì)應(yīng),因此本實(shí)施方式可與第二實(shí)施方式互相配合實(shí)施。第二實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,在第二實(shí)施方式中所能達(dá)到的技術(shù)效果在本實(shí)施方式中也同樣可以實(shí)現(xiàn),為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第二實(shí)施方式中。
本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一個(gè)設(shè)備(可以是單片機(jī),芯片等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本領(lǐng)域的普通技術(shù)人員可以理解,上述各實(shí)施方式是實(shí)現(xiàn)本發(fā)明的具體實(shí)施例,而在實(shí)際應(yīng)用中,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。