tangcheng
努力奮斗、追求完美
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 467 個
工控威望: 340 點
下載積分: 531 分
在線時間: 294(小時)
注冊時間: 2007-11-15
最后登錄: 2024-03-22
查看tangcheng的 主題 / 回貼
樓主  發(fā)表于: 2009-12-30 19:12
步進電機定位精度與脈沖頻率的高低有關(guān)系嗎?是不是頻率低,定位精度要高?
ydp
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看ydp的 主題 / 回貼
1樓  發(fā)表于: 2009-12-30 22:33
用PLC實現(xiàn)步進電機的快速精確定位

  
  步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進驅(qū)動器接收到一個脈沖信號時就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),其旋轉(zhuǎn)以固定的角度運行?梢酝ㄟ^控制脈沖個數(shù)來控制角位移量以達到準(zhǔn)確定位的目的;同時也可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度而達到調(diào)速的目的。步進電機作為一種控制用的特種電機,因其沒有積累誤差(精度為100%)而廣泛應(yīng)用于各種開環(huán)控制。
  1 定位原理及方案
  1.1 步進電機加減速控制原理
  步進電機驅(qū)動執(zhí)行機構(gòu)從一個位置向另一個位置移動時,要經(jīng)歷升速、恒速和減速過程。當(dāng)步進電機的運行頻率低于其本身起動頻率時,可以用運行頻率直接起動并以此頻率運行,需要停止時,可從運行頻率直接降到零速。當(dāng)步進電機運行頻率fb>fa(有載起動時的起動頻率)時,若直接用fb頻率起動會造成步進電機失步甚至堵轉(zhuǎn)。同樣在fb頻率下突然停止時,由于慣性作用,步進電機會發(fā)生過沖,影響定位精度。如果非常緩慢的升降速,步進電機雖然不會產(chǎn)生失步和過沖現(xiàn)象,但影響了執(zhí)行機構(gòu)的工作效率。所以對步進電機加減速要保證在不失步和過沖前提下,用最快的速度(或最短的時間)移動到指定位置。
  步進電機常用的升降頻控制方法有2種:直線升降頻(圖1)和指數(shù)曲線升降頻(圖2)。指數(shù)曲線法具有較強的跟蹤能力,但當(dāng)速度變化較大時平衡性差。直線法平穩(wěn)性好,適用于速度變化較大的快速定位方式。以恒定的加速度升降,規(guī)律簡練,用軟件實現(xiàn)比較簡單,本文即采用此方法。

  1.2 定位方案
  要保證系統(tǒng)的定位精度,脈沖當(dāng)量即步進電機轉(zhuǎn)一個步距角所移動的距離不能太大,而且步進電機的升降速要緩慢,以防止產(chǎn)生失步或過沖現(xiàn)象。但這兩個因素合在一起帶來了一個突出問題:定位時間太長,影響執(zhí)行機構(gòu)的工作效率。因此要獲得高的定位速度,同時又要保證定位精度,可以把整個定位過程劃分為兩個階段:粗定位階段和精定位階段。粗定位階段,采用較大的脈沖當(dāng)量,如0.1mm/步或1mm/步,甚至更高。精定位階段,為了保證定位精度,換用較小的脈沖當(dāng)量,如0.01mm/步。雖然脈沖當(dāng)量變小,但由于精定位行程很短(可定為全行程的五十分之一左右),并不會影響到定位速度。為了實現(xiàn)此目的,機械方面可通過采用不同變速機構(gòu)實現(xiàn)。
  工業(yè)機床控制在工業(yè)自動化控制中占有重要位置,定位鉆孔是常用工步。設(shè)刀具或工作臺欲從A點移至C點,已知AC=200mm,把AC劃分為AB與BC兩段,AB=196mm,BC=4mm,AB段為粗定位行程,采用0.1mm/步的脈沖當(dāng)量依據(jù)直線升降頻規(guī)律快速移動,BC段為精定位行程,采用0.01mm/步的脈沖當(dāng)量,以B點的低頻恒速運動完成精確定位。在粗定位結(jié)束進入精定位的同時,PLC自動實現(xiàn)變速機構(gòu)的更換。
  2 定位程序設(shè)計
  2.1 PLC脈沖輸出指令
  目前較為先進的PLC不僅具有滿足順序控制要求的基本邏輯指令,而且還提供了豐富的功能指令。Siemens S7-200系列PLC的PLUS指令在Q0.0和Q0.1輸出PTO或PWM高速脈沖,最大輸出頻率為20KHz。脈沖串(PTO)提供方波輸出(50%占空比),用戶控制周期和脈沖數(shù)。脈沖寬度可調(diào)制(PWM)酮能提供連續(xù)、變占空比輸出,用戶控制周期和脈沖寬度。本文采用PTO的多段管線工作方式實現(xiàn)粗定位,PTO的單段管線方式實現(xiàn)精定位,如圖3。

