音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

關(guān)于光電編碼器的問題

作者:ela 欄目:單片機
關(guān)于光電編碼器的問題
    我在做一個輪船姿態(tài)調(diào)整的題目。具體情況是這樣的,將增量式光電編碼器的軸接在模型船上,編碼器的輸出a,b接單片機,輪船傾斜之后使編碼器的軸轉(zhuǎn)動,從而產(chǎn)生輸出脈沖,通過單片機記錄脈沖數(shù)判斷傾斜角度,從而控制步進電機調(diào)整船體。現(xiàn)在我的問題是怎么才能實現(xiàn)計數(shù)呢,我產(chǎn)生的脈沖數(shù)是不定的,好像中斷不行吧,望各位高人不吝賜教。
    這個應(yīng)該是實時控制的吧,計數(shù)值是不是沒有必要知道呢。大家有什么寶貴想法都來討論呀

2樓: >>參與討論
hujiahua
不一定要用這種增量式的編碼器
你可以用絕對式的編碼器,就不用計數(shù)這么麻煩了,直接讀出數(shù)值就知道偏了多少位置了.

3樓: >>參與討論
ela
還是不太明白
   我現(xiàn)在手頭只有增量式的編碼器,而且我想知道這個計數(shù)的過程是怎么實現(xiàn)的,絕對式的它不也得計數(shù)才能算出角度嗎(就算它是在內(nèi)部完成的)。還希望各位不吝賜教。

4樓: >>參與討論
hujiahua
絕對式
絕對式不用計數(shù),它是將一個圓256,512,1024等分,編碼器轉(zhuǎn)到哪個角度就直接給出一個數(shù)值, 例如:33,45,255等.
不過輸出格式可能是格雷碼.

* - 本貼最后修改時間:2005-5-3 12:01:58 修改者:hujiahua

5樓: >>參與討論
hujiahua
增量式
一般會有A,B,Z三個信號輸出,A,B兩個信號用于計數(shù)和判斷旋轉(zhuǎn)方向.
A,B兩個信號均為50%占空比的方波輸出,用兩個信號的相位差判斷方向,
例如:A 超前 B 90度時為正轉(zhuǎn),則 B 超前 A 90度時為反轉(zhuǎn).
Z信號為零信號,編碼器在轉(zhuǎn)過零點這個位置時會輸出一個脈沖.

這是一般增量式旋轉(zhuǎn)編碼器常用的信號格式,忘了具體叫什么,目前21IC上傳服務(wù)器進行調(diào)整, 所以不能上傳圖片,要不然貼個輸出信號波形會更直觀.



6樓: >>參與討論
ela
再問
   謝謝樓上這位大哥熱心相助。但是編碼器的Z信號是編碼器轉(zhuǎn)了一周后給出一個這個信號,在我的系統(tǒng)中好像用不上啊。這樣的話還是只有AB兩個信號,關(guān)于鑒相的問題我已經(jīng)解決,而且我這個系統(tǒng)好像計數(shù)完事后再執(zhí)行某些操作是不行的,必須實時控制,所以現(xiàn)在我感覺應(yīng)該改成每隔一定時間對計數(shù)值進行采樣,控制步進電機工作。但是我想知道如果不是我這個系統(tǒng),也就是說不用調(diào)整,只用知道偏移角度就可以的地方,那么計數(shù)完畢后(這個數(shù)是不定的),怎么轉(zhuǎn)向相應(yīng)的處理程序呢,我怎么才能知道計數(shù)完畢了。

7樓: >>參與討論
ela
期待中
   期待中

8樓: >>參與討論
hujiahua
我對你的系統(tǒng)不了解
你怎么判斷計數(shù)完畢

