• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的電動舵機控制器設計

      2016-03-16 06:58:51悠,
      導航定位與授時 2016年5期
      關(guān)鍵詞:舵機控制算法時鐘

      韋 悠, 林 凡

      (北京理工大學 宇航學院,北京 100081)

      基于FPGA的電動舵機控制器設計

      韋 悠, 林 凡

      (北京理工大學 宇航學院,北京 100081)

      針對傳統(tǒng)的電動舵機控制器控制周期長的問題,提出了一種基于FPGA的電動舵機控制器設計方案。在完成硬件設計的基礎上,通過建立高速浮點運算模塊,解決了FPGA無法直接進行浮點運算的問題,從而實現(xiàn)了不完全微分PID控制,并給出了具體的控制周期和控制延遲。與傳統(tǒng)的基于DSP的電動舵機控制器進行對比試驗,試驗結(jié)果表明,所提控制器設計方案能夠有效縮短控制周期,提高控制效率,優(yōu)化控制效果。

      電動舵機控制器;控制周期;FPGA;浮點運算

      0 引言

      電動舵機控制系統(tǒng)為導彈的運動執(zhí)行機構(gòu),是導彈制導回路的重要組成部分,決定導彈制導回路的性能,在導彈制導回路中有著重要意義。電動舵機控制系統(tǒng)主要由控制器、驅(qū)動器、伺服電機、減速傳動機構(gòu)和位置傳感器組成,是一個典型的位置控制系統(tǒng)。

      隨著電動舵機控制技術(shù)的不斷發(fā)展,對控制器的運行速度、控制周期的要求越來越高,順序結(jié)構(gòu)的數(shù)字信號處理器(DSP)已經(jīng)不能夠滿足高速實時控制的要求。而現(xiàn)場可編程門陣列(FPGA)通過硬件語言將控制算法與功能以集成電路的形式實現(xiàn),嚴格按照時序控制硬件電路完成各項指令,這種直接通過底層硬件來實現(xiàn)特定功能的方式,比基于軟件的實現(xiàn)方式運行速度更快,而且在硬件層面上控制輸入和輸出能夠提高系統(tǒng)的響應速度[1-3]。同時,利用FPGA硬件并行的優(yōu)勢,在每個時鐘周期內(nèi)完成更多的處理任務,使FPGA擁有不遜色于DSP的運算能力。但是,并行結(jié)構(gòu)在實現(xiàn)特定功能時對時序有著嚴格的要求,尤其是在控制算法的實現(xiàn)過程中,時序控制與運算結(jié)果的正確與否有著直接的聯(lián)系。所以,F(xiàn)PGA在控制算法的實現(xiàn)上相比DSP有一定的難度。對于一些舵機控制器的幾何空間相對富裕的應用場合,DSP加FPGA的解決方案是一個較為理想的選擇,但空間要求嚴格的情況下,充分利用FPGA的片上資源,采用單一FPGA為舵機控制器,既縮短了控制周期又節(jié)省了空間[4]。

      本文主要研究了基于FPGA的電動舵機控制器的設計,在完成硬件設計的基礎上,介紹了FPGA實現(xiàn)高速浮點運算的方法,并以此為基礎,完成了控制算法的實現(xiàn),并通過試驗驗證設計的可行性。

      1 控制器硬件結(jié)構(gòu)

      基于FPGA的電動舵機控制器的結(jié)構(gòu)如圖1所示,控制器由FPGA、串口隔離芯片和ADC組成。FPGA作為核心器件,選擇Altera公司的Cyclone IV系列的EP4CE6E22C8芯片,該型號FPGA包括6772個邏輯單元,以9-Kbit模塊構(gòu)成的276Kbits嵌入式存儲器,2個鎖相環(huán)以及30個9×9嵌入式乘法器。內(nèi)部主要劃分為4個模塊,接收上位機指令的串行通信接口模塊、控制ADC采樣并接收其結(jié)果的ADC采樣控制模塊、控制算法模塊以及用來給出控制信號的PWM模塊。

      圖1 控制器結(jié)構(gòu)Fig.1 Composing of actuator control

      串口隔離芯片實現(xiàn)了RS-422/485標準格式數(shù)據(jù)的接收與發(fā)送,并通過串行通信接口模塊完成FPGA與上位機之間的數(shù)據(jù)傳輸。這種設計在節(jié)約片上資源、簡化程序的同時,也保證了通信速率和傳輸距離。

      ADC選用AD7606-4,該芯片是4通道16位雙極性輸入同步采樣ADC,模擬電壓出入范圍±10V或±5V,能夠同時對4路模擬通道進行采樣,而且模擬信號輸入端還配有二階巴特沃斯低通濾波器。通過ADC采樣控制模塊產(chǎn)生1MHz的同步時鐘信號,控制AD7606-4工作在4倍過采樣模式下,完成1次采樣用時22μs。ADC的采樣周期通常也代表了控制器的控制周期,采樣周期越小,數(shù)字控制的效果越接近于連續(xù)控制,控制系統(tǒng)的線性度越高。

      2 浮點運算及控制算法的實現(xiàn)

      2.1 浮點運算子模塊的建立

      文獻[5]中計算過程全部是用整數(shù)來完成,在舵偏角解算的時候,容易造成較大的解算誤差,影響控制精度。因此,浮點運算對于精確位置控制有著重要意義。

      FPGA實現(xiàn)浮點運算需要建立對應的浮點運算模塊,這些浮點運算模塊采用具有一定輸出延遲的流水線結(jié)構(gòu)來搭建,通過增加流水線的級數(shù)能夠提高單位時間內(nèi)執(zhí)行指令的數(shù)目,從而提高系統(tǒng)的數(shù)據(jù)吞吐率。一般來說,離散后的控制算法僅需要加減法和乘法便可實現(xiàn),由此建立與之相對應的浮點加減法運算模塊和乘法運算模塊[6-8],同時,由于浮點運算使用IEEE-754標準[9]的單精度浮點數(shù)來完成,所以還需要將整數(shù)轉(zhuǎn)換為浮點數(shù)以及將浮點數(shù)轉(zhuǎn)換為整數(shù)的轉(zhuǎn)換模塊 。

      以浮點乘法為例,使用ModelSim對其進行仿真,仿真結(jié)果如圖2所示。圖2中,clk表示時鐘信號,dataa和datab表示被乘數(shù)和乘數(shù),result表示計算結(jié)果。從波形可以看出,該模塊具有5個時鐘周期的輸出延遲。得益于其流水線結(jié)構(gòu),每個時鐘周期均能夠開始下一次運算,并在5個時鐘周期后得到運算結(jié)果。其他浮點運算模塊均具有與之相同的特點,僅在輸出延遲上有所不同,各模塊的端口定義以及輸出延遲如圖3所示。

      圖2 浮點乘法運算模塊仿真波形Fig.2 Floating point multiply module simulation waveform

      圖3 浮點運算模塊端口及輸出延遲Fig.3 Ports and clock cycles of floating point algorithm modules

      2.2 不完全微分PID模塊設計

      首先,控制模塊需要將串口指令與ADC采樣結(jié)果解算成實際角度,不同解算方式在整理后均可以得到式(1)的形式,cmd和ad分別為串口指令和ADC采樣結(jié)果,θc和θ分別表示指令角度和舵偏角。

      (1)

      由式(2)可以得到誤差e

      e=θc-θ=kc·cmd-k·ad+(bc-b)

      (2)

      由于bc和b均為常數(shù),令be=bc-b可以得到

      e=θc-θ=kc·cmd-k·ad+be

      (3)

      對比式(1)與(3)可以發(fā)現(xiàn),若先分別將θc和θ算出,再計算誤差e需要計算2次乘法和3次加減法,而直接計算誤差e則可以少進行1次加減法運算。在得到誤差e之后,使用不完全微分的PID算法計算得到控制量。

      不完全微分的PID算法傳遞函數(shù)如式(4)所示

      (4)

      其中,kp為比例系數(shù),Ti為積分時間,Td為微分時間,kd為微分增益,將式(4)分為比例積分和不完全微分兩部分。

      (5)

      (6)

      (7)

      (8)

      (9)

      綜合式(3)和式(9),完成1次PID運算需進行8次加減法和6次乘法運算,通過調(diào)用運算子模塊,分配運算次序,最終完成1次PID運算耗時75個時鐘周期。設計中使用的FPGA時鐘頻率為50MHz,則完成1次PID運算耗時1.5μs,及在ADC采樣結(jié)束1.5μs后,控制器給出控制信號。

      3 試驗結(jié)果及分析

      試驗分別使用基于FPGA和DSP的控制器在空載條件下對舵機進行控制,而且僅對比例系數(shù)進行整定。試驗使用的DSP型號為TMS320F28335,設計目標是同時對4路舵機進行控制,為了保證在控制周期內(nèi)完成4路ADC采樣結(jié)果的讀取、濾波以及控制量的解算,控制周期取為200μs。

      首先通過測試系統(tǒng)輸入頻率為1Hz的方波并記錄下舵機的位置反饋信號,獲得舵機的階躍特性曲線如圖4所示。從圖4中可以看出,在DSP的控制下舵機上升時間相對較短,但是超調(diào)量超過了0.75°,而在FPGA的控制下舵機的超調(diào)量不超過0.5°。

      圖4 舵機的階躍響應曲線Fig.4 Actuator’s step responses

      分別輸入正弦掃頻信號,得到舵機的頻率特性曲線如圖5、圖6所示,并且觀察時域響應,以輸入信號幅值為2°的1Hz正弦信號下的響應曲線如圖7所示為例說明。從圖5和圖6中可以看出,在FPGA和DSP控制下,舵機的幅頻寬基本相同,F(xiàn)PGA控制的諧振峰值低于DSP控制,相頻寬分別為17Hz和20Hz。DSP控制下舵機的帶寬略優(yōu)于FPGA,但振蕩嚴重。且從圖7可以看出,DSP控制下舵機的響應曲線失真率相對較高。結(jié)合階躍特性測試的結(jié)果,可以得出結(jié)論,基于FPGA的電動舵機控制器控制周期相對較短,控制信號更新速率快,能夠較好地抑制超調(diào),控制算法參數(shù)的整定也相對簡單。對比試驗中使用的FPGA體積約為DSP的2/3,價格近似DSP的1/2。

      圖5 FPGA控制下舵機的頻率特性曲線Fig.5 Actuator’s frequency response controlled by FPGA

      圖6 DSP控制下舵機的頻率特性曲線Fig.6 Actuator’s frequency response controlled by DSP

      圖7 1Hz正弦信號跟蹤效果Fig.7 1Hz sine signal tracking responses

      4 結(jié)論

      本文針對電動舵機控制器設計問題,采用高速并行的FPGA作為控制器核心,開展FPGA高速浮點運算方法研究,建立浮點運算子模塊,并通過浮點運算模塊完成控制算法,實現(xiàn)電動舵機控制,達到了縮短舵機控制周期和提高控制精度的目的。通過對比試驗,驗證了設計的可行性。由試驗結(jié)果可以看出,控制周期和控制量更新延遲的縮短,使得控制算法參數(shù)整定變得相對容易。

      [1] Introduction to FPGA Technology: Top 5 Benefits [EB/OL]. 2012.

      [2] Jamali M M, Tran B J. FPGA based sensory/actuation embedded system[C]//2008 IEEE National Aerospace and Electronics Conference,2008:246-249.

      [3] 楊海鋼, 孫嘉斌, 王慰. FPGA器件設計技術(shù)發(fā)展綜述[J]. 電子與信息學報, 2010, 32(3):714-727.

      [4] 楊運, 廖勇, 李凡. 基于FPGA的無刷直流電機舵機控制器設計[J]. 微電機, 2010, 43(3):48-51.

      [5] 鄧健輝. 基于FPGA的電動舵機控制器設計[D]. 哈爾濱工業(yè)大學,2011.

      [6] Langhammer M, Pasca B. Design and implementation of an embedded FPGA floating point DSP block[C]//IEEE, Symposium on Computer Arithmetic. IEEE Computer Society, 2015:26-33.

      [7] Baesler M, Voigt S O, Teufel T. An IEEE 754-2008 decimal parallel and pipelined FPGA floating-point multiplier[C]//Field Programmable Logic and Applications (FPL), 2010 International Conference on. IEEE, 2010:489-495.

      [8] Liu H K, Kang X G, Wang S. The FPGA implementation of single-precision floating-point adder[J]. Advanced Materials Research, 2014, 1008-1009:668-671.

      [9] IEEE Standards Committee.IEEE Std 754-2008, IEEE standard for floating-point arithmetic[S].2008.

      [10] 張宇河,董寧. 計算機控制系統(tǒng)(修訂版)[M]. 北京:北京理工大學出版社, 2007: 108-110.

      FPGA-based Electric Actuator Controller Design

      WEI You, LIN Fan

      (School of Aerospace Engineering, Being Institute of Technology,Beijing 100081,China)

      An FPGA based actuator controller design is put forward regarding the problem of long control period for traditional actuator control. After the hardware components were decided, floating point algorithm modules, which are used to solve the problem that most FPGAs do not support IEEE 754 single-precision floating-point natively, were built to realize incomplete differential PID control method. Moreover, the control period and control latency are defined. Compared with the traditional DSP-based actuator controller, the experiment results show that the design approach proposed in this paper can shorten control period and improve control efficiency. At the same time, the actuator’s performance is optimized.

      Electric actuator controller; Control period; FPGA; IEEE 754 floating-point arithmetic

      10.19306/j.cnki.2095-8110.2016.05.015

      2015-06-23;

      2015-07-01。

      韋悠(1989 - ),男,碩士,主要從事舵機控制系統(tǒng)方面的研究。E-mail:weiyou5905@163.com

      TP273

      A

      2095-8110(2016)05-0075-04

      猜你喜歡
      舵機控制算法時鐘
      別樣的“時鐘”
      古代的時鐘
      含齒隙彈載舵機的全局反步模糊自適應控制
      自動化學報(2019年6期)2019-07-23 01:18:36
      基于dsPIC單片機的飛艇舵機控制實現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      基于ARM+FPGA的模塊化同步控制算法研究
      基于高速同步485總線通信的多通道舵機控制器設計
      有趣的時鐘
      時鐘會開“花”
      一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應用
      基于云模型的舵機同步控制
      洪江市| 剑河县| 铜陵市| 芜湖市| 城口县| 崇阳县| 康马县| 利津县| 南宁市| 武宣县| 福清市| 东乡| 页游| 社旗县| 石狮市| 沿河| 宽甸| 宜兰市| 明水县| 宁波市| 肇庆市| 醴陵市| 自治县| 福州市| 承德市| 房山区| 宜兰市| 岗巴县| 孟村| 革吉县| 台南县| 遵化市| 库伦旗| 南安市| 锡林浩特市| 南乐县| 获嘉县| 府谷县| 镇江市| 纳雍县| 桂东县|