吴忠躺衫网络科技有限公司

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

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

3天內不再提示

基于FPGA的嵌入式運動控制器設計方案

電子設計 ? 來源:電子設計工程 ? 作者:吳輝,羅富文,杜 ? 2021-03-24 14:50 ? 次閱讀

作者:吳 輝,羅富文,杜文廣

運用低功耗Cortex—M3微控制器STM32F103VBT6和FPGA芯片設計一種基于CAN總線的運動控制器。介紹系統的體系結構、主要硬件設計和軟件結構。利用FPGA高速處理能力實現控制算法,與外界通信采用STM32和CAN總線技術,系統穩定可靠,另外,將設計好的FPGA程序或是C程序進行封裝,系統的可移植性強。

如今,運動控制正朝著高速度、高精度、開放式的方向發展,從而對執行部件提出了更高的要求。過去的運動控制器主要是基于單片機或者PLC加上分立數字電路設計,受制于器件本身的性能,導致電路執行速度慢、體積龐大、集成程度低,升級難度大。而采用微處理器DSP、FPGA等現代手段構成的只能控制系統是新一代運動控制發展的方向。本文對基于FPGA的嵌入式運動控制器進行了研究,并應用了CAN總線,使硬件接口簡單、實時性強、靈活度高,有很強的實用價值。

1總體方案設計

策略本系統以意法半導體公司生產的基于Cortex—M3處理器STM32F103VBT6芯片核心進行通信、數據的存儲以及鍵盤掃描和LCD顯示,它集成了CAN、SPI、USB、USART控制器,滿足系統的設計要求,簡化的系統的實現過程,豐富的函數庫大大縮短了用戶的開發周期。而FPGA作為系統主要的執行機構,利用其高速性進行算法實現、速度控制和位置控制,系統的整體構造如圖1所示。

o4YBAGBa4AaAPJJYAAEriFkN9gM649.png

2 運動控制器的功能模塊設計

為了滿足整個系統的運轉,運動控制主要由通信和數據處理兩部分構成,通信和數據存儲由STM32負責進行,出于數據運算的復雜性和實時性,FPGA處理算法的實現。本設計相對龐大,模塊不一一介紹。

2.1 CAN通信模塊的設計

2.1.1硬件設計

bxCAN是STM32內置的CAN控制器,支持2.0A和2.0B CAN協議,波特率最高可達可達到1 Mbit/s,包含3個發送郵箱,3級深度的2個接收FIFO,14個可變位寬的過濾器組,支持時間觸發通信模式,它的設計目標是以最小的CPU負荷來高效處理大量收到的報文,它也支持報文發送的優先級要求(優先級特性可軟件配置)。CAN硬件設計如圖2所示。

o4YBAGBa4BSAYH5UAAHdYsLzBh4677.png

以CTM8251作為收發芯片,它不僅能完成收發功能,還具有DC2500V的隔離功能,使系統與外界隔離開來,簡化了CAN外圍的硬件設計,提高了系統的性價比,圖中120Ω的電阻為可選用的終端匹配電阻,假如網絡中已經存在一對匹配電阻,則該電阻可以不使用,其中B82790是個共模扼流線圈,作用是抑制共模干擾平衡差分信號的傳輸;本設計中采用比較常用的撥碼開關電路設置CAN網絡的ID地址和波特率;LED作為通信狀態指示。

2.1.2軟件設計

針對STM32對外設的設置,我們只需要對相應的參數進行適當的配置就能滿足設計的要求,軟件部分主要任務只要進行CAN初始化和數據發送即可。本設計初始化模塊中只需要對CAN工作方式進行配置,而不需要對過濾器進行特殊的配置,部分初始化程序如下:

o4YBAGBa4CGAb5fyAAGo7-dpXJ0952.png

工作方式配置中最主要的是波特率的配置,本設計中采用AHB1作為CAN時鐘為36 MHz,所以要得到1 Mbit/s的波特率進行了以上的設置,即SJW=tq,BS1=3tq,BS2=5tq,CAN_Prescaler=4,所以波特率的計算如下:

o4YBAGBa4DeADsRZAAGp9tW6UyI654.png

2.2 FPGA電路的設計

FPGA電路主要實現運動控制的相關算法,包括加減速算法、檢測裝置算法、插補算法等算法的實現,是整個設計的關鍵部分,硬件設計主要包括FPGA的供電電路、時鐘電路和配置電路,都是相對比較常規的電路,在這里不做介紹,文中主要介紹相關算法的實現。

2.2.1加減速模塊

