department of electrical engineering hsiuping...
TRANSCRIPT
1
實實務務專專題題報報告告書書
機機 器器 手手 臂臂 應應 用用
指 導 老 師:黃淳德
專題製作學生:四技電四甲 鄭翔 BD97016
四技電四甲 藍瑞棋 BD97041
中華民國 一百 年 十二 月 七 日
修 平 科 技 大 學 電 機 工 程 系
DEPARTMENT OF ELECTRICAL ENGINEERING
HSIUPING UNIVERSITY OF SCIENCE TECHNOLOGY
2
摘要
本專題為製作五軸機器手臂,使其可以執行平行移動、旋轉動
作、夾取,利用鍵盤控制其動作。首先把機器手臂分為致動器之選擇、
外型設計與組裝、電路製作、程式設計。
致動器方面比較步進馬達與伺服馬達之差別,選擇對本專題較有利之
致動器,最後以祥儀 SYS-214050伺服馬達為本專題之致動器。機器
手臂支架製作先以手繪方式確定其規格大小,再以 AUTOCAD繪製電子
檔交由壓克力公司製作,最後在組裝測試。
電路方面我們以 89S51單晶片為控制系統,利用鍵盤控制機器手臂動
作,電源供應則電路、馬達分別使用電源供應器。
程式以 C語言為主,
3
目錄
摘要………………………………………………………………………i
目錄………………………………………………………………………ii
圖目錄………………………………………………………………...iv
表目錄…………………………………………………………………..vi
第一章 緒論
1-1 研究動機………………………………………………………1
1-2 研究目的………………………………………………………1
1-3 報告架構………………………………………………………1
第二章 相關文獻
2-1 專題回顧………………………………………………………2
2-2 比較致動機之差異……………………………………………6
2-2-1 步進馬達介紹………………………………………6
2-2-2 步進馬達原理………………………………………8
2-2-3 步進馬達優點………………………………………12
2-2-4 伺服馬達介紹………………………………………13
2-2-5 伺服馬達控制………………………………………15
2-3 致動器之決定…………………………………………18
第三章 專題構想
4
3-1 機器手臂設計與構想………………………………………19
第四章 硬體機構製作
4-1 手臂底部……………………………………………………24
4-2 手臂支架……………………………………………………25
4-3 手臂夾具……………………………………………………26
4-4 手臂組裝外觀………………………………………………27
第五章電路與程式
5-1 89S51 單晶片……………………………………….…………30
5-1-1 89S51晶片特性………………………………………31
5-1-2 晶片腳位介紹……………………………………….32
5-2 電源供應器…………………………………………………...35
5-3 程式內容……………………………………………………...37
第六章 總結
6-1 結論…………………………………….……………………..42
6-2 心得…………………………………...………………………42
參考文獻
………………………………………… ..…………………………43
5
圖目錄 圖 2.1 五指式機器手臂…………………………………………………2
圖 2.2 五指式機器手臂支架部份………………………………………3
圖 2.3 三指式機器手臂…………………………………………………4
圖 2.4 三指式機器手臂整體……………………………………………5
圖 2.5 步進馬達…………………………………………………………7
圖 2.6 步進馬達基本構造圖……………………………………………9
圖 2.7 單極激磁驅動電路………………………………………………9
圖 2.8 伺服馬達內部結構……………………………………………14
圖 2.9 伺服馬達的電源引線…………………………………………16
圖 2.10 SYS-214050馬達外觀…………………………………………18
圖3.1 手臂與夾具連結設計圖………………………………………19
圖3.2 手臂之架設計圖………………………………………………20
圖3.3 手臂底部設計圖………………………………………………21
圖3.4 手臂旋轉連接設計圖…………………………………………22
圖3.5 手臂夾具設計圖………………………………………………23
圖4.1 底部馬達與旋轉馬達…………………………………………24
圖4.2 底部與馬達連接………………………………………………24
圖4.3 手臂支架實體…………………………………………………25
6
圖4.4 手臂支架與馬達連結…………………………………………25
圖4.5 手臂夾具………………………………………………………26
圖4.6 手臂支架部分…………………………………………………27
圖4.7 手臂與夾具連結………………………………………………27
圖4.8 機器手臂外觀一………………………………………………28
圖4.9 機器手臂外觀二………………………………………………28
圖4.10 夾具與手臂連結………………………………………………29
圖4.11 手臂整體外觀…………………………………………………29
圖 5.1 89S51 接腳圖…………………………………………………30
圖 5.2 晶片外觀………………………………………………………30
圖 5.3 DC5V 電源供應器……………………………………………36
圖 5.4 DC12V 電源供應器……………………………………………36
圖5.5 電路板整體外觀………………………………………………36
7
表目錄 表2.1 步進馬達在不同激磁方式下脈衝信號的推動順序………10
表2.2 步進馬達動作流程…………………………………………… 11
表2.3 步進馬達優缺點………………………………………………12
表2.4 伺服馬達週期脈衝信號……………………………………15
表2.5 伺服馬達優缺點……………………………………………17
表2.6 SYS-214050馬達規格表……………………………………18
第1章 緒論
1-1 研究動機
在科技迅速的發展下,以往的人力操作已漸漸被機器手臂所取代,在
現代的工業已成為不可或缺的機器,除了在工業之外,機械手臂也廣
泛的應用於實驗、救難、娛樂等方面,本機械手臂用於模擬人類手臂
動作,做出反應較為靈敏、 快速的機器手臂。本專題主要是利用89s51
單晶片控制機器手臂,並使用C語言撰寫控制手臂之程式,手臂裝有5
顆SYS-214050伺服馬達,使手臂可進行夾、放動作。
1-2 研究目的
利用 8051單晶片控制 6顆伺服馬達,以 C語言撰寫脈波訊號大小控
8
制馬達轉動角度,再以數字鍵盤選擇控制馬達轉動,讓手臂做出伸
展、旋轉、抓取物品之動作。
1-3 報告架構
本專題報告共分為六章;第一章為緒論,第二章為專題回顧,第三章
為專題構想,第四章為硬體機構製作,第五章為電路與程式,第六張
為總結。
第2章 相關文獻
2-1 專題回顧
歷屆學長所製作的機器手臂驅動方式大多以步進馬達為主,以齒輪、
軸承連結帶動手臂支架,部分由釣魚線連結馬達來拉動。
9
圖 2.1 五指式機器手臂 手掌部份裝有 SENSOR可以抓住雞蛋不會
破,五指式手指每根手指各有一個馬達可獨立動作。
10
圖 2.2 五指式機器手臂支架部份 關節部份以鏈條帶動關節動作,手
指由釣魚線拉動。
11
圖 2.3 三指式機器手臂 手指由釣魚線拉動。
12
圖 2.4 三指式機器手臂整體 控制箱部分較大,馬達為步進馬達。
13
2-2 比較致動器之差異
2-2-1 步進馬達介紹
步進馬達(Stepping motor)在當今資訊工業社會中,所扮演的角色日
趨重要,尤以電腦週邊的一些裝置更是不可或缺的,如磁碟機,列表
機.繪圖機等,又如 CNC工具機,機械人,順序控制系統等各種資訊
工業產品中,無不以步進馬達作為其傳動的重心。茲將步進的特性說
明如下:
1.步進馬達必須加驅動電路才能轉動,驅動電路的信號輸出端,必須
輸入脈波信號,若無脈波輸入時,則轉子保持一定的位置,維持靜
止狀態;反之,若加入適當的脈波信號時,則轉子是以一定的角度
(稱為步角)轉動。故若加入連續脈波時,則轉子旋轉的角度與脈
波頻率成正比。
2.步進馬達的一步角一般為 1﹒8度,及一周為 360度,需要 2200步
進數才完成 1轉。
3.步進馬達具有瞬間啟動與急速停止之優越特性。
4. 改變線圈激磁的順序,可以較輕易的改變馬達的轉動方向。
14
步進馬達依照靜子線圈的相數多寡可分為單相、雙相、三相、四相和
五相等。一般小型的步進馬達以四相式為準,這類的馬達在定字上有
四組相對應的線圈,分別提供相差 90度相位的電力。當馬達單相激
磁時,這四組線圈可在各相的對應處停住轉子,當下一個脈衝來到
時,轉子轉動一個角度,這種角度稱為步進角。步進角的計算公式如
下:
步進角=360度/ 寸動數= 360度 / (相數 X 轉子齒數)
寸動數: 步進馬達每週所轉動的步數,就是相數和轉子齒數的乘積。
圖 2.5 步進馬達
(http://www.hiyp.com.tw/com/103267/products/html/5025.html)
15
2-2-2 步進馬達運轉原理
如圖 2.6為四相式步進馬達的基本構造圖。中間轉子由永久磁鐵所構
成,左邊為 N極,另一邊為 S極。定子有四組線圈,分別為 A、-A、
B及-B,各線圈的 C端共接電源正極,另一端經由開關接在電源的負
極,如圖 2.7。 當我們把開關 S1按下,則線圈 A通入電流,產生 N
極磁場,因為磁場同性相斥、異性相吸,使轉子的 S極被 A極吸引過
來。其次,放掉開關 S1,並且立刻按下開關 S2,則 A 極的磁場消失,
B極產生磁場,把轉子的 S極吸引過來,轉子隨著順時針方向 90 度。
像這樣依次讓定子的四個極通入電流,就可以使轉子不停的旋轉。圖
2.8顯示步進馬達的旋轉原理。 步進馬達的激磁方式可依靜子線圈
產生磁場的方向分為單極激磁和雙極激磁,在此我們只介紹單極激
磁。如前面圖 2.8即為四相步進馬達的單極激磁驅動電路;單極激磁
依各相之間激磁順序的不同,可分為一相激磁、二相激磁及一、二相
激磁三種。
16
圖 2.6 步進馬達基本構造圖
(http://s07368.myweb.hinet.net/circuitry7.htm)
圖 2.7單極激磁驅動電路
(http://s07368.myweb.hinet.net/circuitry7.htm)
17
表 2.1 步進馬達在不同激磁方式下脈衝信號的推動順序
(http://s07368.myweb.hinet.net/circuitry7.htm)
18
表 2.2 步進馬達動作流程
(http://s07368.myweb.hinet.net/circuitry7.htm)
19
2-2-3 步進馬達優缺點
步進馬達其優點在於無時間誤差、不會有 OVERSHOT現象、接線簡單、
瞬間轉動時不會有兩倍扭矩,缺點是:為開迴路系統,會有失步問題、
低速轉動時會有噪音及震動,且會有共振區的問題、連續運轉時會有
溫升現象,且由於線路較為複雜,使得控制箱部分體積都很大。
表 2.3 步進馬達優缺點
(http://www.robofun.net/forum/)
20
2-2-4 伺服馬達介紹
伺服馬達基本上是可定位的馬達。當伺服馬達接受到一個位置指令,
它就會運動到指定的位置。因此,機器人模型中也常用到它作為可控
的運動關節。
微型伺服馬達有著如下的優點:大扭力,控制簡單,裝配靈活,
相對經濟,但它亦有著先天的不足:首先它是一個精細的機械部件,
超出它承受範圍的外力會導致其損壞,其次它內藏電子控制線路,不
正確的電子連接也會對它造成損毀,因此,很有必要在使用前先了解
伺服馬達的工作原理,以免造成不必要的損失。
微型伺服馬達內部結構:
一個微型伺服馬達內部包括了一個小型直流馬達;一組變速齒輪
組;一個反饋可調電阻;及一塊電子控制板。其中,高速轉動的直流馬
達提供了原始動力,帶動變速(減速)齒輪組,使之產生高扭力的輸
出,齒輪組的變速比愈大,伺服馬達的輸出扭力也愈大,也就是說越
能承受更大的重量,但轉動的速度也愈低。
21
圖 2.8伺服馬達內部結構
(https://sites.google.com/site/hangxin1940/mcu32)
微型伺服馬達的工作原理:
一個微型伺服馬達是一個典型閉環反饋系統,減速齒輪組由馬達驅
動,其終端(輸出端)帶動一個線性的比例電阻作位置檢測,該電阻
把轉角坐標轉換為一比例電壓反饋給控制線路板,控制線路板將其與
輸入的控制脈衝信號比較,產生糾正脈衝,並驅動馬達正向或反向地
轉動,使齒輪組的輸出位置與期望值相符,令糾正脈衝趨於為 0 ,
從而達到使伺服馬達精確定位的目的。
22
2-2-5伺服馬達控制
標準的微型伺服馬達有三條控制線,分別為:電源,地及控制。
電源線與地線用於提供內部的直流馬達及控制線路所需的能源,電壓
通常介於 4V至 6V之間,該電源應盡可能與處理系統的電源隔離(因
為伺服馬達會產生雜訊) 。甚至小伺服馬達在重負載時也會拉低放
大器的電壓,所以整個系統的電源供應的比例必須合理。
入一個週期性的正向脈衝信號,這個週期性脈衝信號的高電平時
間通常在 1ms -毫秒之間,而低電平時間應在 5毫秒到 20ms之間,
並不很嚴格,下表表示出一個典型的 20ms週期性脈衝的正脈衝寬度
與微型伺服馬達位置的關係:
表 2.4 伺服馬達週期脈衝信號
(http://dianzixiaozhizuo.blog.163.com/blog/static/750251652
00841881324951/)
23
伺服馬達的電源引線:
圖 2.9 伺服馬達的電源引線
(https://sites.google.com/site/hangxin1940/mcu32)
電源引線有三條,如圖中所示。伺服馬達三條線中紅色的線是控
制線,接到控制晶片上。中間的是伺服工作電源線,一般工作電源是
5V的。第三條是地線。
伺服馬達的運動速度:
伺服馬達的瞬時運動速度是由其內部的直流馬達和變速齒輪組
的配合決定的,在恆定的電壓驅動下,其數值唯一。但其平均運動速
度可通過分段停頓的控制方式來改變,例如,我們可把動作幅度為
90度的轉動細分為 128個停頓點,通過控制每個停頓點的時間長短
來實現 0o - 90度變化的平均速度。對於多數伺服馬達來說,速度的
單位由“度數/秒“來決定。
25
2-3 致動器之決定
這次專題一開始構想時希望能與歷屆學長做的不一樣,並改變之前體
積大的問題,而做到動作精準與控制箱體積較小;所以選擇使用祥儀
SYS-214050伺服馬達為主。
圖 2.10 SYS-214050馬達外觀
(http://www.shayye.com.tw/pdf/SYS214050-Model.pdf)
表 2. 6 SYS-214050馬達規格表
(http://www.shayye.com.tw/pdf/SYS214050-Model.pdf)
26
第3章 專題構想
3-1 機器手臂設計與構想
本機器手臂開始先從網路觀察相關作品,在初步想出架構,外觀支架
與夾具部分則由autoCAD軟體自行繪圖設計,再把設計圖給壓克力公
司雕刻、部分零件為手工研磨、打孔與切割。
圖3.1 手臂與夾具連結設計圖
27
圖3.2 手臂之架設計圖
28
圖3.3 手臂底部設計圖
29
圖3.4 手臂旋轉連接設計圖
30
圖3.5 手臂夾具設計圖
31
第4章 硬體機構製作
4-1 手臂底部
圖4.1 底部馬達與旋轉馬達
圖4.2 底部與馬達連接
32
4-2 手臂支架
圖4.3 手臂支架實體
圖4.4 手臂支架與馬達連結
33
4-3 手臂夾具
圖4.5 手臂夾具
34
4-4 手臂組裝外觀
圖4.6 手臂支架部分
圖4.7 手臂與夾具連結
35
圖4.8 機器手臂外觀一
圖4.9 機器手臂外觀二
36
圖4.10 夾具與手臂連結
圖4.11 手臂整體外觀
37
第5章 電路與程式
5-1 89S51單晶片
8051是Intel公司所設計的MCS-51單晶片的總稱,較具知名度的編號
有8051、8751和8031,這些不同的單晶片都使用相同的核心CPU與指
令集,只是能在靠製造IC時給予不同的周邊設計,分別賦予這些IC
一個特別編號。
圖5.1 89S51接腳圖 圖5.2 晶片外觀
(http://zh.wikipedia.org/wiki/Intel_8051)
38
5-1-1 89S51晶片特性
89S51單晶片的主要功能列舉如下:
(1) 專為控制應用所設計的 8位元 CPU
(2) 有完整的單位元邏輯運算指令
(3) 有 32條(4個 Port)雙向且每條都可以被單獨定址的 I/O
(4) 內部有 128byte可供讀/寫的 RAM
(5) 內部有兩個 16位元 Timer/Counter
(6) 有一個通信用的全雙工 UART(串列 I/O)
(7) 可接受 5個中斷源,且有 2層優先權的中斷結構
(8) 內部有時脈振盪器(最高頻率可到 12MHz)
(9) 內部有 4K的程式記憶體
(10)可在外部擴充到 64K程式記憶體(EPROM)
(11)可在外部擴充64K資料記憶體(RAM)
39
5-1-2 晶片腳位介紹
1~8腳 (P1.0~P1.7):
這8支角是8051的I/O port,稱為PI。第一腳(P1.0)是LSB,第8
支腳(P1.7)是MSB。如果是8052(8032或8752)時,P1.0又可當作Timer2
的外部脈波輸入腳,P1.1又當作T2EX,可當作另外一個外部中斷觸發
輸入腳。P1上的每支腳都可推動4個LS TTL。
9腳(RESET):
8051的重置(RESET)輸入腳,當這支腳由外部輸入High(+5V)的信
號時,8051就被重置,8051被重置後就從位址0000H開始執行程式。
且特殊功能暫存器(SFR)裡的所有暫存器都會被設成已知狀態。
10~17腳 (P3.0~P3.7):
這8支腳是8051的I/O port,稱為P3。第10支腳(P3.0)為LSB,第
17支腳(P3.7)為MSB。P3裡的每支I/O腳除了可以當作單純的輸入/輸
出使用外,也當作8051內部的某些週邊與外界溝通個I/O腳。例如P3.0
和P3.1接腳的另外一個名稱為RxD和TxD,當8051內部的UART被軟體啟
動後,UART會將串列資料從TxD腳輸出,而UART也接收由外部送進來
的串列信號。INT0和INT1是8051的兩個外部中斷輸入部。T0是Timer0
的外部脈波輸入腳。T1是Timer1的外部脈波輸入腳。WR,RD,當您再
8051的外部擴充資料記憶體(RAM)時,這兩條線是控制寫與讀的信
40
號。P3上的每一隻I/O腳都可以做兩種用途。那8051怎麼知道P3上的
某支腳是當I/O或當另一種用途,例如您要使用UART時您將第10腳看
成RxD,第11腳看成TxD加以使用就可以了。但是有一點必須特別注
意,那就是當作其他功能(不當I/O使用)使用的那支腳的內部栓鎖器
的內容必須設為1,其他的功能(如TxD,RxD,RD,ER,⋯等)才會有作
用。P3上的每支I/O腳都可推動4個LS TTL。
18~19腳(XTAL2,XTAL1):
這兩支腳是8051內部時脈振盪器的輸入端,您可以在這兩支腳上
跨街一個12MHz的工作頻率,供內部使用。8051會根據這個速度工作。
若未特別註明,這個振盪器的工作頻率是在1MHz~12MHz之間的任何一
個。如果線路板上已有振盪器,那這個振盪器所產生的脈波(Clock)
也可以直接輸入給8051使用。這個外部送給8051使用的脈波是從第18
腳(XTAL2)輸入,而19腳(XTAL1)必須接地,以上的接法是CMOS的
8051(如8051AH)。
如果您是使用CMOS的8051(80C51,80C31等),外部的脈波必須從19
腳(XTAL1)輸入而18腳空接,這個差別必須特別注意。
40,20腳(Vcc,Vss):
這是8051的電源輸入端,40腳接電源的正端的20腳接地。
電源規格是5V +/- 10﹪。
41
21~28腳(P2.0~P2.7):
這8支腳是8052的I/O port,稱為P2,P2.0為LSB,P2.7為
MSB。P2除了當作I/O使用之外。如果您在8051的外面擴充程式記憶體
或資料記憶體時,P2就變成8051的位址匯流排的高位元組(即
A8~A15),此時P2就不能當作I/O使用。P2上的每支I/O腳可推動4個LS
TTL。
39~32腳(P0.0~P0.7):
這8支腳也是8051的I/O port,稱為P0其中P0.0為LSB,P0.7為
MSB。如果將P0當作I/O使用時必須特別注意P0的輸出型態是Open
Drain,其他三個I/O port(P1,P2,P3)內部有pull high電路。P0
除了當作I/O使用外,如果您在8051的外面擴充程式記憶體或資料記
憶體時,P0就當作位址匯流排(A0~A7)和資料匯流排(D0~D7)多工使
用。您必須再外部加一個8位元栓鎖器將位
址匯流排從PC上分離出來,這個A0~A7與P2所提供的A8~A15合成一個
16位元的位址匯流排,因此8051可以在外部定址到64K的記憶體。
29腳(PSEN):
這支腳是8051用來讀取放在外部程式記憶體的指令時所用的讀
去信號,通常這支腳是接到EPROM的OE腳。8051分別致能放在外部的
EPROM(程式記憶體)與RAM資料記憶體是兩塊獨立的記憶體,且這兩塊
42
記憶體都可以接到64K,因此我們說8051的定址能力可達128K。
30腳(ALE):
這支腳的名稱為 ”位址拴住致能” (Address Latch Enable,
簡稱ALE),8051可以使用這支腳觸發外部的8位元栓鎖器,將P0上的
位址匯流排信號(A0~A7)鎖入栓鎖器中。
31腳(EA):
這是一支輸入腳,當EA=0時,8051一律執行外部程式記憶體裡的
程式,因此8051內部的4K程式記憶體就沒有用了。因此如果您要使用
內部的程式記憶體時,一定要將EA接+5V。因為8031(或8032)內部沒
有程式記憶體,它的EA必須接地。
43
5-2 電源供應器
使用昂鼎企業有限公司DC5V與DC12V電源供應器。電源提供方式為晶
片部分與夾具部份小馬達使用DC5V;其他馬達為DC12V兩種電源。馬
達與晶片電路的GND線接在一起,較不會電流有雜訊干擾問題。
圖5.3 DC5V電源供應器 圖5.4 DC12V電源供應器
44
圖5.5 電路板整體外觀
45
5.3 程式內容 #include "hal_defs.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_led.h"
#include "hal_button.h"
#include "hal_buzzer.h"
#include "hal_buzzer.h"
#include "usb_com.h"
//=====================================================================
uint8 kbscan();
#define LED_PORT P1
#define KBINP P0 //定義鍵盤輸入使用P1埠
uint8 kbin; // 鍵盤輸入值
const char KBTAB[]={0,4,8,12,1,5,9,
13,2,6,10,14,3,7,11,15};
#define Motor1 P13
#define Motor2 P14
#define Motor3 P15
#define Motor4 P16
#define Motor5 P17
//=====================================================================
void main(void)
{
uint8 len, buf[64],j = 0,cnt = 0;
// Initalise board peripherals
halBoardInit();
halLedSet(8);
//uint8 k;
//USB_Send_UartState_To_PC(0x00);
// Wait for user to press K1,K2 to send data to PC COM port and echo PC
send data
while (1)
{
46
switch(j)
{
case 1 :
{
Motor1 = 1;
}
break;
case 2:
{
Motor2 = 1;
}
break;
case 3:
{
Motor3 = 1;
}
break;
case 4 :
{
Motor4 = 1;
}
break;
case 5 :
{
Motor5 = 1;
}
break;
}
kbin=kbscan(); // 讀取鍵盤碼
if(kbin!=0xff)
{ // 等待取得鍵盤碼
j = kbin;
kbin=KBTAB[kbin];
LED_PORT=kbin;
47
buf[0]=kbin+0x30; //按鍵值轉換為ASCII碼
buf[1] = 0x0D;
// usbWriteVisualSerialData(2,buf);
halBuzzer(300);
}
else
{
if(cnt >0 && cnt <=10)
{
Motor1 = 1;
halMcuWaitMs(15);
Motor1 = 0;
}
if(cnt >10 && cnt <=20)
{
Motor2 = 1;
halMcuWaitMs(15);
Motor2 = 0;
}
if(cnt >20 && cnt <=30)
{
Motor3 = 1;
halMcuWaitMs(15);
Motor3 = 0;
}
if(cnt >30 && cnt <=40)
{
Motor4 = 1;
halMcuWaitMs(15);
Motor4 = 0;
}
if(cnt >40 && cnt <=50)
{
Motor5 = 1;
halMcuWaitMs(15);
48
Motor5 = 0;
}
if ( cnt >50)
{
cnt = 0;
}
}
cnt++;
//echo reciver
len = usbReadVisualSerialData(buf);
if (len > 0)
{
//usbWriteVisualSerialData(len, buf);
LED_PORT=buf[0];
}
halMcuWaitMs(50);
}
}
uint8 kbscan()
{
unsigned char kbp; // 鍵盤輸入值
unsigned char scanln[]={0xfe,0xfd,0xfb,0xf7}; //掃描線
unsigned char row, col,kbtemp; // 宣告行, 列變數
kbp=0xff; // 設定鍵盤狀態初始值
for(row=0;row < 4;row++){
KBINP=scanln[row]; // 輸出掃描線
kbtemp=KBINP& 0xf0; // 讀取偵測線
if(kbtemp !=0xf0){
//delay1ms(20); // 延遲時間 消除彈跳入
halMcuWaitMs(15);
for(col=0;col<4;col++){
49
if(kbtemp==((scanln[col]&0x0f)*16)){
kbp=row*4+col;
while((KBINP&0xf0)!=0xf0); // 等待按鍵放開
} // end if kbtemp
} // end for col
}// end if kbtemp
} // end for row
return kbp; //傳回按鍵值
} // end kbscan
50
第六章 總結
6-1 結論
本篇報告敘述機器手臂的設計與製作,透過歷屆學長作品與網路
資源的回顧與探討,我們針對馬達的運轉驅動方式與其形狀設計出手
臂支架部分和動作方式,其中我們考慮到其動作穩定性與流暢度在做
些微調整。
這次機器手臂用的是祥儀SYS-214050伺服馬達,所以我們選擇以
單晶片89S51為控制系統。由數字鍵盤來操作每個馬達,使手臂能做
出各種動作,但馬達最大轉動角度只有180度還是有所限制。馬達與
電路之間的連接線都沒有固定而是作成可插可拔方式,方便日後再擴
充設備與線材可在延長。
6.2 心得
整體設計都是由組員共同構想,再用AUTOCAD繪圖軟體設計其支
架。由於之前設計動作方式較為複雜且零件較為繁雜,所以結構也有
所改進;動作方式也較之前流暢、穩定。組裝製作過程當中發現的問
題有支架使用材質太軟導致其穩定性很差,才會有材質不一的現象,
比重方面因為前後隻價所使用馬達都同樣大小,導致底部馬達若沒動
作整個手臂會往前傾和馬達負重太大,這方面也需要在加強。程式方
面遇到較大的瓶頸,還有很多地方需要改進。
51
參考文獻
http://dianzixiaozhizuo.blog.163.com/blog/static/7502516520
0841881324951/(表 2.4)
http://www.hiyp.com.tw/com/103267/products/html/5025.html(
圖 2.5)
http://s07368.myweb.hinet.net/circuitry7.htm(圖 2.6、2.7,表
2.1、2.2)
https://sites.google.com/site/hangxin1940/mcu32 (圖 2.8、2.9)
http://www.shayye.com.tw/pdf/SYS214050-Model.pdf(圖 2.10,表
2.6)
http://zh.wikipedia.org/wiki/Intel_8051(圖 5.1)
http://www.robofun.net/forum/(表 2.3、2.5)