久久成人国产精品一区二区,在线观看成人网站,精品久久久久久成人AV,国产成人无码免费网站

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> 伺服電機步進電機與控制 >> 正文

編碼器簡單理解_編碼器觸發_編碼器原理

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/10/3

今天在修復離職同事遺留下來關于編碼器的bug,我之前也沒接觸過這玩意,前輩的做法是在定時器中查詢AB相的電平狀態,來判斷當前是正傳還是反正。他搞了個定時器1溢出中斷,將32M時鐘進行了64000分頻,131s,信號都漏掉了,我將其改為了1600分頻,16位溢出也就是400ms,正常運行(IAR 8.20)。

這個問題在最新的IAR(IAR 9.30)不會復現,并且不管哪種分頻在最新的IAR可以正常運行。也許還有地方的邏輯沒有看明白,最終還是沒有去改他的分頻。

接下來我們直接來看關于編碼器的圖:

編碼器的圖 

編碼器工作原理及如何實現定位控制,秒懂!www.zhimadaxue.com/Article/MEMS/5738.html

控制:

a. 以上連接是大概原理,我們不看z相,直接看關于AB相正反轉的的控制:

1. 順時針:A相觸發上升沿,那么接下來B也觸發上升沿;A相觸發下降沿,B相也觸發下降沿

2. 逆時針:A相觸發上升沿,那么接下來B觸發下降沿; A相觸發下降沿,B相觸發上升沿

b. 這樣我就需要設置雙邊沿觸發中斷,但是對于一些低端的單片機來講,可能無法做到,這個時候就需要用定時器和讀IO的電平狀態來做(前同事之前的做法是將coderScan()放到定時器中斷函數中,為了處理幾個和時間有關的任務,開了4個定時器,我們完全可以使用時間片的方式做)

1.順時針: 如果A相前一刻的電平和當前電平不一樣,并且當前電平為低,B相為低,則順時針旋轉; 如果B相前一刻的電平和當前電平不一樣,并且當前電平為高,A相為低。

2. 逆時針: 如果A相前一刻的電平和當前電平不一樣,并且當前電平為低,B相為高,則逆時針旋轉;如果B相前一刻的電平和當前電平不一樣,并且當前電平為高,A相為高。

void coderScan() 
{ 
    u8 i;
    u8 aPin, bPin; 
    
    for(i=0; i<CODER_NUM; i++)       //從編碼器1 到 編碼器n輪詢檢測
    {
        aPin = GPIO_ReadInputDataBit(CODER_IO_ARRAY[i].aPin.group, CODER_IO_ARRAY[i].aPin.pin);
        bPin = GPIO_ReadInputDataBit(CODER_IO_ARRAY[i].bPin.group, CODER_IO_ARRAY[i].bPin.pin);
        
        if((_coder[i].aPin != aPin) && (aPin  ==  0x00)) /* 讀取到的值為低電平 */   
        {       
            if(bPin)    // 電壓下降有效
            {                  
                coderCCW(i);//逆時針旋轉
            }
            else
            {
                coderCW(i);//順時針旋轉
            }
        }
        else if((_coder[i].bPin != bPin) && (bPin == 0x01))
        {            
            if(aPin)    // 電壓上升有效
            {
                coderCCW(i);//逆時針旋轉
            }
            else
            {
                coderCW(i);//順時針旋轉
            }
        }
        _coder[i].aPin = aPin;
        _coder[i].bPin = bPin;
    }
 }

一般,編碼器旋轉一圈有1024個脈沖,而編碼器是有格數的(每次咔吧一聲轉動了一格),我數了一下我手上的有30格,因此想要正確表示旋轉,我們不僅要通過電平變化知道方向,還要根據脈沖格數來判斷,也就是大概一格34個脈沖,如果按90%計算脈沖個數,也就檢測到30個脈沖觸發一次。

Tags:編碼器,編碼器原理,增量式  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
久久成人国产精品一区二区,在线观看成人网站,精品久久久久久成人AV,国产成人无码免费网站
    <li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 主站蜘蛛池模板: 亚洲小视频在线| 亚洲日本一区二区三区| 国产亚洲精品bt天堂精选| 欧美日韩一区综合| 欧美体内she精视频| 国产精品九九| 国产日韩在线视频| 激情文学综合丁香| 亚洲国产一成人久久精品| 亚洲免费久久| 亚洲一区高清| 欧美一区视频在线| 久久天堂av综合合色| 欧美成人在线网站| 欧美视频一区二区三区…| 国产精品亚洲аv天堂网| 国产一区二区三区久久久久久久久 | 性欧美8khd高清极品| 久久精品99国产精品酒店日本| 久久女同精品一区二区| 欧美国产极速在线| 国产精品九九| 一区二区三区在线观看国产| 亚洲激情六月丁香| 亚洲综合首页| 久久亚洲二区| 欧美日韩午夜剧场| 国产一区二区高清| 亚洲人成高清| 午夜精品区一区二区三| 久热精品视频在线观看| 欧美日韩亚洲一区在线观看| 国产欧美精品在线播放| 亚洲国产精品成人综合| 亚洲色无码播放| 久久天天躁狠狠躁夜夜av| 欧美日韩一区二区三区在线观看免| 国产免费成人av| 最新精品在线| 性欧美1819性猛交| 欧美劲爆第一页|