chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA FOC驅(qū)動(dòng)編碼器模塊介紹

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

掃碼添加小助手

加入工程師交流群

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

一. 簡(jiǎn)介

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

二. 編碼器模塊介紹

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

整個(gè)編碼器模塊的結(jié)構(gòu)如下圖所示,輸入端為ABZ、SPI的引腳信號(hào),則為角度、速度等信息。ABZ模塊、SPI驅(qū)動(dòng)模塊和角度..檢測(cè)模塊為固定模塊,更換編碼器后也不需要進(jìn)行修改,而AS5047P_SPI模塊和MT6835_SPI模塊則需要根據(jù)外接編碼器類型進(jìn)行選擇。

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

這樣一來換新編碼器的時(shí)候,只需要很小的開發(fā)工作就可以完成新編碼器的驅(qū)動(dòng)了。另外這三個(gè)角度獲取模塊通過generate條件編譯控制,根據(jù)外部parameter參數(shù)即可選擇對(duì)應(yīng)的模塊生效。

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

SPI驅(qū)動(dòng)模塊

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

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

2. AS5047P_SPI模塊

AS5047p讀角度信息的過程可以通過數(shù)據(jù)手冊(cè)來獲取,一共需要發(fā)起兩次的SPI傳輸,上一次發(fā)起的SPI回讀數(shù)據(jù)會(huì)在下一次SPI傳輸時(shí)輸出,過程如下圖所示。

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

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

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

但是在后面繼續(xù)用的時(shí)候,就出現(xiàn)了非常嚴(yán)重的bug,AS5047P會(huì)一直讀到錯(cuò)誤的數(shù)據(jù),需要斷電一下編碼器才行。通過debug發(fā)現(xiàn)是回傳數(shù)據(jù)的EF位拉高了,導(dǎo)致無法獲取到正確的數(shù)據(jù),而該狀態(tài)信息是無法自行清除的,所以只要EF拉高了,在后續(xù)的通信過程中會(huì)一直拉高,導(dǎo)致角度獲取異常。

通過數(shù)據(jù)手冊(cè)可以看到,通過讀ERRFL可以將錯(cuò)誤狀態(tài)信息給清除,那么我們可以將第二階段的NOP指令換成ERRFL指令就可以了,這樣即使在通信的過程中出現(xiàn)了問題,也會(huì)在下一次角度獲取的時(shí)候,可以正常通信。

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

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

3. MT6835_SPI模塊

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

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

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

4.角度、速度、位置檢測(cè)模塊

角度信息在輸入進(jìn)模塊的時(shí)候就已經(jīng)是角度了,直接將信息輸入即可。

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

10000為100us的倒數(shù)。

speed_angle_gap_sum為角度間隔總和

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

最后將角度信息擴(kuò)大100倍進(jìn)行輸出

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

位置控制由兩個(gè)信號(hào)進(jìn)行控制,一個(gè)是使能信號(hào),當(dāng)該信號(hào)使能后,模塊才會(huì)累加角度間隔,避免在切換到位置控制的時(shí)候,目標(biāo)角度和實(shí)際角度誤差過大的問題。另外一個(gè)就是設(shè)置當(dāng)前位置為初始位置,也就是將位置信息置零。

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

5. ABZ模塊

三.小結(jié)

