两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種伺服電機(jī)位置控制方法

文檔序號(hào):6319591閱讀:291來(lái)源:國(guó)知局
專利名稱:一種伺服電機(jī)位置控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種伺服電機(jī)控制方法,尤其是涉及一種伺服電機(jī)位置控制方法。
背景技術(shù)
伺服電機(jī)又稱執(zhí)行電動(dòng)機(jī),在自動(dòng)控制系統(tǒng)中用作執(zhí)行元件,伺服電機(jī)具有精度高、 速度快、可靠性高、操作性好等優(yōu)點(diǎn)。
伺服電機(jī)一般是由脈沖信號(hào)驅(qū)動(dòng)的,其轉(zhuǎn)動(dòng)的角度是由脈沖信號(hào)的脈沖個(gè)數(shù)決定 的,這就需要一個(gè)高精度的計(jì)數(shù)器來(lái)對(duì)脈沖信號(hào)的脈沖個(gè)數(shù)進(jìn)行精確計(jì)數(shù)以確定伺服電 機(jī)的位置,同時(shí)由于可能計(jì)數(shù)的脈沖個(gè)數(shù)較多,這樣要求該高精度的計(jì)數(shù)器同時(shí)具有較 多的位數(shù)。目前,對(duì)脈沖信號(hào)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)通常采用兩種方法,第一種方法直 接采用市售的計(jì)數(shù)器,將該計(jì)數(shù)器與用于產(chǎn)生脈沖信號(hào)的可編程信號(hào)發(fā)生器連接,可編 程信號(hào)發(fā)生器與伺服電機(jī)連接,開(kāi)啟可編程信號(hào)發(fā)生器,可編程信號(hào)發(fā)生器產(chǎn)生脈沖信 號(hào)和方向信號(hào),并將脈沖信號(hào)和方向信號(hào)同時(shí)傳輸給伺服電機(jī)和計(jì)數(shù)器,輸入到伺服電 機(jī)的脈沖信號(hào)驅(qū)動(dòng)伺服電機(jī)工作,輸入到計(jì)數(shù)器的脈沖信號(hào)作為計(jì)數(shù)器的計(jì)數(shù)信號(hào),計(jì) 數(shù)器通過(guò)計(jì)數(shù)信號(hào)對(duì)輸入到伺服電機(jī)的脈沖信號(hào)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),并保存計(jì)數(shù)值, 當(dāng)保存的計(jì)數(shù)值到達(dá)預(yù)設(shè)的目標(biāo)計(jì)數(shù)值時(shí),計(jì)數(shù)器向可編程信號(hào)發(fā)生器輸出溢出信號(hào), 該溢出信號(hào)控制可編程信號(hào)發(fā)生器停止工作即停止輸出脈沖信號(hào),從而使得伺服電機(jī)也 停止工作,有效地實(shí)現(xiàn)了對(duì)伺服電機(jī)的轉(zhuǎn)動(dòng)角度即位置的控制,在該方法中計(jì)數(shù)器可采
用市售的型號(hào)為8253的計(jì)數(shù)器或型號(hào)為8254的計(jì)數(shù)器等;第二種方法直接利用計(jì)數(shù)
控制程序來(lái)進(jìn)行脈沖個(gè)數(shù)的計(jì)數(shù),當(dāng)計(jì)數(shù)控制程序中所計(jì)的計(jì)數(shù)值到達(dá)預(yù)設(shè)的目標(biāo)計(jì)數(shù) 值時(shí),計(jì)數(shù)控制程序控制可編程信號(hào)發(fā)生器停止向伺服電機(jī)傳輸脈沖信號(hào)。上述第一種 方法雖然能夠有效保證對(duì)脈沖信號(hào)的脈沖個(gè)數(shù)的計(jì)數(shù)精度,也可通過(guò)采用不同位數(shù)的計(jì) 數(shù)器滿足不同的計(jì)數(shù)位數(shù)要求,但在計(jì)數(shù)的脈沖個(gè)數(shù)較多的情況下,要求計(jì)數(shù)器具有較 多的位數(shù),這樣隨著計(jì)數(shù)器位數(shù)的增加必然使成本急劇提高,而且隨著計(jì)數(shù)器位數(shù)的增
加也將大大降低計(jì)數(shù)速度,無(wú)法適應(yīng)高速計(jì)數(shù)的要求;第二種方法由于利用了計(jì)數(shù)控制 程序,所以不像第一種方法中的計(jì)數(shù)器存在位數(shù)的限制,其在位數(shù)上可以隨意增加,適 用于需計(jì)數(shù)較多脈沖個(gè)數(shù)的情況,另一方面由于無(wú)需采用現(xiàn)有的計(jì)數(shù)器進(jìn)行計(jì)數(shù),所以 大大降低了硬件開(kāi)支,但利用計(jì)數(shù)控制程序進(jìn)行計(jì)數(shù)存在計(jì)數(shù)精度不高這一致命的缺 陷,無(wú)法適應(yīng)高精度計(jì)數(shù)的要求,另外,隨著位數(shù)的增加也將降低計(jì)數(shù)速度,無(wú)法適應(yīng)高速計(jì)數(shù)的要求,也無(wú)法適應(yīng)實(shí)時(shí)要求。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種保證計(jì)數(shù)精度的同時(shí),能夠增加計(jì)數(shù)位數(shù)并 有效提高計(jì)數(shù)速度,適應(yīng)高精度高速度計(jì)數(shù)的要求,且硬件成本較低的伺服電機(jī)位置控 制方法。
本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為 一種伺服電機(jī)位置控制方法,將用 于產(chǎn)生脈沖信號(hào)的可編程信號(hào)發(fā)生器分別與伺服電機(jī)和計(jì)數(shù)器連接,再將計(jì)數(shù)器與一個(gè) 具有計(jì)數(shù)控制程序的控制器連接,計(jì)數(shù)控制程序中預(yù)先設(shè)置有一個(gè)目標(biāo)計(jì)數(shù)值,當(dāng)目標(biāo) 計(jì)數(shù)值與己計(jì)數(shù)的總計(jì)數(shù)值之差大于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器 清零重新開(kāi)始計(jì)數(shù),當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差小于等于計(jì)數(shù)器的最大計(jì)數(shù) 值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器以計(jì)數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì) 數(shù)值之差的結(jié)果為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),在計(jì)數(shù)器的計(jì)數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)計(jì) 數(shù)器產(chǎn)生溢出信號(hào),可編程信號(hào)發(fā)生器在溢出信號(hào)的作用下停止產(chǎn)生脈沖信號(hào),達(dá)到對(duì) 伺服電機(jī)位置的控制,該伺服電機(jī)位置控制方法的具體步驟為
① 在計(jì)數(shù)控制程序中預(yù)先設(shè)置一個(gè)用于標(biāo)示伺服電機(jī)轉(zhuǎn)動(dòng)角度的目標(biāo)計(jì)數(shù)值、 一個(gè) 總計(jì)數(shù)值及一個(gè)中間變量值,記目標(biāo)計(jì)數(shù)值為toto/,記總計(jì)數(shù)值為^m,記中間變量值
為W附',其中,犯/W的初始值為0, SW附'的初始值為0;
② 開(kāi)啟可編程信號(hào)發(fā)生器、計(jì)數(shù)器、控制器及伺服電機(jī),控制器中的計(jì)數(shù)控制程序 控制計(jì)數(shù)器清零,同時(shí)清除計(jì)數(shù)器的溢出信號(hào),使可編程信號(hào)發(fā)生器開(kāi)始產(chǎn)生可變頻率 的脈沖信號(hào)和方向信號(hào),可編程信號(hào)發(fā)生器將其產(chǎn)生的脈沖信號(hào)和方向信號(hào)同時(shí)傳輸給 伺服電機(jī)和計(jì)數(shù)器,輸入到伺服電機(jī)的脈沖信號(hào)驅(qū)動(dòng)伺服電機(jī)開(kāi)始工作,輸入到計(jì)數(shù)器 的脈沖信號(hào)作為計(jì)數(shù)信號(hào)使計(jì)數(shù)器開(kāi)始脈沖個(gè)數(shù)的計(jì)數(shù);
③ 當(dāng)計(jì)數(shù)器對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間到達(dá)設(shè)定的時(shí)間間隔時(shí),計(jì)數(shù)控 制程序讀取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,記為fl,然后將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值a與總計(jì)數(shù)值wm
相加,并將相加的結(jié)果保存到中間變量值犯w'中,再將中間變量值wm'賦值給總計(jì)數(shù)值 S謂;
④ 計(jì)數(shù)控制程序計(jì)算目標(biāo)計(jì)數(shù)值Mto/與總計(jì)數(shù)值wm之差,記為6,判斷目標(biāo)計(jì)數(shù) 值toto/與總計(jì)數(shù)值ww之差6是否大于計(jì)數(shù)器的最大計(jì)數(shù)值,如果是,則計(jì)數(shù)控制程序 控制計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),并返回執(zhí)行步驟③,否則,計(jì)數(shù)控制程序計(jì)算計(jì)數(shù)器的 最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值toto/與總計(jì)數(shù)值wm之差6的結(jié)果,記為c,計(jì)數(shù)控制程序 控制計(jì)數(shù)器以結(jié)果c為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)器的計(jì)數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值
5時(shí),計(jì)數(shù)器產(chǎn)生溢出信號(hào),并將溢出信號(hào)傳輸給可編程信號(hào)發(fā)生器,可編程信號(hào)發(fā)生器 接收到溢出信號(hào)后停止產(chǎn)生脈沖信號(hào)和方向信號(hào),實(shí)現(xiàn)對(duì)伺服電機(jī)位置的精確控制。 所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)大于等于8位且小于等于16位的計(jì)數(shù)器。 所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)為8位的計(jì)數(shù)器,所述的8位的計(jì)數(shù)器的最 大計(jì)數(shù)值為255。
所述的計(jì)數(shù)器采用現(xiàn)有市售的最大計(jì)數(shù)值在100 65535范圍內(nèi)的計(jì)數(shù)器。
所述的步驟③中設(shè)定的時(shí)間間隔為計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)小于計(jì)數(shù)器的最大計(jì)數(shù) 值時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)為8位的計(jì)數(shù)器,所述的步驟③中設(shè)定的時(shí) 間間隔為計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)在50 250范圍內(nèi)時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)為8位的計(jì)數(shù)器,所述的步驟③中設(shè)定的時(shí) 間間隔為計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)為100時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于通過(guò)將計(jì)數(shù)器與計(jì)數(shù)控制程序結(jié)合使用,且在 計(jì)數(shù)控制程序中預(yù)先設(shè)置一個(gè)目標(biāo)計(jì)數(shù)值,當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差大于 計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),當(dāng)目標(biāo)計(jì)數(shù)值與 已計(jì)數(shù)的總計(jì)數(shù)值之差小于等于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器以計(jì) 數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差的結(jié)果為計(jì)數(shù)初值繼續(xù)計(jì) 數(shù),在計(jì)數(shù)器的計(jì)數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值(如8位計(jì)數(shù)器的最大計(jì)數(shù)值為255)時(shí) 即計(jì)數(shù)器的計(jì)數(shù)值到達(dá)計(jì)數(shù)器的模值(8位計(jì)數(shù)器的模值為256)時(shí)計(jì)數(shù)器產(chǎn)生溢出信號(hào), 可編程信號(hào)發(fā)生器在溢出信號(hào)的作用下停止產(chǎn)生脈沖信號(hào),達(dá)到了對(duì)伺服電機(jī)位置的控 制,由于計(jì)數(shù)器具有計(jì)數(shù)速度快、計(jì)數(shù)精度高,而計(jì)數(shù)控制程序具有控制靈活性好且可 根據(jù)需要隨意增加計(jì)數(shù)位數(shù),因而在保證了計(jì)數(shù)精度和計(jì)數(shù)速度的同時(shí),有效提高了計(jì) 數(shù)位數(shù),適應(yīng)于高精度高速度計(jì)數(shù)且需計(jì)數(shù)較多脈沖個(gè)數(shù)的場(chǎng)合,從而可實(shí)現(xiàn)對(duì)伺服電 機(jī)位置的精確控制;另外,由于使用了計(jì)數(shù)控制程序來(lái)分擔(dān)計(jì)數(shù),使得對(duì)計(jì)數(shù)器的位數(shù) 的要求降低,從而有效降低了硬件成本,對(duì)計(jì)數(shù)長(zhǎng)度無(wú)要求;同時(shí)也正好完成對(duì)計(jì)數(shù)控 制程序的監(jiān)視功能,當(dāng)計(jì)數(shù)控制程序出現(xiàn)故障或速度過(guò)慢時(shí),計(jì)數(shù)器溢出產(chǎn)生溢出信號(hào), 溢出信號(hào)使可編程信號(hào)發(fā)生器停止產(chǎn)生脈沖信號(hào),此時(shí)伺服電機(jī)在沒(méi)有脈沖信號(hào)的驅(qū)動(dòng) 下也停止了工作,從而有效防止了伺服電機(jī)的飛車。