9樓: >>參與討論
fangkai
回復(fù)主題:關(guān)于光電編碼器的問題
我是一個初學(xué)者,我也在做一個類似的東西,不過用的地方不同,我的想法是:單片機的運行速度要比物體位置變化的速度快得多,所以每隔一定時間讀一下和編碼器相連接的I/O口的狀態(tài),根據(jù)這次狀態(tài)與前面狀態(tài)的比較進行辨向計數(shù)是應(yīng)該能做到。我的控制裝置不是步進電機而是采用編碼器加普通直流電機的方式。下面是我的程序供你參考,我的這個程序有語法錯誤,不能通過匯編,本來想在網(wǎng)上求助,現(xiàn)在正好請你和各路英雄斧正。
;************************************************************************
實驗板程序
;************************************************************************
ORG 0000H
RESET:AJMP MAIN
MAIN:MOV SP,#60H   ;堆棧指針SP=60H
MOV R2,#7FH        ;以下各舵機置初值
MOV R3,#7FH
JB P1.7, PA1           ; 20H=P1.7
CLR 20H
AJMP PA2
PA1: SETB 20H
PA2: JB P1.6, PA3          ; 21H=P1.6
CLR 21H
AJMP PA4
PA3: SETB 21H
PA4: JB P1.5, PA5          ; 22H=P1.5
CLR 22H
AJMP PA6
PA5: SETB 22H
PA6: JB P1.4, PA7          ; 23H=P1.4
CLR 23H
AJMP WZJC
PA7: SETB 23H
WZJC:MOV  01H,R2             ;R1=R2  (控制手柄)
MOV  C,20H
MOV  2CH,C             ;2CH=20H
MOV  C,21H
MOV  2DH,C
JB P1.7, PB1           ; 2EH=P1.7
CLR 2EH
AJMP PB2
PB1: SETB 2EH
PB2: JB P1.6, PB3          ; 2FH=P1.6
CLR 2FH
AJMP PB4
PB3: SETB 2FH
PB4: ACALL  BXJS             ;調(diào)用子程序BXJS
MOV  R2,01H
MOV  C,2CH
MOV  20H,C
MOV  C,2DH
MOV  21H,C
SB2:MOV  01H,R3             ;R1=R3  (舵機位檢)
MOV  C,22H
MOV  2CH,C             ;2CH=22H
MOV  C,23H
MOV  2DH,C
JB P1.5, PB5           ; 2EH=P1.5
CLR 2EH
AJMP PB6
PB5: SETB 2EH
PB6: JB P1.4, PB7          ; 2FH=P1.4
CLR 2FH
AJMP PB8
PB7: SETB 2FH
PB8: ACALL  BXJS             ;調(diào)用子程序BXJS
MOV  R3,01H
MOV  C,2CH
MOV  22H,C
MOV  C,2DH
MOV  23H,C
KZ:MOV A,R2
CJNE  A,R1,BJ         ;A不等于R1則轉(zhuǎn)到BJ(比較)
CLR P1.3
CLR  P1.2                ;停轉(zhuǎn)
AJMP AG
BJ:SUBB  A,R1             ;A—R1
JNC  ZHENG             ;A>R1則轉(zhuǎn)到ZHENG
CLR P1.3
SETB  P1.2               ;反轉(zhuǎn)
AJMP AG
ZHENG:CLR P1.2
SETB  P1.3               ;正轉(zhuǎn)
AG:AJMP WZJC               ;跳轉(zhuǎn)到WZJC

BXJS;JB  2CH,Z1              ;2CH=1則轉(zhuǎn)到Z1
JB  2DH,Z3              ;
JB  2EH,PK1
JNB  2FH,TC            ;2FH=0則轉(zhuǎn)到TC
DEC  R1                 ;R1—1
SETB  2DH              ;2DH=1
AJMP  TC                ;跳轉(zhuǎn)到TC
Z1:JB  2DH,Z2
JB  2FH,PK3
JB  2EH,TC
DEC R1
CLR  2CH                ;2CH=0
AJMP TC
Z2:JNB  2EH,PK4
JB  2FH,TC
DEC R1
CLR 2DH
AJMP TC
Z3:JNB  2FH,PK2
JNB  2EH,TC
DEC R1
SETB 2CH
AJMP TC
PK1:INC  R1                  ;R1+1
SETB 2CH
AJMP TC
PK2:INC  R1                  ;R1+1
CLR 2DH
AJMP TC
PK3:INC  R1                  ;R1+1
SETB 2DH
AJMP TC
PK4:INC  R1                  ;R1+1
CLR 2CH
TC:RET                     ;子程序返回
END


10樓: >>參與討論
violit
增量式?jīng)]有什么不可以,給一個基準(zhǔn)就好了
絕對式的好貴阿~~

11樓: >>參與討論
jiayongli
直接計脈沖個數(shù)就可以了,我就在這樣搞的
直接計脈沖個數(shù)就可以了,我就在這樣搞的,一個正,一個負(fù),2個合成就好了,

