馬天才 鮑小春
摘 要:隨著微電子和計算機技術的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領域都有應用,所以步進電機的控制就顯得尤為重要。本文介紹了PWM向導控制的設定方法,并闡述利用PWM實現(xiàn)步進電機控制的系統(tǒng)設計。
關鍵詞:步進電機;PWM;控制
步進電機作為執(zhí)行元件,是機電一體化的關鍵產(chǎn)品之一,廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領域都有應用,所以步進電機的控制就顯得尤為重要。步進電機的控制方法有很多種,比如PLS控制、運動向導控制等,在眾多控制中,PWM控制具有它獨特的優(yōu)點。
一、控制要求
步進電機選用KINCO公司的2S86Q-03080兩相雙極微步型電機,驅動器選用KINCO-2M530。設置驅動器細分為10,輸出相電流為3.0A。
按下正轉啟動按鈕,步進電機順時針旋轉,轉一圈用時5秒,按下反轉啟動按鈕,步進電機逆時針旋轉,轉一圈用時10秒,并且步進電機在任何時刻都能夠從正轉變?yōu)榉崔D或從反轉變?yōu)檎D,按下停止按鈕,步進電機停止。
二、控制方案
步進電機是一種將電脈沖轉化為角位移或線位移的執(zhí)行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(即步進角)。通過控制脈沖個數(shù)來控制角位移量或線位移量,從而達到準確定位的目的;通過控制脈沖頻率來控制電機轉動的速度,從而達到調速的目的。
驅動器細分為10,則設定DIP1=OFF、DIP2=OFF、DIP3=OFF、DIP4=ON,輸出相電流為3.0A,則設定DIP6=OFF、DIP7=OFF、DIP8=ON。
2S86Q-03080型步進電機的步進角是1.8°,而驅動器細分為10,于是每來一個脈沖,步進電機旋轉的角度為0.18°,旋轉一圈就需要2000個脈沖。
旋轉角=步進角/細分數(shù)=1.8°/10=0.18°
旋轉一圈脈沖數(shù)=2∏/旋轉角=360°/0.18°=2000
PWM輸出周期=轉一圈所需時間/轉一圈所需脈沖數(shù)
所以本步進電機正轉時的PWM輸出周期=2500us/脈沖,反轉時的PWM輸出周期=5000us/脈沖。
使用PWM控制步進電機時必須使用晶體管輸出型CPU,于是控制器選用S7-200 Smart,采用開關量控制,輸入量有正轉啟動(I0.0)、反轉啟動(I0.3)和停止(I0.1),共3個輸入點;輸出量包括脈沖輸出端(Q0.0)、方向控制端(Q0.4),共2個輸出點。控制原理圖如圖1所示,圖中2K電阻是限流電阻,S7-200 Smart PLC的工作電源是直流24V。
三、PWM向導控制的設定
S7-200 Smart每個向導均顯示一個樹結構,對于每個向導,都必須完成全部所需組態(tài)并生成代碼,成功生成代碼后,向導將程序塊存儲在項目樹中“程序塊”(Program blocks)文件夾內的“向導”(Wizards)文件夾下。同樣,向導將數(shù)據(jù)塊存儲在項目樹中“數(shù)據(jù)塊”(Data Block)文件夾內的“向導”(Wizards)文件夾下,將符號存儲在“符號表”(Symbol Table)文件夾內的“向導”(Wizards)文件夾下。成功生成程序塊后,可以再主程序或另一個子例程或中斷調用向導生成的子例程。
打開PWM向導有兩種方法:①在“工具”(Tools)菜單功能區(qū)的“向導”(Wizards)區(qū)域單擊“PWM”按鈕;②在項目樹中打開“向導”(Wizards)文件夾,然后雙擊“PWM”或選中“PWM”并按Enter鍵。
PWM向導根據(jù)輸入生成一個指令,然后可將該指令放置到程序中以控制脈寬調制(PWM)輸出的占空比,PWM向導的脈沖輸出端是固定的也是可選的,脈沖輸出端可以選用Q0.0、Q0.1和Q0.3,本控制選用Q0.0作為脈沖輸出端,所以選擇要組態(tài)的脈沖“PWM0”。為了計算相出的輸出周期和占空比都為整數(shù),輸出時基選擇“微秒”,設定完成后會自動生成PWMx_RUN子例程。
1.PWMx_RUN子例程介紹
PWMx_RUN子例程PWM提供了占空比可變的連續(xù)輸出,允許用戶通過改變脈沖寬度(從0到周期時間的脈沖寬度)來控制輸出占空比。PWMx_RUN指令的梯形圖如圖2所示:
EN使能端,一般直接接SM0.0。
RUN運行端,使輸出產(chǎn)生開和關的作用。若RUN的觸發(fā)端接通,則PWMx_RUN指令有輸出,注意關不等于不管就是關。
Cycle輸入是一個字值,定義脈寬調制(PWM)輸出的周期。如果時基為毫秒,則允許的范圍為2~65535;如果時基為微秒,則允許的范圍為10~65535。
Pulse輸入是一個字值,用于定義PWM輸出的脈寬(占空比)。允許的取值范圍為0~65535個時基單元,時基是在向導中指定的,單位為微秒或毫秒。
Error是PWMx_RUN子例程返回的字節(jié)值,用于指示執(zhí)行結果。“0”代表無錯誤,正常完成;“131”代表沖發(fā)生器已由另一個PWM或運動軸使用,或者時基變化非法。
2.使用PWMx_RUN子例程注意事項
(1)為了便于程序編寫EN使能端最好接SM0.0,當PWMx_RUN正在輸出的時候斷開EN就沒法停下來了,EN是產(chǎn)生控制的作用。
(2)Cycle、Pulse的數(shù)據(jù)類型是字,操作數(shù)只能使用IW、QW、VW、MW、SMW、SW、T、C、LW、AC、AIW、*VD、*AC、*LD、常數(shù)。
(3)PWM支持的最大脈沖速率為100k Hz。
(4)要改變步進電機的轉速只需改變輸出周期和占空比,占空比一般都設為50%,使發(fā)出的脈沖為方波。
(5)要使步進電機停止就需要斷開RUN運行端。
(6)PWM控制步進電機按照預設要求自行停止比較空難和麻煩。比如步進電機以60個脈沖/s的速度旋轉2圈自行停止,用定時器控制實現(xiàn)非常不精確,用高速計數(shù)器控制又比較麻煩。
四、結束語
PWM向導控制步進電機具有思路清晰、操作簡單、初學者易學等特點。在實際運行過程中,步進電機具有良好的穩(wěn)定性,可以滿足一般工業(yè)控制要求。
作者簡介:
馬天才,男,長期從事于工業(yè)電氣控制和電機控制的研究工作。
鮑小春,男,主要從事于機械檢修與機電一體化設備控制的研究工作。