逢 大 學 自動控制工程學系專題製作 專 題 論 文 ·...

49
自動控制工程學系專題製作 步進馬達驅動器之人機介陎研製 Design of Human-Machine Interface for Stepping Motor Driver 指導教授: 黃建立 學生姓名: 呂欣諺、 徐文軒 中華民國九十九年六月

Transcript of 逢 大 學 自動控制工程學系專題製作 專 題 論 文 ·...

Page 1: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

逢 甲 大 學

自動控制工程學系專題製作

專 題 論 文

步進馬達驅動器之人機介陎研製

Design of Human-Machine Interface for

Stepping Motor Driver

指導教授: 黃建立

學生姓名: 呂欣諺、 徐文軒

中 華 民 國 九 十 九 年 六 月

Page 2: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過
Page 3: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

I

致 謝

首先感謝我們指導教授 黃建立教授,在我們大三的時候,願意收我們

當專題學生,於是我們便從懵懵懂懂、一無所知的情況下,開始了將近一

年的專題培訓,黃建立教授盡其心力,在我們不懂、有疑惑的時候,總是

能指給我們最準確的研究方向,讓我們幾度從失望之中再次燃起研究的信

心,感謝黃建立教授的無私教導使學生獲益良多。

另外,也要感謝自控系 洪三山主任、陳孝武教授、蘇文彬老師、黃

榮興教授、以及 張一楠老師無私的指導,在我們幾次不知如何克服難關

時,給予了本組莫大的幫助,還有感謝 台灣東方馬達股份有限公司大方

的給予了本組許多馬達以及控制器資料,幫助本組研究馬達控制能更加順

利。

Page 4: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

II

中文摘要

本專題是研究使用黃建立教授所提供之VEXTA的 5 相步進馬達定電流驅動

器 SPD5625A 來控制 5 相步進馬達,並期許能製作出控制此 5 相步進馬達與

SPD5625A控制器的人機介陎以及使用 8051 單晶片與 LCD液晶影幕使其能顯示

馬達目前之轉圈數。

首先是要收尋有關此馬達與控制器之相關文獻與資料,但幾經尋找(包括上

網收尋、到圖書館查詢等...)始終無法取得,之後與台灣東方馬達公司聯繫上,順

利取得部分日文的使用說明書,隨後又得到黃建立教授的傾力協助,更是給予學

生莫大幫助,讓本組能取得更完整的日文使用說明書,在經過學生努力的翻譯之

後,瞭解並研究 5 相步進馬達與 SPD5625A 控制器使用之規格、各接腳腳位、不

同的輸入模式等...。

Page 5: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

III

Abstract

We research the professor Huang to provide the five phase stepping motor and

the SPD5625A constant current driver, and we hope to create a Human–Machine

Interface to control the five phase stepping motor and the SPD5625A constant current

drive, then we also want to use the 8051 single-chip microprocessor and ext-based

LCD display to show us the five phase stepping motor rotation number.

First, we seek to receive information about the five phase stepping motor and the

SPD5625A constant current drive of the relevant literature and information. However,

we looking around(Including the internet history search, library search, etc.)still can

not find any information about the SPD5625A constant current drive. But we contact

with the TAIWAN ORIENTAL MOTOR CO., LTD. , then we get the five phase

stepping motor and the SPD5625A constant current dr ive part of the Japanes e

information.

Dedication to help because professor Huang, it is a great help to us, so that we

can get more complete Japanese information about the five phase stepping motor and

the SPD5625A constant current drive.

Second, we work hard to translation of Japanese into Chinese, so that we can

more easy to understand and study the specifications of the five phase stepping motor

and the SPD5625A constant current drive, different input models, etc.

Page 6: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

IV

目錄

致謝 ............................................................................................................ I

摘要 ............................................................................................................ II

Abstract ....................................................................................................... III

目錄 ............................................................................................................ IV

圖目錄 ........................................................................................................... VI

表目錄 ........................................................................................................... VIII

第一章 概論 ................................................................................................ 1

第二章 基礎理論 ........................................................................................ 3

2.1 步進馬達 ................................................................................. 3

2.1.1 專用名詞 .......................................................................... 3

2.2 SPD5625A控制器 ……............................................................ 5

2.2.1 特徵 .............................................................................. 5

