999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的變M/T歸一化測速算法研究

2019-09-13 03:37:22李小闖
計算機應用與軟件 2019年9期
關鍵詞:測量

李小闖 于 強

1(中國科學院國家空間科學中心 北京 100190)2(中國科學院大學 北京 100049)

0 引 言

在我國空間材料科學實驗的研究中,傳動結構往往基于步進電機進行;步進電機雖然控制方式較為簡單,但往往難以獲得較大的轉矩,而隨著實驗樣品體積的增大,步進電機逐漸難以滿足實驗需求。而永磁同步電機雖然控制較為復雜,但因其良好的轉矩特性使其擁有更好的應用前景。在空間材料科學實驗中,對樣品的移動速度及準確定位要求十分嚴格,這也對永磁同步電機的速度控制提出了較高的要求。傳統的M/T測速法雖然能夠有效地對電機轉速進行測量,但其在低速范圍的實時性較差。而在空間材料科學實驗中樣品的移動速度跨度范圍較大(5 mm/天~2 mm/min),因此對M/T測速算法的改進勢在必行。

本文針對永磁同步電機的測速問題,結合FPGA特性,提出一種基于FPGA的變M/T的歸一化測速算法,從而在保持傳統M/T測速精度的同時,改善測速的實時性。同時歸一化的設計思路能夠使得系統能夠適用于任何基于增量編碼器的永磁同步電機測速環境。針對設計中所需要的乘除運算,引入Booth算法以降低設計對DSP的需求。

1 增量編碼器工作原理

永磁同步電機轉速測量依靠在轉子上安裝的增量編碼器進行速度檢測。增量編碼器采用光電轉換原理,輸出兩相正交脈沖信號A、B與一路零相信號Z:A、B兩相相差90°,若A相超前B相,則電機處于正轉,否則處于反轉;電機旋轉一圈零相信號Z輸出一個脈沖。增量編碼器輸出時序如圖1所示[1]。

圖1 增量編碼器時序圖

2 測速算法原理

2.1 M/T測速算法原理

M/T法測速原理是M法(頻率法)和T法(周期法)的結合,其方式為在一定時間范圍內,同時對光電編碼器輸出脈沖個數M1和捕獲時鐘的個數M2進行計數,用M2計算出的時間替代定時器的時間進行轉速的計算[1]。其測速原理如圖2所示。

圖2 M/T測速算法測速原理

假設時鐘脈沖頻率為fclk,編碼器分辨率為N,M1為時間Tc內編碼器脈沖計數,M2為時間Tc內高頻時鐘周期計數,則轉子的轉速v(單位:r/min)可表示為:

(1)

在進行計數過程中,由于檢測時鐘脈沖計數可能出現±1個脈沖誤差[2],因此M/T法測得電機轉速誤差Δv為:

(2)

相對誤差為:

(3)

2.2 歸一化

歸一化也稱標幺化。歸一值(標幺值)是電力系統分析和工程計算中常用的數值標記方法,表示各物理量及參數的相對值,單位為pu(也可以認為其為無量綱)[3]。歸一化是相對于某一基準值而言的。同一有名值,選取基準不同,其歸一值也不同,其關系如下:

(4)

在伺服電機控制系統中,由于各種變量單位及范圍不同,在采用浮點類型數據進行表示時計算性能較差,同時耗時較長,也不便于算法的移植。在FPGA、DSP等設備中,往往采用定點數進行數據的計算,這也就意味著采用實際值參與算法運算的不可行性[4]。因而歸一化的引入有助于算法的定點化實現,同時也便于算法移植,減少計算周期。以Q15格式(1位符號位,15位小數位)為例,變量定點化計算方式為:

(5)

基準值的選取往往采用變量的額定值。經過歸一化處理,變量取值范圍被約束在[-1,+1]區間之間,各變量運算過程中不存在取值范圍不同的問題。

2.3 變M/T歸一化測速算法原理

M/T算法方法是統計一段時間內編碼器脈沖計數與高頻時鐘計數來完成測速;為了兼顧算法在低速和高速時測量的可用性,其選取的統計時間往往較大,以確保無論在高速還是低速情況下測速時間窗口內均有足夠的編碼器計數脈沖。正是由于這一點導致M/T算法在低速模式下實時性較差的不足。

結合M/T算法測速原理,當伺服電機運轉在低速模式下,為提高速度測量實時性,可采用縮短采樣時間的方法。假設電機轉速為v,增量編碼器分辨率為N,則增量編碼器單個脈沖周期時長t(單位:s)為:

(6)

可見,增量編碼器單個脈沖周期與電機轉速成反比。在低速情況下,可通過減少統計的編碼器脈沖個數來減少算法響應時間。由此在系統運行過程中可通過實時監測編碼器脈沖時長來動態調節測速時間以加快系統響應。

假定轉速測量周期為T,則在測量周期內通過的增量編碼器脈沖數M1為:

(7)

可見,M1與轉速v成正比。通過針對不同轉速范圍設定不同的M1值可使得伺服電機無論高速運行還是低速運行均能有較高的測量精度以及較短的響應時間。同時對伺服電機轉速測量歸一化[5],式(1)將變為:

(8)

式中:vrated為伺服電機的額定轉速,該處采用Q15數據格式。

變M/T歸一化測速算法能夠在保證測量精度的同時,有效改善傳統M/T測量算法低速實時性較差問題,對速度的變化將更敏感,同時歸一化設計思路有利于定點化實現及算法移植。

2.4 Booth算法

在FPGA程序設計實現中,對于運算中的乘除法操作往往基于片內DSP運算單元進行。對于衛星上設備而言,其所選用芯片型號往往資源受限較多,Booth算法[6]能夠有效降低算法對片上DSP單元的依賴。

Booth算法采用相加減的操作計算補碼數據的乘積,其對乘數從最低位開始判斷,根據后兩個數據位的情況進行加法、減法或僅僅進行移位操作。判斷的兩個數據位為當前位及其右邊的位(初始時需要增加一個輔助位0),移位操作是向右移動。假定被乘數A及乘數B位寬為N,算法實現思路為:

(1) 乘數B“負一位”補零,乘積項P(2N+1位寬)寄存器清零;

(2) 乘數B填入P低N+1位;

(3) 按照表1對乘積項P低兩位進行判定,根據判定結果對乘積項P高N位進行+A、-A或無操作,無視符號位溢出;

表1 Booth算法累加規則

(4) 判定乘積項P最高位,若為0則P右移高位補零,反之右移一位補1;

(5) 重復步驟(2)-步驟(4)N次;

(6) 乘積項P前2N位即為乘積項計算結果。

Booth算法能夠有效利用FPGA的移位特性、簡化乘法計算步驟、對于N位乘法計算其僅需N個時鐘周期。

同時針對式(8)中的常量乘數項借鑒Booth算法編碼規則可修改為:

(9)

通過將常量乘法轉換為移位操作能夠進一步降低對乘法器的依賴。

3 算法實現

為加快系統響應,算法設計基于FPGA平臺進行實現。FPGA基于LUT+FF的結構使得算法能夠高度并行化[7]。變M/T歸一化測速算法分為預處理模塊、速度區間預測模塊及速度測量模塊。其設計框圖如圖3所示。

圖3 變M/T歸一化測速算法設計框圖

3.1 預處理模塊

預處理模塊包括信號同步、正交編碼、方向預測三部分功能。

在FPGA設計中,對于外部多比特信號的采樣牽涉到多比特信號跨時鐘域處理從而避免亞穩態情況。但正如圖1所示,增量編碼器A、B兩相信號相差90°,在同一時間只有一個比特位發生信號跳轉,類似于格林編碼,故而信號同步邏輯可通過單比特信號跨時鐘域處理方式進行信號的同步。相比于多比特信號跨時鐘域處理,單比特信號跨時鐘域處理采用寄存器打拍形式即可,資源消耗較少[8]。

增量編碼器A、B兩相信號在一個脈沖周期內分別有兩個狀態、通過正交編碼的處理,可形成四個狀態。在此處設計中采用“異或”邏輯對兩相信號處理,可獲得更高的分辨率。而方向預測單元通過A、B兩相相位關系獲得電機轉速方向。

3.2 速度區間預測模塊

速度區間預測模塊包括脈沖計時單元、超時保護單元及速度預測單元。

由式(6)可知,增量編碼器單個輸出脈沖周期與轉子轉速成反比,據此可由編碼器單個脈沖周期來預判電機轉速區間范圍。

脈沖計時單元基于系統時鐘對由正交編碼輸出信號單個脈沖信號進行計時,獲取單個脈沖時間,同時在超時保護單元中設置計數閾值以避免在超低速情況下脈沖計時單元長時間無有效輸出的情況。

速度預測單元根據編碼器單個脈沖時長決定M/T測速法脈沖計數M1值,為節省資源開銷及較少計算量,可根據脈沖時長區間指定不同的M1值,而不必按照式(7)的線性關系確定。

3.3 速度測量模塊

速度測量模塊包括脈沖計數單元、時鐘計時單元、轉速計算單元及歸一化單元。

速度測量模塊每完成一次速度測量則從速度區間預測模塊獲取脈沖計數值M1作為下次速度檢測時脈沖計數。脈沖計數單元則完成正交編碼單元脈沖計數,并由時鐘計時單元基于系統時鐘統計M1個編碼脈沖所占用的時鐘節拍M2。

轉速計算單元與歸一化單元完成伺服電機轉速的計算及歸一化。系統運行之前首先獲取電機的額定轉速值,通過式(7)完成電機的轉速歸一化化測量。

4 仿真結果與分析

實驗設計采用Xilinx A7系列芯片作為系統主控芯片,基于VIVADO完成算法的實現及仿真[9]。算法設計資源占用情況及部分仿真圖如圖4、圖5所示。系統時鐘頻率50 MHz,編碼器分辨率為2 048線,電機額定轉速4 500 r/min。

圖4 資源利用報告

圖5 算法仿真波形

