国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

FPGA FOC驅動編碼器模塊介紹

FPGA研究院 ? 來源:FPGA之旅 ? 2025-09-06 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來源于FPGA之旅,作者電擊小子

一. 簡介

在使用有感FOC算法的時候,離不開使用編碼器來獲取電機角度,編碼器的種類非常多,常見的有AS5600、AS5047P和MT6835等等,它們的驅動方式可以分為IIC、SPI、ABZ和HALL,其中最簡單的就是ABZ方式了,因為它對于任意編碼器來說,驅動方式都是一樣的,只需要將脈沖對應的角度分辨率修改一下即可,而IIC和SPI則會根據不同的芯片,內部寄存器地址和位寬的不一樣,驅動上會存在一些差異,針對這種驅動方式,如何能夠在更換芯片后,對原工程的改動量最小,代碼開發量最小,這正是本篇文章所要介紹的內容。

二. 編碼器模塊介紹

在多路FOC驅動板上,一共是支持了兩種編碼器和兩種角度獲取方式,分別是AS5047P和MT6835,SPI和ABZ。AS5047P的精度是14bit,MT6835的精度是21bit,它們的價格差不多,大家可以根據自己的需求進行選擇,個人感覺精度越高的編碼器調試起來越難(達到編碼器精度所對應的效果),不知道大家是否有同樣的感覺。

整個編碼器模塊的結構如下圖所示,輸入端為ABZ、SPI的引腳信號,則為角度、速度等信息。ABZ模塊、SPI驅動模塊和角度..檢測模塊為固定模塊,更換編碼器后也不需要進行修改,而AS5047P_SPI模塊和MT6835_SPI模塊則需要根據外接編碼器類型進行選擇。

6f6ec160-89e8-11f0-8c8f-92fbcf53809c.png

這樣一來換新編碼器的時候,只需要很小的開發工作就可以完成新編碼器的驅動了。另外這三個角度獲取模塊通過generate條件編譯控制,根據外部parameter參數即可選擇對應的模塊生效。

6fc7fb54-89e8-11f0-8c8f-92fbcf53809c.png

SPI驅動模塊

SPI驅動模塊的端口信號如下圖所示,CPOL、CPHA控制SPI的模式,SCLK_DIV控制SPI的通信速率,DATA_WIDTH控制單次SPI通信的數據位寬,這樣基本可以滿足所有通過SPI的方式來獲取角度的編碼器了。

70288032-89e8-11f0-8c8f-92fbcf53809c.png

2. AS5047P_SPI模塊

AS5047p讀角度信息的過程可以通過數據手冊來獲取,一共需要發起兩次的SPI傳輸,上一次發起的SPI回讀數據會在下一次SPI傳輸時輸出,過程如下圖所示。

7081df9c-89e8-11f0-8c8f-92fbcf53809c.png

角度獲取有兩個寄存器可以讀,分別是0x3FFF和0x3FFE,本次使用的是0x3FFF寄存器,然后NOP指令什么也不操作,最開始設計的時候也沒有考慮那么多,直接先發送一個0x3FFF,然后發送一個NOP,這樣就可以獲取到角度信息了,剛開始用的時候,基本沒有什么問題。

70e130e6-89e8-11f0-8c8f-92fbcf53809c.png

但是在后面繼續用的時候,就出現了非常嚴重的bug,AS5047P會一直讀到錯誤的數據,需要斷電一下編碼器才行。通過debug發現是回傳數據的EF位拉高了,導致無法獲取到正確的數據,而該狀態信息是無法自行清除的,所以只要EF拉高了,在后續的通信過程中會一直拉高,導致角度獲取異常。

通過數據手冊可以看到,通過讀ERRFL可以將錯誤狀態信息給清除,那么我們可以將第二階段的NOP指令換成ERRFL指令就可以了,這樣即使在通信的過程中出現了問題,也會在下一次角度獲取的時候,可以正常通信。

713f8c54-89e8-11f0-8c8f-92fbcf53809c.png

AS5047P的SPI精度為14bit,所以將獲取到的原始數據轉化為角度信息還需要將其乘上1440(擴大65536)即可。

3. MT6835_SPI模塊

MT6835的角度獲取過程會比AS5047P的先對而已簡單許多,只需要一次SPI傳輸即可,傳輸過程如下圖所示,在獲取到數據之后,按照手冊給的信息拼接成完整的角度。MT6835獲取到的原始數據數據為21bit,將其轉為角度需要乘上11.25即可。

719bbd3a-89e8-11f0-8c8f-92fbcf53809c.png

71f6b0dc-89e8-11f0-8c8f-92fbcf53809c.png

4.角度、速度、位置檢測模塊

角度信息在輸入進模塊的時候就已經是角度了,直接將信息輸入即可。

速度信息采用單位時間內角度變化量進行求解,單位時間的選擇不宜過大也不宜過小,本設計采用的是100us,角度輸入的單位是°,直接計算出來的話是°/s,速度一般采用RPM轉每分鐘作為衡量單位,因此需要進行單位的轉換,轉換過程如下圖所示。

10000為100us的倒數。

speed_angle_gap_sum為角度間隔總和

0.000015為每一個speed_angle_gap_sum代表的角度值, 轉換方式為 1/(360*65536)

最后將角度信息擴大100倍進行輸出

72521d82-89e8-11f0-8c8f-92fbcf53809c.png