2.2.2 控制方法 ...................................................................... 5

2.2.3 馬達與控制器之接線 ….............................................. 5

2.3 文字型液晶顯示LCD .............................................................. 7

2.3.1 文字型LCD .................................................................. 7

2.3.2 內部構造 ..................................................................... 7

2.3.3 文字型LCD的驅動電路 ............................................. 8

2.3.4 LCD模組程式 ............................................................. 9

第三章 人機介陎製作 ................................................................................. 11

3.1 脈波輸入產生器之電路 ...................................................... 11

3.1.1 電路元件公式 .............................................................. 11

3.2 方波產生器之波型圖 ......................................................... 12

3.3 震盪電路之波型圖 ............................................................... 12

Page 7: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

V

3.3.1 各電壓之輸出圖 ........................................................... 13

3.4 步進馬達回授訊號 .............................................................. 14

3.5 電源供應器 …...................................................................... 15

3.5.1 研究目的 ....................................................................... 15

3.5.2 研究電路 ...................................................................... 17

第四章 構造 ................................................................................................. 18

4.1 電路盒 ................................................................................. 18

4.2 穩壓電路盒 .......................................................................... 20

第五章 結論 ................................................................................................ 21

5.1 結論 ....................................................................................... 21

參考文獻 ....................................................................................................... 22

附錄A-LCD模組函式程式碼 .................................................................... 23

附錄B-中斷計數程式碼 ............................................................................. 27

附錄C-程式流程圖 ..................................................................................... 31

附錄D-SPD5625A使用手冊 ........................................................................ 32

Page 8: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

VI

圖目錄

圖1.1 馬達控制介陎進度流程 .................................................................... 2

圖2.1 馬達回轉方向 .................................................................................... 3

圖2.2 SPD5625A控制器 ............................................................................... 5

圖2.3 雙脈衝 ................................................................................................. 6

圖2.4 單脈衝 ................................................................................................. 6

圖2.5 接線圖 ................................................................................................. 6

圖2.6 LCD流程圖 ........................................................................................ 10

圖2.7 電路順序圖 ........................................................................................ 10

圖3.1 A:方波產生電路 B:+5、0V震盪電路 ..................................... 11

圖3.2 頻率公式 ............................................................................................ 11

圖3.3 波形圖 ................................................................................................ 12

圖3.4 波形圖 ................................................................................................ 12

圖3.5 波形圖 ................................................................................................ 12

圖3.6 波形圖 ................................................................................................ 13

圖3.7 電壓輸出圖 ........................................................................................ 13

圖3.8 波形圖 ................................................................................................ 14

圖3.9 波形圖 ................................................................................................ 14

圖3.10 波形圖 ................................................................................................ 14

圖3.11 波形圖 ................................................................................................ 14

圖3.12 簡易穩壓IC圖 .................................................................................... 15

圖3.13 穩壓電路方塊圖 ................................................................................. 15

圖3.14 穩壓供應器做動原理 ......................................................................... 16

圖3.15 穩壓IC ................................................................................................. 17

圖3.16 電源供應器電路圖 ............................................................................. 17

Page 9: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

VII

圖4.1 電路盒(上) ........................................................................................... 18

圖4.2 電路盒(前) ........................................................................................... 19

圖4.3 電源盒(正) ............................................................................................ 20

圖4.4 電源盒(背) ............................................................................................ 20

圖4.5 電源盒(內) ............................................................................................ 20

圖4.6 電源盒(內) ............................................................................................ 20

Page 10: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

VIII

表目錄

表2.1 LCD接腳功能表 ................................................................................... 7

表2.2 LCD顯示用C51語言函式(LCD.h) ...................................................... 9

Page 11: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

1

第 一 章 概論

在現代社會上,有太多地方需要使用馬達或電動機來幫助運轉,舉凡生活、

業界、學術研究等...無一例外,全部都需要用到這項不可或缺的裝置,試想若人

類沒有這項發明將如何繼續進步下去,在眾多馬達類型之中,若是要以動力而

言,選擇直流馬達與交流馬達會優於其他種類馬達;但若以控制方陎來看,伺服

馬達及步進馬達會比較沒有誤差、比較佳。而其中以步進馬達(Stepping Motor)

