99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32的正交編碼器驅動電機設計

西西 ? 來源:博客園 ? 作者:鴿紙 ? 2020-09-10 16:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1。編碼器原理

什么是正交?如果兩個信號相位相差90度,則這兩個信號稱為正交。由于兩個信號相差90度,因此可以根據(jù)兩個信號哪個先哪個后來判斷方向。

這里使用了TI12模式,例如當T1上升沿,T2在低電平時;T1下降沿,T2在高電平時,向上計數(shù),這樣的好處是當有毛刺產生的時候,會自動+1 -1過濾掉毛刺。

2。編碼器的中斷

由于編碼器是基于定時器的,所以編碼器的中斷實際上就是定時器的中斷。也就是說定時器是每隔一定時間加一個數(shù)(或減一個數(shù) ),當數(shù)到達預設值時就產生中斷,而編碼器是每一個有效脈沖就加一個數(shù)(或減一個數(shù) ),當數(shù)到達預設值時就產生中斷。若預設值為1000則編碼器與定時器中斷不同的是,當編碼器反轉時值到達999產生一次中斷,而當編碼器正轉到達0時同 樣產生一次中斷。在硬件上這兩個中斷是沒法區(qū)分的,這也就造成了有種情況的誤判。

3。STM32編碼器沒有考慮的情況

想象一下,如果編碼器的預設值為1000,當某次我們使得編碼器正轉產生中斷后,立即反轉則又該怎么辦呢?根據(jù)上面的說法,這時候會產生兩次一樣的中斷。 如果在算法上沒有處理的話,極有可能認為是行走了兩次正向。但實際上并沒有。所以這個時候必須結合方向來判斷行走的情況(判斷方向使用的是DIR寄存器 位)或者在產生中斷后讀一次count寄存器位(看看是999還是0,以此來判斷當前的方向)。只有上一次為正且這一次同樣為正,距離才是相加的。

4。STM32f1系列定時器16位的問題

我用STM32的定時器3工作于編碼器方式,可以正常得到編碼器位置,但由于現(xiàn)在只有16位計數(shù),位數(shù)不夠,我想擴展到32位,可以先用定時器內部連接,將定時器3 的溢出送到定時器2,用定時器2做高位,在正轉的時候正常,但反向的時候出錯。換了個思路,做個每10ms產生一次的中斷,在中斷中調用下面的代碼,下述代碼中MAX_COUNT是 比 10ms內可能出現(xiàn)的計數(shù)最大值還要大的值,ENCODER_TIM_PERIOD是定時器的period值,最好比MAX_COUNT大,然后定義一個32位的有符號變量,如currentCount,然后每隔10ms執(zhí)行一次currentCount += Enc_GetCount();只需要去讀取currentCount的值就可以得到位移信息了。

s16 Enc_GetCount(void)

{

static u16 lastCount = 0;

u16 curCount = ENCODER_TIM-》CNT;

s32 dAngle = curCount - lastCount;

if(dAngle 》= MAX_COUNT){

dAngle -= ENCODER_TIM_PERIOD;

}else if(dAngle 《 -MAX_COUNT){

dAngle += ENCODER_TIM_PERIOD;

}

lastCount = curCount;

return (s16)dAngle;

}

5。其它一些得到的信息

1.編碼器有個轉速上限,超過這個上限是不能正常工作的,這個是硬件的限制,原則上線數(shù)越多轉速就越低,這點在選型時要注意,編碼器的輸出一般是開漏的,所以單片機的io一定要上拉輸入狀態(tài)。

2.定時器初始化好以后,任何時候CNT寄存器的值就是編碼器的位置信息,正轉他會加反轉他會減這部分是不需要軟件干預的,初始化時給的TIM_Period 值應該是碼盤整圈的刻度值,在減溢出會自動修正為這個數(shù)。加超過此數(shù)值就回0.

3.如果要擴展成多圈計數(shù)需要溢出中斷,程序上圈計數(shù)加減方向位就行了。

4.每個定時器的輸入腳可以通過軟件設定濾波

