新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 步進電機的單片機控制

步進電機的單片機控制

作者: 時間:2011-02-27 來源:網(wǎng)絡 收藏

本設計采用凌陽16 位SPCE061A對步進電機進行控制,通過IO口輸出的具有時序的方波作為步進電機的控制信號,信號經(jīng)過芯片L298N驅動步進電機;同時,用4X4的鍵盤來對電機的狀態(tài)進行控制,并用數(shù)碼管顯示電機的轉速,采用74LS164作為4位單個數(shù)碼管的顯示驅動,從輸入信號;利用凌陽的語音功能播報電機的轉速。

摘要: 本設計采用凌陽16 位單片機SPCE061A對步進電機進行控制,通過IO口輸出的具有時序的方波作為步進電機的控制信號,信號經(jīng)過芯片L298N驅動步進電機;同時,用 4X4的鍵盤來對電機的狀態(tài)進行控制,并用數(shù)碼管顯示電機的轉速,采用74LS164作為4位單個數(shù)碼管的顯示驅動,從單片機輸入信號;利用凌陽單片機的語音功能播報電機的轉速。

關鍵詞: 步進電機 單片機 數(shù)碼管

一、 方案論證與比較

1、本設計的重點在于對步進電機的控制和驅動,設計中受控電機為四相六線制的步進電機(內阻33歐,步進1.8度,額定電壓12V)

方案一:使用多個功率放大器件驅動電機

通過使用不同的放大電路和不同參數(shù)的器件,可以達到不同的放大的要求,放大后能夠得到較大的功率。但是由于使用的是四相的步進電機,就需要對四路信號分別進行放大,由于放大電路很難做到完全一致,當電機的功率較大時運行起來會不穩(wěn)定,而且電路的制作也比較復雜。

方案二:使用L298N芯片驅動電機

L298N芯片可以驅動兩個二相電機(如圖1-1),也可以驅動一個四相電機,輸出電壓最高可達50V,可以直接通過電源來調節(jié)輸出電壓;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。


圖1-1

通過比較,使用L298N芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅動步進電機,且價格不高,故選用L298N驅動電機。而使用L298N時,可以用L297來提供時序信號,可以節(jié)省單片機IO口的使用;也可以直接用單片機模擬出時序信號,由于控制并不復雜,故選用后者。

2、 數(shù)碼管顯示電路的設計

方案一:串行接法

設計中要顯示4位數(shù)字,用74LS164作為顯示驅動,其中帶鎖存,使用串行接法可以節(jié)約IO口資源,但要使用SIO,發(fā)送數(shù)據(jù)時容易控制。

方案二:并行接法

使用并行接法時要對每個數(shù)碼管用IO口單獨輸入數(shù)據(jù),占用資源較多。

由于設計中用一塊單片機進行控制,資源有限,選擇了方案一。另外,使用鎖存也起到節(jié)約資源的作用。

二、步進電機控制原理

步進電機是數(shù)字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合于單片機控制。步進電機可分為反應式步進電機(簡稱VR)、永磁式步進電機(簡稱PM)和混合式步進電機(簡稱HB)。

步進電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數(shù)決定,而電機的轉速由脈沖信號頻率決定。

步進電機的驅動電路根據(jù)控制信號工作,控制信號由單片機產生。其基本原理作用如下:

(1)控制換相順序

通電換相這一過程稱為脈沖分配。例如:三相步進電機的三拍工作方式,其各相通電順序為A-B-C-D,通電控制脈沖必須嚴格按照這一順序分別控制A,B,C,D相的通斷。

(2)控制步進電機的轉向

如果給定工作方式正序換相通電,步進電機正轉,如果按反序通電換相,則電機就反轉。

(3)控制步進電機的速度

如果給步進電機發(fā)一個控制脈沖,它就轉一步,再發(fā)一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發(fā)出的脈沖頻率,就可以對步進電機進行調速。

三、理論設計

綜和以上選取的方案,總的流程如圖3-2所示。


圖3-1

1、步進電機驅動電路

通過L298N構成步進電機的驅動電路,電路圖如圖3-2所示。

通過單片機SPCE061A的IOB8~IOB13對L298N的IN1~IN4口和ENA、ENB口發(fā)送方波脈沖信號,起時序圖如圖3-3所示。


圖3-2


圖3-3


2、數(shù)碼管顯示電路的設計

數(shù)碼管的顯示驅動使用74LS164,通過SPCE061A的IOB0和IOB1口對DATA和CLK發(fā)送數(shù)據(jù)。


圖3-4

3、4x4鍵盤電路

在設計中,使用了標準的4x4鍵盤,其電路圖如圖3-5所示。單片機的A口低8位為鍵盤的接口。盡管設計要求中只需要4個鍵對步進電機的狀態(tài)進行控制,但考慮到對控制功能的擴展,我們使用了4x4的鍵盤。


圖3-5

四、程序設計

在進行程序設計的過程中,主要分為五個部分:雙機通訊、語音報數(shù)、數(shù)字顯示、步進電機驅動、鍵盤;其中雙機通訊的實現(xiàn)和語音報時比較有特點,將其流程簡要介紹如下,其他部分見附的程序。

1、雙機通訊


圖4-1

我們在實現(xiàn)雙機通訊的過程中使用了“三次握手”的方式,這是Intle網(wǎng)中成用的數(shù)據(jù)通訊確認協(xié)議,其流程圖如圖4-1所示。

2、語音報數(shù)

程序設計中語音報數(shù)使用的是SACM-A2000,考慮到程序比較簡單,首先使用了自動報數(shù)方式,但發(fā)現(xiàn)不能進行連續(xù)報數(shù),于是使用了非自動方式,流程圖如圖4-2所示。


圖4-2

五、結果分析與總結

應該說這次課程設計還是基本達到了設計的要求,但是也存在著未能解決的問題,由于在執(zhí)行語音程序時對資源的消耗比較大,在語音報數(shù)的時候會中斷步進電機驅動信號的輸出,導致電機停轉。為此,我們修改了方案,使用了兩塊單片機,通過雙機通訊來傳遞信號,遺憾的是問題仍然沒有得到解決。

這次步進電機的綜合實驗我們學到了步進電機、數(shù)碼管、4*4鍵盤、語音報數(shù)和雙機通訊的使用,更重要的是學會了程序出問題時調試的方法,并養(yǎng)成了Debug的習慣,學到了程序出問題后怎樣去解決的基本方法。

參考文獻:

[1]謝自美《電子線路設計、實驗、測試(第二版)》[M]武漢:華中理工大學出版社,2000.

[2]薛鈞義,張彥斌,樊波等《凌陽十六位單片機原理及應用》[M]北京:北京航空航天大學出版社,2003.

[EB/01] http://www.sunplus.com.

脈沖點火器相關文章:脈沖點火器原理
雙控開關相關文章:雙控開關原理


評論


相關推薦

技術專區(qū)

關閉