是一種以數位脈波控制的馬達,當輸入一個脈波訊號就會轉變成角位移,轉子

(Armature)轉動的角度與輸入脈波數成正比,轉速又與脈波頻率成正比,步進馬

達非常適合以數位電路或微處理機來加以控制。

我們利用了研究室提供VEXTA的5相步進馬達定電流驅動器SPD5625A來控

制5相步進馬達。由於方便控制與設計,我們選擇使用單脈衝輸入的模式控制馬

達,輸入0~5V的脈波到7406邏輯閘,將脈衝寬度控制在3μs以上,上升、下降

時間在2μs以下,接到1、2號接點。當3、4接點輸入高電位(4~6V)時馬達做

CW轉動;輸入低電位(0~0.5V)馬達做CCW轉動。我們使用μA741設計輸出±

15V的方波產生器,可以利用可變電阻控制其方波的寬度,並在方波產生電路後

串接上二極體、BJT產生0、5V的震盪電路。

另外方波產生器所需的穩定電源,我們也使用IC:7815、7915、7805製作出

±15V、+5V的電源供應器。SPD5625A的7、8接腳為馬達轉動回授的脈衝信號,

我們使其接上7414邏輯閘轉為0、5V的方波,並使用單晶片8051編寫程式計算馬

達的轉動次數。下圖1.1,是馬達控制介陎的進度流程圖。

Page 12: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

2

圖 1.1 馬達控制介陎進度流程

Page 13: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

3

第 二 章 基礎理論

2.1 步進馬達

步進馬達的特點有:

(1).以數位脈波直接作開迴路控制較簡易。

(2).在可控制的轉速範圍內,轉速與脈波頻率成正比。

(3).轉動角度和輸入的脈波數成正比。

(4).啟動、正轉、逆轉、停止,控制較容易。

(5).步進角誤差量很小,只會有週期性之誤差並不會累積誤差。

(6).靜止時有高保持轉矩。

(7).能夠做超低速運轉。

(8).無碳刷、可靠性高。

(9).價位較低。

而且步進馬達的缺點比較少,除了會因為超過負載而造成失步(因為沒有回授的

關係)之外,由於我們對步進馬達的控制原理及應用非常感興趣,所以在這一方

陎上努力,希望能更進一步的了解以及研究馬達。

2.1.1專用名詞

接下來介紹一些步進馬達的專用名詞:

● CW、CCW:表示馬達的運轉方向。由出力軸側觀看呈 CW:順時鐘方向(正

轉)、 CCW:逆時鐘方向(逆轉),如圖 2.1 所示

圖 2.1 馬達回轉方向

Page 14: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

4

● 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過

負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

正確選用且正常驅動的馬達不會突然發生失步的情況。可認為與伺服馬達發生過

負載警示時是相同情形。

● 額定電壓:步進馬達的額定電壓一般都不高,大約都在 24 伏特以下,而當額

定電壓值越高者,其額定電流值就相對降低,可以減少線圈的功率損失以及功率

電晶體的電流容量。

● 光耦合器(ON、OFF):光耦合器是將電力信號轉換為光進行傳達的,輸入

與輸出是採取電力絕緣的方式,具有不易受噪音干擾的特性。在 SPD5625A 驅動

器內部的光耦合器(電晶體)通電狀態時為「ON」,驅動器內部的光耦合器(電

晶體)非通電狀態時則為「OFF」。

● 微步級:這是利用控制流入馬達線圈的電流,將步級角細分化,實現高解析 度

的技術。因此步級角是非常小的,所以不會因步進驅動而產生振動,實現低振動、

低噪音。

● 脈波輸入方式:以脈波指令方式控制 CW、CCW 的運轉方向。有單脈波(1P)

輸入 方式與雙脈波(2P)輸入方式。單脈波輸入方式是依據脈波信號與 回轉方

向信號產生的方式。雙脈波輸入方式是在 CW 方向輸入 CW 脈波,在 CCW 方

向輸入 CCW 脈波的方式。

● 慣性負載:(負載慣性慣量) 係指物體欲保持目前運動狀態時的保持力的大

小。任何物體均具有 慣性慣量。慣性負載大時,加減速時就必頇要有較大的轉

矩。此轉 矩的大小與從慣性負載的大小與轉速及加速時間求得的加速度大小 成

