# Encoder ### 運作模式 將馬達的轉動(旋轉量)變成數位訊號,包括角度、位移、速度等,並輸出有關旋轉軸運動的資料 ![](https://i.imgur.com/6uJHIg8.png) ## incremental encoder(增量型編碼器) #### 馬達的速度 內圈只有一個孔當作原點 第二圈與最外圈有許多孔 藉由光通果馬達的小孔之後被馬達另一側的感光元件偵測來計算馬達轉速 ![](https://i.imgur.com/LbjfYdw.png) ![](https://i.imgur.com/n1OfOKp.png) ### 正轉與反轉 ![](https://i.imgur.com/EJhrSIq.png) #### 正轉 A脈波超前B脈波 ![](https://i.imgur.com/dPpEkdo.png) #### 反轉 B脈波超前A脈波 ![](https://i.imgur.com/EBTiVdO.png) ## absolute encoder(絕對型編碼器) ### 運作原理 一樣透過遮光與透光原理,只是變為二進制 ![](https://i.imgur.com/IBczH8a.png) 利用轉軸得資料可測出轉軸的絕對角度 ![](https://i.imgur.com/Um9OYyF.png) ## 兩者之間的差別 增量型的encoder斷電後位置資訊就會消失,絕對型則不會 ## 教學影片 [增量型與絕對型的原理及差異](https://www.youtube.com/watch?v=Y5HBvbbmW_g&t=26s) [What is Encoder?](https://www.youtube.com/watch?v=k2GQVJ4z0kM) ## 程式碼 ### 宣告 ``` java Encoder encoder = new Encoder(0, 1,); // 設為4X編碼且非反轉 ```