為了在電機啟動時為了在電機啟動時,避免電機在運行以及換速的過程中產生沖擊、超程、失步和振蕩等一些我們不想見到的現象。為了使執行機構能夠平穩和準確的定位,這就要求電機在開機到電機的速度達到給定的進給速度的過程中有一個加減速的過程,使其能夠平滑的過渡。避免速度的突變給電機帶來損傷。

S型曲線加減速是比較理想的控制加減速方法,但如何保證構造的曲線平滑、精確成為很多算法工程師研究的重點。如圖3所示,在加速的過程中,有3個不同的加速度區域。在開始階段,加速度是按線性方式以一定的加速度率K從0增加到固定的加速度值A.也就是說,這時驅動速度在a區域是按拋物線的方式增長;接著在b區域中,驅動速度是以一個恒定的加速度增長;最后,在c區域中,加速度則按照加速度率K線性減少到0.這樣,S曲線的加速度過程就可以看作是由a,b,c 3個區域構成的。在減速的過程中,同加速過程一樣,d,e,f區域中也是按拋物線的方式減速。

pIYBAGBa4EeAcmfFAADX_uSqN54172.png

基于此本設計構造的速度、加速度、時間的對應函數如下:

o4YBAGBa4FeAF7CwAADHsYvdTW8240.png

S加減速在FPGA中的實現,如圖4所示。在已知給定加速度A、加速度率K、初速度V0、以及進給速度V和總的pwm脈沖數的情況下,就可以得到S加減速曲線。

pIYBAGBa4HeAWY9lAAEdqIJlH7s854.png

圖5為本設計在Quartus II中的仿真波形,為了加快仿真的速度,特意在仿真而前對某些參數進行了修改。

本系統的加減速模塊的構造滿足速度和加速度曲線的構造滿足速度變化平穩,加速連續等條件,起始和終止速度與要求速度一致,加速度為0,加速度率K可以根據實際需要隨時調整,通用性很好。

2.2.2光電編碼器模塊

本系統采用的閉環控制,反饋信號的精度直接影響定位、測速,在此采用增量是編碼器進行定位控制,增量式編碼器主要是利用兩個相差90度的方波信號A和B,和零位脈沖信號Z進行角位移和方向判斷(如圖6所示),從而達到了檢測位置的目的,此外,我們將A或B信號四倍頻,則計數脈沖的周期將減小到T/4,從而使角位移測量精度提高4倍。四倍頻后的編碼器信號,需經計數器計數后,才能轉化為相對位置。由兩個與非門、一個非門邏輯、D觸發器組成傳統的波形轉換電路,通過它來將A相、B相脈沖轉換成正向計數信號dz、反向計數信號df和方向(dir)信號,通過正反方向的數字信號加減完成最終的計數,最終的仿真數據如圖7所示。

3結束語

本課題研究是基于某品牌雕刻機控制系統設計進行的總結,旨在建立一種通用的運動控制器,通過該運動控制器以及系統其它部分的協同工作,整個控制系統實時性、可靠性好,滿足了控制要求。通信非常穩定,相關算法還有待優化。
編輯:hfy

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

    關注

    1630

    文章

    21796

    瀏覽量

    605989
  • 嵌入式
    +關注

    關注

    5092

    文章

    19177

    瀏覽量

    307650
  • CAN總線
    +關注

    關注

    145

    文章

    1955

    瀏覽量

    131090
  • 運動控制器
    +關注

    關注

    2

    文章

    408

    瀏覽量

    24809