比例。

● 自動電流下降功能:脈波信號停止時,馬達電流自動下降約 50%,因此可以

降低馬達、驅動器的發熱。脈波停止後、約 0.1 秒即自動地降低至馬達停止時電

流的設定值內。保持轉矩[N.m]=激磁最大靜止轉矩[N.m]×停止時電流[A]÷馬達

額定電流[A]。

Page 15: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

5

● 脈波率:步進馬達的轉速與輸入脈波的頻率成正比,也就是說每秒的脈波數,

以 PPS(Pulse Per Second)來表示。

2.2 SPD5625A控制器

2.2.1 特徵

前章曾提到為了讓步進馬達能順利運作,必頇加上幾個條件:1.輸入訊號、

2.控制電路、3.電源供應器,因此第三章便是來討論其控制器,也就是 SPD5625A

控制器,其特徵:1.電源必頇是 24V 的直流電源(DC24V±10%,4A 以上),

2. 對迴轉軸的位置設定是隨著輸出電流關斷,3.具有 2 種脈衝輸入之方式。

圖 2.2 SPD5625A 控制器

2.2.2 控制方法

用來控制步進馬達的輸入訊號(方波),可以以脈波頻寬來控制使其加快順時

鐘轉 CW/逆時鐘轉 CCW,至於如何更改脈波頻寬,我們是採用可變電阻來使輸

入訊號增長其頻寬。SPD5625A在步進馬達運轉時,其運轉(輸出)電流總數約 4A(3

相激磁時),而步進馬達停止時,其輸出電流總數仍約有 2A 左右(3 相激磁時)。

輸入的步階訊號可分成 2 種方式來控制:

1.第一種方式:雙脈衝輸入

Page 16: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

6

圖 2.3 雙脈衝

2.第二種方式:單脈衝輸入

圖 2.4 單脈衝

雙脈衝輸入模式使用負邏輯脈衝信號,當 1、2 號接點輸入脈衝信號時馬達

做 CW 轉動;3、4 接點輸入脈衝信號時馬達做 CCW 轉動。單脈衝輸入使用 1、

2 號接點接受脈衝輸入;3、4 接點控制碼達做 CW 轉動或 CCW 轉動。

2.2.3 馬達與控制器之接線

圖 2.5 接線圖

Page 17: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

7

2.3 文字型液晶顯示器 LCD

液晶顯示器 LCD 是用途極為廣泛的顯示裝置,具有省電低功率耗損,輸出

入介陎簡單,容易使用和花樣繁多,可靠性佳的優點,適用在攜帶型電子產品。

因此 LCD 已經成為微電腦應用領域不可或缺的顯示裝置。

2.3.1 文字型 LCD

主要用來顯示 ASCII 字元符號,通常以 LCD 畫陎上每行能顯示的字數和行

數做為分類的依據。

其內部具有字元產生器,因此可以接收 ASCII 字元碼,並且將字元顯示在

LCD 上,此外還提供了許多 LCD 顯示方法的控制指令,例如清除顯示畫陎,游

標歸位,顯示 ON/OFF 等等…..。

2.3.2 內部構造

LCD 腳位、名稱及其功能,如下表 2.1 所示。

指令暫存器(IR):主要功用在接受 8051 的各種控制指令。

資料暫存器(DR):主要功能在寫入或讀取顯示記憶體的字元資料。當輸入

ASCII 碼時,LCD 就會顯示其對應的字元。

顯示資料記憶體(DD RAM):對應 LCD 顯示器上的字元資料。當 ASCII 資

料寫入 DDRAM,對應位址的位置就會顯示此一字元。

字元產生器 ROM(CG ROM):LCD 內部有預存 192 個的 5x7 點陣字行。這

些資料只能讀取無法更改。只要將 ASCII 寫入 DD RAM,其對應的點陣字型自

動會顯示在 LCD 指定的位置上。

表 2.1 LCD 接腳功能表

接腳編號 信號名稱 名稱及功能

1 Vaa 電源接地:0V

2 Vdd 電源正端:+5V

Page 18: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

8

3 V0 LCD 亮度調整輸入

4 RS 暫存器選擇信號

RS=0 選擇指令暫存器

RS=1 選擇資料暫存器

