0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PLC對步進(jìn)電機(jī)進(jìn)行定位控制程序的原理及方案解析

1X4o_GKB1508 ? 2017-12-20 14:54 ? 次閱讀

步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號時就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),其旋轉(zhuǎn)以固定的角度運(yùn)行??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量以達(dá)到準(zhǔn)確定位的目的;同時也可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)作為一種控制用的特種電機(jī),因其沒有積累誤差(精度為100%)而廣泛應(yīng)用于各種開環(huán)控制。

定位原理及方案

步進(jìn)電機(jī)加減速控制原理

步進(jìn)電機(jī)驅(qū)動執(zhí)行機(jī)構(gòu)從一個位置向另一個位置移動時,要經(jīng)歷升速、恒速和減速過程。當(dāng)步進(jìn)電機(jī)的運(yùn)行頻率低于其本身起動頻率時,可以用運(yùn)行頻率直接起動并 以此頻率運(yùn)行,需要停止時,可從運(yùn)行頻率直接降到零速。
PLC對步進(jìn)電機(jī)進(jìn)行定位控制程序的原理及方案解析

當(dāng)步進(jìn)電機(jī)運(yùn)行頻率fb>fa(有載起動時的起動頻率)時,若直接用fb頻率起動會造成步進(jìn) 電機(jī)失步甚至堵轉(zhuǎn)。同樣在fb頻率下突然停止時,由于慣性作用,步進(jìn)電機(jī)會發(fā)生過沖,影響定位精度。如果非常緩慢的升降速,步進(jìn)電機(jī)雖然不會產(chǎn)生失步和過 沖現(xiàn)象,但影響了執(zhí)行機(jī)構(gòu)的工作效率。

所以對步進(jìn)電機(jī)加減速要保證在不失步和過沖前提下,用最快的速度(或最短的時間)移動到指定位置。

步進(jìn)電機(jī)常用的升降頻控制方法有2種:直線升降頻和指數(shù)曲線升降頻。指數(shù)曲線法具有較強(qiáng)的跟蹤能力,但當(dāng)速度變化較大時平衡性差。直線法平穩(wěn)性好,適用于速度變化較大的快速定位方式。以恒定的加速度升降,規(guī)律簡練,用軟件實(shí)現(xiàn)比較簡單,本文即采用此方法。

定位方案

要保證系統(tǒng)的定位精度,脈沖當(dāng)量即步進(jìn)電機(jī)轉(zhuǎn)一個步距角所移動的距離不能太大,而且步進(jìn)電機(jī)的升降速要緩慢,以防止產(chǎn)生失步或過沖現(xiàn)象。但這兩個因素合在 一起帶來了一個突出問題:定位時間太長,影響執(zhí)行機(jī)構(gòu)的工作效率。

因此要獲得高的定位速度,同時又要保證定位精度,可以把整個定位過程劃分為兩個階段:粗定位階段和精定位階段。

粗定位階段,采用較大的脈沖當(dāng)量,如0.1mm/步或1mm/步,甚至更高。

精定位階段,為了保證定位精度,換用較小的脈沖當(dāng)量, 如0.01mm/步。雖然脈沖當(dāng)量變小,但由于精定位行程很短(可定為全行程的五十分之一左右),并不會影響到定位速度。為了實(shí)現(xiàn)此目的,機(jī)械方面可通過 采用不同變速機(jī)構(gòu)實(shí)現(xiàn)。

工業(yè)機(jī)床控制在工業(yè)自動化控制中占有重要位置,定位鉆孔是常用工步。設(shè)刀具或工作臺欲從A點(diǎn)移至C點(diǎn),已知AC=200mm,把AC劃分為AB與BC兩 段,AB=196mm,BC=4mm,AB段為粗定位行程,采用0.1mm/步的脈沖當(dāng)量依據(jù)直線升降頻規(guī)律快速移動,BC段為精定位行程,采用 0.01mm/步的脈沖當(dāng)量,以B點(diǎn)的低頻恒速運(yùn)動完成精確定位。在粗定位結(jié)束進(jìn)入精定位的同時,PLC自動實(shí)現(xiàn)變速機(jī)構(gòu)的更換。

