田聰,蘇暢
(黑龍江工業學院電氣與信息工程系,黑龍江雞西,158100)
基于51單片機的步進電機控制系統設計與實現
田聰,蘇暢
(黑龍江工業學院電氣與信息工程系,黑龍江雞西,158100)
結合51單片機的特點,研究設計步進電機的控制系統,以51單片機AT89S52為控制核心,選用ULN2003A芯片組成的驅動電路,提出一種步進電動機控制系統設計方案。完成控制系統的硬件電路設計和軟件編程,實現步進電機的控制要求。該系統簡便易操作、控制精度高,具有較高的使用價值。
步進電機;單片機;控制系統
步進電機是常用于過程控制和及儀表中的控制元件之一,因其控制系統具有結構簡單、功能強大、性能穩定、價格低廉等諸多優點,在數控機床、自動化包裝、電動閥門、醫療設備等方面有著廣泛而深入的應用。步進電機具有以下優點:結構部件少,沒有電刷,在較寬范圍內進行速度平滑調節;步進電動機速度不受負載變化的大小的影響,具有快速啟停、易于調整、停止時能自鎖等特點。因此,步進電機是機電設備中應用最為廣泛的一種電機。單片機控制技術在工業控制領域發展越來越成熟,而且生產成本低,抗干擾能力強。結合51單片機的特點,對步進電機的控制系統進行研究與設計,很有實用意義和價值。
步進電機,又稱為脈沖電機,其工作原理在于能直接接收數字脈沖信號,將其轉換為應角位移或線位移。電動機的轉速控制、停止的位置取決于脈沖信號的頻率和脈沖數,只存在周期性誤差而沒有累積誤差。對電機施加一個相應的脈沖信號時,電機收到信號后就會轉過對應的步距角。可見,控制了脈沖信號也就控制了步進電機。步進電機傳統的控制方式是利用觸發器產生控制脈沖來進行控制的,但這一控制方式難以實現人機交互,并且具有控制電路復雜、控制精度低、成本高等缺點。單片機通過向步進電機驅動電路發送控制信號就能實現對步進電機的控制,所以,步進電機的控制系統非常適合采用單片機進行控制。
基于51單片機的步進電機控制系統主要由以下部分構成:單片機最小系統、驅動電路模塊、按鍵控制電路模塊、步進電機。其中單片機系統是整個系統的控制核心,接收各種控制信號,分析處理,完成脈沖分配,實現步進電機的相應控制,比如啟動、停止、轉向、變速等。
單片機通過控制所發送脈沖頻率的高低,來完成對步進電機速度大小的控制,實際就是控制脈沖的頻率的過程。步進電機的轉動速度與脈沖頻率成正比,電機轉動的角度與脈沖數也成正比,在降低脈沖頻率,電機減速運行;提高脈沖頻率,電機加速運行。脈沖頻率可以通過硬件定時、軟件延時來實現。
由于單片機輸出的電壓、電流較小,不能直接驅動步進電機,因此必須進行放大,才能使電機正常運行。驅動電路的作用是將單片機輸出的脈沖信號進行電壓和電流放大,從而驅動步進電機的各相繞組,使步進電機能夠根據不同的控制脈沖信號分別作相應的動作。按鍵控制電路的作用是:通過設置按鍵開關進行步進電機的啟停、正反轉控制,還可以按要求進行調速。
通過軟件編程,可使單片機產生控制脈沖、實現脈沖分配,完成步進電機的相應控制。以51單片機作為控制核心組成步進電機控制系統,實現了硬件電路與軟件編程相結合的控制方法,簡化了電路的同時,還降低了成本,可達到對步進電機的最佳控制。
根據控制系統的總體結構,可以設計出基于51單片機的步進電機控制系統的硬件電路,如圖1所示。
控制系統的核心部件是單片機,選用51系列單片機AT89S52。AT89S52是一款低功耗、高性能的CMOS 8位微控制器,自帶8K的Flsah存儲器,可以在線編程,滿足系統設計要求。步進電機部分使用四相五線減速步進電機,型號28BYJ-48,基本參數有:電機直徑28mm,電壓DC 5V-12v,步進角度是5.625×1/64,減速比是1/64。