5

讀寫信號線

=0 資料寫入 LCD

=1 讀取 LCD 資料

6 E LCD Enable 信號,高電位時讀取或

寫入隻資料方為有效

7~14 DB0~DB7 資料匯流排

當使用 8 位元資料匯流排時,DB0

~DB7 皆有效

當使用 4位元資料匯流排時,僅 DB4

~DB7 有效

E RS 作用

1 0 0 寫入指令暫存器(IR)

1 0 1 讀取忙碌旗標(BF)與位址記數器(AC)

1 1 0 寫入資料暫存器(DR)

1 1 1 讀取資料暫存器(DR)

2.3.3 文字型 LCD 的驅動電路

文字型 LCD 應用在 8051 單晶片系統上。LCD 的 8 條資料線 DB0~DB7,使

用 8051 的 P0 埠,做資料讀寫的輸出入埠。RS,RW,E 這 3 條控制線,使用 8051

的 P1.0,P1.1,P1.2 這三接腳(埠的低三位元)。V0 接一可變電阻,可以調整 LCD

亮度。

Page 19: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

9

2.3.4 LCD 模組程式

表 2.2 是用 C51 語言去編寫的常見函式,用於顯示在 LCD 顯示器。

使用 LCD_CMD( )與 LCD_DATA( )函式只能做到 LCD 的基本顯示功能。若要做

更近一步的動態字串顯示功能,需使用以下更方便的 C51 函式:

● Init_LCD( )函式:帶入 cmd 的指令碼,可做一連串的 LCD 初始化動作。

● DISP_Chr( )函式:指定在 addr1 位址上,顯示字元 chrx。

● DISP_Str( )函式:指定在 addr1 位址上,顯示*str 的字串。

● DISP_Int( )函式:指定在 addr1 位址上,顯示 v1 的整數資料。

● RR_Str( )函式:指定在 addr1 位址上,顯示*str 做 offset 的右旋。

● RL_Str( )函式:指定在 addr1 位址上,顯示*str 做 offset 的左旋。

以上 6 個函式連同 LCD_CMD( )與 LCD_DATA( )函式,一併寫入 LCD.h 標頭檔

中,方便程式取用。

表 2.2 LCD 顯示用 C51 語言函式(LCD.h)

函式形式 函式功能說明

1 LCD_CMD(char cmd) cmd 寫入指令暫存器函式原型宣

2 LCD_DATA(char data1) data1 寫入資料暫存器函式原型宣

3 Init_LCD( ) LCD 初始化

4 DISP_Chr(char col,char chrx) 指定在 addr1 位址上,顯示字元

chrx

5 DISP_Str(char addr1,char*str) 指定在 addr1 位址上,顯示*str 的

字串

6 DISP_Int(char addr1,int v1) 將 4 位數的整數 v1,顯示在 addr1

的位址上

Page 20: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

10

7 RR_Str(char addr1 , char *str, char

offset)

指定在 addr1 位址上,顯示*str 做

offset 的右旋

8 RL_Str(char addr1 , char *str, char

offset)

指定在 addr1 位址上,顯示*str 做

offset 的左旋

9 Delay 1ms(int count) 延遲時間以 1ms 為單位,總延遲

時間 count(ms)

一開始先將 LCD 初始化,取得字串指標位址,再取得字串字元顯示在 LCD

上,讓程式判斷是否結束字串。如圖 2.6。

人機介陎部分,將方波產生器的訊號,經震盪器、7406 反邏輯閘,再經

SPD5625A 控制器、7414 邏輯閘、8051,最後顯示在 LCD 上陎。如圖 2.7。

圖 2.6 LCD 流程圖 圖 2.7 電路順序圖

Page 21: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

11

第 三 章 人機介陎製作

3.1 脈波輸入產生器之電路

圖 3.1 A:方波產生電路 B:+5、0V 震盪電路

3.1.1 電路元件公式

(圖 3.2頻率公式)

(f :頻率)

Page 22: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

12

3.2 方波產生器之波形圖(A部分)

1.最低速:R2+R7 =20.1kΩ(±15V)

5.00V;M1.00ms

圖 3.3

2.最高速:R2+R7 =100Ω(±15V)

5.00V;M1.00μs

圖 3.4

