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

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> 伺服電機(jī)步進(jìn)電機(jī)與控制 >> 正文

編碼器簡(jiǎn)單理解_編碼器觸發(fā)_編碼器原理

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2023/10/3

今天在修復(fù)離職同事遺留下來(lái)關(guān)于編碼器的bug,我之前也沒(méi)接觸過(guò)這玩意,前輩的做法是在定時(shí)器中查詢AB相的電平狀態(tài),來(lái)判斷當(dāng)前是正傳還是反正。他搞了個(gè)定時(shí)器1溢出中斷,將32M時(shí)鐘進(jìn)行了64000分頻,131s,信號(hào)都漏掉了,我將其改為了1600分頻,16位溢出也就是400ms,正常運(yùn)行(IAR 8.20)。

這個(gè)問(wèn)題在最新的IAR(IAR 9.30)不會(huì)復(fù)現(xiàn),并且不管哪種分頻在最新的IAR可以正常運(yùn)行。也許還有地方的邏輯沒(méi)有看明白,最終還是沒(méi)有去改他的分頻。

接下來(lái)我們直接來(lái)看關(guān)于編碼器的圖:

編碼器的圖 

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

控制:

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

1. 順時(shí)針:A相觸發(fā)上升沿,那么接下來(lái)B也觸發(fā)上升沿;A相觸發(fā)下降沿,B相也觸發(fā)下降沿

2. 逆時(shí)針:A相觸發(fā)上升沿,那么接下來(lái)B觸發(fā)下降沿; A相觸發(fā)下降沿,B相觸發(fā)上升沿

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

1.順時(shí)針: 如果A相前一刻的電平和當(dāng)前電平不一樣,并且當(dāng)前電平為低,B相為低,則順時(shí)針旋轉(zhuǎn); 如果B相前一刻的電平和當(dāng)前電平不一樣,并且當(dāng)前電平為高,A相為低。

2. 逆時(shí)針: 如果A相前一刻的電平和當(dāng)前電平不一樣,并且當(dāng)前電平為低,B相為高,則逆時(shí)針旋轉(zhuǎn);如果B相前一刻的電平和當(dāng)前電平不一樣,并且當(dāng)前電平為高,A相為高。

void coderScan() 
{ 
    u8 i;
    u8 aPin, bPin; 
    
    for(i=0; i<CODER_NUM; i++)       //從編碼器1 到 編碼器n輪詢檢測(cè)
    {
        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);//逆時(shí)針旋轉(zhuǎn)
            }
            else
            {
                coderCW(i);//順時(shí)針旋轉(zhuǎn)
            }
        }
        else if((_coder[i].bPin != bPin) && (bPin == 0x01))
        {            
            if(aPin)    // 電壓上升有效
            {
                coderCCW(i);//逆時(shí)針旋轉(zhuǎn)
            }
            else
            {
                coderCW(i);//順時(shí)針旋轉(zhuǎn)
            }
        }
        _coder[i].aPin = aPin;
        _coder[i].bPin = bPin;
    }
 }

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

Tags:編碼器,編碼器原理,增量式  
責(zé)任編輯:admin
  • 上一個(gè)文章:
  • 下一個(gè)文章: 沒(méi)有了
  • 請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    最新推薦
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁(yè)面
    下到頁(yè)底
    晶體管查詢
    久久成人国产精品一区二区,在线观看成人网站,精品久久久久久成人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. 主站蜘蛛池模板: 亚洲一线二线三线久久久| 娇妻被交换粗又大又硬视频欧美| 欧美日韩一区二区在线观看| 欧美伦理在线观看| 欧美成人精品一区| 欧美精品久久99| 欧美日韩一区二| 国产精品区一区二区三区| 国产女人18毛片水18精品| 国模精品一区二区三区| 久久欧美中文字幕| 狂野欧美一区| 欧美欧美午夜aⅴ在线观看| 欧美午夜精品久久久久免费视| 国产精品区一区二区三区| 国产日韩在线看片| 亚洲成人自拍视频| 亚洲免费成人av| 亚洲永久字幕| 香蕉久久夜色精品国产使用方法| 久久久久久9999| 欧美激情免费观看| 国产精品久久久久久五月尺| 国产字幕视频一区二区| 亚洲精品国产精品国自产观看| 一区二区三区色| 久久大综合网| 欧美国产日韩a欧美在线观看| 国产精品盗摄久久久| 国产主播在线一区| 亚洲免费av片| 欧美一区国产在线| 欧美好吊妞视频| 国产精品一区二区三区观看| …久久精品99久久香蕉国产 | 免费观看一级特黄欧美大片| 欧美日韩不卡一区| 国产日韩视频一区二区三区| 欧美揉bbbbb揉bbbbb| 国产自产女人91一区在线观看| 亚洲精品乱码视频|