12樓: >>參與討論
cndj
需要加一個四倍頻電路
單片機接增量式光電編碼器最好加一個四倍頻電路,功能是對A、B信號辨向倍頻,輸出一路加計數(shù)脈沖,一路減計數(shù)脈沖,然后再接單片機上的計數(shù)器,軟件比較簡單,不需要占很多工作時間和資源,我以前是用16V8做四倍頻電路的,也可以用邏輯器件或CPLD來做,建議不要直接接單片機,那樣雖然硬件簡單,但很占單片機工作時間,計數(shù)速度不會高的。另外好像用DSP可以直接接編碼器。

13樓: >>參與討論
zhdiamond
re
不明白樓主的確切意思。你的實時檢測的最好方法還是用中斷吧。比如說編碼器的A相輸出接在int1,然后B相接在p1.1。每次a相有輸出的時候就會進入中斷,此時,在中斷子程序中判斷p1.1的狀態(tài),以此來判斷旋轉(zhuǎn)方向。并進行計數(shù)累計。還有,這個編碼器計數(shù)完畢是什么意思?

14樓: >>參與討論
njxmh
我們有絕對量的磁光編碼器,你也許能用
編碼器每旋轉(zhuǎn)一周(360度)變化256,可增可減,以格雷碼或485信號輸出。www.yaoce.com

15樓: >>參與討論
pfjian
用單片機的計數(shù)器實現(xiàn)
我做過增量式光柵編碼盤實現(xiàn)角度測量。我們的刻線是16200條,精度80秒,做細(xì)分后可以達到2秒,如果你不需要細(xì)分,可以把得到的兩路信號用硬件電路變?yōu)槊}沖信號直接進單片機的記數(shù)器就可以了。

16樓: >>參與討論
zcxhe
樓主是杭船的嗎?
是不是要做船體平衡儀。

17樓: >>參與討論
mikenee
應(yīng)該可以的.
可以用中斷的方法實現(xiàn)計數(shù)的,但是要確保初始時輪船是平衡的,否則可能達不到設(shè)計要求,或者采用絕對編碼器.還有一種辦法,如果是控制模型船的話,采用具有Z信號輸出的增量式光電編碼器,安裝時注意Z信號出現(xiàn)在傾斜為0度的位置上,每次開機時讓船經(jīng)過Z信號輸出點以獲得基準(zhǔn),角度計數(shù)器置0即可.

18樓: >>參與討論
秋葉
簡單解決法
用其中一相做上升沿中斷源,在中斷中檢測另一相為高或低判斷正轉(zhuǎn)還是反轉(zhuǎn),并對脈沖做加1或減1操作即可。

19樓: >>參與討論
xiaoyuan_ly
我來說幾句了!!!
  你對角度狀態(tài)的判斷根據(jù)你的需要可用中斷也可查詢,對編碼器的計數(shù)是連續(xù)的,只有計數(shù)溢出時才中斷,并且溢出時并不影響計數(shù)(因為物理的轉(zhuǎn)動速度不可能在中斷時產(chǎn)生2次中斷的),還有絕對計數(shù)值的多少并不影響你角度的判斷,因為你一周增量編碼的個數(shù)始終是一定的.比如: 你一周為36000個脈沖,那么360度角度可根據(jù)你的分辨精度計算的。
  還有用增量的還是絕對的都無所謂的,要根據(jù)你的要求來定,比如:如你人為很難或者不能在初始化時判斷這個角度,那么建議你最好使用絕對的,通過編碼器的絕對位置安裝來保證,還有絕對位置的處理有很多細(xì)節(jié)和條件同樣要來保證好才行(比如在初始化時是否要求來尋找這個絕對位置等情況的要求等等)。如果你人為很容易判斷這個初始化角度,那么很容易實現(xiàn)了,你可以把這個角度進行初始化設(shè)置成當(dāng)前角度就行了或者清零成絕對位置都是很容易的,這種方式的擴展性好。
  不知道我說的你能不能接受,望高手指點。
  

20樓: >>參與討論
lanyaz
英飛凌XC164可以完成
   詳細(xì)資料可參
  《億恒C164CI 16位單片機》
   可以捕捉編碼器輸出的A、B相
   億恒即是英飛凌,前身是西門子半導(dǎo)體
   我公司是英飛凌亞太區(qū)授權(quán)一級代理
   趙彥龍
   星科電子有限公司
   021-64403295

21樓: >>參與討論
jiangxiuyuan0
增量式編碼器程序
      哪里有增量式編碼器程序提供?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請問哪位兄臺能夠提供寫流程圖的軟件?象SmatDraw...
看看C語句都生成了什么匯編指令,并有問題請教
MCU51-63K仿真頭是不是一定不能仿真串口?
89c2051能不能輸出125k方波?24M晶振
求救.
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號