高 琴,劉淑聰,彭宏偉
GAO Qin, LIU Shu-cong, PENG Hong-wei
(防災科技學院 防災儀器系,三河 065201)
傳統(tǒng)的步進電機控制方法是由觸發(fā)器產生控制脈沖來進行控制的,但此種控制方法工作方式單一而且難于實現(xiàn)人機交互,當步進電機的參數發(fā)生變化時,需要重新進行控制器的設計[1]。而且由傳統(tǒng)的觸發(fā)器構成的控制系統(tǒng)具有控制電路復雜、控制精度低、生產成本高等缺點。為了克服傳統(tǒng)控制器的缺點,滿足工業(yè)生產新的控制要求,在此需要采用一種以單片機為核心的新型控制器。步進電機是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,其最大特點就是通過輸入脈沖信號來進行控制,電機總轉動角度由輸入脈沖數決定,電機的轉速由脈沖信號頻率決定,因此適合于單片機控制,單片機通過向步進電機驅動電路發(fā)送控制信號就能實現(xiàn)對步進電機的控制[2]。
控制系統(tǒng)的設計分為兩大部分:硬件部分和軟件部分。硬件部分的設計包括脈沖發(fā)生模塊、電流放大模塊、液晶顯示模塊和鍵盤輸入模塊四個部分。軟件部分的設計包括鍵盤掃描模塊、脈沖發(fā)出模塊、液晶顯示模塊、延時模塊和加減速模塊等。
本文使用的是兩相混合式步進電機,型號為42H33H-1334A,最小電壓為2.8V,最小電流為1.33A,電阻為2.1Ω,電感為2.5H,靜轉矩2.2kg·cm[3]。采用AT89S52單片機、1602液晶顯示屏、4×4矩陣鍵盤分別進行控制運算、顯示、控制輸入。硬件部分設計框圖如圖1所示。
圖1 系統(tǒng)硬件設計框圖
步進電機的驅動脈沖是由單片機產生的。在這采用P1.7,P1.6,P1.3,P1.2分別對步進電機的A,A'、B,B'端口輸入脈沖。脈沖的頻率通過軟件來設定。
兩相四線步進電機的工作方式有[4]:
1)兩相四拍:A- B - A'-B'-A-......;
2)兩相雙四拍:AB-BA'-A'B'-B'A-AB-......;
3)兩相八拍:A-AB-B-BA'-A'-A'B'-B'-B'A-A-......;
本文采用兩相八拍。其工作方式通電換相的相序如上3)所示,共8個狀態(tài)。如果P1口輸出的控制信號中,用“0”和“l(fā)”分別代表繞組通電和斷電,則可用8個控制字來對應這8個狀態(tài)。在程序中,只要依次將這8個控制字送到Pl口,每送一個控制字,就完成一拍,步進電機轉過一個步距角。程序可根據這個原理來設計。
本文采用的驅動芯片是L298N芯片。L298N是高電壓,大電流雙全橋驅動芯片,L298N有單極性和雙極性兩種工作方式,本方案選用單極性工作方式,通過單片機控制L298N,使得從單片機發(fā)出的驅動脈沖經過L298N電流放大,然后驅動步進電機。在這使用P1.0,P1.1, P1.4,P1.5控制L298N的使能端口,在單片機輸出驅動脈沖前全部置為高電平——使能。根據L298N的原理,將4路驅動脈沖都分別通過兩個端口輸入,兩個端口輸出,最后并聯(lián),以提高步進電機的驅動電流。部分電路如圖2所示。
圖2 電流放大電路連接圖
系統(tǒng)軟件主要完成鍵盤掃描、液晶顯示、控制L298N使能端和脈沖輸出。主程序主要完成硬件初始化、子程序調用等功能。適當使各項功能模塊化。為了節(jié)省單片機CPU資源,合理利用單片機定時器控制脈沖的頻率,改變轉速。根據以上分析得到的程序流程圖如圖3所示。
圖3 系統(tǒng)軟件設計流程圖
在本設計中,使用中斷2進行最基本的定時—10μs。使得脈沖頻率方便改變。以下是選用中斷2、計時初始化和啟動中斷2的語句:
首先,將需要發(fā)出的脈沖以十六進制數型式存入數組。然后根據所設定的脈沖頻率,逐個輸出數組內的數到P1口,即產生相應的脈沖。部分程序如下:
定義數組:
unsigned char code Z_Rotation[8]={0xB3,0xBB,0x3B,0x7B,0x73,0x77,0x37,0xB7};
unsigned char code F_Rotation[8]={0xB3,0xB7,0x37,0x77,0x73,0x7B,0x3B,0xBB};
本設計采用的是常用的1602液晶屏,所以有較固定的程序模塊。部分程序如下:
給液晶寫指令聲明:
步進電機的加減速只需要控制它的驅動脈沖頻率,而改變頻率,則只需要改變脈沖的輸出時間,即改變相應數組的調用時間[5]。靈活使用變量,可降低程序的書寫難度。在這里,su為設定中斷的次數,控制脈沖的輸出時間;num2為電機速度級狀態(tài)變量,說明需要多長時間的驅動脈沖時間。程序說明如下:
當最低速時,num2=1,su=500;
當次低速時,num2=2,su=200;
當中速時,num2=3,su=100;……
理論分析和震害現(xiàn)象表明,高層建筑物結構在地震作用下的反應由于地面質量間運動的差別,可使地面的每一部分不僅產生平動分量,而且產生轉動分量[6]。這種轉動分量迫使高層建筑物結構產生扭轉,還可能會發(fā)生扭轉振動。震害表明,扭轉作用會加重結構的破壞,造成地表和建筑物的破壞。同時隨著震害經驗的不斷積累,人們逐漸認識到在進行抗震分析時僅僅考慮單分量作用是不夠的,多分量對結構的影響是不可忽視的。然而現(xiàn)今的地震記錄中,實際可靠的地震動轉動分量記錄的強震觀測還沒有獲得突破[7]。
步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構,通過控制脈沖個數來控制角位移量,也可以通過控制脈沖頻率來控制電機轉動的速度和加速度。由于步進電機獨特的工作方式,本設計對步進電機實現(xiàn)角位移控制,通過電機運動產生的角位移分量模擬地震時對高層建筑物的扭轉分量,模擬地震對建筑物的破壞程度,對地震旋轉振動臺的模型進行了初步探究。
本文在分析步進電機的主要特點和工作原理的基礎上,設計出了簡單實用,以AT89S52單片機作為控制器的控制系統(tǒng)硬件電路和運行軟件。系統(tǒng)既能實現(xiàn)正轉反轉,又能實現(xiàn)分五個檔進行調速;軟件有效的節(jié)約了硬件資源,同時系統(tǒng)易于拓展,該系統(tǒng)在地震旋轉振動臺的模型研究中已取得了初步的應用。然而,本文只就步進電機正轉反轉、加速減速這幾項技術進行了部分設計,在系統(tǒng)設計的抗干擾性方面、角度控制方面還有待于進一步的探究。
[1]史敬灼.步進電動機伺服控制技術[M].北京:科學出版社,2006.
[2]余世超,高志,邵鵬.基于單片機的步進電機控制系統(tǒng)設計與研究[J].煤礦機械.2010.31(5):210-212.
[3]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.
[4]孟武勝,李亮.基于AT89C52單片機的步進電機控制系統(tǒng)設計[J].微電機.2007.40(3):64-66.
[5]巫傳專,王小雪.控制電機及其應用[M].北京:電子工業(yè)出版社,2008.