亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA在多軸步進電機控制器中的應用

        2012-07-04 03:21:38王邦繼劉慶想周磊李相強張健穹
        電機與控制學報 2012年3期
        關(guān)鍵詞:步數(shù)寄存器總線

        王邦繼, 劉慶想, 周磊, 李相強, 張健穹

        (西南交通大學物理科學與技術(shù)學院,四川成都610031)

        0 引言

        步進電機是一種將輸入的脈沖轉(zhuǎn)化為相應的角位移的執(zhí)行元件。其輸入為脈沖序列,輸出為相應的角度增量。在正常的工作狀態(tài)下,輸出與輸入具有嚴格的對應關(guān)系,不受電壓波動和負載變化等影響。步進電機的步進角由轉(zhuǎn)子齒數(shù)及相數(shù)決定,由于結(jié)構(gòu)限制,不能做到太小,從而限制了其應用。近年來,隨著細分驅(qū)動技術(shù)的發(fā)展,步進角大大減小,且輸出力矩有所增加,使得步進電機在速度及負載具有較寬變化范圍時,能夠?qū)崿F(xiàn)平滑穩(wěn)定的運動,擴展了其應用范圍[1]。

        傳統(tǒng)的步進電機控制器大多以DSP為核心,再輔以必要的外圍分立器件構(gòu)成[2-3]。這種結(jié)構(gòu)的步進電機控制器的優(yōu)點在于其硬件結(jié)構(gòu)清晰,能夠運行復雜的控制算法,缺點是其硬件資源限制以及控制算法的串行運行,不能滿足多軸步進電機控制要求。隨著FPGA技術(shù)的飛速發(fā)展以及IP設計思想的普遍認同,SOPC正在成為FPGA最重要的發(fā)展方向之一。將微處理器、存儲器、通信模塊、多個電機IP核等功能模塊集成到單一FPGA芯片上,就構(gòu)成了一個多軸電機控制器的SOPC系統(tǒng)。目前國內(nèi)外關(guān)于多軸電機控制器的研究相對較少[4-5],且大部分都集中在一些基本部件的開發(fā)方面[6]。

        在IP設計思想的指導下,設計了一種高性能步進電機IP核,在此基礎上,進一步集成了微處理器、存儲器、通信模塊等,構(gòu)建了多軸步進電機控制器的SoPC系統(tǒng),可應用于多軸伺服系統(tǒng)的工業(yè)領域。

        1 步進電機IP核

        1.1 硬件描述

        通過設定其內(nèi)部寄存器值,步進電機IP核能控制步進電機按設定的速度曲線模式運行。該IP核有3個主要功能模塊構(gòu)成,如圖1所示。

        1)Avalon總線接口:它使該IP核具有Avalon總線接口,可與其它具有相同接口的IP核互聯(lián)。

        2)QEP電路:用于連接一個光電編碼器獲取電機轉(zhuǎn)子位置等信息,用于判斷電機運行是否失步,使本系統(tǒng)可根據(jù)用戶需要成為閉環(huán)控制系統(tǒng)。

        3)速度剖面產(chǎn)生:根據(jù)設定的速度曲線參數(shù),計算出每個步進脈沖的步進周期,并輸出步進脈沖序列到步進電機驅(qū)動器,從而驅(qū)動步進電機按設定的速度曲線模式運行。它由狀態(tài)機,步進周期計算模塊和PWM電路三部分構(gòu)成。

        圖1 步進電機IP核Fig.1 Stepper motor IP core

        每個步進電機IP核控制一臺步進電機,為了控制多臺步進電機,它需要被復用多次。由于所有IP核都具有Avalon總線接口,嵌入到FPGA中的NiosⅡ軟核能控制各個步進電機IP核。NiosⅡ軟核負責各個步進電機運動軌跡的計算,它為不同IP核提供速度曲線參數(shù)。

        1.2 Avalon總線接口

        Avalon總線接口為步進電機IP核提供了一個標準的Avalon總線從端口,NiosⅡ軟核通過此接口能對步進電機IP核中的寄存器進行讀寫操作,從而實現(xiàn)步進電機的運動控制。步進電機IP核中的寄存器和接口映像如表1所示。

        表1 寄存器和接口映像Table 1 The registers and interface image

        1.3 QEP電路

        本文采用增量式光電編碼器作為位置檢測裝置,其輸出為3路信號,其中兩路為正交的A、B脈沖信號,一路為零位檢測脈沖信號Z。在正常工作時,準確的檢測轉(zhuǎn)子位置是非常重要的,通常通過對正交的A、B脈沖進行四倍頻計數(shù),可以得到轉(zhuǎn)子的位置。本文設計的QEP電路如圖2所示,包括數(shù)字濾波器、方向判斷電路、四倍頻電路和增/減計數(shù)器等。其中,數(shù)字濾波器用來濾除電機旋轉(zhuǎn)時在編碼器A、B和Z三相輸出端產(chǎn)生的數(shù)字信號噪音。方向判別和四倍頻電路可得到電機轉(zhuǎn)子的旋轉(zhuǎn)方向與四倍頻輸出,再經(jīng)過增/減計數(shù)器,便可以得到(n+1)位的電機轉(zhuǎn)子位置信號。

        圖2 QEP電路框圖Fig.2 Block diagram of QEP circuit

        1.4 速度剖面產(chǎn)生

        速度剖面產(chǎn)生模塊可以實現(xiàn)三種速度曲線模式:勻速模式、三角形加減速模式和梯形加減速模式。這個模塊的輸入是一組速度曲線參數(shù),包括起動速度f01、勻速速度fc、停止速度f02、加速步數(shù)a、勻速步數(shù)c和減速步數(shù)d。若按線性加速或減速運行的話,則加速階段和減速階段的加速度aa、ad分別為

        由步進電機運行原理及運動學方程,可求得加速階段、勻速階段和減速階段每個步進脈沖的步進周期 tx、ty和 tz分別為[7]

        根據(jù)上述分析,該模塊需要計算出每個步進脈沖的步進周期t,并產(chǎn)生步進脈沖序列。

        1.4.1 狀態(tài)機

        狀態(tài)機是該模塊中最重要的部分,它負責內(nèi)部狀態(tài)的轉(zhuǎn)換,步進周期計算和PWM電路的初始化,以及各部分之間的時序調(diào)度。

        它有4種狀態(tài):停止、加速、勻速和減速,它們之間的轉(zhuǎn)換關(guān)系如圖3所示。當應用程序開啟或者電機轉(zhuǎn)動完成時,保持在停止狀態(tài)。控制寄存器的啟停位置1后,若加速步數(shù)大于0(1),進入加速狀態(tài);否則(5),進入勻速狀態(tài)。

        圖3 速度剖面產(chǎn)生模塊的狀態(tài)機Fig.3 State machine of velocity profile generator

        在加速狀態(tài),應用程序把步進電機從起動速度加速到勻速速度,在該過程中正好走完加速步數(shù)。加速步數(shù)完成后,若勻速步數(shù)大于0(2),進入勻速狀態(tài);否則(6),進入減速狀態(tài)。

        在勻速狀態(tài),應用程序驅(qū)動步進電機勻速運行,直到走完勻速步數(shù)。勻速步數(shù)完成后,若減速步數(shù)大于0(3),進入減速狀態(tài);否則(7),進入停止狀態(tài)。

        在減速狀態(tài),應用程序把步進電機從勻速速度減速到停止速度,在該過程中剛好走完減速步數(shù)。減速步數(shù)已經(jīng)完成后(4),進入停止狀態(tài)。

        當從勻速狀態(tài)或減速狀態(tài)進入停止狀態(tài)時,控制寄存器的啟停位被清0,這表明此次運動已經(jīng)完成,可以進入新的運動周期了。

        1.4.2 步進周期計算模塊

        由式(3)~式(5)可知,步進周期Δt的計算是非常復雜的,要經(jīng)過兩次乘法、一次開方和一次除法等運算才能得到。在FPGA開發(fā)應用中,大多數(shù)EDA軟件(如QuartusⅡ)都提供乘除法、開方運算的設計向?qū)?,或提供LPM宏函數(shù),但普遍占用資源量大。在我們的應用中,要求計算精度高、資源敏感而計算時延要求并不高,這時我們需要一種保證計算正確且資源開銷低的FPGA實現(xiàn)方法。本文采用遞推結(jié)構(gòu)的乘法、除法和開方運算的串行實現(xiàn)方法[8],該方法以處理時間換取資源,具有占用硬件資源少,實現(xiàn)簡單等特點。

        1.4.3 脈沖信號產(chǎn)生

        步進電機高速運行時,步進周期Δt的數(shù)值一般都在微秒量級,因此,必須設計精確的計時方法。本文在FPGA上設計一個32位計數(shù)器(FPGA工作頻率f為50 MHz),它的最大計數(shù)周期約為85.9 s,最基本的計數(shù)單位T為0.02 μs。因此,通過向計數(shù)器寫入不同的計數(shù)初值c0,就可以在不同的定時時刻計時,而且定時精度可達0.02 μs。

        用計算出的步進周期Δt除以計數(shù)器的基本計數(shù)單位T,可以得到一個計數(shù)初值c0,將這個值寫入到計數(shù)器中,并使之開始減1計數(shù)。同時在FPGA上設計一個32位比較器,比較器的值為計數(shù)初值c0的一半。當計數(shù)器計數(shù)值大于比較器的值時,脈沖信號輸出為低;反之,脈沖信號輸出為高。

        1.5 仿真驗證

        在步進電機IP核的對外接口中,除了Avalon總線接口信號外,dir為電機的正/反轉(zhuǎn)信號,pulse為電機的步進脈沖信號,encoder為編碼器的脈沖信號。通過Avalon總線接口向IP核中的三個數(shù)據(jù)寄存器寫速度曲線參數(shù)(三角形加減速模式:起動速度和停止速度為0,勻速速度為2 560 step/s,加速步數(shù)、勻速步數(shù)和減速步數(shù)分別為64、0和64 step),并把控制寄存器中的方向位置1,該IP核的仿真結(jié)果如圖4所示。從圖4可以看出,仿真波形完全符合預期的設計需求。

        圖4 步進電機IP核的仿真結(jié)果Fig.4 Simulink waveform of stepper motor IP core

        2 多軸控制器SoPC

        把所設計的步進電機IP核嵌入到復雜的SOPC系統(tǒng)中,從而可以構(gòu)建多軸步進電機控制器。圖5為4軸步進電機控制器SoPC系統(tǒng)框圖,其系統(tǒng)功能模塊包括:

        1)NiosⅡ軟核。它是Altera公司的第二代用戶可配置的32位RISC軟核處理器,是Altera公司特有的基于FPGA架構(gòu)的軟CPU內(nèi)核。它提供有32位指令集、32位數(shù)據(jù)寬度和2GB尋址空間。NiosⅡ軟核通過軟件方式來完成運動軌跡的計算,并協(xié)調(diào)各個IP核的操作。

        2)存儲器控制器。EPCS用于存放FPGA的配置信息、軟件代碼和數(shù)據(jù);SDRAM作為軟件代碼和數(shù)據(jù)的運行空間。

        3)CAN控制器。它支持CAN2.0B協(xié)議,支持標準幀和擴展幀兩種幀格式。這極大地擴展了通信能力,可用于與上位機的通信,接收控制參數(shù)以及用于調(diào)試和監(jiān)測的目的。

        4)4個步進電機IP核。每個IP核控制一臺步進電機。該IP核具有Avalon總線接口,因此NiosⅡ處理器能夠讀寫所有步進電機IP核內(nèi)部的控制和數(shù)據(jù)寄存器。

        5)為了實現(xiàn)整個數(shù)字系統(tǒng),還需要包括有定時器IP核和JTAG UART IP核。為了控制時鐘倍頻、分頻和同步,使用了一個PLL模塊。

        圖5 4軸步進電機控制器SoPC系統(tǒng)框圖Fig.5 Block diagram of 4 axis stepper motor controller SoPC

        表2給出了整個數(shù)字系統(tǒng)在Altera公司的中等容量CycloneⅢ器件EP3C55F484上的執(zhí)行結(jié)果。該SoPC系統(tǒng)消耗了大約23%的邏輯資源和18%的乘法器。若升級到8軸 SoPC系統(tǒng),那么將消耗38%的邏輯資源和35%的乘法器,而最高運行頻率將降到52MHz。

        每個步進電機IP核消耗2 170個邏輯資源和13個9×9乘法器。因此,使用該型號FPGA,能容易升級到16軸甚至更多軸的步進電機控制器SoPC系統(tǒng)。

        表2 4軸步進電機控制器的執(zhí)行結(jié)果Table 2 Implementation results of the 4 axis controller SoPC

        該多軸步進電機控制器的所有功能模塊均以硬件描述語言進行描述,在源代碼通過功能仿真后,再進行綜合生成RTL網(wǎng)表,并經(jīng)過工藝映射、布局、布線、時序分析、編程等,最后在Altera公司的FPGA芯片EP3C55F484中實現(xiàn)了四軸步進電機控制器SoPC系統(tǒng),其時鐘頻率可以運行在50 MHz以上。

        為了實現(xiàn)整個數(shù)字系統(tǒng),設計了8層的FPGA控制板和4層的步進電機驅(qū)動板。FPGA控制板包括以下幾個部分:FPGA芯片EP3C55F484,CAN 收發(fā)器 CTM8251,64Mbit的SDRAM芯片IS42S16400F,64Mbit的串行配置器件EPCS64。

        步進電機驅(qū)動板主要實現(xiàn)步進電機的細分驅(qū)動功能,采用Allegro公司的專門針對兩相步進電機而設計的步進電機驅(qū)動器A4982集成芯片。A4982是雙全橋脈寬調(diào)制電機驅(qū)動器,片內(nèi)兩個H橋各自能提供高達2A的持續(xù)電流,工作電壓高達35V。它可以驅(qū)動步進電機工作在全步、半步、1/4步以及1/16步模式下。

        3 實驗結(jié)果

        在測試伺服系統(tǒng)的控制性能實驗中,驅(qū)動對象是4臺相同的靜轉(zhuǎn)矩為0.09 N·m、額定電流為0.67 A、轉(zhuǎn)動慣量為 9 ×10-7kg·m2、編碼器線數(shù)為1 024的兩相混合式步進電機。負載轉(zhuǎn)動慣量約為3.3×10-6kg·m2,步進電機工作在1/16細分模式下。控制4臺步進電機工作在三角形加減速模式下,其速度曲線參數(shù)均為:起動速度和停止速度均為0,勻速速度為2 560 step/s,加速步數(shù)和減速步數(shù)均為64 step,勻速步數(shù)為0。圖6是電機控制器輸出的其中一軸電機的脈沖信號和相應的繞組電流曲線。圖7和圖8分別是某次運動過程的速度曲線和位置曲線,實驗結(jié)果與理想情況吻合得比較好,其最大誤差在0.5%內(nèi)。

        圖6 脈沖信號和電機繞組的電流曲線Fig.6 Pulse signal and winding current

        圖7 步進電機的速度曲線Fig.7 Velocity profile of stepper motor

        圖8 步進電機的位置曲線Fig.8 Position profile of stepper motor

        4 結(jié)論

        提出了一種應用FPGA實現(xiàn)多軸步進電機控制器的方法。開發(fā)了基于特定速度控制策略的高性能步進電機IP核,包括Avalon總線接口、位置檢測、速度剖面生成、脈沖信號產(chǎn)生等算法模塊。在此基礎上,進一步集成了微處理器、存儲器、通信模塊等,構(gòu)建了多軸步進電機控制器的SoPC系統(tǒng)。實驗結(jié)果表明該多軸步進電機控制器具有良好的動態(tài)特性和穩(wěn)態(tài)精確度。所設計的擁有自主知識產(chǎn)權(quán)的IP核通過了充分的軟硬件仿真和實驗測試,可以移植到不同工藝的FPGA平臺中。

        [1] ACARNLEY P.Stepping motors a guide to theory and practice[M].4th ed.London:The Institution of Electrical Engineers,2002.

        [2] MASI A,CONTE G,LOSITO R,et al.DSP-based stepping motor drivers for the LHC collimators[J].IEEE Transactions on Nuclear Science,2008,55(1):341-348.

        [3] 榮盤祥,張亞慧,張歡歡,等.基于DSP的運動控制卡的研究與開發(fā)[J].電機與控制學報,2011,15(3):35-39.

        RONG Panxiang,ZHANG Yahui,ZHANG Huanhuan,et al.Research and development of multiple-axis motion control board based on DSP[J].Electric Machines and Control,2011,15(3):35-39.

        [4] CHO Junguk,LE Quyngoc,JEON Jaewook.An FPGA-based multiple-axis motion control chip[J].IEEE Transactions on Industrial Electronics,2009,56(3):856-870.

        [5] ASTARLOA A,LAZARO J,BIDARTE U,et al.FPGA technology for multi-axis control system[J].Mechatronics,2009,19(2):258-268.

        [6] 周兆勇,王琳,漆亞梅,等.多軸伺服控制器的片上系統(tǒng)設計[J].電機與控制學報,2009,13(4):553-558.

        ZHOU Zhaoyong,WANG Lin,QI Yamei,et al.System on chip design of multi-axis servo controller[J].Electric Machines and Control,2009,13(4):553 -558.

        [7] WANG Bangji,LIU Qingxiang,ZHOU Lei,et al.Velocity profile algorithm realization on FPGA for stepper motor controller[C]//2011 2nd International Conference on Artificial Intelligence,Management Science and Electronic Commerce,August 8 -10,2011,Zhengzhou,China.2011:6072-6075.

        [8] 陳國軍,萬明康,王大鳴,等.乘除法和開方運算的FPGA串行實現(xiàn)[J].微計算機信息,2008,24(5):167-168,192.

        CHEN Guojun,WAN Mingkang,WANG Daming,et al.Serial implementation of multiplication,division and square root operation based on FPGA[J].Control& Automation,2008,24(5):167 -168,192.

        猜你喜歡
        步數(shù)寄存器總線
        速度和步數(shù),哪個更重要
        楚國的探索之旅
        奇妙博物館(2021年4期)2021-05-04 08:59:48
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        微信運動步數(shù)識人指南
        小演奏家(2018年9期)2018-12-06 08:42:02
        基于PCI Express總線的xHC與FPGA的直接通信
        機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設計
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        多通道ARINC429總線檢查儀
        基于EtherCAT總線的ROV控制系統(tǒng)設計
        河南科技(2014年16期)2014-02-27 14:13:22
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應用
        国产精品丝袜黑色高跟鞋| 日韩精品在线免费视频| 国产精品综合色区在线观看| 日日噜噜夜夜爽爽| 高h视频在线免费观看| 国产白浆一区二区三区佳柔 | 国产精品久久久三级18| 亚洲人成人网站在线观看| 亚洲欧美日韩综合中文字幕| 久久精品国产亚洲av调教| 国产一区二区av免费在线观看| 国产女人水真多18毛片18精品| 亚洲精品456| 西西少妇一区二区三区精品| 干日本少妇一区二区三区| 日韩亚洲欧美中文在线| 亚洲AV秘 片一区二区三| 黄色大片国产精品久久| www婷婷av久久久影片| 亚洲熟女综合一区二区三区| 亚洲欧美日韩高清一区二区三区| 亚洲av本道一本二本三区| 亚洲av无码一区东京热| 天码av无码一区二区三区四区 | 成人性生交大片免费看激情玛丽莎| 精品国产精品三级精品av网址| av无码免费永久在线观看| 精品国产1区2区3区AV| 国产的自拍av免费的在线观看| 久久久av波多野一区二区| 色综合88| 一区二区在线观看日本免费| 国产一精品一av一免费爽爽| 国产a v无码专区亚洲av| 国产美女自拍国语对白| 校园春色人妻激情高清中文字幕| 亚洲伊人成综合网| 丰满熟妇人妻无码区| 亚洲精品第四页中文字幕| 日韩视频中文字幕精品偷拍| 日本韩国一区二区三区|