S7-200SMART是西門子公司的一款小型PLC。本文介紹一種PLC直接控製步進電機的方法,會(hui) 附帶梯形圖程序。
現有能搜到的很多教程都是使用步進電機驅動器,然後用開發工具中使用向導生成PWM子程序調用,這種方法因為(wei) 簡便可靠,也是目前實際工程中使用最多的。還可以使用PTO,也是使用開發工具中的向導初始化。以上兩(liang) 種方法都可以搜到很多教程。隻用定時器直接控製的很少有教程。本文介紹的直接控製就是不適用電機驅動器,僅(jin) 依靠PLC的計時器來生成控製脈衝(chong) 。
步進電機簡述
既然是控製步進電機,我們(men) 就要先了解步進電機。步進電機分為(wei) 三大類:永磁式、反應式、混合式。具體(ti) 區別自行查閱即可,此處不贅述(別問,問就是懶的碼)。
四相步進電機通過給四個(ge) 定子線圈通電順序和時間的不同,從(cong) 而形成強度和方向不同的旋轉磁場,吸引轉子以不同方向和速度旋轉。按照通電順序的不同,可分為(wei) 單四拍、雙四拍、八拍三種工作方式。單四拍與(yu) 雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與(yu) 雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控製精度。本文介紹的就是八拍驅動的方法。
控製原理:
四相八拍電機的四相線圈分別用 A、B、C、D 表示。
當電機正轉時,其工作方式如下:A→AB→B→BC→C→CD→D→DA→A。
當電機反轉時,其工作方式如下:A→AD→D→DC→C→CB→B→BA→A。
設計要求:
設計程序實現對步進電機啟動、停止、正轉、反轉的控製及實現 3 檔調速即快速、中速、慢速。控製模塊中的步進電機工作方式為(wei) 四相八拍電機的四相線圈分別用 A、B、C、D 表示。需要使用數碼管顯示電機檔位。
PLC梯形圖程序實現
此程序I/O配置分配情況如下表:
I/O口 | 連接端口 | I/O口 | 連接端口 |
I0.0 | 啟動 | Q0.3 | 步進電機D相 |
I0.1 | 停止 | Q1.0 | 數碼管A段 |
I0.2 | 正轉 | Q1.1 | 數碼管B段 |
I0.3 | 反轉 | Q1.2 | 數碼管C段 |
I0.4 | 快速 | Q1.3 | 數碼管D段 |
I0.5 | 慢速 | Q1.4 | 數碼管E段 |
Q0.0 | 步進電機A相 | Q1.5 | 數碼管F段 |
Q0.1 | 步進電機B相 | Q1.6 | 數碼管G段 |
Q0.2 | 步進電機C相 |
下麵是使用s7-200 smart官方集成開發環境Step 7MicroWIN SMART軟件編程實現對四相八拍步進電機控製的程序。工作原理及對此程序的解釋均以注釋的形式在下圖中給出。此處僅(jin) 聲明程序中出現的變量的含義(yi) :VB10(存放電機轉速擋位的字節變量)、VW50(存放轉速的字變量,即脈衝(chong) 寬度)、VB100(八拍進給控製的字節變量)。
這裏要提醒各位一個我在編程中忽略的問題:
在控製脈衝(chong) 的程序部分我先是寫(xie) 了如下的梯形圖,結果發現輸出繼電器存在問題,沒有按照我程序輸出,但是軟件上顯示的是沒有問題,輸出繼電器均可正常輸出。我先是拆了試驗箱,驗證了步進電機是沒有問題的,然後使用電源依次給定子線圈按照控製次序依次供電,發現可以正常運轉。故,肯定是程序存在問題。問題就是輸出繼電器線圈不能重複使用,如下圖:
解決(jue) 方法就是使用一組中間繼電器來作為(wei) 8拍的輸出,再用這些中間繼電器去控製真正的輸出ABCD四相的線圈。
後記
完成PLC直接控製步進電機對我而言沒有太大難度。但這次設計也感觸頗深,本以為(wei) 自己學的還行。調試半天找不出毛病,信誓旦旦地覺得自己的程序是沒有問題的。拆解實驗箱,單獨調試步進電機無果後,老師一語道破天機,輸出繼電器線圈不能重複使用,方覺自己的無知與(yu) 渺小。學海無涯更無止境,一知半解貽笑大方。