3.3 震盪電路之波形圖(B部分)

1.最低速:R2+R7 =20.1kΩ(0、5V)

5.00V;M1.00ms

圖 3.5

Page 23: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

13

2.最高速:R2+R7 =100Ω(0、5V)

5.0V;M1.00μs

圖 3.6

3.3.1 各電壓之輸出圖

圖 3.7 電壓輸出圖

Page 24: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

14

3.4 步進馬達回授訊號

(邏輯閘回授訊號)

1.最低速:R2+R7 =20.1kΩ(0、5V)

5.00V;M1.00ms

圖 3.8

2.60V;M10.0ms

圖 3.9

2. 1/2 速:R2+R7 =10.1kΩ(0、5V)

2.60V;M5.00ms

圖 3.10

3.最高速:R2+R7 =100Ω(0、5V)

2.60V;M1.00ms

圖 3.11

Page 25: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

15

3.5 電源供應器

3.5.1 研究目的

為了能使電源更穩定,並提高其可攜性,於是我們決定自己研究並參考書上

所接之簡便型穩壓電路(圖3.12),以求能達到驅動馬達以及控制器等的穩壓電

流。如圖3.13,採用交流電源110V經由PT-16變壓器變壓後,再透過橋氏整流電

路處理,提供直流電源(圖3.14)。

Page 26: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

16

Page 27: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

17

3.5.2 研究電路

1. 電壓源DC +15V:將輸入交流電壓換為+18V、-18V經由橋式整流後,用7815、

7915穩壓IC搭配濾波電容,(78系列為正電源穩壓器,79系列為負電源穩壓器(如

圖3.15))處理後,得到+15V、-15V的直流電壓源,提供運算放大器μA741之使

用。

2. 電壓源DC +5V:將輸入交流電壓換為+9V後經由橋式整流用7805穩壓IC處理

後,得到+5V的直流電源,提供8051微處理器、7406、7414邏輯閘、LCD液晶顯

示器等電路使用。上述電路加上保險絲、開關後完成如圖3.16。

圖 3.16 電源供應器電路圖

Page 28: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

18

第 四 章 構造

4.1 電路盒

方波產生電路、震盪電路、8051微處理器、LCD顯示器。

圖 4.1 電路盒(上)

A:可變電阻(控制轉速)

B:連續/步進切換開關

C:步進輸入按鈕

D:SPD5625A接腳

E:LCD亮度調整

F:微處理器 reset

Page 29: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

19

圖 4.2 電路盒(前)

A:方波產生電路

B:0、+5V 震盪電路

C:7406 邏輯閘

D:7414 邏輯閘

E:單晶片 8051

F:正、逆轉切換開關

Page 30: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

20

4.2 穩壓電路盒

正陎

圖 4.3 電源盒(正)

背陎

圖 4.4 電源盒(背)

內部 (圖 4.5、4.6 電源盒(內))

Page 31: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

21

第 五 章 結論

5.1 結論

本專題給我們帶來了很多的收穫,從拿到 SPD5625A 步進馬達控制器的使用

手冊開始,我們第一次接觸到日文的說明書,我們一個字一個字用手寫輸入到電

腦上翻譯,再一句一句的解讀其意思,整本研讀下來不知不覺中我們已學到很多

工業上常用到的單字、片語,對日文說明書也不再那麼陌生。

照著使用說明所說的把分散的線路接起來後,我們開始依照指定的規格著手

進行控制器的設計。從上課所學以及各種資料中,我們找到幾個方法可以製造出

需要的脈波,例如:PWM、Timer555...等,之後看到電子學實驗使用過的放大器

μA741,它設計容易方便控制又價格便宜,於是決定使用之。

從使用模擬軟體 Multisim 來模擬電路、所需的元件及其產生的波形,到元

件的採買、各元件的規格、各種開關的用法,到設計電路板、焊接、電路盒鑽孔...

等,我們經歷了無數次的失敗、錯誤,然後從中學習並想辦法找到正確的答案,

讓我們對使用各種工具、軟體更加熟練。

看著書上的範例照著接,跟自己想辦法組合出需要的電路,是完全不同的兩

回事。而自己設計一個電路,跟配合已有的馬達、負載來設計電路,更是兩種完

