HENGSTLER編碼器概述原理及應用特點是什么?
編碼器是科技發(fā)展的結果,是應用廣泛的工業(yè)設備了,但是HENGSTLER編碼器具體有哪些作用?編碼器應用在哪些行業(yè)?我想還有很多工業(yè)新手們還不能熟知的。
編碼器的作用(編碼器概述原理及應用特點是什么?)
編碼器概述
HENGSTLER編碼器是一種將角位移或者角速度轉換成一連串電數(shù)字脈沖的旋轉式傳感器,我們可以通過亨士樂編碼器測量到底位移或者速度信息。編碼器從輸出數(shù)據類型上分,可以分為增量式編碼器和絕對式編碼器。
從編碼器檢測原理上來分,還可以分為光學式、磁式、感應式、電容式。常見的是光電編碼器(光學式)和編碼器(磁式)。
編碼器原理
光電編碼器是一種通過光電轉換將輸出軸上的機械幾何位移轉換為脈沖或數(shù)字量的傳感器。亨士樂光電編碼器由光碼盤和光電檢測裝置組成。光碼盤是一個具有一定直徑的圓盤,并均勻地開有若干個矩形孔。由于光電編碼器與電機同軸,當電機轉動時,檢測裝置檢測并輸出若干個脈沖信號。為了判斷旋轉方向,一般輸出兩組具有一定相位差的方波信號。
編碼器是一種通過磁電轉換將輸出軸上的機械幾何位移轉換為脈沖或數(shù)字量的傳感器。HENGSTLER編碼器由霍爾碼盤和霍爾元件組成?;魻柎a盤在一定直徑的圓盤上以不同的磁極等距排列?;魻柎a盤與電機同軸。當電機轉動時,霍爾元件檢測并輸出幾個脈沖信號。為了判斷旋轉方向,一般輸出兩組具有一定相位差的方波信號。
電機編碼器接線
然后這里是平衡車上的編碼器。
輪子上有一根線,最靠邊的兩根是電機電源線,由tb6612驅動,可以用來控制電機的速度和轉向。然后中間四個是編碼器接口。
注意~使用的兩個編碼器接反了。如果測試時輪子同向旋轉,計數(shù)值相反,只需改變AB相即可?;蛘咴谧x取的其中一個數(shù)字前加一個減號。
然后編碼器電源是5v,電源問題,這個是增量輸出編碼器。編碼器有AB相輸出,不僅能測速度,還能判別旋轉方向。根據上圖中的接線說明,我們可以看到,我們只需要給編碼器電源提供5V的電壓,電機轉動時就可以通過AB相輸出方波信號。編碼器自帶上拉電阻,無需外接上拉,直接接單片機IO讀取即可。
當然,這并不意味著編碼器必須使用定時器作為接口。有些微控制器沒有HENGSTLER編碼器接口的功能,也可以用外部中斷代替。將編碼器A相的輸出接到單片機的外部中斷輸入口,這樣可以通過跳變沿觸發(fā)中斷,然后在相應的外部中斷服務函數(shù)中,再用B相的電平來判斷正向和反向旋轉。當A相當于一個過渡沿時,B相的高電平為正轉,低電平為反轉。那么普通的io口也可以處理。
但是使用stm32作為編碼器接口的好處是計數(shù)更智能,允許接口抖動而不影響結果。而且配置代碼很多,拉過來用就行了。所以下面介紹stm32定時器作為編碼器接口
定時器作為編碼器接口的配置方法
1.計數(shù)模式
現(xiàn)在,顯然用T1和T2一起計數(shù)更準確,也就是達到“四倍頻”
2、過濾級別
3、計數(shù)重載值
是給“TIM_TimeBaseStructure.TIM_Period”賦值,
這些都寫在代碼的注釋里
編碼器的應用注意要點
1、編碼器有速度上限。如果超過這個上限,它將無法正常工作。這是硬件限制。原則上,線數(shù)越多,速度越低。選擇類型時應注意這一點。亨士樂編碼器的輸出一般是漏極開路的,所以單片機的io必須上拉輸入狀態(tài)。
2、定時器初始化后,任何時候CNT寄存器的值就是編碼器的位置信息。正向旋轉時增加,反向旋轉時減少。這部分不需要軟件干預。初始化時給定的TIM_Period的值應該是碼盤整圈的刻度值,經過減法溢出后會自動修正為這個數(shù)。如果添加的值超過此值,它將返回到 0。
3、如果要擴展到多圈計數(shù),需要一個溢出中斷。
4、編碼器各定時器的輸入引腳可由軟件設置和過濾
5、如果應用中沒有絕對位置信號或者初始化完成后沒有收到絕對位置信號前的計數(shù),只能是相對計數(shù)。接收到絕對位置信號后,再次修改CNT 的值。亨士樂編碼器一般都有零位信號,可以結合定時器捕捉輸入。上電后,需要來回移動才能找到這個位置。
6、即使有過濾器計數(shù)值,偶爾也會出現(xiàn)錯誤。一圈多數(shù)或少數(shù)是正常的,尤其是速度比較高的時候,有絕對位置信號進行修正是非常有必要的。絕對位置信號不需要在零位點,接收到該信號后將CNT修正為固定值即可。
7、編碼器啟動定時器的輸入中斷可達每個步數(shù)都被處理,但在高速運行期間您可能無法處理它。
光電編碼器是一種通過光電轉換將輸出軸上的機械幾何位移量轉換成脈沖或數(shù)字量的傳感器。光電編碼器是由光碼盤和光電檢測裝置組成。光碼盤是在一 定直徑的圓板上等分地開通若干個長方形孔。由于光電碼盤與電動機同軸,電動機旋轉時,檢測裝置檢測輸出若干脈沖信號,為判斷轉向,一般輸出兩組存在一 定相位差的方波信號。
HENGSTLER編碼器是一種通過磁電轉換將輸出軸上的機械幾何位移量轉換成脈沖或數(shù)字量的傳感器。編碼器是由霍爾碼盤和霍爾元件組成?;魻柎a盤是在一 定直徑的圓板上等分地布置有不同的磁極。霍爾碼盤與電動機同軸,電動機旋轉時,霍爾元件檢測輸出若干脈沖信號,為判斷轉向,一般輸出兩組存在一定相位差的方波信號。
電機編碼器接線
然后這下面就是講的平衡車上的編碼器啦。
車輪上有根線,最邊上的兩根是電機電源線,配合tb6612驅動,可用來控制電機的轉速和轉向。然后中間四根是編碼器接口。
要注意哦~用的是兩個編碼器是反過來的,如果測試時車輪同向轉,計數(shù)值互為相反數(shù),就把AB相調換一下就好啦?;蛘甙哑渲幸粋€讀到的數(shù)前面加個符號。
然后HENGSTLER編碼器供電是5v,供電問題,這是一款增量式輸出的編碼器。編碼器有 AB 相輸出,所以不僅可以測 速,還可以辨別轉向。根據上圖的接線說明可以看到,我們只需給編碼器電源5V 供電,在電機轉動的時候即可通過 AB 相輸出方波信號。編碼器自帶了上拉電阻,所以無需外部上拉,可以直接連接到單片機 IO 讀取。
當然不是說編碼器就一定要用定時器做接口,有些單片機沒有亨士樂編碼器接口的功能,也是可以用外部中斷來代替。把編碼器 A 相輸出接到單片機的外部中斷輸入口,這樣 就可通過跳變沿觸發(fā)中斷,然后在對應的外部中斷服務函數(shù)里面,然后通過 B 相的電平來確定正轉反轉。A相當于一個跳變沿的時候,B相高電平就為是正轉,低電平就為是反轉。然后,普通io口也是可以處理的。
但是用stm32做編碼器接口的好處是計數(shù)比較智能,容許接口出現(xiàn)抖動而不影響結果。而且配置的代碼超級多,拉過來就可以用啦。所以下面就是stm32定時器做編碼器接口的介紹啦
定時器做編碼器接口的配置方式
1,計數(shù)模式
如上兩張圖對應著來看吶,顯然用T1,T2共同計數(shù)比較精確,也就是實現(xiàn)了“四倍頻”
2,濾波等級
3,計數(shù)重裝載值
就是對“TIM_TimeBaseStructure.TIM_Period”賦值,
這些都有寫在代碼的注釋里面
編碼器應用注意點
1.編碼器有個轉速上限,超過這個百思特網上限是不能正常工作的,這個是硬件的限制,原則上線數(shù)越多轉速就越低,這點在選型時要注意,編碼器的輸出一般是開漏的,所以單片機的io一定要上拉輸入狀態(tài)。
2.定時器初始化好以后,任何時候CNT寄存器的值就是亨士樂編碼器的位置信息,正轉他會加反轉他會減這部分是不需要軟件干預的,初始化時給的TIM_Period 值應該是碼盤整圈的刻度值,在減溢出會自動修正為這個數(shù)。加超過此數(shù)值就回0.
3.如果要擴展成多圈計數(shù)需要溢出中斷像樓主說的,程序上圈計數(shù)加減方向位就行了。
4.編碼器每個定時器的輸入腳可以通過軟件設定濾波
5.應用中如果沒有絕對位置信號或者初始化完成后還沒有收到絕對位置信號前的計數(shù)只能是相對計數(shù)。收到絕百思特網對位置信號后重新修改一次CNT的值就行了。碼盤一般都有零位置信號,結合到定時器捕獲輸入就行。上電以后要往返運動一下找到這個位置。
6.即便有濾波計數(shù)值偶爾也會有出錯誤的情況,一圈多計一個或少計一個數(shù)都是很正常的特別是轉速比較高的時候尤其明顯,有個絕對位置信號做修正是很有必要的。絕對位置信號不需要一定在零位置點,收到這個信號就將CNT修正為一個固定的數(shù)值即可。
7.編碼器開啟定時器的輸入中斷可以達到每個步計數(shù)都作處理的效果,但是高速運轉的時候你可能處理不過來。
了解更多編碼器相關知識,敬請關注
亨士樂編碼器國內正規(guī)授權代理西安德伍拓自動化傳動系統(tǒng)有限公司網站。公司技術團隊為您免費提供Hengstler編碼器的選型、安裝、調試、保養(yǎng)等技術指導服務,盡量避免企業(yè)因為編碼器技術人員的短缺帶來的損失,采取“線上+線下”服務的服務形式,幫助企業(yè)解決技術難題。