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