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