新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用DSP實(shí)現(xiàn)增量式光電編碼器的細(xì)分

用DSP實(shí)現(xiàn)增量式光電編碼器的細(xì)分

作者: 時(shí)間:2010-12-22 來源:網(wǎng)絡(luò) 收藏

SACL Y1 ; 得到y(tǒng)1

LACL X2;

SUB #JUNZHI(2.5V);

ABS

SACL Y2 ; 得到y(tǒng)2

SUB Y1 ;

SACL Y ; 得到Y(jié)=y2-y1值,保存 ;用dsp中計(jì)數(shù)器T4記卦限

BCND ss,NEQ

Lacl y1

BCND ss,NEQ

Lacl y2

BCND ss,NEQ ;若U=0,卦限計(jì)數(shù)器計(jì)數(shù)

set t4clkin ; 為計(jì)數(shù)器提供脈沖

ss: LACL y

BCND DEVISION,GEQ ; 判斷卦限,y2>=y1 時(shí),直接y1/y2;否則y2/y1,除數(shù)變被除數(shù)

JIAOHUAN: LACC y1 ; y1和y2交換

SACL TEMP_AD ;

LACL y2 ;

SACL y1 ;

LACC TEMP_AD ;

SACL y2 ; y2/y1 ; 毫秒為Q8格式

DEVISION LACC R1SIN ,6;;;;取分子并左移6位;

RPT #15 ; 后面的指令執(zhí)行15+1次。

SUBC R2COS ;16 CYCLE DIVIDED LOOP

; .ACC中的數(shù)據(jù)減去Demon 減10次,直到被減數(shù)小于0

SACL QUOT ; 得到商

SACH REMAIN ; 得到余數(shù)

LACC REMAIN; 取余數(shù)后再除

RPT #13 ; 后面的指令執(zhí)行14次。

SUBC DENOM;

AND QUOT;

; SACL QUOT ;;;保存商。得到十位地址信號(hào)。用此信號(hào)得到RAM中對(duì)應(yīng)地址細(xì)分值保存在DSP的sram中)

ADD #0800h ;SRAM 初始地址為#0800H(

SAL XIFEN_ADR ;

LACC #XIFEN_ADR

ADD #0800h ;SRAM 初始地址為#0800H

SAL XIFEN_ADR ;

LACL Y ;Y2>=Y1 ;

BCND yy2 ,GEQ

LACL #05h ;設(shè)編碼最小柵格為40秒,一個(gè)卦限為5秒。

SUB #XIFEN_ADR

B YY

YY2: LACC #XIFEN_ADR

YY: Ldp #0eah ;

LT t4cnt ;卦限值

MPY #05h ; 一個(gè)卦限相差5秒,

APAC 得到精確細(xì)分值

根據(jù)得到的細(xì)分值與整周期值相加就可以得到對(duì)應(yīng)的光柵編碼信號(hào)。

當(dāng)速度特別慢時(shí),用軟件判卦限會(huì)出現(xiàn)重復(fù)計(jì)數(shù)。也就是一個(gè)細(xì)分周期里,電機(jī)轉(zhuǎn)動(dòng)的位移小于20/1024秒,如下圖。卦限函數(shù)使得卦限增1,產(chǎn)生錯(cuò)誤。我們要舍棄這個(gè)計(jì)數(shù)。

為了解決這個(gè)問題,我們把軟件的判卦限程序改以下:用一個(gè)flaggx標(biāo)志來表示卦限信號(hào)是否剛記過。剛剛記過,就舍棄掉。改正的程序流程如下圖。

接地電阻相關(guān)文章:接地電阻測(cè)試方法




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