正交編碼器 Quadrature Encoder 初學者指南

什麼是正交編碼器?

正交編碼器 ( quadrature encoder ) 是一種用於檢測機械系統運動的感測器。它們通常用於檢測設備(例如電動馬達或電動馬達驅動軸)的速度和角旋轉(總轉數)。它們也可用於檢測線性運動。

本簡介使用圖 1 所示的大型機制探討了正交編碼器概念。這是使用 DigiKey 提供的工業控制和自動化組件建構的。從教育角度來看,其尺寸非常理想,因為可以輕鬆識別各個組件。更重要的是,該機制使我們能夠看到旋轉的斷路器盤和雙相感測器的相對角度。緩慢的旋轉和 Banner EngineeringDS18V6LP 相位感測器提供的視覺指示器(顯著顯示在機構正面)進一步增強了這項功能。

圖 1:正交編碼器圖片,採用 Phase Dock 1007 Wokbench 底座、3D 列印組件以及 DigiKey 提供的一系列工業組件。

是否有提供正交編碼器的設計檔案?

這是編碼器和馬達支架的設計文件。如果您確實複製或修改了設計,請在下面的空間中附加圖片。另外,我們也歡迎您提出問題和發表評論。

Quadrature Encoder Files.zip (1.6 MB)

增量和絕對這兩個術語是什麼意思?

術語「增量」通常用於描述正交編碼器。這裡的增量意味著微小的變化,如「時間的微小增量或位置的微小變化」。雖然這是事實,但當用於描述具有正交編碼器和相關邏輯,例如微控制器或可程式邏輯控制器(PLC)的系統時,該術語更容易理解。系統的邏輯控制器監控正交編碼器,然後根據正交編碼器的輸出增加或減少變數。因此,術語「增量」與控制器的關係比與感測器的關係更密切。另一種看待這個問題的方式是認識到正交編碼器本身沒有絕對位置資訊。相反,邏輯控制器必須處理並維持位置。這是一項具有挑戰性的時間敏感型行動。任何偏差和位置資訊都會遺失,導致機械系統失靈。同樣,失去力量也會影響控制者對位置的判斷。

技術提示:基於正交編碼器的系統極不希望出現位置遺失,因為在設備啟動時或位置資訊有疑問的任何時候都需要進行校準程序。在生產環境中,這會浪費原本可以用來製造產品的寶貴時間。

與絕對編碼器的關係

一個相關但形成對比的感測器是絕對編碼器。使用絕對編碼器,位置資訊保存在編碼器本身。該系統不受功率損耗的影響,因為位置資訊始終可供編碼器的內部讀取機制使用,就像電位器始終「知道」電阻值一樣。

雖然這似乎是一個優勢,但絕對編碼器並不常見,因為在給定的性能水平下,它們比正交編碼器要貴得多。例如,考慮一台電腦數控 (CNC) 機器,它有一個大床身,由馬達透過滾珠螺桿驅動。連接到驅動馬達的簡單且廉價的正交編碼器可用於以高解析度追蹤運動。等效的絕對編碼器會非常昂貴、體積龐大,或無法使用。

為了更好地理解這些關係,我們鼓勵您研究每種編碼器的資料表。作為起點,請考慮這個專為機械手臂位置感應而設計的絕對感測器

電腦控制位置追蹤的優點

為了更好地區分這兩個感測器,我們認識到基於正交編碼器的系統本質上主要是基於軟體的,其位置維持在程式中使用整數類型或長整數類型。因此,具有正交編碼器的電腦系統可以以 2^32 甚至 2^64 個獨特步驟追蹤位置。相比之下,絕對解碼器的操作本質上是模擬的。這裡的術語「模擬」意味著需要一系列內部感測器來讀取位置資訊。對於實際應用來說,絕對編碼器的最高值約為 16 位元。這是可以預料到的,因為編碼器的尺寸必須隨著代碼的大小而增加,而感測器必須縮小。

具有單一絕對位置的正交編碼器

當應用於正交編碼器時,絕對術語有一個混合例外。正如將會顯示的,一些編碼器配備了「索引」輸出。這用於指示正確編碼器位於已知位置。然後可以將該資訊用作歸航機制的一部分。我們使用術語「混合」,因為得到的感測器不是絕對感測器。相反,我們可以偵測到一個通常被確定為絕對原點位置的單一位置。

當應用於正交編碼器時,正交一詞的含義是什麼?