位置控制由兩個信號進行控制,一個是使能信號,當該信號使能后,模塊才會累加角度間隔,避免在切換到位置控制的時候,目標角度和實際角度誤差過大的問題。另外一個就是設置當前位置為初始位置,也就是將位置信息置零。

72a82cd6-89e8-11f0-8c8f-92fbcf53809c.png

5. ABZ模塊

三.小結

本次主要給大家介紹了一下FPGA FOC驅動編碼器模塊的所有內容,和設計過程。在后續新型號的編碼器添加進來的話,可以以最小的代價完成這項工作。

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

    關注

    1652

    文章

    22258

    瀏覽量

    629427
  • 編碼器
    +關注

    關注

    45

    文章

    3896

    瀏覽量

    141276
  • FOC
    FOC
    +關注

    關注

    21

    文章

    368

    瀏覽量

    45798

原文標題:FPGA FOC編碼器(庫)模塊詳解

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FOC電機驅動編碼器怎么校準?

    FOC電機驅動編碼器怎么校準?磁編碼器受影響,出來的角度變得非線性了,要怎么做?
    發表于 01-19 10:50

    怎樣使用Simple FOC庫運行編碼器

    怎樣使用Simple FOC庫運行編碼器呢?編碼器中斷設置該怎樣去實現呢?
    發表于 01-24 06:25

    編碼器,編碼器是什么意思

    編碼器,編碼器是什么意思 編碼器 編碼器(encoder)是將信號
    發表于 03-08 15:04 ?3337次閱讀

    RS連續編碼器FPGA設計與實現

    介紹了Virtex2Ⅱ系列FPGA (現場可編程門陣列)的時鐘管理模塊DCM (數字時鐘管理)的結構和功能,詳細分析了RS(Reed2Solomon)碼
    發表于 09-02 16:25 ?83次下載
    RS連續<b class='flag-5'>編碼器</b>的<b class='flag-5'>FPGA</b>設計與實現

    基于正余弦編碼器反饋處理的FPGA在伺服驅動中的應用

    伺服驅動用于自動化系統、機器人、以及專用機器與機床的驅動系統等眾多領域。本文描述了一些基于FPGA編碼器方案以連接伺服驅動
    發表于 09-07 15:00 ?53次下載
    基于正余弦<b class='flag-5'>編碼器</b>反饋處理的<b class='flag-5'>FPGA</b>在伺服<b class='flag-5'>驅動</b>中的應用

    基于FPGA增量式編碼器的接口設計

    分析了光電編碼器4倍頻原理,提出了一種基于可編程邏輯器件FPGA對光電增量式編碼器輸出信號4倍頻、鑒相、計數的具體方法,它對提高編碼器分辨率與實現高精度、高穩定性的信號檢測
    發表于 11-03 15:13 ?76次下載

    基于FPGA的圓光柵編碼器數據采集系統設計

    介紹了一種基于FPGA的圓光柵編碼器數據采集系統的設計方法。通過分析圓光柵的實際工作情況,將系統分為三大模塊,詳細闡述了濾波模塊實現消除高頻
    發表于 09-25 16:10 ?28次下載

    LDPC碼編碼器FPGA實現

    800Mbps準循環LDPC碼編碼器FPGA實現
    發表于 05-09 10:59 ?37次下載

    高精度增量式編碼器與基于DSP和FPGA編碼器信號測量模塊

    本文介紹了基于DSP和FPGA編碼器信號測量及處理的通用模塊,對海德漢編碼器進行了概述等。
    發表于 10-13 18:17 ?19次下載
    高精度增量式<b class='flag-5'>編碼器</b>與基于DSP和<b class='flag-5'>FPGA</b><b class='flag-5'>編碼器</b>信號測量<b class='flag-5'>模塊</b>

    基于FPGA+DSP的海德漢編碼器結構及設計

    在現代工業控制系統中,對電機的控制是其重要組成部分。編碼器作為電機角位移的檢測裝置,為系統提供重要反饋信號。本文介紹了一個適合嵌入式系統的基于DSP和FPGA的海德漢光電編碼器信號處理
    發表于 11-18 03:39 ?4391次閱讀
    基于<b class='flag-5'>FPGA</b>+DSP的海德漢<b class='flag-5'>編碼器</b>結構及設計

    基于FPGA的EnDat接口編碼器數據采集設計

    EnDat接口的特點、功能、時序和數據傳輸、OEM數據存儲,同時介紹編碼器數據采集后續電路設計方案、基于FPGA模塊設計的原理和原則。
    發表于 01-01 13:13 ?3887次閱讀
    基于<b class='flag-5'>FPGA</b>的EnDat接口<b class='flag-5'>編碼器</b>數據采集設計

    旋轉編碼器測量_旋轉編碼器安裝方式

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

    SINAMICS-S120系統中的編碼器轉換模塊介紹

    SINAMICS-S120系統中的編碼器轉換模塊介紹說明。
    發表于 04-25 11:28 ?6次下載

    編碼器模塊的使用方法

    有關編碼器的知識,編碼器有不同的模塊,在使用編碼器時這些模塊怎么用,在操作時要注意什么問題,以下介紹
    的頭像 發表于 06-26 17:32 ?7673次閱讀

    ec11編碼器 有什么驅動芯片嗎

    EC11編碼器是一種常用的編碼器,通常用于工業自動化、機器人、數控機床等領域。為了驅動EC11編碼器的正常工作,需要使用相應的驅動芯片。下面
    的頭像 發表于 12-13 10:43 ?2969次閱讀