圖1為本發(fā)明方法中各部件的連接示意圖; 圖2為本發(fā)明方法的流程框圖。
具體實(shí)施例方式
以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
在對(duì)伺服電機(jī)的位置進(jìn)行控制時(shí),如果純粹使用計(jì)數(shù)器來(lái)實(shí)現(xiàn),則隨著計(jì)數(shù)器位數(shù) 的增加,將導(dǎo)致計(jì)數(shù)速度的降低,同時(shí)將增加硬件成本,如果純粹使用計(jì)數(shù)控制程序來(lái) 實(shí)現(xiàn),則存在計(jì)數(shù)精度不高的問(wèn)題。為能夠在保證計(jì)數(shù)精度的同時(shí),提高計(jì)數(shù)速度,以 適應(yīng)高精度高速度計(jì)數(shù)的要求,同時(shí)降低硬件成本,本發(fā)明提出了一種伺服電機(jī)位置控 制方法。
本發(fā)明方法將用于產(chǎn)生脈沖信號(hào)的可編程信號(hào)發(fā)生器分別與伺服電機(jī)和計(jì)數(shù)器連 接,再將計(jì)數(shù)器與一個(gè)具有計(jì)數(shù)控制程序的控制器連接,如圖1所示,在此可編程信號(hào) 發(fā)生器采用現(xiàn)有技術(shù),可編程信號(hào)發(fā)生器可以由外部信號(hào)來(lái)控制是否產(chǎn)生脈沖信號(hào)及信 號(hào)的頻率,在此具體實(shí)施例中可編程信號(hào)發(fā)生器由計(jì)數(shù)器的溢出信號(hào)來(lái)控制是否產(chǎn)生脈 沖信號(hào),控制器可以為PC機(jī)或普通芯片,但在PC機(jī)上需事先安裝好計(jì)數(shù)控制程序或
在普通芯片上燒錄有計(jì)數(shù)控制程序。在計(jì)數(shù)控制程序中預(yù)先設(shè)置一個(gè)目標(biāo)計(jì)數(shù)值,當(dāng)目 標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差大于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù) 器清零重新開(kāi)始計(jì)數(shù),當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差小于等于計(jì)數(shù)器的最大計(jì) 數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器以計(jì)數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總 計(jì)數(shù)值之差的結(jié)果為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),這樣通過(guò)計(jì)數(shù)器與計(jì)數(shù)控制程序配合實(shí)現(xiàn)脈沖 個(gè)數(shù)的計(jì)數(shù),不僅保證了計(jì)數(shù)精度,而且提高了計(jì)數(shù)速度,實(shí)際上可以將計(jì)數(shù)器看成是 一個(gè)低位計(jì)數(shù)器,而將計(jì)數(shù)控制程序看成是一個(gè)經(jīng)過(guò)計(jì)算的高位計(jì)數(shù)器,該高位計(jì)數(shù)器
同時(shí)具有控制低位計(jì)數(shù)器的功能。本發(fā)明方法如圖2所示,其具體步驟如下
① 在計(jì)數(shù)控制程序中預(yù)先設(shè)置一個(gè)用于標(biāo)示伺服電機(jī)轉(zhuǎn)動(dòng)角度的目標(biāo)計(jì)數(shù)值、 一個(gè) 總計(jì)數(shù)值及一個(gè)中間變量值,記目標(biāo)計(jì)數(shù)值為toto/,記總計(jì)數(shù)值為W附,記中間變量值
為^/n',其中,w/w的初始值為0,幼m'的初始值為O。在此具體實(shí)施例中計(jì)數(shù)器可采
用現(xiàn)有市售的計(jì)數(shù)位數(shù)大于6位且小于等于16位的計(jì)數(shù)器,也可根據(jù)最大計(jì)數(shù)值確定 計(jì)數(shù)器如采用現(xiàn)有市售的最大計(jì)數(shù)值在100 65535范圍內(nèi)的計(jì)數(shù)器,采用這些計(jì)數(shù)器 既可保證計(jì)數(shù)速度,也有效控制了硬件開(kāi)支。在實(shí)際應(yīng)用過(guò)程中一般可采用計(jì)數(shù)位數(shù)為 8位的計(jì)數(shù)器,由于計(jì)數(shù)器中一般是從O開(kāi)始計(jì)數(shù)的,因此8位計(jì)數(shù)器的最大計(jì)數(shù)值為 28-1=256-1=255。
② 開(kāi)啟可編程信號(hào)發(fā)生器、計(jì)數(shù)器、控制器及伺服電機(jī)的電源,控制器中的計(jì)數(shù)控 制程序控制計(jì)數(shù)器清零,同時(shí)清除計(jì)數(shù)器的溢出信號(hào),在計(jì)數(shù)器沒(méi)有產(chǎn)生溢出信號(hào)時(shí)可 編程信號(hào)發(fā)生器開(kāi)始工作,產(chǎn)生可變頻率的脈沖信號(hào)和方向信號(hào),可編程信號(hào)發(fā)生器將 其產(chǎn)生的脈沖信號(hào)和方向信號(hào)同時(shí)傳輸給伺服電機(jī)和計(jì)數(shù)器,即將脈沖信號(hào)和方向信號(hào) 一路傳輸給伺服電機(jī),另一路傳輸給計(jì)數(shù)器,輸入到伺服電機(jī)的脈沖信號(hào)驅(qū)動(dòng)伺服電機(jī)開(kāi)始工作,輸入到計(jì)數(shù)器的脈沖信號(hào)作為計(jì)數(shù)信號(hào)使計(jì)數(shù)器開(kāi)始脈沖個(gè)數(shù)的計(jì)數(shù)。溢出 信號(hào)用于控制可編程信號(hào)發(fā)生器的開(kāi)關(guān),在此無(wú)溢出信號(hào)時(shí),可編程信號(hào)發(fā)生器工作產(chǎn) 生脈沖信號(hào)和方向信號(hào),計(jì)數(shù)器產(chǎn)生溢出信號(hào)時(shí),可編程信號(hào)發(fā)生器停止產(chǎn)生脈沖信號(hào) 和方向信號(hào)。
③ 當(dāng)計(jì)數(shù)器對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間到達(dá)設(shè)定的時(shí)間間隔時(shí),計(jì)數(shù)控 制程序讀取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,記為a,然后將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值fl與總計(jì)數(shù)值w附
相加,并將相加的結(jié)果保存到中間變量值^附'中,再將中間變量值犯附'賦值給總計(jì)數(shù)值
■yM/W,可表達(dá)為SM附'-W/W + a , 5WW = /W'。在此,設(shè)定的時(shí)間間隔為計(jì)數(shù)器計(jì)數(shù)的
脈沖個(gè)數(shù)小于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間,由于設(shè)定的時(shí)間間 隔太大時(shí),計(jì)數(shù)器容易溢出,這樣計(jì)數(shù)器產(chǎn)生的溢出信號(hào)將控制可編程信號(hào)發(fā)生器停止 工作,在還未計(jì)數(shù)到目標(biāo)計(jì)數(shù)值toto/時(shí)就終止了計(jì)數(shù)過(guò)程,設(shè)定的時(shí)間間隔太小時(shí),計(jì) 數(shù)控制程序讀取計(jì)數(shù)器的計(jì)數(shù)值的頻率太高,將影響實(shí)時(shí)性,因此設(shè)定的時(shí)間間隔可取 計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)小于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。采用
8位計(jì)數(shù)器時(shí),8位計(jì)數(shù)器的最大計(jì)數(shù)值為255,這樣設(shè)定的時(shí)間間隔最大即為255個(gè)脈 沖的計(jì)數(shù)時(shí)間,但實(shí)際應(yīng)用過(guò)程中最好小于255個(gè)脈沖的計(jì)數(shù)時(shí)間,如設(shè)定的時(shí)間間隔 可取計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)在50 250范圍內(nèi)時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間,這樣可 保證計(jì)數(shù)控制程序在計(jì)數(shù)器溢出之前就讀取了計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值且控制了計(jì)數(shù)器清 零重新計(jì)數(shù),也可保證計(jì)數(shù)的實(shí)時(shí)性,在此具體實(shí)施例中,設(shè)定的時(shí)間間隔取計(jì)數(shù)器計(jì) 數(shù)的脈沖個(gè)數(shù)為100時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
④ 計(jì)數(shù)控制程序計(jì)算目標(biāo)計(jì)數(shù)值to/"/與總計(jì)數(shù)值s"附之差,記為6,即 6 = ,判斷目標(biāo)計(jì)數(shù)值toto/與總計(jì)數(shù)值w/n之差6是否大于計(jì)數(shù)器的最大計(jì)數(shù) 值,如果是,則計(jì)數(shù)控制程序控制計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),并返回執(zhí)行步驟③,否則, 計(jì)數(shù)控制程序計(jì)算計(jì)數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值toto/與總計(jì)數(shù)值s"m之差6的 結(jié)果,記為c,計(jì)數(shù)控制程序控制計(jì)數(shù)器以結(jié)果c為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)器的計(jì) 數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)器產(chǎn)生溢出信號(hào),并將溢出信號(hào)傳輸給可編程信 號(hào)發(fā)生器,可編程信號(hào)發(fā)生器接收到溢出信號(hào)后停止產(chǎn)生脈沖信號(hào)和方向信號(hào),此時(shí)伺 服電機(jī)在沒(méi)有脈沖信號(hào)的驅(qū)動(dòng)下也停止了工作,實(shí)現(xiàn)對(duì)伺服電機(jī)位置的精確控制。在此, 計(jì)數(shù)器產(chǎn)生溢出信號(hào)時(shí)總計(jì)數(shù)值s"w剛好達(dá)到目標(biāo)計(jì)數(shù)值toto/ 。
本發(fā)明方法通過(guò)將計(jì)數(shù)器與計(jì)數(shù)控制程序結(jié)合使用,利用計(jì)數(shù)器產(chǎn)生的溢出信號(hào)來(lái) 控制可編程信號(hào)發(fā)生器的開(kāi)關(guān),完成精確計(jì)數(shù),降低了對(duì)計(jì)數(shù)控制程序進(jìn)行計(jì)數(shù)的實(shí)時(shí) 性要求,利用計(jì)數(shù)控制程序增加計(jì)數(shù)位數(shù)和控制靈活性,滿足了較多脈沖個(gè)數(shù)的計(jì)數(shù)情 況,降低了硬件成本。此外,將計(jì)數(shù)器與計(jì)數(shù)控制程序結(jié)合使用還存在一個(gè)優(yōu)點(diǎn),即當(dāng) 計(jì)數(shù)控制程序由于某種原因出現(xiàn)程序"跑飛"時(shí),能夠自動(dòng)使可編程信號(hào)發(fā)生器停止輸
8出脈沖信號(hào),其實(shí)現(xiàn)原理是計(jì)數(shù)控制程序"跑飛"以后,就不會(huì)定時(shí)對(duì)計(jì)數(shù)器進(jìn)行清 零,這樣計(jì)數(shù)器的計(jì)數(shù)值就會(huì)不斷地增加,當(dāng)計(jì)數(shù)值增加到計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)就會(huì) 發(fā)生溢出,此時(shí)計(jì)數(shù)器產(chǎn)生溢出信號(hào)使可編程信號(hào)發(fā)生器停止產(chǎn)生脈沖信號(hào)。
權(quán)利要求
1、一種伺服電機(jī)位置控制方法,其特征在于將用于產(chǎn)生脈沖信號(hào)的可編程信號(hào)發(fā)生器分別與伺服電機(jī)和計(jì)數(shù)器連接,再將計(jì)數(shù)器與一個(gè)具有計(jì)數(shù)控制程序的控制器連接,計(jì)數(shù)控制程序中預(yù)先設(shè)置有一個(gè)目標(biāo)計(jì)數(shù)值,當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差大于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差小于等于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器以計(jì)數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差的結(jié)果為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),在計(jì)數(shù)器的計(jì)數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)計(jì)數(shù)器產(chǎn)生溢出信號(hào),可編程信號(hào)發(fā)生器在溢出信號(hào)的作用下停止產(chǎn)生脈沖信號(hào),達(dá)到對(duì)伺服電機(jī)位置的控制,該伺服電機(jī)位置控制方法的具體步驟為①在計(jì)數(shù)控制程序中預(yù)先設(shè)置一個(gè)用于標(biāo)示伺服電機(jī)轉(zhuǎn)動(dòng)角度的目標(biāo)計(jì)數(shù)值、一個(gè)總計(jì)數(shù)值及一個(gè)中間變量值,記目標(biāo)計(jì)數(shù)值為total,記總計(jì)數(shù)值為sum,記中間變量值為sum′,其中,sum的初始值為0,sum′的初始值為0;②開(kāi)啟可編程信號(hào)發(fā)生器、計(jì)數(shù)器、控制器及伺服電機(jī),控制器中的計(jì)數(shù)控制程序控制計(jì)數(shù)器清零,同時(shí)清除計(jì)數(shù)器的溢出信號(hào),使可編程信號(hào)發(fā)生器開(kāi)始產(chǎn)生可變頻率的脈沖信號(hào)和方向信號(hào),可編程信號(hào)發(fā)生器將其產(chǎn)生的脈沖信號(hào)和方向信號(hào)同時(shí)傳輸給伺服電機(jī)和計(jì)數(shù)器,輸入到伺服電機(jī)的脈沖信號(hào)驅(qū)動(dòng)伺服電機(jī)開(kāi)始工作,輸入到計(jì)數(shù)器的脈沖信號(hào)作為計(jì)數(shù)信號(hào)使計(jì)數(shù)器開(kāi)始脈沖個(gè)數(shù)的計(jì)數(shù);③當(dāng)計(jì)數(shù)器對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間到達(dá)設(shè)定的時(shí)間間隔時(shí),計(jì)數(shù)控制程序讀取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,記為a,然后將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值a與總計(jì)數(shù)值sum相加,并將相加的結(jié)果保存到中間變量值sum′中,再將中間變量值sum′賦值給總計(jì)數(shù)值sum;④計(jì)數(shù)控制程序計(jì)算目標(biāo)計(jì)數(shù)值total與總計(jì)數(shù)值sum之差,記為b,判斷目標(biāo)計(jì)數(shù)值total與總計(jì)數(shù)值sum之差b是否大于計(jì)數(shù)器的最大計(jì)數(shù)值,如果是,則計(jì)數(shù)控制程序控制計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),并返回執(zhí)行步驟③,否則,計(jì)數(shù)控制程序計(jì)算計(jì)數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值total與總計(jì)數(shù)值sum之差b的結(jié)果,記為c,計(jì)數(shù)控制程序控制計(jì)數(shù)器以結(jié)果c為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)器的計(jì)數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)器產(chǎn)生溢出信號(hào),并將溢出信號(hào)傳輸給可編程信號(hào)發(fā)生器,可編程信號(hào)發(fā)生器接收到溢出信號(hào)后停止產(chǎn)生脈沖信號(hào)和方向信號(hào),實(shí)現(xiàn)對(duì)伺服電機(jī)位置的精確控制。
2、 根據(jù)權(quán)利要求1所述的一種伺服電機(jī)位置控制方法,其特征在于所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)大于等于8位且小于等于16位的計(jì)數(shù)器。
3、 根據(jù)權(quán)利要求2所述的一種伺服電機(jī)位置控制方法,其特征在于所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)為8位的計(jì)數(shù)器,所述的8位的計(jì)數(shù)器的最大計(jì)數(shù)值為255。
4、 根據(jù)權(quán)利要求1所述的一種伺服電機(jī)位置控制方法,其特征在于所述的計(jì)數(shù)器采用現(xiàn)有市售的最大計(jì)數(shù)值在100 65535范圍內(nèi)的計(jì)數(shù)器。
5、 根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的一種伺服電機(jī)位置控制方法,其特征在于所述的步驟③中設(shè)定的時(shí)間間隔為計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)小于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
6、 根據(jù)權(quán)利要求5所述的一種伺服電機(jī)位置控制方法,其特征在于所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)為8位的計(jì)數(shù)器,所述的步驟③中設(shè)定的時(shí)間間隔為計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)在50 250范圍內(nèi)時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
7、 根據(jù)權(quán)利要求6所述的一種伺服電機(jī)位置控制方法,其特征在于所述的計(jì)數(shù)器采用現(xiàn)有市售的計(jì)數(shù)位數(shù)為8位的計(jì)數(shù)器,所述的步驟③中設(shè)定的時(shí)間間隔為計(jì)數(shù)器計(jì)數(shù)的脈沖個(gè)數(shù)為100時(shí)計(jì)數(shù)器計(jì)數(shù)所經(jīng)歷的計(jì)數(shù)時(shí)間。
全文摘要
本發(fā)明公開(kāi)了一種伺服電機(jī)位置控制方法,通過(guò)將計(jì)數(shù)器與計(jì)數(shù)控制程序結(jié)合使用,且在計(jì)數(shù)控制程序中預(yù)先設(shè)置一個(gè)目標(biāo)計(jì)數(shù)值,當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差大于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器清零重新開(kāi)始計(jì)數(shù),當(dāng)目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差小于等于計(jì)數(shù)器的最大計(jì)數(shù)值時(shí),計(jì)數(shù)控制程序控制計(jì)數(shù)器以計(jì)數(shù)器的最大計(jì)數(shù)值減去目標(biāo)計(jì)數(shù)值與已計(jì)數(shù)的總計(jì)數(shù)值之差的結(jié)果為計(jì)數(shù)初值繼續(xù)計(jì)數(shù),在計(jì)數(shù)器的計(jì)數(shù)值超出計(jì)數(shù)器的最大計(jì)數(shù)值時(shí)計(jì)數(shù)器產(chǎn)生溢出信號(hào),這樣通過(guò)計(jì)數(shù)器與計(jì)數(shù)控制程序配合實(shí)現(xiàn)脈沖個(gè)數(shù)的計(jì)數(shù),在保證計(jì)數(shù)精度的同時(shí),有效提高了計(jì)數(shù)速度,適應(yīng)于高精度高速度計(jì)數(shù)的要求,同時(shí)降低了硬件成本。
文檔編號(hào)G05B19/05GK101625559SQ20091010142
公開(kāi)日2010年1月13日 申請(qǐng)日期2009年8月4日 優(yōu)先權(quán)日2009年8月4日
發(fā)明者嚴(yán)潔卿, 俞建定, 軍 葉, 徐鐵峰, 蔣剛毅 申請(qǐng)人:寧波大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
台山市| 伽师县| 林甸县| 革吉县| 三原县| 阳西县| 新田县| 吴川市| 威信县| 静安区| 高邮市| 五家渠市| 德惠市| 手游| 同江市| 新沂市| 德安县| 朝阳区| 嵊泗县| 太仓市| 湖口县| 米脂县| 鲁山县| 顺昌县| 招远市| 兰州市| 孝义市| 顺义区| 微博| 雷波县| 武义县| 新蔡县| 梨树县| 无极县| 高州市| 威远县| 根河市| 万宁市| 兴义市| 保定市| 襄汾县|