民權(quán)縣職業(yè)技術(shù)教育中心機電工程系 杜冬梅
本文提出了以AT89S51單片機為控制核心,以SJ-230M2為驅(qū)動器、以ADS7846為觸摸屏操作按鍵控制兩相步進電機系統(tǒng),實現(xiàn)了步進電機的啟停、速度調(diào)節(jié)、方向調(diào)節(jié)、手動調(diào)節(jié)的功能,實驗驗證本控制系統(tǒng)具有精度高、穩(wěn)定性好、噪聲低的優(yōu)點。
隨著科技經(jīng)濟的不斷發(fā)展,人們逐漸從勞動力解放出來且對自動化程度的要求越來越高,控制技術(shù)發(fā)展得到人們的重視,做為控制系統(tǒng)重要的控制部件之一的步進電機在現(xiàn)代社會的各行各業(yè)得到了廣泛的應(yīng)用,因此研究以51單片機為控制核心的步進電機控制系統(tǒng)顯得尤為重要。

圖1 總體框圖
本控制系統(tǒng)包括MCU、輸入設(shè)備、顯示設(shè)備、電機驅(qū)動器以及控制元件步進電機。
2.1.1 單片機最小系統(tǒng)
傳統(tǒng)控制步進電機的控制器一般采用的是AT89C51種類的,本文為了設(shè)計需要選用了AT89S51。AT89S51的相對于傳統(tǒng)的AT89C51新增了以下功能:支持串行ISP接口(P1引腳5、6、7的第二功能口)編程與并行編程、計算速度較快、編程電壓較低、工作電壓的范圍較大4-5.5V,抗干擾性強、采用加密功能更強的加密算法等,性價比高。結(jié)合我校實驗室現(xiàn)有設(shè)備條件的情況下設(shè)計出基本的硬件支撐單片機最小系統(tǒng)。下面對單片機最小系統(tǒng)復(fù)位電路與時鐘電路進行設(shè)計。
(1)時鐘電路
AT89S51運行速度的快慢與穩(wěn)定程度主要取決于時鐘電路中晶振的頻率與質(zhì)量。一般情況下晶振的工作頻率為1.2MHZ-12MH。在我們實驗室現(xiàn)有的條件下選用了晶振為12MHZ的時鐘電路。時鐘電路中的電容選值為30PF。
(2)復(fù)位電路
單片機的復(fù)位電路主要是在系統(tǒng)重新啟動時或者當(dāng)系統(tǒng)發(fā)生失控現(xiàn)象時能夠讓單片機恢復(fù)到到默認狀態(tài),因此單片機的復(fù)位系統(tǒng)在進行單片機系統(tǒng)設(shè)計時十分重要,本文采用的是按鍵復(fù)位。
2.1.2 驅(qū)動器設(shè)計
由于步進電機在運行過程中會時常不穩(wěn)定、抗干擾性不強、噪聲大、遇到斷電等情況不能進行手動調(diào)節(jié)等缺點,本文針對以上出現(xiàn)的弊端,采用SJ-230M2
驅(qū)動器,SJ-230M2是原裝進口模塊,可以實現(xiàn)高頻斬波,恒流驅(qū)動,具有很強的抗干擾性,高頻性能好,起動頻率高,控制信號與內(nèi)部信號試驗光電隔離,電流可選。其中具體的細分數(shù)設(shè)定規(guī)則如下所示:
設(shè)定細分數(shù)及相電流的功能的是驅(qū)動器上的撥盤開關(guān)實現(xiàn)的。在考慮控制器頻率允許的情況下,我們盡量選用高細分數(shù)的方法進行設(shè)定如表1所示。