從資源利用報告上看,整體設計上僅消耗2 260 LUT、5 609 FF及一個DSP運算單元用于除法操作,相對于整體片上資源而言只占用了非常小的一部分,而Booth算法的引入也極大降低了算法對DSP的依賴性。圖5顯示了當測量轉速為+5 r/min、-5 r/min時的標幺化輸出結果分別為0x24、0xffdc,與相應轉速理論歸一值一致。

針對不同轉速輸入,實驗仿真結果及其絕對誤差分別如表2、圖6所示。

表2 實驗仿真結果

圖6 絕對誤差統計圖

從仿真結果來看,以歸一值表示時測量誤差在±2范圍之內,且在低速時有較高的準確度。轉速測量值誤差最大不超過±0.4 r/min,而在低速范圍-200~200 r/min內,絕對誤差不超過0.1 r/min。誤差的存在主要由于:

(1) 歸一化量化誤差。歸一化由于采用定點數,故在進行轉換時會引入一定誤差,誤差范圍在:

(2) 由于定點化的實現方式,FPGA在運算過程中會存在位寬截取情況,引入一定誤差。

變M/T歸一化測速算法及普通M/T測速算法(取M1值為128)不同轉速下的響應時間對比結果如圖7所示。

圖7 響應時間對比對數圖

根據圖7對比,當電機處于低速運行時,變M/T歸一化算法在響應時間上相比于M/T算法有極大的縮減,當轉速低于50 r/min時響應時間能縮短25倍以上。這對于電機在低速運行時提高系統的靈敏度有極大的改善和幫助。

5 結 語

本文針對伺服電機的測速問題提出了一種基于FPGA的變M/T歸一化測速算法。通過實驗仿真表明,該算法無論在低速范圍內還是高速范圍內均有較高的測速精度,同時具有快速響應的特點。歸一化的設計使得算法能夠針對不同參數型號編碼器及永磁同步電機均能有較高的測量精度,也廣泛適用于伺服電機控制系統中的速度控制應用,避免因不同變量的單位數制問題引入的計算精度與計算誤差。同時Booth算法的引入也極大降低了算法對DSP的依賴性。本文算法為空間材料科學實驗裝置中永磁同步電機的速度檢測方式提供了一種參考設計思路。

猜你喜歡
測量
測量重量,測量長度……
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
二十四節氣簡易測量
日出日落的觀察與測量
滑動摩擦力的測量與計算
測量
測量水的多少……
主站蜘蛛池模板: 国产成人精品一区二区秒拍1o| 欧美第一页在线| 日本免费a视频| 久久午夜夜伦鲁鲁片无码免费| 热99精品视频| 欧美日韩国产高清一区二区三区| 亚洲天堂首页| 丁香婷婷久久| 玖玖精品视频在线观看| 久久窝窝国产精品午夜看片| 亚欧成人无码AV在线播放| 露脸真实国语乱在线观看| 久久黄色一级视频| 2022国产无码在线| 日韩无码视频专区| 国产黄在线免费观看| 亚洲熟女中文字幕男人总站| 国产白浆视频| 国产一级小视频| 国产精品视频第一专区| 亚洲性网站| 亚洲男人的天堂久久香蕉网| 综1合AV在线播放| 国产欧美视频一区二区三区| 青青草91视频| 97人人模人人爽人人喊小说| 亚洲免费毛片| 亚洲精品va| 天堂va亚洲va欧美va国产 | 国产激爽大片在线播放| 国产成人AV大片大片在线播放 | 国产高清国内精品福利| 亚洲bt欧美bt精品| 国产精品网拍在线| 成人免费网站在线观看| 制服丝袜亚洲| 国产高清免费午夜在线视频| 亚洲无码视频一区二区三区 | 九九九精品成人免费视频7| 免费av一区二区三区在线| 91精品日韩人妻无码久久| 2020极品精品国产| 99久久精品国产麻豆婷婷| 男女男精品视频| 午夜激情福利视频| 午夜无码一区二区三区| 国产视频一二三区| 91丝袜乱伦| www中文字幕在线观看| 久久中文字幕不卡一二区| 日韩欧美中文字幕一本| 日韩在线2020专区| 人妻一区二区三区无码精品一区| 欧美性精品不卡在线观看| 亚洲精品动漫在线观看| 精品久久综合1区2区3区激情| 九九精品在线观看| 亚洲无码免费黄色网址| 成人毛片在线播放| 日韩不卡高清视频| 精品国产免费观看| 国产系列在线| 久操线在视频在线观看| 福利视频一区| 亚洲男人天堂网址| 午夜视频免费试看| 国产微拍一区二区三区四区| 久久精品免费看一| 亚洲国产精品日韩av专区| 久久人体视频| 欧美午夜视频在线| 日本高清视频在线www色| 福利一区三区| 一本大道香蕉高清久久| 制服丝袜亚洲| 网久久综合| 中文字幕2区| 黄色成年视频| 国产精品成人啪精品视频| 国产一区二区视频在线| 欧美日韩国产综合视频在线观看| 亚洲区欧美区|