資源描述:
《步進(jìn)電機(jī)的PWM控制.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、步進(jìn)電機(jī)的PWM控制 摘要:隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用,所以步進(jìn)電機(jī)的控制就顯得尤為重要。本文介紹了PWM向?qū)Э刂频脑O(shè)定方法,并闡述利用PWM實(shí)現(xiàn)步進(jìn)電機(jī)控制的系統(tǒng)設(shè)計(jì)?! £P(guān)鍵詞:步進(jìn)電機(jī);PWM;控制 步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用,所以步進(jìn)電機(jī)的控制就顯得尤為重要。步進(jìn)電機(jī)的控制方法有很多種,比如PLS控制、運(yùn)動(dòng)向?qū)Э刂频龋诒姸嗫刂浦?,PWM控制具有它獨(dú)特的優(yōu)點(diǎn)?!?/p>
2、 一、控制要求 步進(jìn)電機(jī)選用KINCO公司的2S86Q-03080兩相雙極微步型電機(jī),驅(qū)動(dòng)器選用KINCO-2M530。設(shè)置驅(qū)動(dòng)器細(xì)分為10,輸出相電流為3.0A。 按下正轉(zhuǎn)啟動(dòng)按鈕,步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn),轉(zhuǎn)一圈用時(shí)5秒,按下反轉(zhuǎn)啟動(dòng)按鈕,步進(jìn)電機(jī)逆時(shí)針旋轉(zhuǎn),轉(zhuǎn)一圈用時(shí)10秒,并且步進(jìn)電機(jī)在任何時(shí)刻都能夠從正轉(zhuǎn)變?yōu)榉崔D(zhuǎn)或從反轉(zhuǎn)變?yōu)檎D(zhuǎn),按下停止按鈕,步進(jìn)電機(jī)停止。 二、控制方案 步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移或?位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度。通過(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量或線位移量,從而達(dá)
3、到準(zhǔn)確定位的目的;通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度,從而達(dá)到調(diào)速的目的?! ◎?qū)動(dòng)器細(xì)分為10,則設(shè)定DIP1=OFF、DIP2=OFF、DIP3=OFF、DIP4=ON,輸出相電流為3.0A,則設(shè)定DIP6=OFF、DIP7=OFF、DIP8=ON?! ?S86Q-03080型步進(jìn)電機(jī)的步進(jìn)角是1.8°,而驅(qū)動(dòng)器細(xì)分為10,于是每來(lái)一個(gè)脈沖,步進(jìn)電機(jī)旋轉(zhuǎn)的角度為0.18°,旋轉(zhuǎn)一圈就需要2000個(gè)脈沖。 旋轉(zhuǎn)角=步進(jìn)角/細(xì)分?jǐn)?shù)=1.8°/10=0.18° 旋轉(zhuǎn)一圈脈沖數(shù)=2∏/旋轉(zhuǎn)角=360°/0.18°=2000 PWM輸出周期=轉(zhuǎn)一圈所需時(shí)間/轉(zhuǎn)一圈
4、所需脈沖數(shù) 所以本步進(jìn)電機(jī)正轉(zhuǎn)時(shí)的PWM輸出周期=2500us/脈沖,反轉(zhuǎn)時(shí)的PWM輸出周期=5000us/脈沖?! ∈褂肞WM控制步進(jìn)電機(jī)時(shí)必須使用晶體管輸出型CPU,于是控制器選用S7-200Smart,采用開(kāi)關(guān)量控制,輸入量有正轉(zhuǎn)啟動(dòng)、反轉(zhuǎn)啟動(dòng)和停止,共3個(gè)輸入點(diǎn);輸出量包括脈沖輸出端、方向控制端,共2個(gè)輸出點(diǎn)??刂圃韴D如圖1所示,圖中2K電阻是限流電阻,S7-200SmartPLC的工作電源是直流24V?! ∪?、PWM向?qū)Э刂频脑O(shè)定 S7-200Smart每個(gè)向?qū)Ь@示一個(gè)樹(shù)結(jié)構(gòu),對(duì)于每個(gè)向?qū)?,都必須完成全部所需組態(tài)并生成代碼,成功生成代碼后,向?qū)?/p>
5、程序塊存儲(chǔ)在項(xiàng)目樹(shù)中“程序塊”文件夾內(nèi)的“向?qū)А蔽募A下。同樣,向?qū)?shù)據(jù)塊存儲(chǔ)在項(xiàng)目樹(shù)中“數(shù)據(jù)塊”文件夾內(nèi)的“向?qū)А蔽募A下,將符號(hào)存儲(chǔ)在“符號(hào)表”文件夾內(nèi)的“向?qū)А蔽募A下。成功生成程序塊后,可以再主程序或另一個(gè)子例程或中斷調(diào)用向?qū)傻淖永??! 〈蜷_(kāi)PWM向?qū)в袃煞N方法:①在“工具”菜單功能區(qū)的“向?qū)А眳^(qū)域單擊“PWM”按鈕;②在項(xiàng)目樹(shù)中打開(kāi)“向?qū)А蔽募A,然后雙擊“PWM”或選中“PWM”并按Enter鍵?! WM向?qū)Ц鶕?jù)輸入生成一個(gè)指令,然后可將該指令放置到程序中以控制脈寬調(diào)制輸出的占空比,PWM向?qū)У拿}沖輸出端是固定的也是可選的,脈沖輸出端可以選用
6、Q0.0、Q0.1和Q0.3,本控制選用Q0.0作為脈沖輸出端,所以選擇要組態(tài)的脈沖“PWM0”。為了計(jì)算相出的輸出周期和占空比都為整數(shù),輸出時(shí)基選擇“微秒”,設(shè)定完成后會(huì)自動(dòng)生成PWMx_RUN子例程?! ?.PWMx_RUN子例程介紹 PWMx_RUN子例程PWM提供了占空比可變的連續(xù)輸出,允許用戶通過(guò)改變脈沖寬度來(lái)控制輸出占空比。PWMx_RUN指令的梯形圖如圖2所示: EN使能端,一般直接接SM0.0?! UN運(yùn)行端,使輸出產(chǎn)生開(kāi)和關(guān)的作用。若RUN的觸發(fā)端接通,則PWMx_RUN指令有輸出,注意關(guān)不等于不管就是關(guān)?! ycle輸入是一個(gè)字值,定義
7、脈寬調(diào)制輸出的周期。如果時(shí)基為毫秒,則允許的范圍為2~65535;如果時(shí)基為微秒,則允許的范圍為10~65535?! ulse輸入是一個(gè)字值,用于定義PWM輸出的脈寬。允許的取值范圍為0~65535個(gè)時(shí)基單元,時(shí)基是在向?qū)е兄付ǖ?,單位為微秒或毫秒?! rror是PWMx_RUN子例程返回的字節(jié)值,用于指示執(zhí)行結(jié)果?!?”代表無(wú)錯(cuò)誤,正常完成;“131”代表沖發(fā)生器已由另一個(gè)PWM或運(yùn)動(dòng)軸使用,或者時(shí)基變化非法?! ?.使用PWMx_RUN子例程注意事項(xiàng) 為了便于程序編寫(xiě)EN使能端最好接SM0.0,當(dāng)PWMx_RUN正在輸出的時(shí)候斷開(kāi)EN就沒(méi)法停下來(lái)了,EN
8、是產(chǎn)生控制