0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用MCU連接旋轉(zhuǎn)編碼器的方法

電子森林 ? 來(lái)源:電子森林 ? 作者:電子森林 ? 2022-05-09 14:29 ? 次閱讀

昨天的文章中分享了一個(gè)小技巧:

設(shè)計(jì)小技巧:如何用MCUFPGA的一個(gè)數(shù)字IO測(cè)量2個(gè)電位計(jì)的阻值變化?

實(shí)際上是利用了我們常用的PWM功能的一個(gè)逆向思維應(yīng)用。

今天再分享一個(gè)小技巧 - 如何使用一個(gè)MCU的模擬輸入端口連接多個(gè)旋轉(zhuǎn)編碼器?

作為一種輸入控制器件,旋轉(zhuǎn)編碼器被大量使用,尤其在測(cè)試測(cè)量領(lǐng)域,有的設(shè)備上會(huì)有多個(gè)旋轉(zhuǎn)編碼器用于調(diào)節(jié)多個(gè)參量。

bb987082-c203-11ec-bce3-dac502259ad0.png

一般來(lái)講,旋轉(zhuǎn)編碼器需要至少2根微控制器的輸入管腳,如果有內(nèi)置的按鍵,還需要第三根。如果連接2個(gè)旋轉(zhuǎn)編碼器那就要消耗掉6根輸入管腳,連接3個(gè)旋轉(zhuǎn)編碼器需要9根,以此類推。。。

bbb2ec8c-c203-11ec-bce3-dac502259ad0.png

常用的旋轉(zhuǎn)編碼器的外形

bbd67580-c203-11ec-bce3-dac502259ad0.jpg

旋轉(zhuǎn)編碼器的典型檢測(cè)電路

然而,如果你用的MCU有ADC的功能,其實(shí)只需要一根模擬輸入管腳就可以搞定多個(gè)旋轉(zhuǎn)編碼器的連接。

bbebc4ee-c203-11ec-bce3-dac502259ad0.jpg

硬禾學(xué)堂的STM32 DIY示波器板用一個(gè)旋轉(zhuǎn)編碼器和2個(gè)按鍵作為輸入

聽起來(lái)不可思議?

我們先看一下旋轉(zhuǎn)編碼器是如何使用的。

確定旋轉(zhuǎn)方向:

編碼器在旋轉(zhuǎn)的時(shí)候會(huì)同時(shí)在其”A“和”B“管腳輸出一串脈沖,從這兩串脈沖的相位關(guān)系上就可以確定編碼器的旋轉(zhuǎn)方向 - 將一路脈沖延遲”一步“并將2個(gè)脈沖進(jìn)行異或操作。

bc00afb2-c203-11ec-bce3-dac502259ad0.png

比如:

假設(shè)管腳 'A'的輸出為:'00110011...' ,管腳'B'的輸出為 '01100110...', 將 'A'的信號(hào)延遲一步,得到'01100110...'., 將延遲后的'A'同'B'異或,將得到'00000000...'. ,向另外要給方向旋轉(zhuǎn),管腳'A'的輸出變?yōu)?11001100...' ('B'不變), 這樣'A' 延遲一步編程'10011001...'.再跟'B'信號(hào)異或,就給出結(jié)果'11111111...'.

bc1433e8-c203-11ec-bce3-dac502259ad0.jpg

用模擬的方式來(lái)實(shí)現(xiàn):

我們可以把'A'和'B'輸出的信號(hào)一起看,當(dāng)成是一個(gè)2bit的并行總線,能夠有4種組合的輸出: 0b00, 0b01, 0b10 and 0b11 (格雷碼).多個(gè)位數(shù)的二進(jìn)制值可以轉(zhuǎn)換成一個(gè)模擬電壓信號(hào),這本質(zhì)上就是一個(gè)數(shù)模轉(zhuǎn)換器.

R-2R電阻網(wǎng)絡(luò)

有一種非常簡(jiǎn)單實(shí)現(xiàn)的DAC是R-2R電阻網(wǎng)絡(luò),這種方法只使用兩個(gè)電阻值R和2R就可以構(gòu)成一個(gè)網(wǎng)絡(luò),每增加一個(gè)位數(shù),只需要增加兩個(gè)電阻。一個(gè)2根管腳的旋轉(zhuǎn)編碼器只需要4個(gè)電阻,如下圖:

bc268a0c-c203-11ec-bce3-dac502259ad0.jpg

