我在別的論壇回答過這個(gè)問題的帖子,直接復(fù)制提問者的提問和我的回答。
提問者:
怎樣用A-B程序使單圈編碼器達(dá)到多圈的功能,并且分辨出轉(zhuǎn)向,請各位大咖指點(diǎn)
電機(jī)帶減速機(jī),減速機(jī)軸上有8位單圈絕對值編碼器,用來測位置。編碼器采集格雷碼,已經(jīng)轉(zhuǎn)化為2進(jìn)制碼了?墒怯捎谶@是單圈編碼器,過零時(shí),沒有圈數(shù)的采集。各位大俠有沒有什么思路,怎么在程序里計(jì)算編碼器已經(jīng)轉(zhuǎn)了幾圈?分辨出電機(jī)方向
回復(fù):這種編碼器最大值是255,
編寫程序----------開機(jī)初始化ON保存一次編碼器數(shù)值,加上128,
編寫程序----------編碼器的當(dāng)前采集值加上128,
兩者作比較,則可以判斷編碼器的轉(zhuǎn)向,
根據(jù)差值還能判斷轉(zhuǎn)了幾圈了。
提問者:能說具體點(diǎn)嗎? 前面的編碼器碼數(shù)加128與當(dāng)前的編碼器碼數(shù)加128做比較?怎樣做比較?為什么加128?最好有個(gè)程序我看看 謝謝了
回答:你把十進(jìn)制的255和128轉(zhuǎn)換成二進(jìn)制就會(huì)明白了。