定位程序設(shè)計(jì)內(nèi)容梗概

PLC脈沖輸出指令

目前較為先進(jìn)的PLC不僅具有滿足順序控制要求的基本邏輯指令,而且還提供了豐富的功能指令。Siemens S7-200系列PLC的PLUS指令在Q0.0和Q0.1輸出PTO或PWM高速脈沖,最大輸出頻率為20KHz。脈沖串(PTO)提供方波輸出 (50%占空比),用戶控制周期和脈沖數(shù)。脈沖寬度可調(diào)制(PWM)酮能提供連續(xù)、變占空比輸出,用戶控制周期和脈沖寬度。

本文采用PTO的多段管線工作 方式實(shí)現(xiàn)粗定位,PTO的單段管線方式實(shí)現(xiàn)精定位。

上述例子中,假定電機(jī)的起動和結(jié)束頻率是2KHz,最大脈沖頻率是10KHz。在粗定位過程中,用200個脈沖完成升頻加速,400個脈沖完成降頻減速。使用PLC的PTO多段管線脈沖輸出時,用下面的公式計(jì)算升降頻過程中的脈沖增量值。

給定段的周期增量=(ECT—ICT)/Q

式中:ECT=該段結(jié)束周期時間,ICT=該段初始周期時間。利用這個公式,加速部分(第1段)周期增量為2,減速部分(第3段)周期增量為1。因第2段是恒速部分,故周期增量為0。如果PTO的包絡(luò)表從VB500開始存放,則表1為上例的包絡(luò)表值。

源程序

主程序LD SM0.1 //首次掃描為1R Q0.0,1 //復(fù)位映像寄存器位CALL 0 //調(diào)用子程序0,初始化粗定位相關(guān)參數(shù)LD M0.0 //粗定位完成R Q0.0,1CALL 1 //調(diào)用子程序1,初始化精定位相關(guān)參數(shù)//子程序0,粗定位LD SM0.0

MOVB 16#A0,SMB67 //設(shè)定控制字:允許PTO操作,選擇ms增量,選擇多段操作MOVW 500,SMW168 //指定包絡(luò)表起始地址為V500MOVB 3,VB500 //設(shè)定包絡(luò)表段數(shù)是3MOVW 500,VW501 //設(shè)定第一段初始周期為500msMOVW -2,VD503 //設(shè)定第一段周期增量為-2msMOVD 200,VD505 //設(shè)定第一段脈沖個數(shù)為200MOVW 100,VW509 //設(shè)定第二段初始周期為100msMOVW 0,VD511 //設(shè)定第二段周期增量為0msMOVD 1360,VD513 //設(shè)定第二段脈沖個數(shù)為1360MOVW 100,VW517 //設(shè)定第三段初始周期為100msMOVW 1,VD519 //設(shè)定第三段周期增量為1msMOVD 400,VD521 //設(shè)定第三段脈沖個數(shù)為400ATCH 2,19 //定義中斷程序2處理PTO完成中斷ENI //允許中斷PLS 0 //啟動PTO操作子程序1,精定位LD SM0.0 //首次掃描為1MOVB 16#8D,SMB67 //允許PTO功能,選擇ms增量,設(shè)定脈沖數(shù)和周期MOVW 500,SMW68 //設(shè)定精定位周期為500msMOVD 400,SMD72 //設(shè)定脈沖個數(shù)為400ATCH 3,19 //定義中斷程序3處理PTO完成中斷ENI //允許中斷PLS 0 //啟動PTO操作//中斷程序2LD SM0.0 //一直為1= M0.0 //啟動精定位//中斷程序3LD SM0.0 //一直為1= M0.1 //實(shí)現(xiàn)其他功能


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5001

    文章

    12942

    瀏覽量

    459193
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    150

    文章

    3041

    瀏覽量

    146844

原文標(biāo)題:PLC對步進(jìn)電機(jī)進(jìn)行定位控制程序

