王語園
摘 要:采用單片機(jī)控制步進(jìn)電機(jī)到達(dá)預(yù)設(shè)定位置的系統(tǒng)是由AT89C51單片機(jī)系統(tǒng)、ULN2003集成驅(qū)動電路和LM016L顯示電路3部分組成的。步進(jìn)電動機(jī)位置控制可以通過軟件編程來實現(xiàn),在不改變硬件電路的條件下,通過改變程序來實現(xiàn)對步進(jìn)電機(jī)的不同控制要求。電路中設(shè)有鍵盤控制,可以通過鍵盤輸入步進(jìn)電機(jī)需要的轉(zhuǎn)動圈數(shù)和步數(shù)來控制步進(jìn)電機(jī)轉(zhuǎn)動,還可以實時控制步進(jìn)電機(jī)的方向,具有精確性和可視性的特點。
關(guān)鍵詞:單片機(jī);步進(jìn)電機(jī);位置控制;軟件編程
中圖分類號:TM383.6 文獻(xiàn)標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2015.19.121
電動機(jī)控制技術(shù)的發(fā)展速度非常快,以單片機(jī)為主的微處理器逐漸取代了模擬電路控制,逐步朝著全數(shù)字控制的方向發(fā)展。隨著步進(jìn)電機(jī)技術(shù)的提高和數(shù)字化技術(shù)的發(fā)展,步進(jìn)電機(jī)的應(yīng)用領(lǐng)域越來越廣。
1 方案分析與確定
這項設(shè)計使用單片機(jī)AT89C51作為系統(tǒng)的控制核心,用達(dá)林頓晶體管集成IC ULN2003作為驅(qū)動放大器件,由單片機(jī)輸出的脈沖信號的高低電平來控制步進(jìn)電機(jī),并通過控制程序?qū)崿F(xiàn)位置控制的目的。
1.1 系統(tǒng)框圖
用單片機(jī)控制步進(jìn)電機(jī)到達(dá)預(yù)設(shè)定位置的系統(tǒng)如圖1所示。
1.2 驅(qū)動電路的選擇
驅(qū)動直接采用的是ULN2003,而ULN2003是達(dá)林頓結(jié)構(gòu),是一種繼電器驅(qū)動芯片,飽和壓降VCE 約為1 V,輸出端允許通過的IC電流為500 mA,耐壓BVCEO 約為36 V。這些參數(shù)都是用戶輸出口外接負(fù)載估算的依據(jù)。
1.3 單片機(jī)系統(tǒng)與驅(qū)動器之間的接口和方向控制
利用單片機(jī)系統(tǒng)控制步進(jìn)電機(jī),控制方式采用并行控制。單片機(jī)控制系統(tǒng)按照電動機(jī)旋轉(zhuǎn)速度的要求從CP脈沖控制線發(fā)出相應(yīng)周期間隔的脈沖串,利用發(fā)出周期漸增或漸減的脈沖串來控制電機(jī)加速或減速,通過停止發(fā)脈沖實現(xiàn)狀態(tài)鎖定,進(jìn)而實現(xiàn)對步進(jìn)電機(jī)速度的控制。電動機(jī)方向的控制是通過方向電平控制線實現(xiàn)的,當(dāng)電動機(jī)需要正向旋轉(zhuǎn)時,其電平為“0”,環(huán)形分配器按正方向分配脈沖;當(dāng)電動機(jī)需要反方向旋轉(zhuǎn)時,其電平為“1”,環(huán)形分配器按照反方向分配脈沖。
2 系統(tǒng)的硬件設(shè)計
2.1 步進(jìn)電機(jī)
當(dāng)步進(jìn)電機(jī)沒有超載時,脈沖信號的頻率和脈沖數(shù)控制著電機(jī)的轉(zhuǎn)速和停止位置,即給步進(jìn)電機(jī)加1個脈沖信號,電機(jī)就會轉(zhuǎn)過1個步距角?;旌鲜讲竭M(jìn)電機(jī)具有反應(yīng)式和永磁式的優(yōu)點,包括五相和兩相2種形式——兩相步進(jìn)角一般為1.8°,五相步進(jìn)角一般為0.72°。這種步進(jìn)電機(jī)的應(yīng)用最廣泛,本方案選用的就是這種步進(jìn)電機(jī)。
2.2 AT89C51單片機(jī)
AT89C51單片機(jī)制造技術(shù)采用ATMEL高密度非易失存儲器,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。AT89C51單片機(jī)的P1口是一個雙向I/O口,其中,P1.2~P1.7口內(nèi)部提供了上拉電阻,P1.0、P1.1需要外部上拉,而P3口是7個帶有內(nèi)部上拉電阻的雙向口。
2.2.1 振蕩器特性
反向放大器的輸入和輸出分別為XTAL1和XTAL2,片內(nèi)振蕩器可以通過該反向放大器進(jìn)行配置。XTAL2不接時,表示采用外部時鐘源驅(qū)動。
2.2.2 芯片擦除
使ALE管腳處于低電平10 ms,同時,正確的控制信號組合可以完成整個PEROM陣列和3個鎖定位的電擦除。
2.3 系統(tǒng)硬件電路設(shè)計
實驗硬件電路連接圖包括3部分,即AT89C51單片機(jī)系統(tǒng)、Uln2003集成驅(qū)動電路和LM016L顯示電路。單片機(jī)具有較強(qiáng)的控制能力,步進(jìn)電動機(jī)的位置控制可通過軟件編程實現(xiàn),可以在不改變硬件電路的條件下,通過改變程序來實現(xiàn)對步進(jìn)電機(jī)不同位置的控制。在電路中設(shè)有鍵盤顯示電路,步進(jìn)電機(jī)相關(guān)數(shù)據(jù)可以通過鍵盤輸入。這時,步進(jìn)電機(jī)根據(jù)這些數(shù)據(jù)來工作,以控制電機(jī)的位置。按鍵開關(guān)從上到下標(biāo)為P1、P2、P3、P4和 P5。P1控制電機(jī)狀態(tài)(正轉(zhuǎn)、停止、反轉(zhuǎn)、停止),P2設(shè)置圈數(shù),P3設(shè)置步數(shù),P4為加1鍵,P5為減1鍵。對于顯示部分,LM016L液晶顯示電機(jī)的轉(zhuǎn)動狀態(tài)以及轉(zhuǎn)動的圈數(shù)和步數(shù)。
3 系統(tǒng)的軟件設(shè)計
3.1 程序主流程圖
該系統(tǒng)的程序主流程如圖2所示。
如圖2所示,當(dāng)程序運行后,先調(diào)用初始化程序清零寄存器,然后調(diào)用控制程序發(fā)送控制信息,再調(diào)用驅(qū)動程序驅(qū)動數(shù)碼管顯示和電機(jī)轉(zhuǎn)動,從而實現(xiàn)對電機(jī)轉(zhuǎn)動位置的控制。
3.2 控制流程圖
該系統(tǒng)的控制流程如圖3所示。
程序開始運行后,電機(jī)通電,按P1鍵,調(diào)用驅(qū)動程序電機(jī)準(zhǔn)備開始轉(zhuǎn)動,再調(diào)用顯示程序顯示電機(jī)的圈數(shù)和步數(shù)。與此同時,系統(tǒng)開始判斷P2是否按下,如果P2按下,則調(diào)用設(shè)置圈數(shù)程序按鍵P4、P5設(shè)置圈數(shù),然后電機(jī)正轉(zhuǎn),否則無動作。P3按下后,調(diào)用設(shè)置步數(shù)程序按鍵P4、P5設(shè)置步數(shù),否則無動作。當(dāng)P1再次被按下時,調(diào)用反向程序,再次設(shè)置圈數(shù)、步數(shù),這時電機(jī)反轉(zhuǎn),否則無動作。當(dāng)再次按下P1時,電機(jī)停止轉(zhuǎn)動,數(shù)碼管無顯示,否則無動作。
4 結(jié)束語
步進(jìn)電機(jī)位置控制的應(yīng)用設(shè)計選擇了ATMEL公司生產(chǎn)的AT89C51單片機(jī)。通過軟件程序編制,利用單片機(jī)AT89C51控制UNL2003芯片實現(xiàn)了對步進(jìn)電機(jī)位置的驅(qū)動和控制。這種控制方法電路簡單,大大降低了生產(chǎn)成本,同時,也為類似的設(shè)計提供了參考。
參考文獻(xiàn)
[1]朱紅,李穎,韓冰,等.電子技術(shù)綜合實驗[M].成都:電子科技大學(xué)出版社,2009:78-80.
[2]黃智偉.全國電子設(shè)計競賽制作實訓(xùn)[M].北京:北京航空航天大學(xué)出版社,2010:56-57.
[3]張學(xué)琴.工業(yè)語音報警系統(tǒng)的設(shè)計[J].廣西民族學(xué)院學(xué)報,2003,5(4):60-62.
[4]李杰.89C2051驅(qū)動LED數(shù)碼管的方法[J].電子世界,2007,7(11):35-36.
〔編輯:白潔〕
Position Control and Realization of Stepping Motor based on Single Chip Microcomputer
Wang Yuyuan
Abstract: The use of single-chip microcomputer control stepper motor to reach the preset position of the system is composed of AT89C51 microcontroller system, ULN2003 integrated driver circuit and LM016L display circuit 3 parts. The position control of stepping motor can be realized by software programming. In the condition of not changing the hardware circuit, the different control requirements of the stepping motor can be realized by changing the program. In the circuit is arranged to control the keyboard, through the keyboard input of the stepper motor rotating circle number and the number of steps needed to control the stepper motor rotation, the real-time control of the stepper motor in the direction, has the characteristics of accuracy and visibility. Key words: single chip microcomputer; stepping motor; position control; software programming
文章編號:2095-6835(2015)19-0122-02