圖1 步進電機控制系統的硬件電路原理圖
由于AT89S52單片機的輸出信號的功率較小,不足以驅動電機,所以需要外加驅動電路才能使步進電機正常工作。本設計中步進電機功率和額定電流都較小,從成本角度考慮,驅動模塊部分可采用集成驅動芯片ULN2003A。ULN2003A是一種高壓、大電流的驅動芯片,內部含有7個硅PNP大功率達林頓管,可提供最高0.5A的電流,適合本設計。ULN2003A的輸入端連接單片機的P1口,其中P1.0-P1.3輸出驅動信號;輸出端接步進電機。按鍵控制電路較為簡單,設置3個按鍵,分別控制步進電機的停止、正轉、反轉。
控制系統功能實現如下:
(1) 復位:電路上電時復位;手動按下按鍵開關S1可復位,控制精度高,工作可靠。
(2) 步進電機工作情況控制:按下按鍵開關S2,電機正轉;按下按鍵開關S3,電機反轉;按下按鍵開關S4,電機停轉。
(3) 速度控制:通過軟件編程的方式,給電機設置不同延時時間,可改變控制脈沖的頻率,從而改變步進電機步距角,實現電機加速,減速。延時時間常數越大,電機轉速越慢,延時時間常數越小,電機轉速越快。
系統軟件主要完成鍵盤掃描、識別判斷,脈沖產生、分配和脈沖輸出。使用軟件的方式,使單片機產生相應的控制脈沖,并完成脈沖分配,實現步進電機轉向和轉速控制。控制系統上電后單片機進入初始化,設定各寄存器的初值,此時電機停轉;如果有按鍵按下,立即產生中斷信號,CPU啟動中斷服務程序判別鍵值,用以執行相應的子程序,通過改變寄存器值完成步進電機的方向和速度的控制。
使用軟件編程的延時程序來完成電機的轉速控制。延時時間常數越小,電機轉速越快。步進電機的旋轉方向取決于內部繞組的通電順序。改變電機內部各相繞組的通電順序即可控制步進電機的轉向改變步進電機的轉向。通過軟件編程,使得單片機給繞組施加不同相序的脈沖電流,可實現電機的轉向控制。為了使系統的帶負載能力更強,運行更平穩,可選用四相八拍驅動方式。四相八拍方式通繞組的通電順序:正轉時,按照A-AB-B-BC-C-CDD-DA-A...順序通電;反轉時,按照D-DC-C-CB-B-BA-A-AD-D…順序通電。
基于51單片機的控制系統,實現了軟件與硬件相結合,簡化了電路,降低了成本,可以使步進電機平穩運行。通過軟件編程可實現自動控制和精確控制,提高步進電機的控制精度,免受失步、振蕩等不利的影響;同一硬件電路可以控制和驅動多相步進電機,通過靈活的接口電路,單片機使鍵盤電路、復位電路等外圍電路實現了有機組合,大大提高系統的通用性,從而使得系統的交互性大大增強。該控制系統設計可以用于高精度步進控制系統中,具有一定的實用價值和很好的應用前景。
[1]李美艷.基于89C51 單片機的步進電動機控制系統設計[J].
電子設計工程,2014,22(23):125-127.
[2]李冰.基于單片機的煤礦步進電機驅動控制系統設計[J].煤礦機械,2014,35(5):226-228.
[3]何沖,王淑紅,侯勝偉,牛慧文.基于AT89C52單片機的步進電機控制系統研究[J].電氣技術,2012,(4):5-8.
[4]袁紅.淺談單片機的步進電機控制系統[J].科技展望,2016,31:56-56.
[5]古志堅.基于單片機的步進電機控制系統研究[D].華南理工大學碩士學位論文,2013.
Design and implementation of stepper motor control system based on 51 MCU
Tian Cong, Su Chang
(Department of electrical and information engineering, Heilongjiang Institute of technology, Jixi Heilongjiang,158100)
Based on the characteristics of 51 single chip microcomputer, the control system of the stepper motor is studied. With 51 MCU AT89S52 as the control core, this paper presents a design scheme of stepper motor control system using the drive circuit of ULN2003A chip. Complete the hardware circuit design and software programming of the control system to realize the control requirements of stepper motor. The system is easy to operate and has high control precision with high use value.
stepper motor; MCU; Control system
田聰(1981--),女,黑龍江雞西人,講師,碩士,主要研究方向:機電一體化技術、電氣工程、實驗教學。