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

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

3天內不再提示

一種基于FPGA的三軸伺服控制器的設計優化

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-09-04 16:53 ? 次閱讀

目前伺服控制器的設計多以DSPMCU為控制核心,但DSP的靈活性不如FPGA,且在某些環境比較惡劣的條件如高溫高壓下DSP的應用效果會大打折扣,因此以FPGA為控制核心,對應用于機載三軸伺服控制平臺的控制器進行了設計與優化。

1 總體方案

FPGA(Field-Prograromable Gate Array,現場可編程門陣列)是在PAL,GAL,CPLD等可編程器件的基礎上進一步發展的產物。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分??梢哉f,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一,因此在設計中采用FPGA為控制核心。FPGA的基本特點主要有:采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到可用的芯片;FPGA可做其他全定制或半定制ASIC電路的中試樣片;FPGA內部有豐富的觸發器和I/O引腳;FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一;FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。

整個控制器由控制和驅動兩部分組成,其結構如圖1所示??刂撇糠钟蒄PGA及一些附件組成,該控制器能夠獨立完成三軸控制器的電機驅動波形發生、閉環運算與控制、與上位機通信等任務,附件主要用來完成電樞電流的反饋等功能。驅動模塊由光電耦合器件和放大驅動芯片等組成。該控制器的最終控制目標為對驅動三軸的力矩電機進行高精度定位與驅動。力矩電機的位置和速度反饋由光電編碼器實現。

由于本控制器所應用的機載平臺為三軸結構,因此,控制器采用獨立式控制,即每個軸都具有圖1所示的控制功能,三個相對獨立的分控制器組成整體的三軸控制器。該基于FPGA的三軸伺服控制器的基本控制方案就是這種反饋式的高精度控制,其中速度環使用PD控制算法,位置環使用PID控制算法。調整PID參數,通過控制電壓來控制跟蹤瞄準精度,使得跟蹤瞄準精度逐漸提高,達到所需盼精度要求。

2 控制器硬件與軟件的設計與實現

本伺服控制器以FPGA為核心,在硬件設計中主要進行了驅動模塊設計、控制模塊設計和通信模塊設計。驅動模塊能夠根據外部給定的驅動角度產生驅動信號,控制模塊則能夠對光電編碼器測得的角度信號和速度信號進行分析、反饋及運算,最終給出PWM脈寬值驅動整個系統,在這期間還需要功放的放大作用,而通信模塊的主要功能是實現與上位機的有效通信,并能夠實現控制器的在線編程功能和上位機對三軸系統中力矩電機的遠程控制功能。

驅動模塊主要包括控制波產生單元、力矩電機光電編碼器信號采集與處理、可編程死區發生器等部件。驅動模塊中的信號功率放大部分和隔離措施的應用也是該部分中的重要設計內容,在此設計中功率放大采用普通的晶體管放大電路,而光電隔離器件的應用能夠有效防止強電模塊對弱電部分的影響。在驅動模塊中輔助芯片采用可編程器件EPlK30QC208,它采用可重構的CMOS SRAM工藝,把連續的快速通道與獨特的嵌入式陣列(EAB)相結合,同時結合眾多可編程器件的優點來完成普通門陣列的宏功能,主要完成伺服控制器的各種硬件邏輯接口功能。 EPlK30QC208主要完成4個接口的邏輯功能,即:主機接口、D/A接口、碼盤接口、I/O接口。D/A轉換器件采用雙通道DAC芯片DAC5573,相對TLC2543來說,硬件的連接簡單很多,因為它采用標準的I2C總線,同時S3C4510里包含I2C的控制器,所以DAC5573只需接到4510的SDA和SCL這兩個引腳,就可以實現兩者之間的通信。需要注意的是,SDA和SCL這兩個引腳需要上拉電阻值為10 kΩ的電阻來確保I2C總線能夠釋放出來。 控制模塊方面速度環節和位置環節分別采用PD和PID控制。因此在控制器設計中需要在這方面有所體現。由于本控制器以控制直流力矩電機為最終目的,因此在控制模塊的設計方面需要研究力矩電機的驅動及其電壓值獲取。在本控制器設計過程中需要對上述各項進行綜合控制與處理,以達到合理地控制開銷和控制精度的平衡。在三軸伺服裝置中選用PID控制算法。引入通常的PID控制算法,并考慮功率放大、位置檢測環的增益和速度環的PD控制算法,給定三軸電樞電壓。