文章出處:【微信號:GKB1508,微信公眾號:工控幫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    求助兩相步進(jìn)電機(jī)控制程序

    求助各位大神給個兩相步進(jìn)電機(jī)控制程序,只要簡單的正傳即可,主要是用來參考,多謝!
    發(fā)表于 09-09 16:57

    步進(jìn)電機(jī)控制程序

    步進(jìn)電機(jī)控制程序(c語言+51單片機(jī))#include#define uint unsigned int#define uchar unsigned char#define ms *77// f
    發(fā)表于 06-28 09:35

    步進(jìn)電機(jī)控制程序怎么去寫

    關(guān)注公眾號:伊斯電子編程回復(fù):步進(jìn)電機(jī)控制程序還有更多資源等你來領(lǐng)取
    發(fā)表于 07-07 06:40

    步進(jìn)電機(jī)控制程序編寫

    步進(jìn)電機(jī)控制程序編寫,在3399上控制步進(jìn)電機(jī),即控制
    發(fā)表于 07-08 09:59

    步進(jìn)電機(jī)控制程序(PLC控制)

    步進(jìn)電機(jī)控制程序(PLC控制)
    發(fā)表于 10-10 14:35 ?65次下載
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制程序</b>(<b class='flag-5'>PLC</b><b class='flag-5'>控制</b>)

    步進(jìn)電機(jī)控制程序(匯編語言+89c51單片機(jī))

    步進(jìn)電機(jī)控制程序(C語言+89c51單片機(jī))
    發(fā)表于 10-10 14:37 ?1117次下載
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制程序</b>(匯編語言+89c51單片機(jī))

    CMP指令應(yīng)用脈沖定位控制程序

    CMP指令應(yīng)用脈沖定位控制程序  
    發(fā)表于 07-04 08:17 ?32次下載
    CMP指令應(yīng)用脈沖<b class='flag-5'>定位</b><b class='flag-5'>控制程序</b>

    步進(jìn)電機(jī)控制程序STEPPER.C

    步進(jìn)電機(jī)控制程序ST
    發(fā)表于 01-09 15:19 ?7次下載

    步進(jìn)電機(jī)控制程序液晶顯示程序

    步進(jìn)電機(jī)控制程序液晶顯示程序,快來學(xué)習(xí)吧。
    發(fā)表于 05-12 16:25 ?33次下載

    基于WinCE通知API的解析及在控制程序中的應(yīng)用

    基于WinCE通知API的解析及在控制程序中的應(yīng)用
    發(fā)表于 10-25 09:42 ?3次下載
    基于WinCE通知API的<b class='flag-5'>解析</b>及在<b class='flag-5'>控制程序</b>中的應(yīng)用

    步進(jìn)電機(jī)控制程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是步進(jìn)電機(jī)控制程序免費(fèi)下載。
    發(fā)表于 06-04 08:00 ?7次下載
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制程序</b>免費(fèi)下載

    直流無刷電機(jī)控制程序

    直流無刷電機(jī)控制程序(現(xiàn)代電源技術(shù)杜少武掃描版)-?直流無刷電機(jī)控制程序,可用在直流變頻空調(diào)上
    發(fā)表于 09-28 12:28 ?157次下載
    直流無刷<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制程序</b>

    基于西門子1200PLCPLC控制程序編寫

    采用西門子TIA Portal V15編程軟件編寫運(yùn)動控制程序,實(shí)現(xiàn)PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進(jìn)電機(jī)
    發(fā)表于 11-08 10:48 ?5187次閱讀

    快速掌握PLC控制程序的設(shè)計(jì)

    快速掌握PLC控制程序的設(shè)計(jì)
    發(fā)表于 03-17 09:42 ?347次閱讀

    PLC步進(jìn)電機(jī)進(jìn)行定位控制程序

    角位移量以達(dá)到準(zhǔn)確定位的目的;同時 也可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度而達(dá)到調(diào)速的目的。步進(jìn)
    發(fā)表于 03-23 14:19 ?1次下載
    <b class='flag-5'>PLC</b>對<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>定位</b><b class='flag-5'>控制程序</b>