正交是一個名詞,描述兩個旋轉物體之間的角度(數學)關係。具體來說,它指的是彼此之間存在 90度關係的事物。以下是一些範例:

  • 正弦和餘弦函數描述的數學關係
  • 當月球相對於地球與太陽成直角時,就會出現正交(半月)
  • 無線電通訊系統中使用的電訊號,包括同相信號(“I”)和具有 90 度相移的正交訊號(“Q”)
  • 早期配電系統中使用的電訊號,包括特斯拉著名的感應電動機。

技術提示:現今的電力發電和配電系統主要採用三相繫統,其中電訊號彼此偏移 120 度。情況並非總是如此,因為一些早期的多相繫統具有正交訊號。建立正交關係的一個基本方法是將兩個單相發電機物理安裝在同一軸上,使得發電機彼此相對旋轉以提供必要的 90 度相位關係。由此產生的 “A” 產生器產生同相信號,而 “B” 產生器產生正交訊號。

正交編碼器中如何產生正交訊號?

術語「正交」描述的是一種關係。為了建構正交編碼器,我們需要放置兩個感測器,使它們與被測量的東西形成正交關係。圖 2 所示和影片 1 所示的機械部份具有一個帶槽的旋轉盤,用作阻檔 Banner Engineering 的DS18VP6LP 反射式感測器的光束。這些感測器的物理間距使得它們與中斷碟正交。

仔細檢查圖 2 可以發現,中斷碟、感測器和反射器是匹配的組合。感測器和反射器之間存在一定距離,因此兩個感測器都可能被中斷碟阻擋或暴露。當磁碟旋轉時,感測器會形成 00、01、11 和 10 的開關模式。如果我們反轉旋轉方向,我們會看到略有不同的格雷碼 00、10、11 和 01。影片 1 顯示了這些模式以及馬達的正向和反向運作。

圖 2:特寫影像顯示了正交感測器、中斷碟和反射器之間的關係。請注意,中斷碟的尺寸可以允許或阻擋兩個感測器。

影片 1:正交編碼器在正向和反向的操作。

技術提示:反射式感測器建構為一個緊湊的單體元件,整合了發射器和接收器。所選用的 Banner Engineering 感測器配有一個可產生紅色可見光束的發射器。此光束透過光學反射器返回到感測器。感測器的組合用途是偵測阻擋光束的物體。反射式感測器的功能比圖 1 所示的要強大得多。只要對準正確,就可以偵測到最遠 11.4 英尺的光束。還提供具有更大範圍的設備。例如,同一系列的設備範圍為 65.6 英尺。

正交編碼器如何與微控制器或 PLC 整合?

正交編碼器不是獨立設備,因為它不能直接指示旋轉速度的方向。相反,正交編碼器必須連接到微控制器、可程式邏輯控制器 (PLC) 或其他獨立設備並由其監控。

對正交編碼器積分的過於簡單的看法是,它包含一個兩步驟過程。首先,我們將編碼器連接到相關的微控制器或 PLC。其次,我們編寫幾行程式碼來捕捉相關的開關模式。實際上事情要複雜得多,因為我們很快就會遇到時間問題。這不是編碼器的問題,而是程式設計技術和相關微控制器或 PLC 的速度問題(統稱為邏輯)。

為了更好地理解,讓我們陳述正交系統積分的基本原理:

  • 位置、方向和速度指標在相關邏輯中保持。
  • 邏輯必須對編碼器產生的每一個格雷碼訊號轉換作出回應。即使只是一個轉變的失敗也會導致機械系統失控。

有關正交編碼器邏輯設計的更多信息,請參閱先前的 DigiKey 技術論壇文章:

正交編碼器在系統中的工作與訊號變化:這文章引入了一種基於狀態的機制來提高編碼器的可靠性。

Design a Robust Quadrature Encoder ISR based program for Arduino Motor Control :這文章介紹了基於 Arduino 的正交編碼器邏輯(包括狀態機)的應用。它還引入了主線代碼和中斷服務程序 (ISR) 之間傳輸原子資料的概念。

High Speed Interrupts, FreeRTOS, and the ARM NVIC with the Arduino PORTENTA Pro C33 :這文章提供了有關透過將正交編碼器 ISR 整合到 ARM 微控制器環境中來設計強大軟體的更多資訊。

技術提示:假設正交編碼器用於伺服機制。這樣的系統有望將機械負載保持在固定位置。一個例子是機器手臂承受重力帶來的重量。在這種情況下,我們可以合理地預期手臂會在轉換點處與編碼器一起物理停止並制動,導致編碼器的 A 相和 B 相輸出在兩個代碼(例如 00 和 01)之間切換。邏輯必須透過在兩個位置(例如計數 134,555 和 134,556)之間跳動來做出適當的回應。一個典型的錯誤是建構/編寫在這種情況下增量計數的邏輯,從而導致錯誤的立場。

