PLC驅(qū)動(dòng)步進(jìn)電機(jī)心得
薄膜卷繞機(jī)需要進(jìn)行自動(dòng)化控制改造。
原設(shè)備采用機(jī)械式計(jì)數(shù),卷繞動(dòng)力采用離合器傳動(dòng),元件卷繞的起動(dòng)、停止、圈數(shù)控制等均由人工操作控制,因此存在產(chǎn)品參數(shù)離散性大、產(chǎn)品質(zhì)量與生產(chǎn)效率因人而異等不足之處。
工藝要求簡述:由于卷制材料是10幾微米的薄膜,要求卷軸平穩(wěn)起動(dòng),均勻加速,以使用張力平穩(wěn);中間在某些位置需要停頓,作一些必要的處理,再繼續(xù)卷繞;和起動(dòng)一樣,停頓或停止時(shí),必須均勻減速,保持張力平穩(wěn);要求最后圈數(shù)準(zhǔn)確。
2 控制系統(tǒng)構(gòu)成
S7-200PLC應(yīng)該能夠?qū)崿F(xiàn)項(xiàng)目要求的控制功能。
S7-200CPU本體已含有高速脈沖輸出功能,普通型號(hào)的CPU脈沖輸出頻率達(dá)20KHz,而224XP(CN)更是高達(dá)100kHz,可以用來驅(qū)動(dòng)步進(jìn)電機(jī)或伺服電機(jī),再由電機(jī)直接驅(qū)動(dòng)卷繞主軸旋轉(zhuǎn),完成工藝所要求的動(dòng)作。
步進(jìn)電機(jī)在成本上具有優(yōu)勢,但是步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)平穩(wěn)性不如伺服電機(jī),而兩者的定位精度(圈數(shù))的控制,在本工藝?yán)锒伎梢赃_(dá)到要求。我們考慮先試用步進(jìn)電機(jī)的方案。
步進(jìn)電機(jī)的驅(qū)動(dòng),實(shí)際上是由相應(yīng)的步進(jìn)電機(jī)驅(qū)動(dòng)器負(fù)責(zé)的,所以步進(jìn)電機(jī)的相數(shù)齒數(shù)等等問題由相應(yīng)的驅(qū)動(dòng)器解決,選擇步進(jìn)電機(jī)要考慮的主要是體積、轉(zhuǎn)矩、轉(zhuǎn)速等,不是本文的重點(diǎn);
PLC向驅(qū)動(dòng)器送的僅為代表速度與位置的脈沖,這里要考慮的是步進(jìn)電機(jī)在規(guī)定的轉(zhuǎn)速下是否足夠平穩(wěn),是否適合作為薄膜卷繞的動(dòng)力。
我們作了一個(gè)模型機(jī)進(jìn)行試驗(yàn),采用細(xì)分型的驅(qū)動(dòng)器,在50齒的電機(jī)上達(dá)到10000步/轉(zhuǎn),經(jīng)17:25齒的同步帶減速傳動(dòng)(同時(shí)電機(jī)的振動(dòng)也可衰減),結(jié)果運(yùn)轉(zhuǎn)很平穩(wěn),粗步確定可以達(dá)到工藝要求。于是正式試制一臺(tái),也獲得成功,性能達(dá)到工藝要求,目前已經(jīng)按此方案批量進(jìn)行改造。
CPU選擇224XPCN DC/DC/DC,系統(tǒng)構(gòu)成如下:
224XP*1、步進(jìn)電機(jī)*2、細(xì)分型驅(qū)動(dòng)器*2、TD200*1、LED顯示屏*1、編碼器*1。
2.1 PTO0(Q0.0)輸出一路高速脈沖,負(fù)責(zé)驅(qū)動(dòng)卷繞主軸的旋轉(zhuǎn);
2.2 PTO1(Q0.1)輸出一路高速脈沖,負(fù)責(zé)驅(qū)動(dòng)主軸的水平直線移動(dòng);
2.3 一個(gè)正交增量型編碼器裝在主軸上,作為卷繞圈數(shù)的反饋;
2.4 TD200作為人機(jī)界面,用于設(shè)定參數(shù)
2.5 一個(gè)LED顯示屏用于顯示實(shí)時(shí)的卷繞圈數(shù)。在實(shí)際生產(chǎn)中,工人需要時(shí)時(shí)參考卷繞的進(jìn)度,LED顯示比LCD醒目,所以這里放置了一個(gè)自制的LED顯示屏。LED屏和PLC的連接方式,可參考本人在2003年的專家論文集中的文章。
3 控制系統(tǒng)完成的功能
3.1 控制系統(tǒng)首先要實(shí)現(xiàn)的功能,是卷繞的平穩(wěn)起動(dòng)、加速、減速、平穩(wěn)停止。在新版的S7-200中,支持高速輸出口PTO0/PTO1的線性加/減速,通過MicroWin的向?qū)С绦?,非常容易?shí)現(xiàn)。實(shí)際上,以目前的情況,線性加減速只能使用向?qū)傻某绦?,Siemens沒有公開獨(dú)立可使用的指令。
3.2 使用位置控制向?qū)梢韵滤膫€(gè)子程序(僅限CPU內(nèi)的PTO,不包括專用模塊的情況),以PTO0為例:
3.2.1 PTO0_CTRL:每周期調(diào)用一次,可以控制PTO0的行為;
3.2.2 PTO0_MAN:可以控制PTO0以某一頻率輸出脈沖,并且可以通過程序隨時(shí)中止(減速或立即中止);
3.2.3 PTO0_RUN:運(yùn)行(在向?qū)е猩?包絡(luò),以預(yù)定的速度輸出確定個(gè)數(shù)的脈沖,也可以通過程序隨時(shí)時(shí)中止(減速或立即中止)。
3.2.4 PTO0_LDPOS:裝載位置用,本例使用相對(duì)位置,所以不必裝載。
本例的工藝要求,輸出脈沖數(shù)可變(圈數(shù)可設(shè)定),又要在工藝允許的情況下盡可能地按指定的速度運(yùn)行,也要隨時(shí)能夠減速停止,包括人工手動(dòng)的停車要求。直接使用PTO0_MAN和PTO0_RUN都無法直接滿足要求,以下來研究配合輔助手段如何實(shí)現(xiàn)。
3.3 精確的位置(圈數(shù))控制
3.3.1 PTO0_RUN + 中斷
卷繞定位與圈數(shù)控制,達(dá)到0.1圈以內(nèi)的精度即可,以10000步/轉(zhuǎn)的細(xì)分驅(qū)動(dòng)器,0.1圈相當(dāng)于1000脈沖。
假使PTO正以最高100kHz速度輸出脈沖,以1ms的時(shí)間響應(yīng)中斷,脈沖的誤差約為100個(gè),所以從理論上說,中斷方式把脈沖誤差控制在1000個(gè)以下完全可以。
如何實(shí)現(xiàn)?我們來看下面一個(gè)PTO0_MAN指令執(zhí)行的示意圖:
有恒速階段
無恒速階段
當(dāng)PTO0_MAN指令RUN=1允許脈沖輸出時(shí),脈沖序列從最低速(起始速度,本例設(shè)為100p/s,很小,可以認(rèn)為0)線性加速,加到指定速度speed后保持勻速,當(dāng)收到減速停止RUN=0命令時(shí),線性減速,至最低速后停止。
所以,我們只要在脈沖輸出前計(jì)算出停止指令執(zhí)行的位置,并在此位置設(shè)置中斷以便執(zhí)行減速停止指令,就可保證輸出的序列脈沖個(gè)數(shù)在要求的誤差范圍內(nèi)。
計(jì)算過程:
本例加速和減速的斜率是相同的,比較簡單,如果兩個(gè)斜率不同,計(jì)算稍麻煩一點(diǎn),原理差不多。
3.3.1.1 用向?qū)梢粋€(gè)最高速單速包絡(luò),從生成的PTO0_DATA中找出加速和減速脈沖數(shù)(可以參考3.3.2節(jié)的描述),如果加減速斜率相同,這兩個(gè)數(shù)應(yīng)該是一樣的,由于計(jì)算精度的關(guān)系,差幾個(gè)脈沖也屬正常。這個(gè)數(shù)據(jù)在程序中可以作為常數(shù)使用。
3.3.1.2 如果目標(biāo)脈沖數(shù)大于加速和減速脈沖數(shù)之和,表示脈沖輸出可以加速到最高速,有恒速階段,那么中斷位置=目標(biāo)脈沖數(shù)-減速脈沖數(shù);
3.3.1.3 如果目標(biāo)脈沖數(shù)不大于加速和減速脈沖數(shù)之和,無恒速階段,包絡(luò)變成一個(gè)等腰三角形(兩邊斜率相同的情況),那么中斷位置=目標(biāo)脈沖數(shù)/2。
3.3.1.4 更進(jìn)一步,水平恒速的速度可變,就象本案的情況,卷繞速度是可設(shè)定的,而且這個(gè)速度受機(jī)械/電機(jī)最高限速、薄膜最高線速的限制,取三者中的最小值,然后才能確定加速到該速度所需的脈沖數(shù),通過簡單的數(shù)學(xué)計(jì)算即可獲得。
3.3.2 PTO0_RUN + 修改包絡(luò)參數(shù)
段0:加速段,加速脈沖數(shù)在VD1033
段1:恒速段,恒速脈沖數(shù)在VD1043
段2:減速段,減速脈沖數(shù)在VD1063
段3:最終減速脈沖數(shù),VD1063。依我的經(jīng)驗(yàn)看,這個(gè)最終減速脈沖數(shù)始終為1。
在向?qū)е?,只能生成有限的包絡(luò),如果目標(biāo)脈沖數(shù)任意的,我們只好修改包絡(luò)里面的數(shù)據(jù)了。加速段和減速段的脈沖數(shù)不方便改,因?yàn)榫€性加減速的指令并不清楚,所以只好修改恒速段的脈沖數(shù)。實(shí)踐證明,修改恒速段的脈沖數(shù),可以非常容易且準(zhǔn)確地控制輸出脈沖數(shù)。唯一的限制是,總的脈沖數(shù),必須大于加減速段+最終減速段脈沖數(shù)之和,也即恒速段的脈沖不能小于1。
使用步驟:
3.3.2.1 在啟動(dòng)PTO0_RUN之前,計(jì)算出恒速段的脈沖數(shù)=目標(biāo)脈數(shù)數(shù)-加減速脈沖數(shù)之和-1,填入包絡(luò)表中的恒速位置;
3.3.2.2 啟動(dòng)PTO0_RUN。
3.4 在本項(xiàng)目的設(shè)備改造中,主軸卷繞的圈數(shù)、中間起停點(diǎn)的變化范圍大,使用“PTO0_RUN + 中斷”,安排在Q0.0輸出;
中斷是由高速計(jì)數(shù)器觸發(fā)的,所以在Q0.0的向?qū)е惺鼓蹾C0為作脈沖輸出內(nèi)部反饋,在啟動(dòng)PTO0前使能12#中斷“HSC0 CV="PV"”,中斷程序樣例如下:
LD SM0.0
R M20.4, 1
CALL PTO0_MAN, M20.4, PTO0_V, VB290, VD292
DTCH 12
主軸的水平直線運(yùn)動(dòng),行程比較固定,調(diào)節(jié)范圍小,使用“PTO1_RUN + 修改包絡(luò)參數(shù)”,安排在Q0.1。
4 體會(huì)
S7-200是一款是非常優(yōu)秀的微型控制器,許多功能進(jìn)行深入研究之后可以做到靈活應(yīng)用,拓寬其在小型控制領(lǐng)域的應(yīng)用范圍,同時(shí)保持較低的應(yīng)用成本。
評(píng)論