在控制模塊的設計中速度與位置調節的是整個控制的主體,本伺服控制器完成輸入信號與輸出信號的比較,再通過位置校正、速度校正、機械諧振校正之后,校正后的信號控制PWM發生器的占空比,具有一定占空比的PWM信號控制PWM功率級,進而驅動被控對象。如此就可以得到本伺服控制器在反饋環節中所需要的力矩電機位置信息,利用該位置信息對三軸平臺實現高精度控制。

基于FPGA的三軸伺服控制器的通信模塊設計在硬件設計中也占有很大的比重。整體的通訊設計接口采用基于RS232的通用串口通信方式。采用這種接口方式能夠在滿足系統現場編程通信的同時滿足系統的遠程通信要求。該通信模塊采用一個帶有UART口的MCU,由于該MCU的數據都是立即數,在運行過程中并沒有取數據操作,因此設計的流水線結構采用三級結構,分別為取指令、譯碼和指令執行。而MCU的指令地址則由程序計數器給出。在通信模塊的設計主要考慮的是正常上位機通信的進行和遠程監控通信的有效實施。該設計采用了雙PC設計,這樣能夠極大地減少復位時間,使上述MCU不會因為外界的干擾而錯誤地執行指令,這樣就能提高系統的可靠性。

本三軸伺服控制器的硬件設計需要配合軟件才能有效運行,該控制器軟件設計的主要任務是:完成對接口的初始化;上位機能夠對獨立控制三軸的伺服控制設備進行指令控制;對于光電編碼器反饋的速度信號和位置信號進行讀取和分析處理;根據反饋的數據和外部的腔制命令完成整個控制系統的閉環控制。其具體的主程序控制流程圖如圖2所示。

本控制器軟件的關鍵是PWM信號的設定與輸出,一方面要考慮外部的輸入角度,另一方面要考慮系統的反饋。要實現高精度的三軸定位,必須有一套合理的信號產生機制。系統的中斷設計也是本控制器的重要研究內容,因為本控制器采用相對獨立的三軸控制方式,在保證各軸獨立運行的同時要兼顧到整體的運行情況,且在運行過程中一旦某一部分出現問題,其他所有的部分都要同時采取一定的措施解決這個問題。限于篇幅,本文并未列出該三軸伺服控制器的軟件程序。

3 性能測試

為了驗證所設計的三軸伺服控制器的有效性,對基于FPGA的控制、通信等模塊進行了基于軟件的Modelsim仿真測試。首先進行了該控制模塊的單次運行時間,本三軸伺服控制器的單次運行的平均時間為483ns,這種結果基本滿足了該控制平臺的實時性要求。系統的通信功能測試主要針對控制器的在線編程和上位機遠程控制進行。以普通筆記本作為上位機,采用串口通信軟件與該控制器進行通信,完成系統的三個力矩電機的啟動、加速、調速、換向、制動等功能??刂破鲄档脑诰€編程也完全能夠滿足。

在性能測試方面還進行了該控制器的調速性能測試、及時中斷性能測試、故障自動報警與處理性能測試、三軸綜合配合高精度定位測試等一系列測試。從仿真測試結果上看,所設計的基于FPGA的三軸伺服控制器基本能夠滿足該機載平臺的要求。

4 結語

以FPGA作為控制核心對某機載三軸運動平臺的伺服控制器進行設計,主要對其硬件中的控制、驅動、通信模塊進行了設計,同時給出了其軟件控制流程和部分中斷、復位等軟件程序。通過后續的仿真測試驗證了該控制器的有效性。
審核編輯:彭菁

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

    關注

    1608

    文章

    21358

    瀏覽量

    594369
  • 接口
    +關注

    關注

    33

    文章

    7829

    瀏覽量

    148908
  • 伺服控制器
    +關注

    關注

    2

    文章

    73

    瀏覽量

    18524
  • 可編程器件
    +關注

    關注

    2

    文章

    59

    瀏覽量

    20879
  • 力矩電機
    +關注

    關注

    2

    文章

    38

    瀏覽量

    7578
