加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

128位高分辨率絕對編碼器(電路設計+代碼)

2017/07/07
74
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內容為數(shù)字版權作品,購買后不支持退換且無法轉移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(4)
  • 方案介紹
  • 相關文件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

這是一個小的8位灰色碼頭旋轉位置傳感器,提供128個獨特的位置。它使用單個編碼器軌道進行管理,其中8個觸點間隔均勻。該“數(shù)字旋鈕”編碼器可用于控制您的arduino項目,它也可以用于壽命有限的運動控制系統(tǒng)。附件內容分享的代碼是針對Arduino UNO R3開發(fā)的。它應該在任何Arduino上工作。該代碼目前支持MCP23008,PCF8574和PCF8574A I2C擴展器。

128位高分辨率絕對編碼器實物展示:

使用以下地址選擇這些

  • 0x00 - 0x07 MCP23008地址0x20-0x27。(這與較早的庫修訂版向后兼容)
  • 0x20 - 0x27 PCF8574
  • 0x38 - 0x3F PCF8574A

請注意,MCP23008和PCF8574芯片使用相同的i2c地址范圍。許多LCD背包也使用這些芯片之一。在同一總線上混合所有這些時要小心,以避免重復地址。為了進一步混淆事物,原始I2C地址具有作為讀/寫信號的最低位,因此一些文檔(如某些PCF8574數(shù)據(jù)表)將參考0x40和0x70,0x20和0x38向左移位一位。


安裝

封閉的示例草圖ACE128test通過任意一個和I2C背包驅動2x16顯示,或直接從Arduino驅動,具體取決于您是否注釋了LCD_I2C宏。

公共方法



用法

請參見ACE128測試示例。

  • 包括您需要的所有編碼器映射(見下文),以匹配ACE單元的引腳序列。
  • 使用ACE128構造函數(shù)聲明所有ACE128對象。它需要I2C地址和指向編碼器映射的指針??蛇x的第三個整數(shù)可以取一個正整數(shù)來顯示在eeprom中存儲零信息的位置。允許三個字節(jié)。
  • 從setup()調用每個ACE128對象的begin方法。這將使用eeprom設置或回退將當前位置設置為零。
  • pos()和upos()方法返回相對于邏輯零位置的位置,而不是由機械任意位置的編碼器返回的零位置。當它滾動時,轉動被存儲以供mpos使用并保存在eeprom中
  • 每循環(huán)一次(),調用pos(),upos()或mpos()并將值存儲在一個變量中。訪問i2c總線需要一些周期,所以每次要引用它時都不要調用pos()。
  • 有三個設置功能
  • setZero() - 將當前位置設置為零(不更新多圈)
  • setZero(int) - 將零點設置為給定的0-127數(shù)字
  • setMpos(int) - 將當前位置設置為此多圈值

編碼器地圖

該庫帶有各種編碼器映射,可以在ACE和IO擴展器之間實現(xiàn)引腳的不同接線。這些由包含的make_encodermap示例草圖生成。生成自定義編碼器圖:

  • 編輯make_encodermap草圖
  • 更改pinOrder數(shù)組以匹配您的接線
  • 更改pinString以匹配您的接線
  • 將草圖加載到Arduino
  • 將串行監(jiān)視器輸出復制到ACE128文件夾中的新.h文件。

12345678用于“逆時針上升”接線,與數(shù)據(jù)表編號相匹配,建議進行面包板測試。

  • 編碼器原理圖和PCB源文件.zip
    描述:原理圖和PCB源文件,用eagle6.9軟件打開
  • 編碼器源碼等更多資料.zip
    描述:編碼器源碼等更多資料
  • 編碼器數(shù)據(jù)手冊.pdf
    描述:編碼器數(shù)據(jù)手冊
  • 原文出處.txt
    描述:原文出處

相關推薦

電子產業(yè)圖譜