• 
    

    
    

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

      ?

      基于FPGA和LMD18200的步進電機控制系統(tǒng)

      2018-07-10 07:20杜維康王景存
      現(xiàn)代電子技術(shù) 2018年13期
      關(guān)鍵詞:步進電機閉環(huán)控制編碼器

      杜維康 王景存

      摘 要: 實現(xiàn)了一種基于FPGA和LMD18200的步進電機閉環(huán)控制系統(tǒng),給出控制步進電機的設(shè)計方法,結(jié)合MCU,F(xiàn)PGA和增量型編碼器構(gòu)成了一個完整的運動控制平臺。該系統(tǒng)由總線接口單元、閉環(huán)控制單元、PWM脈寬調(diào)制單元和LMD18200驅(qū)動單元組成。實踐表明,利用LMD18200驅(qū)動邏輯能夠使步進電機高效穩(wěn)定地運行,有效降低了電機運行中的噪音和啟動、停止時的震動,使用效果好于大部分常規(guī)步進電機驅(qū)動方法。

      關(guān)鍵詞: FPGA; 步進電機; LMD18200; 閉環(huán)控制; 編碼器; 驅(qū)動控制

      中圖分類號: TN876?34; TP274 文獻標(biāo)識碼: A 文章編號: 1004?373X(2018)13?0142?05

      Abstract: An FPGA and LMD18200 based closed?loop control system of stepping motor was implemented in this paper. The design method to control the stepping motor is given. The MCU, FPGA and incremental encoder are combined to form a whole motion control platform. The system is composed of bus interface unit, closed?loop control unit, pulse width modulation (PWM) unit and LMD18200 driving unit. The experimental results show that the driving logic of LMD18200 can make the stepper motor run stably and efficiently, effectively reduce the noise during the motor operation and vibration during start and stop, and the control effect of the method is better than that of most conventional stepping motor′s driving methods.

      Keywords: FPGA; stepper motor; LMD18200; closed?loop control; encoder; driving control

      0 引 言

      步進電機是一種數(shù)字脈沖信號驅(qū)動的電機。通過改變步進電機輸入的脈沖總數(shù)、頻率以及各相繞組的通電順序,可以得到不同的運行特性[1?2]。本文討論了一種以FPGA控制為核心、結(jié)合專用H橋直流電機驅(qū)動芯片LMD18200,實現(xiàn)對步進電機全數(shù)字化驅(qū)動控制的一種方法。

      1 系統(tǒng)總體設(shè)計

      本設(shè)計采用MCU+FPGA的軟硬件協(xié)同控制方式。MCU用于人機交互、接收上位機命令并解析后交給FPGA,F(xiàn)PGA接收指令的同時處理步進電機驅(qū)動信號復(fù)雜的時序以及完成位置閉環(huán)控制。MCU為STM32F103ZET6,F(xiàn)PGA采用Cyclone Ⅲ系列的EP3C25Q240C8芯片。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。本文主要介紹FPGA內(nèi)部的閉環(huán)控制單元和PWM脈寬調(diào)制單元的設(shè)計方法。

      FPGA主要由MCU總線接口單元、位置檢測模塊、閉環(huán)控制單元以及PWM脈寬調(diào)制單元組成。

      MCU通過APB總線接口能夠?qū)崿F(xiàn)對總線接口單元中的寄存器進行讀寫操作,APB(Advanced Peripheral Bus)總線協(xié)議是ARM公司提出的AMBA總線結(jié)構(gòu)之一,其控制信號簡單,操作靈活[3?4]。

      STM32寫入的參數(shù)包括目標(biāo)距離、加/減速距離、最大勻速速度、尖峰速度、編碼器計數(shù)復(fù)位信號、方向和啟動信號等信息。FPGA反饋的狀態(tài)值包括編碼器的實時計數(shù)值、實時速度值、限位開關(guān)量、電機閑忙信號等。表1~表3給出了接口單元中各寄存器的功能?;刂窞?x65000000。

      表2中,start:控制電機啟動信號;dir:控制電機方向信號;mode:00=閉環(huán)模式,01=勻速模式,10=停止;reset:編碼器值清零信號;enable:控制電機使能信號;con_speed:勻速模式下的速度等效值。

      表3中,busy:電機閑忙標(biāo)志信號;zeropoint:零點限位開關(guān)信號;limitpoint:終點限位開關(guān)信號;error:電機錯誤編碼,如電機過熱、過流、長時間沒達(dá)到目標(biāo)位置等;speed:電機實時速度等效值。

      2 LMD18200步進電機驅(qū)動原理

      本文的步進電機采用的是兩相雙四拍工作方式,即每次兩鄰繞組同時通電,四拍一循環(huán),流程如圖2所示。

      LMD18200是美國國家半導(dǎo)體公司設(shè)計的專用于驅(qū)動電機的芯片。額定運行參數(shù)為:額定電流為3 A,峰值電流為6 A;電源電壓可達(dá)55 V;功率晶體管導(dǎo)通電阻很小為0.3 Ω;輸入信號兼容TTL和CMOS;內(nèi)置過流報警和過熱報警以及自動關(guān)斷[5]。LMD18200內(nèi)部電路框圖如圖3所示。

      LMD18200一般用于驅(qū)動直流電機,內(nèi)部只有一個H橋。因此,兩相步進電機需要兩片LMD18200驅(qū)動。系統(tǒng)的PWM脈寬調(diào)制單元輸出信號鏈接LMD18200的方向控制端;LMD18200的PWM端保持暢通,使之電流最大。調(diào)整方向控制端PWM輸入的占空比可以控制步進電機的電流,從而達(dá)到對電機轉(zhuǎn)動方向以及輸出轉(zhuǎn)矩的控制。當(dāng)方向控制端的占空比均為50%時,H橋輸出平均電流為0,電機停止;當(dāng)某一相占空比大于50%時,即為正轉(zhuǎn);反之為反轉(zhuǎn)[6]。因此,PWM脈寬調(diào)制單元輸出電流為[AB?AB?AB?AB]。

      如果目標(biāo)精度要求超過了步進電機的步距角,就需要對電機進行細(xì)分控制。下面以雙四拍工作方式為例說明。電機非細(xì)分工作時,繞組通電狀態(tài)轉(zhuǎn)換表為AB,[AB],[AB],[AB],AB,…。當(dāng)細(xì)分?jǐn)?shù)設(shè)置為4時,狀態(tài)之間的切換就不能一步完成,需要將勵磁電流進行分化,即將每相繞組的勵磁電流分為4份,依次遞增,呈臺階狀,這樣每個臺階的磁通勢即為原來的[14]。圖4表明每相的勵磁電流在細(xì)分時的狀態(tài),勵磁電流呈臺階狀依次增加或減少,使得電機狀態(tài)轉(zhuǎn)換不再是4次轉(zhuǎn)變就完成,而是經(jīng)過16次轉(zhuǎn)變,從而實現(xiàn)細(xì)分。

      綜上可知,調(diào)整PWM脈寬調(diào)制單元輸出信號的占空比可以實現(xiàn)步進電機的細(xì)分控制。因此,得到FPGA中PWM脈寬調(diào)制單元輸出正弦波中一個周期內(nèi)輸出控制點的多少即可實現(xiàn)不同的細(xì)分。

      3 控制單元的邏輯實現(xiàn)

      根據(jù)設(shè)計電路的需求以及功能,最主要的兩個控制邏輯為閉環(huán)控制單元和PWM脈寬調(diào)制單元,下面分別進行詳細(xì)介紹。

      3.1 閉環(huán)控制單元

      為了實現(xiàn)電機平穩(wěn)加減速,合理的速度曲線設(shè)計是非常重要的。常見的步進電機速度曲線有:梯形曲線、拋物線曲線和S型曲線[7?8],梯形曲線經(jīng)過適當(dāng)優(yōu)化也可以實現(xiàn)S型曲線的效果。本設(shè)計將對梯形速度曲線算法進行研究并實現(xiàn)。

      常用的梯形控制曲線如圖5所示。x軸是時間T,y軸是速度V。步進電機啟動速度為VD1,以恒定加速度[a0]運動,[a]步后達(dá)到最大速度[VC],并以此速度勻速運行[b]步后,以恒定加速度[a1]作減速運動,到[c]步后速度減小為[VD2]。根據(jù)[VD1,VC,VD2,a,b,c]等已知參數(shù),需分別計算出加速度[a0]和[a1]。

      系統(tǒng)可以預(yù)先判斷目標(biāo)距離值,從而選擇適合的加減速曲線。當(dāng)目標(biāo)距離適當(dāng)時,電機經(jīng)過加速、勻速、減速、校準(zhǔn)步驟后停止,電機勻速轉(zhuǎn)動時的速度是參數(shù)MAX_SPEED的值;當(dāng)目標(biāo)距離較小時,不足以使電機完成加速階段進入勻速階段,此時選擇三角加減速度曲線[9],因此電機運行過程中存在一個尖峰速度,由參數(shù)PEAK_SPEED決定。圖6為目標(biāo)距離對應(yīng)的速度曲線,當(dāng)目標(biāo)距離小于10時,采用的是三角加減速度曲線;大于10時,采用的是梯形加速曲線。

      為了使步進電機按照梯形速度曲線平穩(wěn)加減速,且能夠在編碼器的精度范圍內(nèi)實現(xiàn)閉環(huán)控制,這里采用兩段式的狀態(tài)機來實現(xiàn)。

      狀態(tài)機總共劃分為四種狀態(tài):IDLE(空閑狀態(tài)),ACC(加速狀態(tài)),CON(勻速狀態(tài)),DEC(減速狀態(tài))。詳細(xì)的狀態(tài)跳轉(zhuǎn)框圖如圖7所示。

      在IDLE狀態(tài),程序會持續(xù)監(jiān)測起始信號上升沿start_pos是否有效,如果有效則進入加速狀態(tài)ACC;當(dāng)編碼器值達(dá)到加速目標(biāo)距離即ACC_PRO時,加速完成信號acc_finish有效,電機進入勻速階段CON;該階段電機的速度是加速階段的最大速度,是由上位機傳遞過來的參數(shù)MAX_SPEED決定的,當(dāng)編碼器值達(dá)到目標(biāo)值與減速距離的差值時,進入減速狀態(tài)DEC;在減速狀態(tài),電機速度由最大值曲線平滑下降,當(dāng)編碼器值達(dá)到目標(biāo)距離goal,減速結(jié)束信號dec_finish有效,進入IDLE狀態(tài),等待上位機的下次任務(wù)。

      3.2 PWM脈寬調(diào)制單元

      PWM脈寬調(diào)制單元將閉環(huán)速度控制模塊輸出的速度信號調(diào)制為兩相四拍的PWM信號,由A,B相分別輸出到LMD18200的方向控制端,如圖8所示。圖中PLL模塊產(chǎn)生的2 kHz和10.24 MHz的時鐘供后續(xù)模塊使用,方向信號direction作為加減計數(shù)器的控制信號對速度值進行自加或自減運算。兩相雙拍四相脈沖分配表存放的是相位相差90°的正弦波量化值,高八位作為A相的正弦幅值,低八位作為B相的正弦幅值。

      為了提高電機步距的分辨率,采用32細(xì)分方案,量化值存放在FPGA內(nèi)部ROM1表中,因此ROM1表的深度決定了驅(qū)動器的最大細(xì)分。尋址地址由加減計數(shù)器輸出的speed_out決定。比例系數(shù)表ROM2中存放的是與速度值匹配的電流強度系數(shù)值,該系數(shù)決定了電機的驅(qū)動強度,但考慮到FPGA無法直接處理小于1的比例系數(shù),代碼中在比例系數(shù)ROM表中存放的是乘以256以后的值,在完成后續(xù)運算后右移8位即可。然后通過比例壓縮模塊將正弦波平移到中點128處,鋸齒波計數(shù)器在脈寬時鐘作用下遞增計數(shù),同時將產(chǎn)生階梯型上升的周期性鋸齒波與處理后的A,B相數(shù)據(jù)比較后輸出。

      4 LMD18200硬件電路設(shè)計

      LMD18200通過24 V電源供電。DIR為方向信號連接脈寬調(diào)制單元的PWM輸出,MT為過熱保護信號,當(dāng)芯片過熱時該信號有效并反饋至MCU。芯片的剎車輸入端BRAKE和PWM輸入端由同一個信號控制。當(dāng)MCU檢測到芯片過熱信號MT有效后,可以通過STOP信號控制BRAKE和PWM使其停止工作。另一方面,電流檢測輸出接1個對地電阻[R1],用于產(chǎn)生過流檢測信號,該檢測信號經(jīng)過[U3](LM339比較器)與參考電壓[VREF]([R2]和[R3]的分壓)比較;當(dāng)小于[VREF]時,電路按照控制流程控制電機;當(dāng)大于[VREF]時,自動控制BRAKE信號和PWM信號,使電機停止工作,起到電機過流自動保護的作用,如圖9所示。

      5 實驗結(jié)果

      由于實際應(yīng)用過程中有7個步進電機要同時控制。因此FPGA內(nèi)部要有7套并行的閉環(huán)控制和脈寬調(diào)制單元邏輯。FPGA選用的是ALTERA公司的Cyclone Ⅲ系列EP3C25Q240C8,硬件上完全能夠滿足設(shè)計需要。利用Quartus 12.1平臺進行FPGA邏輯功能模塊的設(shè)計,測試過程中系統(tǒng)占用主要的邏輯資源情況如表4所示。

      圖10為步進電機加速過程中兩相繞組驅(qū)動曲線圖,其中紅色為A相,藍(lán)色為B相,當(dāng)A/B相的占空比均為50%時,輸出電流為0,電機停止。正弦波的幅值決定了輸出的電流以及輸出的扭矩大小。正弦波輸出采樣點數(shù)表明了細(xì)分的程度以及轉(zhuǎn)速的大小(輸出采樣頻率固定)。

      圖11為加速、勻速、減速過程中編碼器實際采樣圖。圖12為仿真工具ModelSim進行仿真得到的32細(xì)分的仿真圖。圖中rom的地址addr_rom由加減計數(shù)器模塊的輸出結(jié)果截位得到,深度為256。ROM表中存放了周期為2π、相位差為[π4]的正弦值,每次從ROM中讀到的16 bit數(shù)據(jù)分配到A,B相的A_data,B_data上,作為后續(xù)與鋸齒波運算的調(diào)制信號。從圖12中可以看出,addr_rom的值在255后變?yōu)?,表示一個正弦波周期結(jié)束。以此作為分界點,前半部分波形對應(yīng)的節(jié)拍為[AB],后半部分波形對應(yīng)的節(jié)拍為AB。

      6 結(jié) 論

      LMD18200芯片通常作為直流電機的驅(qū)動芯片。本文對其控制步進電機進行了有益的嘗試。給出基于FPGA和LMD18200對步進電機控制系統(tǒng)的設(shè)計方法。實踐表明,盡管控制邏輯比較復(fù)雜,但利用LMD18200驅(qū)動邏輯能夠使步進電機高效穩(wěn)定的運行,有效降低了電機啟動和停止時的震動和噪音,使用效果明顯好于常規(guī)步進電機驅(qū)動方法。

      參考文獻

      [1] 陳興文,劉燕.基于FPGA實現(xiàn)步進電機脈沖信號控制器設(shè)計[J].機械設(shè)計與制造,2006(2):86?87.

      CHEN Xingwen, LIU Yan. Design of pulse signal controller for stepping motor based on FPGA [J]. Mechanical design and manufacturing, 2006(2): 86?87.

      [2] 歐海平,周硯江,張華葉,等.基于SOPC的步進電機加減速PWM控制器IP核設(shè)計[J].機電工程,2011,28(6):708?711.

      OU Haiping, ZHOU Yanjiang, ZHANG Huaye, et al. The IP core design of PWM controller based on SOPC′s stepping motor and deceleration [J]. Electromechanical engineering, 2011, 28(6): 708 ?711.

      [3] 劉軍,郭立,段勃,等.AMBA 2.0總線IP核的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2005,22(6):145?148.

      LIU Jun, GUO Li, DUAN Bo, et al. Design and implementa?tion of AMBA 2.0 bus IP core [J]. Microelectronics and computer, 2005, 22(6): 145?148.

      [4] 時晨,張偉功.基于AMBA總線UART IP核的設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2003,23(z1):36?38.

      SHI Chen, ZHANG Weigong. The design and implementation of UART IP core based on AMBA bus [J]. Computer applica?tions, 2003, 23(S1): 36?38.

      [5] 張軍,葛悅,劉超,等.一種高效的兩相步進電機控制技術(shù)[J].計算機測量與控制,2012,20(8):2130?2132.

      ZHANG Jun, GE Yue, LIU Chao, et al. An efficient two?phase stepping motor control technology [J]. Computer measurement and control, 2012, 20(8): 2130?2132.

      [6] 王磊,艾曉庸,朱齊丹,等.基于LMD18200組件的直流電機驅(qū)動器的設(shè)計[J].自動化與儀表,2004,19(1):26?27.

      WANG Lei, AI Xiaoyong, ZHU Qidan, et al. Design of DC motor drive based on LMD18200 components [J]. Automation and instrumentation, 2004, 19(1): 26?27.

      [7] 王邦繼,劉慶想,周磊,等.步進電機速度曲線的設(shè)計與FPGA實現(xiàn)[J].微電機,2012,45(8):67?71.

      WANG Bangji, LIU Qingxiang, ZHOU Lei, et al. Design of stepper motor speed curve and FPGA implementation [J]. Micromotors, 2012, 45(8): 67?71.

      [8] 楊超,張冬泉.基于S曲線的步進電機加減速的控制[J].機電工程,2011,28(7):813?817.

      YANG Chao, ZHANG Dongquan. Control of acceleration and deceleration of stepper motor based on S curve [J]. Electromechanical engineering, 2011, 28(7): 813?817.

      [9] 霍建偉,馬海濤,王麗秋,等.全自動生化分析儀用分光光度計[J].光學(xué)精密工程,2003,11(5):457?460.

      HUO Jianwei, MA Haitao, WANG Liqiu, et al. Automatic biochemical analyzer spectrophotometer [J]. Optical precision engineering, 2003, 11(5): 457?460.

      [10] 周明安,朱光忠,宋曉華,等.步進電機驅(qū)動技術(shù)發(fā)展及現(xiàn)狀[J].機電工程技術(shù),2005,34(2):16?17.

      ZHOU Mingan, ZHU Guangzhong, SONG Xiaohua, et al. Development and status of stepper motor driven technology [J]. Electromechanical engineering technology, 2005, 34(2): 16?17.

      猜你喜歡
      步進電機閉環(huán)控制編碼器
      基于LMI的過渡態(tài)主控回路閉環(huán)控制律優(yōu)化設(shè)計
      適用于厚度在線測量的水壓閉環(huán)控制系統(tǒng)
      基于FPGA的同步機軸角編碼器
      智能車競賽中的閉環(huán)控制算法應(yīng)用分析
      基于PRBS檢測的8B/IOB編碼器設(shè)計
      一種可自動伸縮的嵌入式LED燈具設(shè)計
      步進電機智能控制的設(shè)計與實現(xiàn)
      工礦機車GK1F、GK1C柴油機調(diào)速控制
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
      SSSC的雙閉環(huán)控制策略及仿真分析
      平凉市| 合山市| 宁城县| 武冈市| 宾川县| 广灵县| 洛扎县| 青铜峡市| 日喀则市| 衡南县| 金塔县| 嘉鱼县| 青海省| 铁力市| 榆林市| 东丽区| 临江市| 玉山县| 灵川县| 呈贡县| 天水市| 邯郸县| 鄂托克前旗| 曲松县| 万源市| 敖汉旗| 绥德县| 礼泉县| 抚松县| 那曲县| 浦县| 武城县| 颍上县| 盘山县| 隆化县| 图木舒克市| 桃园县| 丰都县| 翁源县| 扬州市| 奎屯市|