網(wǎng)友自制正交
編碼器碼盤,可測(cè)TT電機(jī)的轉(zhuǎn)速、方向。
有一位網(wǎng)友想要使用TT電機(jī)做小車,想裝一個(gè)碼盤用來測(cè)速。但是,直接把碼盤裝在輸出軸又很難做到足夠的分辨率,于是就想到了一個(gè)比較冷門的方法,自制了一個(gè)碼盤,并且以此為基礎(chǔ),給一個(gè)TT電機(jī)加裝一組正交編碼器。
下面,作為
Hengstler編碼器在國(guó)內(nèi)的代理,也作為一個(gè)編碼器愛好者,讓我們和大家一起分享網(wǎng)友的神奇制作吧!
1、先說一說正交編碼器
從名字來說,正交編碼器就是編碼器的一種,百科上定義是:正交編碼器一般指增量式編碼器。增量式編碼器是將位移轉(zhuǎn)換成周期性的電信號(hào),再把這個(gè)電信號(hào)轉(zhuǎn)變成計(jì)數(shù)脈沖,用脈沖的個(gè)數(shù)表示位移的大小,balabala……
其實(shí),就是把圓周的旋轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)換成2路相位差90度的電平跳變信號(hào),如下圖所示:
上圖中有Z相,相當(dāng)于是零點(diǎn),可以消除累計(jì)誤差,部分應(yīng)用中可以不使用。
這種編碼器的優(yōu)點(diǎn),就是可以根據(jù)AB相位關(guān)系推測(cè)出轉(zhuǎn)動(dòng)方向,而且當(dāng)圓周柵格數(shù)目為n時(shí),跳變信號(hào)可以達(dá)到4n個(gè),變相提高了分辨率。
說了這么多,接下來我們就用最常見、最便宜的TT減速電機(jī)為基礎(chǔ),使用2對(duì)射式光電開關(guān)(ITR9608),制作一個(gè)帶正交編碼器的電機(jī)。
2、準(zhǔn)備材料,設(shè)計(jì)ITR9608原理圖并焊接
首先是TT電機(jī),可以說這是最普遍、最便宜的一款了,這還是我十年前入門玩智能小車時(shí)候買的存貨呢~
上圖中箭頭所指的位置是本方案的關(guān)鍵,就是要利用這一小點(diǎn)凸起搞點(diǎn)事情。
首先用助焊劑輕輕擦拭一下這段短短的軸,然后準(zhǔn)備一個(gè)小銅片(沒有銅片,用鋁片也行;再?zèng)]有,切一點(diǎn)萬(wàn)用板也可以),大小控制在10mm邊長(zhǎng),中間鉆一個(gè)2mm多一點(diǎn)的孔(盡量居中鉆孔),就像下面這樣:
接下來,使用助焊劑輕輕擦拭銅片,然后將銅片通過小孔安裝在電機(jī)軸上,如下圖所示:
接下來是關(guān)鍵一步:焊接銅片!使用60W電烙鐵,快速焊接銅片的小孔,使其牢固地連接在電機(jī)軸上。對(duì),這里其實(shí)是用來粘接碼盤的一個(gè)基點(diǎn),哈哈,所以我說這個(gè)凸出的一點(diǎn)點(diǎn)軸是關(guān)鍵。
ITR9608是一種常見的對(duì)射式光電開關(guān),加兩個(gè)電阻就可以使用了,設(shè)計(jì)了簡(jiǎn)單的原理圖:
按圖焊接,需要焊接兩個(gè)。
3、設(shè)計(jì)碼盤組件安裝座,并進(jìn)行切割加工
這里有個(gè)地方需要提示一下:在上圖中,兩個(gè)光電開關(guān)的安裝角度一定要注意,一個(gè)開關(guān)對(duì)準(zhǔn)柵格的時(shí)候,另一個(gè)開關(guān)的位置要?jiǎng)偤帽徽趽?,這樣就能保證信號(hào)“正交”。上圖中使用的是24線碼盤,兩個(gè)傳感器夾角67.5度。
4、安裝碼盤組件
由于上面24線碼盤測(cè)試中發(fā)現(xiàn)會(huì)“丟失”信號(hào),分析可能是由于柵格過于密集,后來切割了一個(gè)4線的,使用的是普通包裝紙(更輕,避免對(duì)電機(jī)帶負(fù)載能力產(chǎn)生影響)。
5、基于stm32f103c8t6創(chuàng)建工程,編寫驅(qū)動(dòng)程序
這里主要的就是通過cubeMX對(duì)定時(shí)器模式進(jìn)行配置,簡(jiǎn)單的兩步就可以了,使用TIM2,在combined Channels選擇“Encoder Mode”,如下圖所示:
接下來,配置一下編碼模式,選擇“……TI1 and TI2”,這樣就會(huì)上升下降沿都計(jì)數(shù),實(shí)際脈沖數(shù)數(shù)值上是柵格的4倍。
其它的再配置一下串口,我準(zhǔn)備用串口打印日志,查看脈沖數(shù)。
根據(jù)配置的引腳,連接編碼器和控制板(分別接PA0和PA1)。
6、測(cè)試效果
手動(dòng)撥動(dòng)碼盤一周,可以看到串口讀出16個(gè)脈沖,反轉(zhuǎn)的時(shí)候讀出的數(shù)值是-16,這里沒有寫其它復(fù)雜的算法,只是周期性讀取,然后清零。所以不動(dòng)的時(shí)候,讀出來的是0。
7、總結(jié)
從硬件上來說,有一點(diǎn)點(diǎn)復(fù)雜,需要特別注意碼盤線數(shù)不要太多。
從軟件上來說,cubeMX配置還是非常簡(jiǎn)單的,也就是讀取很容易。實(shí)際使用的時(shí)候,需要根據(jù)需求對(duì)數(shù)據(jù)進(jìn)行后處理,以解析出里程、方向等更多信息。
原文標(biāo)題:從零開始,教你制作TT電機(jī)正交編碼器
文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
了解更多關(guān)于編碼器知識(shí),請(qǐng)關(guān)注
亨士樂編碼器國(guó)內(nèi)正規(guī)授權(quán)代理西安德伍拓自動(dòng)化傳動(dòng)系統(tǒng)有限公司網(wǎng)站。公司專業(yè)技術(shù)團(tuán)隊(duì)為您免費(fèi)提供Hengstler編碼器的選型、安裝、調(diào)試、保養(yǎng)等技術(shù)指導(dǎo)服務(wù),盡量避免企業(yè)因?yàn)榫幋a器技術(shù)人員的短缺帶來的損失,采取“線上+線下”服務(wù)的服務(wù)形式,幫助企業(yè)解決技術(shù)難題。