這個(gè)電路可以產(chǎn)生4個(gè)不同電壓值的信號(hào),這個(gè)信號(hào)用單片機(jī)ADC進(jìn)行量化解碼,即可解碼得到管腳”A“和”B“的值。一般旋轉(zhuǎn)編碼器還有一個(gè)按鍵,考慮到按鍵的輸入檢測(cè),電路可以變成下面這樣:

bc4011c0-c203-11ec-bce3-dac502259ad0.jpg

一個(gè)實(shí)際的實(shí)現(xiàn)

兩個(gè)旋轉(zhuǎn)編碼器再加上內(nèi)置的按鍵,共需要一個(gè)6位的DAC.一般MCU內(nèi)置的ADC為10位,可以非常輕松地解碼由此生成的模擬信號(hào),并且每1位相當(dāng)于還有4bit的分辨率余量,因此我們可以使用5%精度的電阻 (當(dāng)然1% 會(huì)更好).

R-2R的阻值相對(duì)于上拉電阻要足夠大,以避免引起R-2R的比值失衡,同時(shí)上拉電阻也不能太小,否則流過(guò)開關(guān)觸點(diǎn)的電流會(huì)太大。

2R電阻可以簡(jiǎn)單地將兩個(gè)R阻值的電阻串聯(lián)起來(lái),還可以節(jié)省一種阻值的電阻.

為防止觸點(diǎn)的抖動(dòng)需要加一個(gè)0.01uF的電容,否則會(huì)引起兩個(gè)編碼器之間的干擾。

bc5032bc-c203-11ec-bce3-dac502259ad0.png

觸點(diǎn)抖動(dòng)噪聲

bc61a7e0-c203-11ec-bce3-dac502259ad0.png

通過(guò)電容濾除掉觸點(diǎn)抖動(dòng)噪聲

是不是又Get到一個(gè)新技能?

繼續(xù)關(guān)注電子森林,會(huì)有更多設(shè)計(jì)技巧分享給大家。

原文標(biāo)題:逆向思維: 如何用一根MCU的模擬輸入檢測(cè)多個(gè)旋轉(zhuǎn)編碼器?

文章出處:【微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1640

    文章

    21910

    瀏覽量

    611588
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17689

    瀏覽量

    357737
  • 旋轉(zhuǎn)編碼器
    +關(guān)注

    關(guān)注

    5

    文章

    160

    瀏覽量

    26179

原文標(biāo)題:逆向思維: 如何用一根MCU的模擬輸入檢測(cè)多個(gè)旋轉(zhuǎn)編碼器?

文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 1人收藏
  • 斗转星移_974611111

評(píng)論

相關(guān)推薦

旋轉(zhuǎn)編碼器電路

旋轉(zhuǎn)編碼器電路
發(fā)表于 02-09 16:18 ?3640次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>電路

旋轉(zhuǎn)編碼器電路

旋轉(zhuǎn)編碼器電路
發(fā)表于 04-26 12:02 ?2366次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>電路

旋轉(zhuǎn)編碼器,旋轉(zhuǎn)編碼器是什么意思

旋轉(zhuǎn)編碼器,旋轉(zhuǎn)編碼器是什么意思 旋轉(zhuǎn)編碼器概要
發(fā)表于 03-03 15:27 ?2442次閱讀

最全旋轉(zhuǎn)編碼器接線方法

旋轉(zhuǎn)編碼器是一種光電式旋轉(zhuǎn)丈量設(shè)備,它將被測(cè)的角位移直接改換成數(shù)字信號(hào)(高速脈沖信號(hào))。因而可將旋轉(zhuǎn)編碼器的輸出脈沖信號(hào)直接輸入給plc,運(yùn)
發(fā)表于 08-06 11:15 ?3.2w次閱讀
最全<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>接線<b class='flag-5'>方法</b>

旋轉(zhuǎn)編碼器參數(shù)_旋轉(zhuǎn)編碼器與plc連接

本文主要介紹了旋轉(zhuǎn)編碼器參數(shù)以及與plc的連接方法。在我們選擇旋轉(zhuǎn)編碼器的時(shí)候會(huì)有一些專業(yè)術(shù)語(yǔ)的
發(fā)表于 08-06 11:24 ?5739次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>參數(shù)_<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>與plc<b class='flag-5'>連接</b>

旋轉(zhuǎn)編碼器測(cè)量_旋轉(zhuǎn)編碼器安裝方式

本文主要介紹了旋轉(zhuǎn)編碼器測(cè)量及安裝方法。旋轉(zhuǎn)編碼器檢測(cè)直線位移方法具體如下:使用“彈性連軸
發(fā)表于 08-06 11:40 ?4187次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>測(cè)量_<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>安裝方式

