【正文】
基于單片機的步進(jìn)電機開環(huán)控制系統(tǒng)胡嘯峰,李俊生 (北京機械工業(yè)學(xué)院 機電工程學(xué)院)摘要:設(shè)計了以AT89C51單片機為主控制器的步進(jìn)電機控制系統(tǒng),該文主要介紹了系統(tǒng)硬件電路搭建、軟件功能設(shè)計及相關(guān)機械結(jié)構(gòu)的設(shè)計,其中重點闡述了步進(jìn)電機驅(qū)動器的控制及LCD液晶顯示,實現(xiàn)了步進(jìn)電機的開環(huán)控制及界面顯示。關(guān)鍵詞: AT89C51;驅(qū)動器;步進(jìn)電機;12864LCD液晶屏;開環(huán)控制Openloop control system of stepmotor based on single chip Xiaofeng Hu , Junsheng Li(collage of electromechanical engineering ,Beijing industrial mechanical college)Abstract: the design use AT89C51 single chip to control the stepmotor. The paper mainly introduces the design of stepmotor controller , stepmotor drivers , the display of LCD .the design succeeds in realizing control of stepmotor.0.引言步進(jìn)電機是1 種純數(shù)字控制電動機,它將電脈沖信號轉(zhuǎn)換成相應(yīng)位置的轉(zhuǎn)換裝置,是與輸入脈沖對應(yīng)的增量驅(qū)動元件,當(dāng)負(fù)荷不超過步進(jìn)電機所提供的動態(tài)轉(zhuǎn)矩時,它就能實現(xiàn)快速起、停. 另外,它的步距角和轉(zhuǎn)速不受電壓和負(fù)載變化的影響,也不受環(huán)境條件如溫度、氣壓、沖擊和震動等影響,僅與脈沖頻率和脈沖數(shù)有關(guān),因此非常適合于單片機控制. 由于步進(jìn)電機有快速響應(yīng)特性,并且無積累誤差(僅有小于7 d 的誤差) ,在許多數(shù)控裝置及儀器設(shè)備上都得到廣泛應(yīng)用. 文中設(shè)計利用了單片機對步進(jìn)電機對進(jìn)行數(shù)字控制。在這個控制系統(tǒng)中,控制器是核心,它負(fù)責(zé)發(fā)脈沖和LCD顯示的控制。下文對電機速度的控制及顯示做出了詳細(xì)的介紹。1. 總體方案設(shè)計 系統(tǒng)框圖如(1)所示,本系統(tǒng)主要由5部分組成,即:步進(jìn)電機,步進(jìn)電機驅(qū)動器,控制電路,LCD顯示,執(zhí)行元件。本文重點介紹步進(jìn)電機控制電路,LCD顯示兩部分。 步進(jìn)電機控制器步進(jìn)電機驅(qū)動器步進(jìn)電機執(zhí)行機構(gòu)LCD顯示碼 盤圖1 系統(tǒng)框架2. 系統(tǒng)設(shè)計 步進(jìn)電機的控制系統(tǒng)步進(jìn)電機的控制系統(tǒng)主要由單片機,晶振電路,復(fù)位電路,步進(jìn)電機驅(qū)動器等組成。如圖(2)所示。 AT89C51步進(jìn)電機驅(qū)動器晶振電 路復(fù)位電 路鍵盤 圖2 步進(jìn)電機控制電路(1)晶振電路單片機的時鐘信號通常用兩種電路方式獲得:內(nèi)部震蕩方式和外部震蕩方式,在引腳XTAL1和XTAL2外接晶體振蕩器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器。當(dāng)外接晶振后,就構(gòu)成了自激震蕩器并產(chǎn)生震蕩時鐘脈沖,內(nèi)部震蕩方式的外部電路如圖(3)所示,本系統(tǒng)選C1和C2為30PF.圖3 晶振電路(2)復(fù)位電路:復(fù)位電路如圖(4)所示:圖4 復(fù)位電路,C3導(dǎo)通,RESET鍵至高,系統(tǒng)復(fù)位。,支線2導(dǎo)通,RESET鍵至高,系統(tǒng)復(fù)位。(3)步進(jìn)電機脈沖產(chǎn)生 在采用單片機的步進(jìn)電機開環(huán)系統(tǒng)中,控制系統(tǒng)的CP脈沖的頻率實際上就是控制步進(jìn)電機的運行速度。系統(tǒng)可以用兩種方法實現(xiàn):;。 在本電路設(shè)計中,采用了步進(jìn)電機驅(qū)動器,步進(jìn)電機驅(qū)動器及其接線電路如圖(5)所示,其脈沖的輸入由單片機的定時器發(fā)出,在軟件中由軟件來實現(xiàn)。 控 +5V制機驅(qū)動器A+AB+BDC+DC兩項混合式步進(jìn)電機DC電源10V40V 說明:在電路中,由于其他方面考慮,沒有接方向信號和脫機信號兩根線,讀者可根據(jù)實際情況自行使用。脈沖信號由單片機T0定時器中斷發(fā)出,能產(chǎn)生任意周期的定時信號,可以通過調(diào)節(jié)脈沖頻率準(zhǔn)確的控制電機的轉(zhuǎn)速。考慮到精度的要求,在容許范圍之內(nèi),不考慮由于定時器裝載完重新啟動開始到定時器申請中斷止的那段時間。(4)鍵盤電路:4 4 的矩陣鍵盤是由4 條行線和4 條列線組成,按鍵設(shè)置在行列線交點上, 行列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+ 5V 上, 平時無按鍵動作時, 行線處于高電平狀態(tài), 而當(dāng)有按鍵按下時,行線狀態(tài)將由與此相連的列線電平?jīng)Q定。鍵盤中有無按鍵按下是由列線送入全掃描字,將所有行由與門相連,輸出接中斷。當(dāng)有鍵按下時,行線由高變低產(chǎn)生負(fù)跳變,即可進(jìn)入中斷進(jìn)行處理。電路圖如下:圖5 鍵盤電路圖中R1,R2,R3,,目的是將行拉高,以便在有鍵按下時,可以跳進(jìn)中斷。 LCD液晶顯示 本文采用12864液晶顯示,其與單片機P0口相接,用于顯示控制界面信息。其引腳可參照說明書,本文主要對軟件的設(shè)計進(jìn)行詳細(xì)的介紹。采用的連接方式是直連方式,通過直接的人為控制狀態(tài)位,來實現(xiàn)LCD的顯示。其硬件連接圖如圖6所示 圖6 LCD與單片機連接圖 執(zhí)行機構(gòu) 用步進(jìn)電機帶動皮帶進(jìn)行切割機模擬運行。其基本位置關(guān)系及定位如下圖所示:每塊支架均有加強筋,圖中未示出。 數(shù)據(jù)采集 本文采用旋轉(zhuǎn)式編碼器采集實時速度,并通過LCD顯示出來。編碼器脈沖端接單片機T1計數(shù)器,通過脈沖的計數(shù),轉(zhuǎn)化為實際轉(zhuǎn)數(shù)。其接線可參照有關(guān)資料。3. 軟件設(shè)計。 本例中,為了使步進(jìn)電機有較高的轉(zhuǎn)數(shù),采用曲線加速的方法,即不斷的減小定時時間。使其由低速啟動,以獲得較高的轉(zhuǎn)矩,之后不斷的加速,最終獲得所需高轉(zhuǎn)速。目的在某些情況下,可以獲得高轉(zhuǎn)速,:基本速度為基準(zhǔn)的整數(shù)倍,1速為13倍,2為11倍,依次類推。要達(dá)到最高轉(zhuǎn)速,由于受到轉(zhuǎn)矩的限制,必須采取低轉(zhuǎn)速啟動,經(jīng)過一段時間加到高轉(zhuǎn)速。 碼盤數(shù)據(jù)的處理,本文中采用AT89c51系列單片機,其只有2個定時器/計數(shù)器中斷,因此如何處理碼盤采回的脈沖數(shù),是軟件的核心部分。我們假設(shè)碼盤在一定時間內(nèi)的脈沖數(shù)是N,設(shè)步進(jìn)電機的轉(zhuǎn)速為S,于是有如下的方程進(jìn)行計算。 其中:采集編碼器脈沖得時間為T(us) 編碼器旋轉(zhuǎn)一周發(fā)生360個脈沖。流程圖如下:鍵盤掃描加減速控制流程圖源程序見附表(1)4 結(jié)論 步進(jìn)電機開環(huán)控制系統(tǒng)具有成本低、簡單、控制方便等。在此方案中,通過曲線加速,可以獲得較高的轉(zhuǎn)速。通過步進(jìn)電機驅(qū)動器使得步進(jìn)電機的精度得以提高,運動較為平穩(wěn)。使用碼盤,將現(xiàn)有的速度實時反應(yīng)在控制界面上。本實驗?zāi)康脑谟谀M切割機的一部分,其基本功能均可實現(xiàn),且步進(jìn)電機的誤差在容許范圍之內(nèi),滿足使用要求。參考文獻(xiàn)(1) 王福瑞,等 單片機微機系統(tǒng)設(shè)計大全 北京:北京航天航空大學(xué)(2) 胡漢才 單片機原理及其接口技術(shù) 北京:清華大學(xué)說明: 由于編者水平有限,僅供參考,如有不對之處還請多多指教。 其中胡嘯峰做軟件設(shè)計,李俊生電路設(shè)計,盧勝軍:328510960 特別感謝機電工程學(xué)院 姚小敏,李天劍老師的耐心指導(dǎo)和幫助。源程序:。定義控制位 RS EQU RW EQU E EQU PULSE EQU DIR EQU 。程序標(biāo)志位 STATUS BIT 00H 。運轉(zhuǎn)停止標(biāo)志位,1轉(zhuǎn)0停 STATUS1 BIT 01H 。正反轉(zhuǎn)標(biāo)志位,1正0反 RESETFLAG BIT 02H 。系統(tǒng)復(fù)位標(biāo)志位 SPEEDSHOWFLAG BIT 03H 。轉(zhuǎn)速刷新標(biāo)志位 RIGHTSHOWFLAG BIT 04H 。版權(quán)顯示標(biāo)志位。LCD顯示的變量定義 N