表1 設(shè)定表
脈沖信號CP、方向可控信號DIR、脫機信號FREE組成了驅(qū)動器SJ-230M2的3路控制信號。
步進電機位置與速度控制的過程是上電初始化后,驅(qū)動器每接受一個CP信號,步進電機就同時轉(zhuǎn)動一定的步距角。步進電機位置主要取決于接受脈沖的個數(shù)。即通過輸送驅(qū)動器脈沖個數(shù)可以直接控制步進電機的位置。對于步進電機速度的控制主要是驅(qū)動器接受脈沖信號頻率的高低,頻率越高則步進電機轉(zhuǎn)動的速度越快。本驅(qū)動器的CP信號為低電平有效,要求CP信號的驅(qū)動電流為8-15mA,對CP的脈沖寬度也有一定的要求,一般不小于5uS。
步進電機轉(zhuǎn)動方向的控制主要是通過DIR信號實現(xiàn)的。其主要的工作過程是對DIR信號的賦值。當(dāng)DIR=1即高電平時,步進電機執(zhí)行一個方向。當(dāng)DIR=0即低電平時,步進電機執(zhí)行反方向。步進電機進行轉(zhuǎn)向時一定在電機停止后進行并且注意方向信號脈沖的施加時間。
脫機信號是低電平有效。當(dāng)沒有脈沖施加或者是施加脈沖后由于出現(xiàn)某種特殊情況又想手動調(diào)節(jié)步進脈沖時使用。
驅(qū)動器的三路信號有一個共同端OPTO端口,在本控制系統(tǒng)中須把此端口接+5V電源電壓。目的是能夠為驅(qū)動器內(nèi)部光電耦合器提供驅(qū)動電流。保證驅(qū)動器正常工作。具體的連接設(shè)計步驟是:將單片機的EA選擇開關(guān)在1的位置。用單片機的P2.0和P2.1端口分別接驅(qū)動器的CP端和DIR端,將驅(qū)動器的撥碼開關(guān)1打到ON檔2、3、4分別打到OFF檔位置。驅(qū)動器電流調(diào)節(jié)電位器調(diào)到0.8A的位置。具體連接方式如圖2所示。

圖2 驅(qū)動器與控制單元連接電路
2.1.3 輸入電路設(shè)計
傳統(tǒng)的輸入電路采用的是獨立按鍵的操作模式設(shè)計電機的啟停、加速減速、正反轉(zhuǎn)等。本文采用目前應(yīng)用比較廣泛的觸摸屏技術(shù)對輸入信號如啟動、停止、加速、減速、正反轉(zhuǎn)、進行操作。觸摸屏的優(yōu)勢:壽命長,美觀性好,更符合現(xiàn)代人的使用習(xí)慣、更加智能便捷,精準度高。基于以上優(yōu)點本文采用觸摸屏的方式設(shè)置電機的啟停、正反轉(zhuǎn)、加減速等。觸摸屏從工作原理上來分可以分為電容式,紅外線式,表面式等,本文采用的是電阻式觸摸屏ADS7846。ADS7846是最普遍的四線電阻式觸摸屏,其內(nèi)部是有一個多路選擇器和一個12位的AD轉(zhuǎn)換器組成。
觸摸屏控制器ADS7846與單片機AT89S51要實現(xiàn)通訊控制兩者之間應(yīng)加一SPI接口。如圖3所示。當(dāng)檢測有觸摸動作時,此時ADS7846的PEN IRQ輸出低電平發(fā)出中斷請求,通過SPI接口將中斷信號傳輸給單片機,單片機接受到ADS7846發(fā)出的中斷請求進而讀取信息。

圖3 觸摸屏控制電路圖
2.1.4 顯示電路設(shè)計
為了方便查看電機的加速減速正反轉(zhuǎn)以及啟停的情況,特設(shè)計顯示電路作為輔助電路。主要用單片機的P0口作為控制端口,因為PO口內(nèi)部沒有上拉電阻因此需要外加10KΩ上拉電阻,并采用三八線74LS745作為驅(qū)動進行顯示電路的控制。
2.1.5 步進電機
步進電機在工業(yè)過程及生活的各個方面起著十分重要控制作用,其本身具有精度高、價格便宜、結(jié)構(gòu)簡單、且不需要進行模擬信號與數(shù)字信號的轉(zhuǎn)換直接可以計算機的數(shù)字信號等特點,因此在空調(diào)出風(fēng)口定位等一些定位場合應(yīng)用的十分廣泛。
本控制方案將選用5V直流步進電機,即將脈沖信號一運算處理后轉(zhuǎn)化成角位移的執(zhí)行,因為可通過數(shù)字量驅(qū)動,所以該步進電機十分適合于單片機的控制。
本文是以windowns7為操作系統(tǒng),以keil為編程平臺,以C語言為編程語言對本文的設(shè)計進行編程。其中包含有主函數(shù)、中斷函數(shù)、初始化函數(shù)、顯示函數(shù)等。其中主函數(shù)流程圖4如所示。

圖4 主函數(shù)流程圖
結(jié)論:本文提出的以AT89S51單片機為控制核心,并引入現(xiàn)代人們習(xí)慣使用的觸摸屏ADS7846代替獨立按鍵、以SJ-230M2穩(wěn)定性好、抗干擾能力強、噪聲小的驅(qū)動器對步進電機的轉(zhuǎn)向、速度、啟停進行控制,根據(jù)設(shè)計需求進行了相關(guān)程序的編寫并進行了實驗,實驗證明該控制系統(tǒng)具有精度高、穩(wěn)定好等優(yōu)點,該系統(tǒng)對步進電機最優(yōu)控制的研究提供了一定的基礎(chǔ)理論與指導(dǎo)。