本次主要給大家介紹了一下FPGA FOC驅(qū)動(dòng)編碼器模塊的所有內(nèi)容,和設(shè)計(jì)過程。在后續(xù)新型號(hào)的編碼器添加進(jìn)來的話,可以以最小的代價(jià)完成這項(xiàng)工作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1659

    文章

    22364

    瀏覽量

    632961
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3928

    瀏覽量

    141964
  • FOC
    FOC
    +關(guān)注

    關(guān)注

    21

    文章

    379

    瀏覽量

    46041

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FOC電機(jī)驅(qū)動(dòng)編碼器怎么校準(zhǔn)?

    FOC電機(jī)驅(qū)動(dòng)編碼器怎么校準(zhǔn)?磁編碼器受影響,出來的角度變得非線性了,要怎么做?
    發(fā)表于 01-19 10:50

    怎樣使用Simple FOC庫運(yùn)行編碼器

    怎樣使用Simple FOC庫運(yùn)行編碼器呢?編碼器中斷設(shè)置該怎樣去實(shí)現(xiàn)呢?
    發(fā)表于 01-24 06:25

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

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

    RS連續(xù)編碼器FPGA設(shè)計(jì)與實(shí)現(xiàn)

    介紹了Virtex2Ⅱ系列FPGA (現(xiàn)場(chǎng)可編程門陣列)的時(shí)鐘管理模塊DCM (數(shù)字時(shí)鐘管理)的結(jié)構(gòu)和功能,詳細(xì)分析了RS(Reed2Solomon)碼
    發(fā)表于 09-02 16:25 ?83次下載
    RS連續(xù)<b class='flag-5'>編碼器</b>的<b class='flag-5'>FPGA</b>設(shè)計(jì)與實(shí)現(xiàn)

    基于正余弦編碼器反饋處理的FPGA在伺服驅(qū)動(dòng)中的應(yīng)用

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

    基于FPGA增量式編碼器的接口設(shè)計(jì)

    分析了光電編碼器4倍頻原理,提出了一種基于可編程邏輯器件FPGA對(duì)光電增量式編碼器輸出信號(hào)4倍頻、鑒相、計(jì)數(shù)的具體方法,它對(duì)提高編碼器分辨率與實(shí)現(xiàn)高精度、高穩(wěn)定性的信號(hào)檢測(cè)
    發(fā)表于 11-03 15:13 ?76次下載

    基于FPGA的圓光柵編碼器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    介紹了一種基于FPGA的圓光柵編碼器數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方法。通過分析圓光柵的實(shí)際工作情況,將系統(tǒng)分為三大模塊,詳細(xì)闡述了濾波模塊實(shí)現(xiàn)消除高頻
    發(fā)表于 09-25 16:10 ?28次下載

    LDPC碼編碼器FPGA實(shí)現(xiàn)

    800Mbps準(zhǔn)循環(huán)LDPC碼編碼器FPGA實(shí)現(xiàn)
    發(fā)表于 05-09 10:59 ?37次下載

    高精度增量式編碼器與基于DSP和FPGA編碼器信號(hào)測(cè)量模塊

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

    基于FPGA+DSP的海德漢編碼器結(jié)構(gòu)及設(shè)計(jì)

    在現(xiàn)代工業(yè)控制系統(tǒng)中,對(duì)電機(jī)的控制是其重要組成部分。編碼器作為電機(jī)角位移的檢測(cè)裝置,為系統(tǒng)提供重要反饋信號(hào)。本文介紹了一個(gè)適合嵌入式系統(tǒng)的基于DSP和FPGA的海德漢光電編碼器信號(hào)處理
    發(fā)表于 11-18 03:39 ?4486次閱讀
    基于<b class='flag-5'>FPGA</b>+DSP的海德漢<b class='flag-5'>編碼器</b>結(jié)構(gòu)及設(shè)計(jì)

    基于FPGA的EnDat接口編碼器數(shù)據(jù)采集設(shè)計(jì)

    EnDat接口的特點(diǎn)、功能、時(shí)序和數(shù)據(jù)傳輸、OEM數(shù)據(jù)存儲(chǔ),同時(shí)介紹編碼器數(shù)據(jù)采集后續(xù)電路設(shè)計(jì)方案、基于FPGA模塊設(shè)計(jì)的原理和原則。
    發(fā)表于 01-01 13:13 ?4643次閱讀
    基于<b class='flag-5'>FPGA</b>的EnDat接口<b class='flag-5'>編碼器</b>數(shù)據(jù)采集設(shè)計(jì)

    旋轉(zhuǎn)編碼器測(cè)量_旋轉(zhuǎn)編碼器安裝方式

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

    SINAMICS-S120系統(tǒng)中的編碼器轉(zhuǎn)換模塊介紹

    SINAMICS-S120系統(tǒng)中的編碼器轉(zhuǎn)換模塊介紹說明。
    發(fā)表于 04-25 11:28 ?6次下載

    編碼器模塊的使用方法

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

    ec11編碼器 有什么驅(qū)動(dòng)芯片嗎

    EC11編碼器是一種常用的編碼器,通常用于工業(yè)自動(dòng)化、機(jī)器人、數(shù)控機(jī)床等領(lǐng)域。為了驅(qū)動(dòng)EC11編碼器的正常工作,需要使用相應(yīng)的驅(qū)動(dòng)芯片。下面
    的頭像 發(fā)表于 12-13 10:43 ?3135次閱讀