收藏 人收藏

    評論

    相關推薦

    嵌入式系統中微控制器與微處理的區別

    嵌入式微控制器已成為我們日常接觸的眾多設備背后的無聲指揮者。從用于烹飪食物的微波爐到監測健康的智能手表,微控制器確保這些設備能夠精準、可靠地運作。本文的目的是揭示嵌入式微控制器的世界,幫助讀者理解
    的頭像 發表于 10-14 11:02 ?557次閱讀
    <b class='flag-5'>嵌入式</b>系統中微<b class='flag-5'>控制器</b>與微處理<b class='flag-5'>器</b>的區別

    為何嵌入式控制器首選ARMxy?深度解析

    嵌入式ARM控制器是一種基于ARM架構的嵌入式系統控制器,廣泛應用于各種嵌入式系統中,包括工業物聯網關、邊緣計算網關、智慧城市、智能設備、工
    的頭像 發表于 09-21 10:09 ?370次閱讀
    為何<b class='flag-5'>嵌入式</b><b class='flag-5'>控制器</b>首選ARMxy?深度解析

    嵌入式微控制器嵌入式微處理器的聯系

    嵌入式微控制器嵌入式微處理器嵌入式系統領域中都扮演著至關重要的角色,它們之間存在著緊密的聯系,同時也各具特色。以下是對兩者聯系及特點的詳細探討。
    的頭像 發表于 08-22 10:50 ?794次閱讀

    NS486SXF高度集成的嵌入式系統控制器數據表

    電子發燒友網站提供《NS486SXF高度集成的嵌入式系統控制器數據表.pdf》資料免費下載
    發表于 08-08 09:29 ?0次下載
    NS486SXF高度集成的<b class='flag-5'>嵌入式</b>系統<b class='flag-5'>控制器</b>數據表

    開放激光振鏡運動控制器的激光清洗應用

    開放激光振鏡運動控制器的激光清洗解決方案
    的頭像 發表于 07-18 09:44 ?409次閱讀
    開放<b class='flag-5'>式</b>激光振鏡<b class='flag-5'>運動</b><b class='flag-5'>控制器</b>的激光清洗應用

    基于飛凌嵌入式RK3568J核心板的工業機器人控制器應用方案

    的主要作用是完成多軸運動的計算與控制,因此機器人控制器的主控就需要擁有高性能的CPU、內置實時操作系統、支持EtherCAT工業總線以及豐富的功能接口。 機器人控制器 基于以上需求,飛
    發表于 05-11 09:40

    嵌入式微處理器嵌入式微控制器的區別

    嵌入式微處理器嵌入式微控制器在多個方面存在顯著的區別。
    的頭像 發表于 03-29 11:44 ?1652次閱讀

    fpga嵌入式應該學哪個

    FPGA嵌入式系統是兩個不同的領域,各有其特點和優勢,選擇學習哪個取決于個人的興趣、職業目標以及市場需求。
    的頭像 發表于 03-27 14:43 ?843次閱讀

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術集成到嵌入式系統中的一種解決方案嵌入式系統是一種為特定應用而設
    的頭像 發表于 03-15 14:29 ?1375次閱讀

    嵌入式fpga的關系

    FPGA(現場可編程門陣列)和嵌入式系統之間存在密切的關系,它們都是計算機硬件領域的重要組成部分,并在許多應用中發揮著關鍵作用。
    的頭像 發表于 03-15 14:19 ?1031次閱讀

    fpga嵌入式

    FPGA(現場可編程門陣列)不是嵌入式系統,但FPGA嵌入式系統中有著重要的應用。
    的頭像 發表于 03-14 17:19 ?2520次閱讀

    fpga嵌入式的區別 嵌入式fpga開發有什么關系

    fpga嵌入式的區別 FPGA嵌入式系統在設計和應用上存在一些關鍵的區別,具體如下: 靈活性:FPGA具有高度的靈活性,可以根據需要重新
    的頭像 發表于 03-14 17:04 ?7069次閱讀

    fpga嵌入式哪個前景好

    FPGA嵌入式系統各有其獨特的優勢和應用領域,因此很難直接判斷哪個的前景更好。它們在不同的領域都有廣泛的應用和重要的價值。
    的頭像 發表于 03-14 16:37 ?2373次閱讀
    博彩百家乐官网在线| 爱博| 百家乐线上代理网站| 百家乐官网桌布橡胶| 足球投注网站| 大发888游戏平台df888| 百家乐龙虎台布| 十六浦百家乐官网的玩法技巧和规则| 百家乐官网试玩全讯网2| 澳门在线游戏| 威尼斯人娱乐城骰宝| 百家乐赌博分析网| 新宝百家乐网址| 百家乐官网五星宏辉怎么玩| 百家乐官网必胜软件下载| 山阳县| 明升娱乐 | 大发888 zhldu| 威尼斯人娱乐场官网是骗人的吗| 怎么玩百家乐呀| 百家乐龙虎斗扎金花| 电子百家乐官网规则| 百家乐官网那里玩| 澳门百家乐官网游戏说明| 百家乐官网看单技术| 六合彩下注| bet365百家乐| 娱乐网百家乐的玩法技巧和规则| 真人百家乐导航| 百家乐趋势图怎么看| 网页百家乐官网游戏下载| 游戏百家乐官网的玩法技巧和规则| 老河口市| game88city| 百家乐试玩| 博彩网站排行| 瑞丰备用网址| 九州娱乐场| 新葡京娱乐城官网| 最好的百家乐官网游戏平台1| 百家乐官网视频赌博|