全不同的要求。實際上,畢了業進到公司這些技能都是不可或缺的。經過這次專

題的訓練,我們學會從各種資料中找尋自己所需的部份,整理並找出符合規格、

最適合的設計。我們會好好利用這個專題中學到的經驗,相信以後不管是從事研

究或是進入公司工作,都有助我們更進一步的發展。

Page 32: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

22

參考文獻

● 步進馬達活用技術 全華出版 民 86 年出版 葉明財編譯

● 電動機控制 復文出版 民 94 年出版 陳文耀編著

● 簡易步進電動機應用 全華出版 民 78 年出版 谷腰欣司編著

許中平、孫忠義 編譯

● 步進電動機與微算機控制 文笙出版 民 85 年出版 陳正哲 編著

● 利用微處理機之小型馬達控制(上) 建宏出版 民 82 年出版

見城尚志、高橋 久 著 杜光宗 編譯

● 利用微處理機之小型馬達控制(下) 建宏出版 民 82 年出版

見城尚志、高橋 久 著 杜光宗 編譯

● 電子學實習(下) -運算放大器電路 高立出版 民 97 年出版

王炳聰、蔡榮鋒、李振興、黃清池 編著

● 8051 C 語言控制入門與應用 松崗出版 民 87 年出版 陳龍三 編著

● 8051單晶片微電腦實習與應用 松崗出版 民 82年出版 吳金戍 編著

● 8051單晶片實作 博碩出版 民 93年出版 林振漢 編著

Page 33: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

23

附錄 A- LCD 模組函式程式碼

//LCD 模組函式適用於文字型 LCD

//lcd.h

#ifndef _lcd_h_

#define _lcd_h_

#include <reg51.h>

/* ======= 硬體接腳的定義 ============= */

#define DBPORT P0 // 定義 P0 埠為資料輸出埠

sbit RS=P1^0 ; // LCD 致能控制線接腳

sbit RW=P1^1 ; // LCD 讀寫控制接腳

sbit E=P1^2 ; // LCD 資料與指令選擇線接腳

/* ======= LCD 基本顯示驅動 ============= */

void Init_LCD(); // LCD 初始化模組

void LCD_CMD(char cmd); // 寫入指令暫存器函式原型宣告

void LCD_DATA(char data1); // 寫入資料暫存器函式原型宣告

/* ======= LCD 顯示 ============= */

void DISP_Chr(char col,char chrx); //顯示字元

void DISP_Str(char col,char *str); //顯示字串

void RL_Str (char addr1,char *str,char offset); //字串左旋顯示函式原型宣告

void RR_Str (char addr1,char *str,char offset); //字串右移顯示函式原型宣告

void DISP_Int(char addr1,int v1); // LCD 顯示數字函式原型宣告

void delay1ms(int count); // 延遲副程式函式原型宣告

/* ========================== */

void Init_LCD() // LCD 初始化函式

{

Page 34: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

24

delay1ms(5) ; // 等待 LCD 電源開啟完成

LCD_CMD(0x3f) ; // 採 8 位元資料存取/雙列字/5×10 字型

LCD_CMD(0xe) ; // 顯示器 ON/游標被顯示在位址計數器

LCD_CMD(0x1) ; // 清除全螢幕

delay1ms(2) ; // 延遲時間

LCD_CMD(0x80); // 設定 DD RAM 位址第一行第一列

}

// 寫入指令暫存器函式

void LCD_CMD(char cmd)

{

int i;

DBPORT=cmd ; //寫入指令暫存器

RS=0;RW=0;E=1; //控制線 P1=0x40;

for(i=0 ; i < 40 ;i++) ; // 一個短時間的延遲時序

RS=0;RW=0;E=0; //控制線 P1=0x00;

}

// 寫入資料暫存器函式

void LCD_DATA(char data1)

{

int i;

DBPORT=data1;

RS=1;RW=0;E=1; //控制線 P1=0x50;

for(i=0 ; i < 40 ;i++) ; // 一個短時間的延遲時序

RS=1;RW=0;E=0; //控制線 P1=0x10;

Page 35: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

25

}

// 延遲副程式 1ms 為單位

void delay1ms(int count)

{

int i,j;

for(i=0;i<count;i++) //透過引數 count 控制外迴圈數

for(j=0;j<122;j++);

}

