0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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根,以此類(lèi)推。。。

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è)按鍵作為輸入

聽(tīng)起來(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的并行總線(xiàn),能夠有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ò)開(kāi)關(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    1620

    文章

    21510

    瀏覽量

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

    關(guān)注

    146

    文章

    16667

    瀏覽量

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

    關(guān)注

    5

    文章

    156

    瀏覽量

    25887

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    旋轉(zhuǎn)編碼器電路
    發(fā)表于 04-26 12:02 ?2226次閱讀
    <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 ?2324次閱讀

    ENHP旋轉(zhuǎn)編碼器應(yīng)用及接線(xiàn)

    便捷手搖型增量旋轉(zhuǎn)編碼器特點(diǎn):適用于數(shù)控機(jī)床,磨床等的手動(dòng)脈沖輸入、緊急停止開(kāi)關(guān),ENABLE開(kāi)關(guān)、適用于4位,6位旋轉(zhuǎn)開(kāi)關(guān)。編碼器如以信號(hào)原理來(lái)分,有增量型
    發(fā)表于 10-25 09:47 ?19次下載
    ENHP<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>應(yīng)用及接線(xiàn)

    最全旋轉(zhuǎn)編碼器接線(xià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.1w次閱讀
    最全<b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>編碼器</b>接線(xiàn)<b class='flag-5'>方法</b>

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

    本文主要介紹了旋轉(zhuǎn)編碼器參數(shù)以及與plc的連接方法。在我們選擇旋轉(zhuǎn)編碼器的時(shí)候會(huì)有一些專(zhuān)業(yè)術(shù)語(yǔ)的
    發(fā)表于 08-06 11:24 ?5431次閱讀
    <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è)直線(xiàn)位移方法具體如下:使用“彈性連軸
    發(fā)表于 08-06 11:40 ?3744次閱讀
    <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.7w次閱讀

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

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

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

    具體接線(xiàn)方式如下:編碼器的褐線(xiàn)接編碼器工作電壓正極,藍(lán)線(xiàn)接編碼器工作電壓負(fù)極,輸出線(xiàn)依次接入PLC的輸入點(diǎn),藍(lán)線(xiàn)接外接電源負(fù)極,外接電源正極接入PLC的輸入com端。
    的頭像 發(fā)表于 11-12 10:46 ?1.2w次閱讀
    <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ù)字的值等等。在本篇文章中,我們將了解不同類(lèi)型的旋轉(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 ?18次下載

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

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

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

    旋轉(zhuǎn)編碼器更換步驟第一步,卸開(kāi)電機(jī)后蓋,編碼器的后蓋。第二步,松開(kāi)編碼器安裝螺絲。第三步,旋轉(zhuǎn)電機(jī)轉(zhuǎn)子軸,使
    的頭像 發(fā)表于 11-12 08:07 ?1315次閱讀
    <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)編碼器在PLC中怎么編程

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