與正交編碼器相關的索引輸出是什麼?

有時您會遇到具有「索引」輸出的正交編碼器。此感測器輸出提供正交編碼器位於已知位置的絕對指標。圖 1 和圖 3 中可以看到索引的組件。在圖 1 中可以看到斷路器表面的鎖緊螺帽。在圖 3 中,我們可以看到偵測螺絲頭存在的電感式接近感測器。

至於感測器的選擇,為了多樣性,選擇了電感式接近感測器和相關的金屬螺絲。考慮到導師的性質,最好展示各種工業控制感測器的運作。我們還應該提到,Pololu 製造了各種金屬齒輪馬達,其中一些配備了直接物理連接到馬達軸上的整體正交編碼器。例如,請參閱前面提到的 Arduino 文章

歸位演算法是什麼?

請注意,指數檢測呈現的目標很窄。需要對控制系統進行仔細的編程,首先找到並將機制定位在索引提供的原始位置。

您可能已經在 3D 列印機中看到過這種歸位操作。作為初始校準程序的一部分,印表機將驅動每個軸到原位。這通常有四個步驟:

  • 慢慢地將機制朝原位方向移動。
  • 當偵測到原位時停止。
  • 反向直到不再在原位。
  • 慢速前進,直到找到原點位置。
  • 停止,系統已回零。

也許在以後的文章中我們可以示範歸航演算法。這將需要一個變速馬達控制器來以慢速然後慢速運行馬達。要知道,過快的速度會使系統超出指標,很難到達原點位置。伺服馬達速度的典型硬體解決方案是開發脈衝寬度調變 (PWM) 訊號的控制器。然後將其發送到專用馬達驅動器。在另一文章中可以找到一個例子。

圖 3 OmronZ4122 電感式接近指數感測器位於 Pololu #4685 齒輪馬達右上方 45 度處。反射式感測器的反射器位於馬達下方,與感測器正交。

結論

本文簡要介紹了適合在教學環境中使用的正交編碼器。較大的物理尺寸是一個重要的考慮因素,因為它允許各個元素之間存在相位關係。這有助於更好地理解該設備以及所有正交編碼器所共有的基本原理。

返回工業控制與自動化指南。

問題

  1. 解釋術語“增量”,它適用於具有正交編碼器的系統。

  2. 繪製一張圖表來顯示月球與地球和太陽光線的關係。

  3. 描述反射式感測器的操作。

  4. 對比電感式接近感測器和電容式接近感測器的操作。務必注意每個設備可能感知到的材料。

  5. 大多數工業感測器都有一個視覺指示器,如影片 1 所示。從系統故障排除的角度解釋此功能的相關性。

  6. 參考圖 1,觀察中斷輪分為交替的高點和低點。首先,畫出車輪以及正交和索引感測器的相對位置。然後使用從車輪中心發出的角度,識別正交(90 度)相移。提示:車輪分為 4 個部分,每個部分提供 360 度電輸出。這就像 8 極同步電動機,每次機械旋轉都會產生 4 次電氣旋轉。

  7. 正交編碼器的每次感測器轉換稱為一個計數。本文介紹的編碼器每轉產生多少個計數?

  8. 本簡介中介紹的 Pololu 馬達額定轉速為 100 RPM,電壓為 24 VDC(空載)。本文介紹的工業正交編碼器每秒產生多少個計數 (CPS)?

  9. 什麼是格雷碼?如何利用它來編寫強大的編碼器邏輯?

  10. 正交編碼器用於測量機制的位置。什麼決定了可測量的最大運動的上限?提示:考慮電腦程式設計的基本面向。

批判性思考問題

  1. 可以重新設計中斷輪以提高解析度。提高解析度的限制因素有哪些?

  2. 識別並描述至少三個獨特的商用現貨 (COTS) 正交編碼器 - 其中一個應該是線性的。請務必確定感測器的類型、解析度和典型應用。

  3. 通常,優先選擇具有高解析度的感測器。探索機械系統約束範圍內的關係。作為起點,探索消隙齒輪和滾珠螺桿執行器的概念。當我們考慮效能與成本的關係時,一定要確定收益遞減點。

  4. 文章指出,一旦發生電源故障,位置資訊就會遺失。確定並描述在電源故障時維持編碼器位置的解決方案。作為設計約束,您的功率預算僅限於小型超級電容器。提示:哪些馬達配件通常與機械手臂相關以保持位置?