圖3 步進電機定位過程圖
  上述例子中,假定電機的起動和結(jié)束頻率是2KHz,最大脈沖頻率是10KHz。在粗定位過程中,用200個脈沖完成升頻加速,400個脈沖完成降頻減速。使用PLC的PTO多段管線脈沖輸出時,用下面的公式計算升降頻過程中的脈沖增量值。
  給定段的周期增量=(ECT—ICT)/Q
  式中:ECT=該段結(jié)束周期時間
  ICT=該段初始周期時間
  利用這個公式,加速部分(第1段)周期增量為2,減速部分(第3段)周期增量為1。因第2段是恒速部分,故周期增量為0。如果PTO的包絡(luò)表從VB500開始存放,則表1為上例的包絡(luò)表值。
          表1 粗定位的PTO多段管線包絡(luò)表值

  2.2 源程序
  //主程序
  LD SM0.1 //首次掃描為1
  R Q0.0,1 //復(fù)位映像寄存器位
  CALL 0 //調(diào)用子程序0,初始化粗定位相關(guān)參數(shù)
  LD M0.0 //粗定位完成
  R Q0.0,1
  CALL 1 //調(diào)用子程序1,初始化精定位相關(guān)參數(shù)
  //子程序0,粗定位
  LD SM0.0
  MOVB 16#A0,SMB67 //設(shè)定控制字:允許PTO操作,選擇ms增量,選擇多段操作
  MOVW 500,SMW168 //指定包絡(luò)表起始地址為V500
  MOVB 3,VB500 //設(shè)定包絡(luò)表段數(shù)是3
  MOVW 500,VW501 //設(shè)定第一段初始周期為500ms
  MOVW -2,VD503 //設(shè)定第一段周期增量為-2ms
  MOVD 200,VD505 //設(shè)定第一段脈沖個數(shù)為200
  MOVW 100,VW509 //設(shè)定第二段初始周期為100ms
  MOVW 0,VD511 //設(shè)定第二段周期增量為0ms
  MOVD 1360,VD513 //設(shè)定第二段脈沖個數(shù)為1360
  MOVW 100,VW517 //設(shè)定第三段初始周期為100ms
  MOVW 1,VD519 //設(shè)定第三段周期增量為1ms
  MOVD 400,VD521 //設(shè)定第三段脈沖個數(shù)為400
  ATCH 2,19 //定義中斷程序2處理PTO完成中斷
  ENI //允許中斷
  PLS 0 //啟動PTO操作
  //子程序1,精定位
  LD SM0.0 //首次掃描為1
  MOVB 16#8D,SMB67 //允許PTO功能,選擇ms增量,設(shè)定脈沖數(shù)和周期
  MOVW 500,SMW68 //設(shè)定精定位周期為500ms
  MOVD 400,SMD72 //設(shè)定脈沖個數(shù)為400
  ATCH 3,19 //定義中斷程序3處理PTO完成中斷
  ENI //允許中斷
  PLS 0 //啟動PTO操作
  //中斷程序2
  LD SM0.0 //一直為1
  = M0.0 //啟動精定位
  //中斷程序3
  LD SM0.0 //一直為1
  = M0.1 //實現(xiàn)其他功能
附件: 用PLC實現(xiàn)步進電機的快速精確定位 .doc (68 K) 下載次數(shù):242
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+1(黃猛) 優(yōu)秀文章