本發(fā)明涉及電機(jī)測(cè)速,尤其涉及一種增量式編碼器測(cè)速方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前,電機(jī)測(cè)速的主要方式有測(cè)速發(fā)電機(jī)、旋轉(zhuǎn)變壓器、直線光柵尺和編碼器等,其中增量式編碼器具有結(jié)構(gòu)簡(jiǎn)單、測(cè)量方便準(zhǔn)確、壽命長(zhǎng)等優(yōu)點(diǎn),在現(xiàn)代控制領(lǐng)域得到廣泛應(yīng)用。
2、應(yīng)用增量式編碼器測(cè)速時(shí),編碼器與被測(cè)電機(jī)同軸,通過檢測(cè)輸出的脈沖序列來判斷電機(jī)的旋轉(zhuǎn)方向和速度。脈沖測(cè)速最典型的方法有測(cè)頻率法(m法測(cè)速)、測(cè)周期法(t法測(cè)速)以及頻率周期自適應(yīng)法(mt法測(cè)速)。測(cè)頻率法是根據(jù)一定時(shí)間內(nèi)的脈沖數(shù)來計(jì)算轉(zhuǎn)速,低速時(shí)轉(zhuǎn)速計(jì)算周期內(nèi)脈沖數(shù)量少,單個(gè)脈沖誤差對(duì)應(yīng)的時(shí)間相對(duì)轉(zhuǎn)速周期比例較大,計(jì)算精度會(huì)顯著降低,所以只適用于高速測(cè)速。測(cè)周期法是測(cè)量單個(gè)脈沖的時(shí)間來計(jì)算轉(zhuǎn)速,高速時(shí)單個(gè)脈沖時(shí)刻較小,測(cè)量誤差相對(duì)于單個(gè)脈沖時(shí)刻不可忽略,因而測(cè)速精度會(huì)顯著降低。目前工業(yè)領(lǐng)域廣泛采用頻率周期自適應(yīng)法,該方法綜合了m法和t法的優(yōu)點(diǎn),屬于全速度范圍測(cè)量方法。但是,受限于計(jì)時(shí)器精度和最大計(jì)時(shí)時(shí)長(zhǎng),采用m/t法的測(cè)速精度降低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例通過提供一種增量式編碼器測(cè)速方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),旨在提高增量編碼器的測(cè)速精度。
2、本技術(shù)實(shí)施例提供了一種增量式編碼器測(cè)速方法,所述增量式編碼器測(cè)速方法,包括:
3、獲取當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻,和獲取上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻;
4、根據(jù)所述當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和所述上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量,確定脈沖數(shù)量偏差,并根據(jù)當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻和上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻,確定脈沖時(shí)間偏差;
5、獲取每圈對(duì)應(yīng)的脈沖數(shù)量和定時(shí)器時(shí)鐘頻率;
6、確定所述脈沖數(shù)量偏差和所述每圈對(duì)應(yīng)的脈沖數(shù)量的第一比值,與確定所述脈沖時(shí)間偏差和所述定時(shí)器時(shí)鐘頻率的第二比值;
7、根據(jù)所述第一比值和所述第二比值之間的乘積,確定電機(jī)的實(shí)際轉(zhuǎn)速。
8、可選地,所述根據(jù)所述第一比值和所述第二比值之間的乘積,確定電機(jī)的實(shí)際轉(zhuǎn)速的步驟包括:
9、采用電機(jī)的實(shí)際轉(zhuǎn)速計(jì)算公式確定電機(jī)的實(shí)際轉(zhuǎn)速,所述電機(jī)的實(shí)際轉(zhuǎn)速計(jì)算公式為:
10、n_m=60*(δcappulscnt/ppr_single)/(δcaptimcnt/f_cap);
11、其中,δcappulscnt為脈沖數(shù)量偏差,ppr_single為每圈對(duì)應(yīng)的脈沖數(shù)量,δcaptimcnt為脈沖時(shí)間偏差,f_cap表示記錄捕獲脈沖時(shí)刻的定時(shí)器時(shí)鐘頻率,脈沖數(shù)量偏差和每圈對(duì)應(yīng)的脈沖數(shù)量的第一比值為δcappulscnt/ppr_single,脈沖時(shí)間偏差和定時(shí)器時(shí)鐘頻率的第二比值為δcaptimcnt/f_cap。
12、可選地,所述根據(jù)當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻和上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻,確定脈沖時(shí)間偏差的步驟包括:
13、若單個(gè)脈沖信號(hào)的脈沖寬度小于定時(shí)器的最大捕獲周期時(shí),確定第一補(bǔ)償值,根據(jù)所述當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻、上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻和所述第一補(bǔ)償值,確定所述脈沖時(shí)間偏差;
14、若單個(gè)脈沖信號(hào)的脈沖寬度大于所述定時(shí)器的最大捕獲周期時(shí),確定第二補(bǔ)償值,根據(jù)所述當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻、上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻和所述第二補(bǔ)償值,確定所述脈沖時(shí)間偏差,所述第二補(bǔ)償值大于所述第一補(bǔ)償值。
15、可選地,所述確定第二補(bǔ)償值包括:
16、根據(jù)所述最大捕獲周期和當(dāng)前轉(zhuǎn)速計(jì)算周期,確定周期倍數(shù);
17、確定沒有脈沖數(shù)量偏差的轉(zhuǎn)速周期數(shù)、確定捕獲脈沖時(shí)刻的定時(shí)器周期數(shù),及確定當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻和上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻之間的初始捕獲脈沖時(shí)間偏差;
18、根據(jù)所述轉(zhuǎn)速周期數(shù)、所述定時(shí)器周期數(shù)、所述周期倍數(shù)和所述初始捕獲脈沖時(shí)間偏差,確定所述第二補(bǔ)償值。
19、可選地,所述根據(jù)所述轉(zhuǎn)速周期數(shù)、所述定時(shí)器周期數(shù)、所述周期倍數(shù)和所述初始捕獲脈沖時(shí)間偏差,確定所述第二補(bǔ)償值的步驟包括:
20、采用第二補(bǔ)償值計(jì)算公式確定所述第二補(bǔ)償值,所述第二補(bǔ)償值計(jì)算公式為:
21、
22、其中,capcntcomp為整數(shù),nnopuls為轉(zhuǎn)速周期數(shù),t_b表示最大捕獲周期,t_c表示當(dāng)前轉(zhuǎn)速計(jì)算周期,caparr為定時(shí)器周期數(shù),n為周期倍數(shù),δcaptimcnt為初始捕獲脈沖時(shí)間偏差。
23、可選地,所述增量式編碼器測(cè)速方法,還包括:
24、若當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻,單個(gè)脈沖信號(hào)的脈沖寬度小于預(yù)設(shè)轉(zhuǎn)速分辨率對(duì)應(yīng)的單個(gè)脈沖信號(hào)的脈沖寬度時(shí),將所述實(shí)際轉(zhuǎn)速清零。
25、可選地,所述增量式編碼器測(cè)速方法,還包括:
26、獲取當(dāng)前計(jì)算轉(zhuǎn)速和上一次計(jì)算轉(zhuǎn)速;
27、確定所述當(dāng)前計(jì)算轉(zhuǎn)速和所述上一次計(jì)算轉(zhuǎn)速的轉(zhuǎn)速差;
28、若所述轉(zhuǎn)速差大于預(yù)設(shè)轉(zhuǎn)速時(shí),采用所述預(yù)設(shè)轉(zhuǎn)速對(duì)上一次計(jì)算轉(zhuǎn)速進(jìn)行轉(zhuǎn)速補(bǔ)償。
29、可選地,所述增量式編碼器測(cè)速方法,還包括:
30、獲取脈沖信號(hào)上升沿的捕獲時(shí)刻和所述上升沿相鄰的下降沿的捕獲時(shí)刻,并獲取所述上升沿對(duì)應(yīng)的脈沖數(shù)量和所述下降沿對(duì)應(yīng)的脈沖數(shù)量;
31、建立所述上升沿的捕獲時(shí)刻和所述上升沿的脈沖數(shù)量之間的第一關(guān)聯(lián)關(guān)系,并建立所述下降沿對(duì)應(yīng)的捕獲時(shí)刻和所述下降沿對(duì)應(yīng)的脈沖數(shù)量之間的第二關(guān)聯(lián)關(guān)系;
32、將所述第一關(guān)聯(lián)關(guān)系和所述第二關(guān)聯(lián)關(guān)系存儲(chǔ)于數(shù)據(jù)緩存區(qū)內(nèi),以從所述數(shù)據(jù)緩存區(qū)獲取當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻,和獲取上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻。
33、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種增量式編碼器包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的增量式編碼器測(cè)速程序,所述增量式編碼器測(cè)速程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的增量式編碼器測(cè)速方法的步驟。
34、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有增量式編碼器測(cè)速程序,所述增量式編碼器測(cè)速程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的增量式編碼器測(cè)速方法的步驟。
35、本技術(shù)實(shí)施例中提供的一種增量式編碼器測(cè)速方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的技術(shù)方案,本技術(shù)首先獲取當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻,和獲取上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻;接著,根據(jù)所述當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和所述上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量,確定脈沖數(shù)量偏差,并根據(jù)當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻和上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖時(shí)刻,確定脈沖時(shí)間偏差;最后,獲取每圈對(duì)應(yīng)的脈沖數(shù)量和定時(shí)器時(shí)鐘頻率;確定所述脈沖數(shù)量偏差和所述每圈對(duì)應(yīng)的脈沖數(shù)量的第一比值,與確定所述脈沖時(shí)間偏差和所述定時(shí)器時(shí)鐘頻率的第二比值;根據(jù)所述第一比值和所述第二比值之間的乘積,確定電機(jī)的實(shí)際轉(zhuǎn)速。相比于相關(guān)技術(shù)單獨(dú)捕獲上升沿或下降沿計(jì)算轉(zhuǎn)速,本技術(shù)通過獲取當(dāng)前轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻,和獲取上一次轉(zhuǎn)速計(jì)算時(shí)刻的捕獲脈沖數(shù)量和捕獲脈沖時(shí)刻,計(jì)算脈沖數(shù)量偏差和脈沖時(shí)間偏差即可準(zhǔn)確計(jì)算轉(zhuǎn)速。實(shí)現(xiàn)全速范圍的精確脈沖數(shù)與對(duì)應(yīng)脈沖時(shí)間偏差的測(cè)量,保證了全速范圍內(nèi)的高精度測(cè)速。