旋轉(zhuǎn)編碼器拆卸方法_旋轉(zhuǎn)編碼器型號(hào)說(shuō)明

本文首先介紹了旋轉(zhuǎn)編碼器拆卸方法,其次闡述了旋轉(zhuǎn)編碼器更換步驟,最后介紹了旋轉(zhuǎn)
發(fā)表于 08-06 11:48 ?1.8w次閱讀

旋轉(zhuǎn)編碼器能直接換嗎_旋轉(zhuǎn)編碼器更換注意事項(xiàng)

本文首先介紹了旋轉(zhuǎn)編碼器更換步驟,其次介紹了旋轉(zhuǎn)編碼器更換注意事項(xiàng),最后介紹了旋轉(zhuǎn)編碼器替換原則
發(fā)表于 08-06 14:18 ?9882次閱讀

旋轉(zhuǎn)編碼器與PLC連接方法

具體接線方式如下:編碼器的褐線接編碼器工作電壓正極,藍(lán)線接編碼器工作電壓負(fù)極,輸出線依次接入PLC的輸入點(diǎn),藍(lán)線接外接電源負(fù)極,外接電源正極接入PLC的輸入com端。
的頭像 發(fā)表于 11-12 10:46 ?1.3w次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>與PLC<b class='flag-5'>連接</b>的<b class='flag-5'>方法</b>

使用PIC單片機(jī)連接旋轉(zhuǎn)編碼器方法

助于它用于步進(jìn)/伺服電機(jī)控制、導(dǎo)航菜單序列和增加/減少數(shù)字的值等等。在本篇文章中,我們將了解不同類型的旋轉(zhuǎn)編碼器及其工作原理。我們還將它連接到PIC單片機(jī)PIC16F877A,并通過(guò)旋轉(zhuǎn)
發(fā)表于 11-16 12:36 ?26次下載
使用PIC單片機(jī)<b class='flag-5'>連接</b><b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>的<b class='flag-5'>方法</b>

旋轉(zhuǎn)編碼器的原理

旋轉(zhuǎn)編碼器可通過(guò)旋轉(zhuǎn)可以計(jì)數(shù)正方向和反方向轉(zhuǎn)動(dòng)過(guò)程中輸出脈沖的次數(shù),旋轉(zhuǎn)計(jì)數(shù)不像電位計(jì),這種轉(zhuǎn)動(dòng)計(jì)數(shù)是沒(méi)有限制的。配合旋轉(zhuǎn)
發(fā)表于 05-10 15:06 ?19次下載

旋轉(zhuǎn)編碼器如何工作?有哪些類型?

在本文中,我們將了解不同類型的旋轉(zhuǎn)編碼器及其工作原理。我們還將它與 Arduino 連接,并通過(guò)旋轉(zhuǎn)編碼器來(lái)控制整數(shù)的值,并在 16*2 L
的頭像 發(fā)表于 11-10 16:04 ?6428次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>如何工作?有哪些類型?

旋轉(zhuǎn)編碼器能直接換嗎_旋轉(zhuǎn)編碼器更換注意事項(xiàng)

旋轉(zhuǎn)編碼器更換步驟第一步,卸開電機(jī)后蓋,編碼器的后蓋。第二步,松開編碼器安裝螺絲。第三步,旋轉(zhuǎn)電機(jī)轉(zhuǎn)子軸,使
的頭像 發(fā)表于 11-12 08:07 ?1920次閱讀
<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>能直接換嗎_<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>更換注意事項(xiàng)

旋轉(zhuǎn)編碼器的常見(jiàn)類型

在工業(yè)自動(dòng)化和精密測(cè)量領(lǐng)域中,旋轉(zhuǎn)編碼器是一種不可或缺的設(shè)備。它能夠?qū)?b class='flag-5'>旋轉(zhuǎn)位置或旋轉(zhuǎn)量轉(zhuǎn)換成模擬或數(shù)字信號(hào),為控制系統(tǒng)提供精確的位置和速度信息。隨著技術(shù)的不斷發(fā)展,
的頭像 發(fā)表于 05-29 15:59 ?1279次閱讀

旋轉(zhuǎn)編碼器在PLC中怎么編程

在工業(yè)自動(dòng)化領(lǐng)域,旋轉(zhuǎn)編碼器與可編程邏輯控制(PLC)的結(jié)合應(yīng)用極為廣泛。旋轉(zhuǎn)編碼器通過(guò)提供精確的旋轉(zhuǎn)
的頭像 發(fā)表于 06-17 09:24 ?2676次閱讀

電子發(fā)燒友

中國(guó)電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會(huì)員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動(dòng)獲取豐厚的禮品