收藏 人收藏

    評論

    相關推薦

    基于DSP與FPGA的運動控制器設計

    基于DSP與FPGA的運動控制器設計設計了一種基于DSP和FPGA的四伺服電機運動
    發表于 09-19 09:43

    一種伺服數控沖床數控系統

    伺服數控沖床的數控系統說明 本數控系統提供了一種集成度高,編程簡單,成本低,易于控制,應用方便,速度快,精度高的五
    發表于 06-29 09:52

    一種基于MCX514的四運動控制器設計方案

    在數控行業,經常會用到運動控制器,下面介紹一種基于MCX514的四運動控制器設計方案,為其它技術開發人員提供些參考,方案整體的架構如下圖
    發表于 09-22 16:24

    基于FPGA的機載伺服控制平臺的控制器設計與優化

    目前伺服控制器的設計多以DSP或MCU為控制核心,但DSP的靈活性不如FPGA,且在某些環境比較惡劣的條件如高溫高壓下DSP的應用效果會大打折扣,因此以
    發表于 07-08 06:28

    基于FPGA伺服控制器設計

    目前伺服控制器的設計多以DSP或MCU為控制核心,但DSP的靈活性不如FPGA,且在某些環境比較惡劣的條件如高溫高壓下DSP的應用效果會大打折扣,因此以
    發表于 07-16 07:41

    如何利用DSP與FPGA設計運動控制器?

    運動控制技術是數控機床的關鍵技術,其技術水平的高低將直接影響個國家裝備制造業的發展水平。目前,多伺服控制器越來越多地運用在運動
    發表于 08-06 06:27

    分享一種不錯的通用SDRAM控制器FPGA模塊化解決方案

    求大佬介紹一種通用SDRAM控制器FPGA模塊化解決方案
    發表于 04-08 06:40

    怎樣去設計伺服控制器?

    怎樣去設計伺服控制器?如何對伺服
    發表于 04-28 06:04

    一種基于FPGA的HDLC協議控制器設計方案

    一種基于FPGA的HDLC協議控制器設計方案
    發表于 04-30 06:53

    求分享一種基于FPGA的NAND FLASH控制器的設計方法

    求大佬分享一種基于FPGA的NAND FLASH控制器的設計方法?
    發表于 05-08 07:46

    一種基于FPGA的永磁同步電機控制器的設計方案

    一種基于FPGA的永磁同步電機控制器的設計方案。
    發表于 05-08 07:02

    如何去實現一種基于FPGA的SDRAM控制器設計呢

    基于FPGA的SDRAM控制器包括哪些部分呢?如何去實現一種基于FPGA的SDRAM控制器設計呢?
    發表于 11-04 06:47

    一種APM32F407伺服控制器應用方案

    伺服控制器對主控芯片的性能與靈活性需求,與FPGA協同配合實現伺服系統中信息采集、通信與控制的功能應用。高性能芯片,系統核心保障APM32F
    發表于 10-26 16:31

    基于FPGA的機載三軸伺服控制器的設計優化

      目前伺服控制器的設計多以DSP或MCU為控制核心,但DSP的靈活性不如FPGA,且在某些環境比較惡劣的條件如高溫高壓下DSP的應用效果會大打折扣,因此以
    發表于 09-24 08:56 ?1134次閱讀
    基于<b class='flag-5'>FPGA</b>的機載三軸<b class='flag-5'>伺服</b><b class='flag-5'>控制器</b>的設計<b class='flag-5'>優化</b>

    采用FPGA控制核心實現優化三軸伺服控制器的設計

    目前伺服控制器的設計多以DSP或MCU為控制核心,伺服控制器是用來控制
    的頭像 發表于 10-07 11:41 ?4078次閱讀
    采用<b class='flag-5'>FPGA</b>為<b class='flag-5'>控制</b>核心實現<b class='flag-5'>優化</b>三軸<b class='flag-5'>伺服</b><b class='flag-5'>控制器</b>的設計
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>