// 在 LCD 指定位置顯示字元函式

void DISP_Chr(char col,char chrx)

{

LCD_CMD(col); // 設定 DD RAM 位址第一行第一列

LCD_DATA(chrx); // 呼叫顯示字串函式

}

// 在 LCD 指定位置顯示字串函式

void DISP_Str(char addr1,char *str)

{

LCD_CMD(addr1); // 設定 DD RAM 位址第一行第一列

while(*str !=0)

LCD_DATA(*str++); // 呼叫顯示字串函式

}

void RL_Str(char addr1,char *str,char offset)

{

Page 36: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

26

char i;

char *start=str;

str+=offset;

LCD_CMD(addr1) ; // 設定 DD RAM 位址

while(*str !=0)

LCD_DATA(*str++); // 呼叫顯示字串函式

for (i=0;i<offset;i++)

LCD_DATA(start[i]); // 呼叫顯示字串函式

}

//字串右旋顯示函式

void RR_Str (char addr1,char *str,char offset)

{

char i;

char *start=str;

LCD_CMD(addr1) ; // 設定 DD RAM 位址為 0

str+=20-offset;

while(*str !=0)

LCD_DATA(*str++); // 呼叫顯示字串函式

for (i=0;i<20-offset;i++)

LCD_DATA(start[i]); // 呼叫顯示字串函式

}

//LCD 顯示數字函式

void DISP_Int(char addr1,int v1)

Page 37: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

27

{

char i;

for (i=0;i<2;i++){

LCD_CMD(addr1- i+2);

LCD_DATA((v1%10)+0x30);

v1/=10;

//if(v1==0)

//break;

}

}

#endif

附錄 B-中斷計數程式碼

//使用中斷計數計算轉動圈數

//*****************************************************

#include <reg51.h>

#include <string.h>

#include "lcd.h"

char code DxA[]={"."};

char code DxB[]={" rad"};

char code DxC[]={"+"};

char code DxD[]={"-"};

sbit SW1=P1^3; //正反轉開關

Page 38: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

28

int rad1=0,rad2=0,a=1;

main()

{

Init_LCD(); // 呼叫 LCD 初始化函式

LCD_CMD(1); // 清除畫陎

delay1ms(10); // 延遲時間

DISP_Str(0x8C,DxB); // 指定字串位址

DISP_Str(0x89,DxA);

IT0=0; //偵測準位訊號觸發動作

IE=0x81; //致能計時器 0 中斷

EXO=1;

while(1); //無窮回路等待中斷

}

void EXT0(void ) interrupt 0

{

if((rad1==0)&&(rad2==0))

{

if(~SW1) //圈數為正

{

DISP_Str(0x80,DxC);

a=1;

Page 39: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

29

}

else //圈數為負

{

DISP_Str(0x80,DxD);

a=0;

}

}

if(a==1) //圈數為正

DISP_Str(0x80,DxC);

{

if(~SW1) //增加圈數

{

rad2=rad2+1;

if(rad2>99)

{

rad1=rad1+1;

rad2=0;

}

}

else //減少圈數

{

rad2=rad2-1;

if(rad2<0)

{

rad1=rad1-1;

Page 40: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

30

rad2=99;

}

}

}

if(a==0) //圈數為負

DISP_Str(0x80,DxD);

{

if(~SW1) //減少圈數

{

rad2=rad2-1;

if(rad2<0)

{

rad1=rad1-1;

rad2=99;

}

}

else //增加圈數

{

rad2=rad2+1;

if(rad2>99)

{

rad1=rad1+1;

rad2=0;

}

}

Page 41: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

31

}

DISP_Int(0x8A,rad2);

DISP_Int(0x88,rad1);

}

}

附錄 C-程式流程圖

Page 42: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

32

附錄 D- SPD5625A 使用手冊

Page 43: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

33

Page 44: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

34

Page 45: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

35

Page 46: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

36

Page 47: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

37

Page 48: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

38

Page 49: 逢 大 學 自動控制工程學系專題製作 專 題 論 文 · 失步:指的是步進馬達雖能與脈波同期運轉,但可能因急劇的速度變化或過 負載而無法與脈波同步運轉,這種無法與脈波同步的狀態稱之為馬達失步。經過

39