5.應用中如果沒有絕對位置信號或者初始化完成后還沒有收到絕對位置信號前的計數(shù)只能是相對計數(shù)。收到絕對位置信號后重新修改一次CNT的值就行了。碼盤一般都有零位置信號,結合到定時器捕獲輸入就行。上電以后要往返運動一下找到這個位置。

6.即便有濾波計數(shù)值偶爾也會有出錯誤的情況,一圈多計一個或少計一個數(shù)都是很正常的特別是轉速比較高的時候尤其明顯,有個絕對位置信號做修正是很有必要的。絕對位置信號不需要一定在零位置點,收到這個信號就將CNT修正為一個固定的數(shù)值即可。

7.開啟定時器的輸入中斷可以達到每個步計數(shù)都作處理的效果,但是高速運轉的時候你可能處理不過來.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼器
    +關注

    關注

    45

    文章

    3811

    瀏覽量

    138145
  • STM32
    +關注

    關注

    2295

    文章

    11032

    瀏覽量

    365243
  • 定時器
    +關注

    關注

    23

    文章

    3300

    瀏覽量

    119045
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    三菱伺服電機怎么設定無編碼器

    要將三菱伺服電機設置為無編碼器模式(也稱為開環(huán)控制模式),需要遵循一定的步驟和注意事項。以下是一個詳細的指南: 一、了解無編碼器模式 無編碼器模式是指伺服
    的頭像 發(fā)表于 03-20 07:41 ?600次閱讀

    創(chuàng)新伺服電機使用的多圈絕對式旋轉編碼器

    為了適應越來越短伺服驅動器的設計,使用多圈 絕對值旋轉編碼器的長度和直徑也必須減少。 機器人和數(shù)控機床制造商比以往任何時候都 需要具有更高效率更精確和更緊湊型驅動器。為 了滿足這些未來的需求,史陶
    發(fā)表于 03-12 16:58

    伺服電機編碼器怎么選型

    伺服電機編碼器的選型是一個綜合性的過程,需要考慮多個因素以確保所選編碼器能夠滿足系統(tǒng)的性能要求。以下是一些關鍵的選型步驟和考慮因素: 一、明確應用需求 首先,需要明確伺服電機
    的頭像 發(fā)表于 03-11 12:01 ?716次閱讀
    伺服<b class='flag-5'>電機</b><b class='flag-5'>編碼器</b>怎么選型

    從步進電機到智能系統(tǒng),編碼器究竟如何選擇?

    從步進電機到智能系統(tǒng),編碼器的選擇是一個關鍵決策,它直接影響到系統(tǒng)的性能和精度。以下是一些關于如何選擇編碼器的建議: 一、明確應用場景和需求 首先,需要明確編碼器的應用場景和需求。不同
    的頭像 發(fā)表于 03-05 07:34 ?473次閱讀
    從步進<b class='flag-5'>電機</b>到智能系統(tǒng),<b class='flag-5'>編碼器</b>究竟如何選擇?

    伺服電機編碼器故障及維修

    伺服電機編碼器故障及維修,伺服電機編碼器4大常見故障,編碼器信號丟失或不穩(wěn)定,編碼器零點偏移,
    的頭像 發(fā)表于 01-21 14:49 ?1862次閱讀
    伺服<b class='flag-5'>電機</b><b class='flag-5'>編碼器</b>故障及維修

    伺服電機編碼器

    在現(xiàn)代工業(yè)自動化和控制系統(tǒng)中,伺服電機編碼器扮演著至關重要的角色。它能夠精確測量電機的位置、速度和方向,為系統(tǒng)提供準確的反饋信息,實現(xiàn)高精度的運動控制。伺服電機
    的頭像 發(fā)表于 01-20 14:01 ?885次閱讀
    伺服<b class='flag-5'>電機</b><b class='flag-5'>編碼器</b>

    定期進行維護保養(yǎng)伺服電機編碼器,常見故障及其維修方法

    伺服電機作為關鍵驅動元件,其性能直接影響到整個系統(tǒng)的精度和效率。而伺服電機編碼器則是其關鍵組成部分,負責實時反饋電機的轉動位置和速度。
    的頭像 發(fā)表于 12-27 16:24 ?1603次閱讀
    定期進行維護保養(yǎng)伺服<b class='flag-5'>電機</b><b class='flag-5'>編碼器</b>,常見故障及其維修方法

    智能化升級趨勢下,磁編碼器電機控制系統(tǒng)中的重要性凸顯

    、優(yōu)化系統(tǒng)性能等優(yōu)勢。 ? 從物理介質的不同來分,伺服電機編碼器可以分為光電編碼器和磁電編碼器,另外旋轉變壓也算一種特殊的伺服
    的頭像 發(fā)表于 12-11 00:20 ?3125次閱讀

    電機編碼器故障與處理方法 如何維護和保養(yǎng)編碼器

    ? ? ? 電機編碼器屬于精密儀器,在使用過程中難免會出現(xiàn)一些故障,比較常見的故障有元器件故障、連接電纜故障、電源電壓過低、電池電壓下降、電纜屏蔽線未接或脫落、安裝松動、光柵污染等,維修人員可以通過
    的頭像 發(fā)表于 12-02 01:03 ?3171次閱讀

    其利天下技術·伺服電機編碼器的作用及工作原理·低壓伺服電機驅動方案開發(fā)

    電機系統(tǒng)中起著至關重要的作用,是實現(xiàn)高效、穩(wěn)定和精確控制的核心組件。編碼器的作用是什么呢?它的工作原理又是怎樣的?其利天下·伺服電機驅動方案編碼器
    的頭像 發(fā)表于 11-02 10:38 ?1028次閱讀
    其利天下技術·伺服<b class='flag-5'>電機</b><b class='flag-5'>編碼器</b>的作用及工作原理·低壓伺服<b class='flag-5'>電機</b><b class='flag-5'>驅動</b>方案開發(fā)

    電機控制系統(tǒng)絕對值編碼器正交分頻輸出Abs2QEP PTO基于F28004x的軟件實現(xiàn)

    電子發(fā)燒友網站提供《電機控制系統(tǒng)絕對值編碼器正交分頻輸出Abs2QEP PTO基于F28004x的軟件實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-31 10:28 ?0次下載

    電機控制系統(tǒng)絕對值編碼器正交分頻輸出Abs2QEP PTO(Pulse Train Output)基于F28004x的軟件實現(xiàn)

    電子發(fā)燒友網站提供《電機控制系統(tǒng)絕對值編碼器正交分頻輸出Abs2QEP PTO(Pulse Train Output)基于F28004x的軟件實現(xiàn).pdf》資料免費下載
    發(fā)表于 09-27 10:15 ?0次下載
    <b class='flag-5'>電機</b>控制系統(tǒng)絕對值<b class='flag-5'>編碼器</b><b class='flag-5'>正交</b>分頻輸出Abs2QEP PTO(Pulse Train Output)基于F28004x的軟件實現(xiàn)

    具有Endat 2.2絕對編碼器反饋、采用EtherCAT連接的電機驅動系統(tǒng)

    電子發(fā)燒友網站提供《具有Endat 2.2絕對編碼器反饋、采用EtherCAT連接的電機驅動系統(tǒng).pdf》資料免費下載
    發(fā)表于 09-02 09:32 ?0次下載
    具有Endat 2.2絕對<b class='flag-5'>編碼器</b>反饋、采用EtherCAT連接的<b class='flag-5'>電機</b><b class='flag-5'>驅動</b>系統(tǒng)

    stm32定時編碼器模式可以做輸出嗎?

    我想要做正交編碼器,但是網上一般只介紹了用編碼器對其做解碼,而我需要的是輸出波形。我在一個小網站的解答上看到定時編碼器模式也可以做輸出,
    發(fā)表于 07-31 07:59

    AGV輪轂電機中的編碼器

    編碼器還可以提供電機的絕對位置信息,這對于AGV系統(tǒng)的定位和校準至關重要。在AGV系統(tǒng)中,一般會使用Z信號來表示編碼器的絕對位置。Z信號是一個特殊的脈沖,它在編碼器旋轉一周時只產生一次
    的頭像 發(fā)表于 07-22 11:33 ?1034次閱讀
    AGV輪轂<b class='flag-5'>電機</b>中的<b class='flag-5'>編碼器</b>