三自由度機(jī)械手控制系統(tǒng)設(shè)計(jì)含開題及CAD圖
三自由度機(jī)械手控制系統(tǒng)設(shè)計(jì)含開題及CAD圖,自由度,機(jī)械手,控制系統(tǒng),設(shè)計(jì),開題,cad
設(shè) 計(jì) ( 論 文 ) 任 務(wù)書
(包括原始數(shù)據(jù)、技術(shù)要求、工作要求)
一、原始數(shù)據(jù)
三自由度機(jī)械手控制系統(tǒng)要求機(jī)械手末端可以到達(dá)的空間坐標(biāo)為X:0~900mm;Y:0~900mm;Z:0~900mm;步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度分為6檔控制;用4位LED或LCD顯示電機(jī)轉(zhuǎn)動(dòng)速度;4×4或4×3鍵盤。
二、技術(shù)要求
(1)采用軟件生成拍脈沖;
(2)步進(jìn)電機(jī)供電與單片機(jī)供電要進(jìn)行隔離;
(3)采用鍵盤輸入末端執(zhí)行器的絕對(duì)坐標(biāo),以及電機(jī)的轉(zhuǎn)動(dòng)速度;
(4)顯示電機(jī)轉(zhuǎn)速值;
(5)在緊急環(huán)境下可以對(duì)系統(tǒng)采取急停等措施;
(6)按鍵有聲效,按錯(cuò)可修改。
三、工作要求
完成電路原理設(shè)計(jì)、匯編編程。
四、進(jìn)度安排
(1)2月25日~3月8日,閱讀任務(wù)書、明確任務(wù),準(zhǔn)備相關(guān)資料,了解相關(guān)知識(shí),完成開題報(bào)告的填寫;
(2)3月10日~3月31日,實(shí)習(xí);
(3)4月1日~4月15日,完成電路初步設(shè)計(jì);
(4)4月16日~4月21日,完成器件選型;
(5)4月22日~5月2日,完成電路原理圖繪制(PROTEL);
(6)5月3日~5月15日,完成印刷電路板圖(PCB)的繪制(PROTEL);
(7)5月16日~5月30日,完成程序源代碼的編寫;
(8)6月1日~6月20日,其它完善工作,及編寫說明書,答辯。
設(shè)計(jì)(論文)的主要內(nèi)容
主要內(nèi)容:
以MCS-51單片機(jī)、步進(jìn)電機(jī)為核心,用軟件生成拍脈沖,通過控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)達(dá)到控制機(jī)械手在三個(gè)自由度X、Y、Z軸上的移動(dòng),移動(dòng)的坐標(biāo)范圍為0~900mm。通過改變定時(shí)時(shí)間來改變步進(jìn)電機(jī)旋轉(zhuǎn)的速度,轉(zhuǎn)速可分為6檔。電路中還必須包含若干個(gè)功能鍵,以便在緊急環(huán)境下對(duì)系統(tǒng)進(jìn)行控制。
具體說明書及設(shè)計(jì)成果包括:
(1)開題報(bào)告(2000字左右,按規(guī)定格式);
(2)軟件設(shè)計(jì)流程圖1份(由電腦制作,1號(hào)或2號(hào)圖紙);
(3)由電腦打印的完整的原程序代碼1份(必須規(guī)范化、模塊化、加詳細(xì)標(biāo)注具有可讀性);
(4) 提供詳細(xì)的電路原理圖1份(由PROTEL軟件作為繪制工具,用1號(hào)或2號(hào)圖紙打印輸出);
(5) PCB板圖1份(由PROTEL軟件作為繪制工具);
(6) 翻譯英文資料多于1.5萬字符(不能選用帶有中文注釋的文檔);
(7) 設(shè)計(jì)說明書1份(A4幅面40~50頁,用電腦打?。?,文中闡述設(shè)計(jì)思想、軟件工作原理等;說明書中文摘要500字,加關(guān)鍵詞,以及與之相對(duì)應(yīng)的英文摘要,英文關(guān)鍵詞;關(guān)于設(shè)計(jì)說明書的組成部分,參考文獻(xiàn)的填寫格式,及字體、字號(hào)、行間距等要求嚴(yán)格按照學(xué)校教務(wù)處的規(guī)定執(zhí)行;
(8)光盤1張,內(nèi)放程序原碼和設(shè)計(jì)說明書。
設(shè)計(jì)(論文)任務(wù)更改記錄
更 改 原 因
更 改 內(nèi) 容
主要參考文獻(xiàn)
[1] 胡漢才.單片機(jī)原理及其接口技術(shù)[M].清華大學(xué)出版社,2004.
[2] 何希才等.電動(dòng)機(jī)控制電路應(yīng)用實(shí)例[M].中國(guó)電力出版社,2005.
[3] 肖玲妮.Protel99SE印刷電路板設(shè)計(jì)教程[M].清華大學(xué)出版社,2003.
[4] 李華嵩,王偉.Protel99SE電路原理圖與PCB設(shè)計(jì)108例[M].中國(guó)青年出版社,2006.
[5] 趙廣林.Protel99SE電路設(shè)計(jì)與制板[M].電子工業(yè)出版社,2005.
[6] Richard C. Dorf,Robert H. Bishop.Modern Control Systems[M].科學(xué)出版社,2002.
4
三自由度機(jī)械手控制系統(tǒng)設(shè)計(jì)
中文摘要
機(jī)械手是近30年才發(fā)展起來的一種能夠模仿人手和手臂的功能,按固定程序抓取、搬運(yùn)物件或操作工具的自動(dòng)操作裝置,它基本上綜合了機(jī)電一體化的所有技術(shù)研究成果,是當(dāng)代機(jī)電一體化技術(shù)發(fā)展最活躍的領(lǐng)域之一。
本設(shè)計(jì)的機(jī)械手具有三個(gè)自由度,它是由用來執(zhí)行抓取、操作等動(dòng)作的末端執(zhí)行器固定在移動(dòng)平臺(tái)上構(gòu)成的。平臺(tái)的移動(dòng)用來擴(kuò)展機(jī)械手的工作空間,使末端執(zhí)行器可以到達(dá)指定的位置工作。平臺(tái)的三個(gè)移動(dòng)均采用步進(jìn)電動(dòng)機(jī)作為驅(qū)動(dòng)裝置,單片機(jī)作為運(yùn)動(dòng)控制器。采用軟件生成拍脈沖,然后經(jīng)過光電耦合器消除共地干擾,再經(jīng)過放大器進(jìn)行電流和功率放大,得到步進(jìn)電動(dòng)機(jī)控制繞組所需要的脈沖電流。此外還必須對(duì)單片機(jī)進(jìn)行I/O口擴(kuò)展,在位置和速度輸入的控制部分,采用矩陣式鍵盤。在鍵盤部分的軟件設(shè)計(jì)主要包括按鍵消抖、按鍵識(shí)別和數(shù)據(jù)轉(zhuǎn)換等。通過控制步進(jìn)電動(dòng)機(jī)脈沖數(shù)來控制三個(gè)關(guān)節(jié)在三個(gè)直角坐標(biāo)系上移動(dòng)的距離;同時(shí)通過修改定時(shí)器的初值來改變定時(shí)時(shí)間,從而改變脈沖頻率以改變電動(dòng)機(jī)轉(zhuǎn)速。這樣就能使這個(gè)機(jī)械手在規(guī)定的空間里達(dá)到任意一個(gè)位置。
這樣的三自由度的機(jī)械手既可以用于實(shí)際生產(chǎn),又可以用于教學(xué)實(shí)驗(yàn)。用于實(shí)際生產(chǎn),它能夠滿足裝配作業(yè)內(nèi)容改變頻繁的要求;用于教學(xué)實(shí)驗(yàn),它能夠使人直觀地了解機(jī)器人結(jié)構(gòu)組成、動(dòng)作原理等。所以開發(fā)設(shè)計(jì)和研究機(jī)械手具有廣泛的實(shí)際意義和應(yīng)用前景。
關(guān)鍵詞:步進(jìn)電動(dòng)機(jī),單片機(jī),鍵盤,脈沖
Design a manipulator control system with 3 degrees of freedom
Abstract
In the past 30 years, manipulator have a great development.It is a manpower and arms to mimic the function and it is a compositive system which integrating all the technology of mechatronics system and the latest research results of artificial intelligence technology. It represents the most active area of the technology of mechatronics system.
The manipulator my designed has three degrees of freedom. The end of it is a actuator fixed on mobile platform. The actuator to grasp or operate and so on, and the moveing platform used to expand the work space of manipulator, so that the end of the actuator can arrive to the designated position.The platform’s mobile is driven by stepper motor and controlled by SCM. We use software to generate pulse, then after Optocoupler to eliminate the interference. Finally the signal must flow through amplifier to amplify electric current and power, so that the signal can drive the stepper motor. There is also a need for the 8031 to expand I/O,We use the matrix keyboard to input the control signal of position and velocity. The design of the keyboard in the software include keys buffeting, keypad code identification and data transfer. By controlling the number of stepper motor’s pulse ,we can controll the distance of movement in the three joint Cartesian. By modifying the initial timer to change the timing of time, so that we can change the pulse frequency. Finally we can change the motor speed. This will enable the manipulator achieve any position in the space and the speed is adjustable.
These three degree-of-freedom manipulator can be used for the actual production, and experiments can be used in teaching a. For the actual production, it can meet the assembly operations’requirements which are changed frequently. For teaching experiment, people can directly observe the robot structure and easily understand ration of action. Therefore, the design and development of manipulator has the most extensive practical significance and application prospects.
Key words: stepper motors, microprocessor, keyboard, pulse
目錄
摘要………………………………………………………………. I
Abstract…………………………………………………………… II
第1章 緒論 1
1.1引言 1
1.2研究背景 1
1.3機(jī)械手現(xiàn)狀與發(fā)展趨勢(shì) 2
1.4本文主要的研究?jī)?nèi)容 4
第2章 單片機(jī)硬件電路設(shè)計(jì) 5
2.1單片機(jī)元件的選擇 5
2.2復(fù)位電路設(shè)計(jì) 6
2.3時(shí)鐘振蕩電路 7
2.4 顯示接口電路設(shè)計(jì) 8
第3章 鍵盤電路設(shè)計(jì) 10
3.1鍵盤排列設(shè)計(jì) 10
3.2中斷電路 11
3.3鍵盤掃描并識(shí)別按鍵 13
3.4數(shù)據(jù)轉(zhuǎn)換設(shè)計(jì) 14
3.5本章小結(jié) 16
第4章 步進(jìn)電機(jī)的驅(qū)動(dòng)和控制 17
4.1步進(jìn)電機(jī)的選擇 17
4.2驅(qū)動(dòng)電路的設(shè)計(jì) 18
4.2.1拍脈沖的生成 18
4.2.2隔離電路的設(shè)計(jì) 20
4.2.3功率放大電路的設(shè)計(jì) 21
4.3本章小結(jié) 22
結(jié)論 23
謝辭 24
參考文獻(xiàn) 25
附錄 26
第1章 緒論
1.1引言
機(jī)械手是能夠模仿人手和手臂的某些動(dòng)作功能,按固定程序抓取、搬運(yùn)物件或操作工具的自動(dòng)操作裝置。它可以部分或全部代替人力,從事一些單調(diào)、繁重的重復(fù)性勞動(dòng),實(shí)現(xiàn)生產(chǎn)的機(jī)械化和自動(dòng)化,,能在有害環(huán)境下操作得以保護(hù)人身安全,應(yīng)而當(dāng)前正廣泛應(yīng)用于機(jī)械制造、冶金、電子、輕工和原子能等部門。
工業(yè)機(jī)械手的是工業(yè)機(jī)器人的一個(gè)重要分支,是近幾十年才發(fā)展起來的一種高科技自動(dòng)化生產(chǎn)設(shè)備。它的特點(diǎn)是可以通過編程來完成各種預(yù)期的作業(yè)任務(wù),在構(gòu)造和性能上兼有人和機(jī)器各自的優(yōu)點(diǎn),尤其體現(xiàn)了人的智能和適應(yīng)性。機(jī)械手作業(yè)的準(zhǔn)確性和各種環(huán)境中完成作業(yè)的能力,在國(guó)民經(jīng)濟(jì)各領(lǐng)域中有著廣闊的發(fā)展前景。
1.2研究背景
早在上個(gè)世紀(jì)40年代,美國(guó)在原子能實(shí)驗(yàn)中,率先采用機(jī)械手搬運(yùn)放射性材料,工作人員在安全室操縱機(jī)械手完成各種動(dòng)作和實(shí)驗(yàn),其控制系統(tǒng)采用遙控操作方式。遙控操作方式是一種最簡(jiǎn)單的機(jī)械手控制形式,機(jī)械手通過機(jī)械或電動(dòng)等仿形機(jī)構(gòu),跟蹤操作人員的手臂(操作機(jī))動(dòng)作。其突出特點(diǎn)是機(jī)械手工作過程中需要人的參與,能夠充分發(fā)揮人的視覺、聽覺等器官的傳感與檢測(cè)能力,以及人腦的思維、判斷與決策能力。但因?yàn)槠鋵?duì)人的依賴,自動(dòng)化程度不高。
50年代后,機(jī)械手逐步推廣到工業(yè)生產(chǎn)部門,用于在高溫、污染嚴(yán)重的地方取放工件和裝卸材料,也作為機(jī)床的輔助裝置,在自動(dòng)機(jī)床、自動(dòng)生產(chǎn)線和加工中心中應(yīng)用,完成上下料或從刀庫中取放刀具并按固定程序更換刀具等操作。在這些機(jī)械手系統(tǒng)中,普遍采用了繼電邏輯控制或計(jì)算機(jī)邏輯控制,機(jī)械手按照事先編制好的控制邏輯,自動(dòng)完成順序動(dòng)作。
移動(dòng)機(jī)械手的研究始于60年代末期,斯坦福研究院(SRI)的Nilssen和Charles Rosen等人,在1966年至1972年中研造出了取名Shakey的自主移動(dòng)機(jī)器人。其目的是研究應(yīng)用人工智能技術(shù),在復(fù)雜環(huán)境下機(jī)器人系統(tǒng)的自主推理、規(guī)劃和控制。70年代末,隨著計(jì)算機(jī)的應(yīng)用和傳感器技術(shù)的發(fā)展,移動(dòng)機(jī)器人研究又出現(xiàn)了新高潮。特別是在80年代中期,設(shè)計(jì)和制造機(jī)器人的浪潮席卷全世界,一大批世界著名的公司開始研制移動(dòng)機(jī)器人平臺(tái),這些移動(dòng)機(jī)器人主要作為大學(xué)及研究機(jī)構(gòu)的移動(dòng)機(jī)器人實(shí)驗(yàn)平臺(tái),從而促進(jìn)另外移動(dòng)機(jī)器人學(xué)多種研究方向的出現(xiàn)。90年代以來,以研制高水平的環(huán)境信息傳感器和信息處理技術(shù),高適應(yīng)性的移動(dòng)機(jī)器人控制技術(shù),真實(shí)環(huán)境下的規(guī)劃技術(shù)標(biāo)志,開展了移動(dòng)機(jī)器人更高層次的研究。
目前研究的移動(dòng)機(jī)器人都是帶有智能的機(jī)器人:機(jī)器人本身能認(rèn)識(shí)工作環(huán)境、工作對(duì)象及其狀態(tài),它能根據(jù)人給予的指令和“自身”認(rèn)識(shí)外界來獨(dú)立決定工作方法,利用操作機(jī)構(gòu)和移動(dòng)機(jī)構(gòu)完成任務(wù),并能適應(yīng)工作環(huán)境的變化。
這些具有智能的機(jī)器人,有的能夠模擬人類用兩條腿走路,可在凹凸不平的地面上行走移動(dòng);有的具有視覺和觸覺功能,能夠進(jìn)行獨(dú)立操作、自動(dòng)裝配和產(chǎn)品檢驗(yàn);有的具有自主控制和決策能力,不僅能夠應(yīng)用各種反饋傳感器,而且還能夠應(yīng)用人工智能中的各種學(xué)習(xí)、推理和決策技術(shù)。
1.3機(jī)械手現(xiàn)狀與發(fā)展趨勢(shì)
美國(guó)在2003年發(fā)射的火星探測(cè)車“勇氣”號(hào)2004年1月3日在火星安全著陸,并完成了90個(gè)火星日的科研工作?!坝職狻碧?hào)這輛先進(jìn)的探測(cè)車向世人展示了美國(guó)在機(jī)器人技術(shù)領(lǐng)域的領(lǐng)先地位。
圖1-1勇氣號(hào)安全著陸火星 圖1-2勇氣號(hào)升出機(jī)械手臂采集巖石樣本
簡(jiǎn)單來說,“勇氣”號(hào)探測(cè)車就是一個(gè)具有手臂的移動(dòng)機(jī)器人。他的大腦是一臺(tái)高速計(jì)算機(jī),車體靠自身具有的六個(gè)輪子在火星地面運(yùn)動(dòng),視覺系統(tǒng)采用一對(duì)全景照相機(jī)來拍攝火星表面和天空的全景視圖,也用于形成著陸點(diǎn)附近的地形圖、搜索感興趣的巖石和土壤,來完成尋找火星遠(yuǎn)古時(shí)期存在液態(tài)水的證據(jù)的工作;另外分別于車體前端和后端安裝兩組相同的避危攝影機(jī),由一組立體影象的黑白攝影機(jī)所構(gòu)成的,所拍攝的影象除了用于手臂障礙物偵測(cè)之外還用于探險(xiǎn)車的路徑規(guī)劃上。
最先進(jìn)的要數(shù)探測(cè)車上的機(jī)械,手臂末端裝備了各種工具,有顯微鏡成象儀、三種質(zhì)譜儀和兩種分光計(jì),一套巖石研磨和樣本采集工具以及三個(gè)磁鐵陣列,所有設(shè)備主要用來尋找火星上是否曾經(jīng)有液態(tài)水的證據(jù)。
日本TMSUK公司開發(fā)的搶險(xiǎn)救生機(jī)器人“T-52援龍”屬于雙臂式油壓驅(qū)動(dòng)機(jī)器人,通過履帶移動(dòng),雙臂有22個(gè)自由度,可在事故現(xiàn)場(chǎng)完成數(shù)倍于人力的工作以及救援人員無法接近的危險(xiǎn)區(qū)救援等。配備9臺(tái)有效像素68萬的CCD相機(jī),可向遠(yuǎn)程操作裝置傳送圖象。而日本有信(y-ushin)精機(jī)株式會(huì)社生產(chǎn)的以機(jī)械手為中心的各種機(jī)械設(shè)備、儀器等主要產(chǎn)品采用了低阻力導(dǎo)軌機(jī)構(gòu),機(jī)械手臂采用更輕,硬度更高的材質(zhì),從而實(shí)現(xiàn)了高速的機(jī)械動(dòng)作。
歐美的機(jī)械手發(fā)展比較成熟,位于奧地利的Wittmann集團(tuán)是全球最大的自動(dòng)化設(shè)備供應(yīng)商之一,產(chǎn)品有全伺服機(jī)械手 W711、單軸伺服機(jī)械手W710等,其中W710型機(jī)械手的橫軸采用伺服馬達(dá),確保運(yùn)動(dòng)自由靈活,W7n型機(jī)械手是三軸主軸配備高速伺服馬達(dá)的機(jī)械手,可實(shí)現(xiàn)圖形化的操作界面。
我國(guó)對(duì)移動(dòng)機(jī)械手的研究雖然起步較晚,但也取得了一定的成果。我國(guó)的機(jī)械手研究開發(fā)工作始于上世紀(jì)70年代初,到現(xiàn)在經(jīng)歷了30多年的歷程,前10年處于研究單位自行開展研究工作狀態(tài),發(fā)展比較緩慢。1985年后開始列入國(guó)家有關(guān)計(jì)劃,經(jīng)過幾年的攻關(guān),完成了工業(yè)機(jī)器人的成套技術(shù)(包括機(jī)械手、控制系統(tǒng)、驅(qū)動(dòng)轉(zhuǎn)動(dòng)測(cè)試系統(tǒng)的設(shè)計(jì)、制造、應(yīng)用和小批量生產(chǎn)的工藝技術(shù)等)的開發(fā),進(jìn)入90年代后半期,我國(guó)實(shí)現(xiàn)了機(jī)器人的商品化,為產(chǎn)業(yè)化奠定了基礎(chǔ)。
由南京大學(xué)研制的“靈晰-B”型排爆機(jī)器人已在南京市公安局特勤支隊(duì)正式服役。該機(jī)器人為三段履帶式設(shè)計(jì),身上裝置行走、機(jī)械手、云臺(tái)三個(gè)部件,最大行走速度30米/秒,能抓取15公斤重物,爬行40度斜坡和樓梯,越過40厘米高障礙物和50厘米寬壕溝,自帶電源可連續(xù)工作4小時(shí)。排爆人員可在遠(yuǎn)距離以無纜操作方式對(duì)機(jī)器人進(jìn)行精確操控。同時(shí)這臺(tái)機(jī)器人還選裝了爆炸物銷毀器,在對(duì)可疑物爆炸裝置確認(rèn)后,可對(duì)爆炸裝置進(jìn)行迅速銷毀。
圖1-5 “靈晰-B”型排爆機(jī)器人
1.4本文主要的研究?jī)?nèi)容
(1)采用軟件生成拍脈沖;用定時(shí)器產(chǎn)生中斷,每次中斷步進(jìn)電機(jī)走完一個(gè)拍數(shù)循環(huán)。分配脈沖采用查表法,按正向運(yùn)轉(zhuǎn)的通電順序列出各相繞組的脈沖分配表。
(2)步進(jìn)電機(jī)供電與單片機(jī)進(jìn)行隔離供電;從單片機(jī)出來的脈沖電流要經(jīng)過光電耦合器,隔離數(shù)字量與模擬量,以消除回路對(duì)單片機(jī)的共地干擾。
(3)驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī);從單片機(jī)出來的脈沖電流只有幾十毫安,這樣小的電流是不能直接驅(qū)動(dòng)電機(jī)的,必須經(jīng)過放大器進(jìn)行電流和功率放大,從而得到步進(jìn)電動(dòng)機(jī)控制繞組所需要的脈沖電流,最后再與電動(dòng)機(jī)相連。
(4)給每個(gè)電動(dòng)機(jī)分配拍數(shù);對(duì)于給定的坐標(biāo)位置,三個(gè)電機(jī)所走的距離可能是不同的,這就需要計(jì)算各個(gè)電機(jī)的脈沖數(shù)。首先計(jì)算出位置和角度之間的公式,把機(jī)械手要達(dá)到的直角坐標(biāo)位置轉(zhuǎn)換為電動(dòng)機(jī)旋轉(zhuǎn)的角度,再把電動(dòng)機(jī)旋轉(zhuǎn)的角度化成脈沖數(shù)即步數(shù)。
(5)對(duì)電機(jī)進(jìn)行速度控制;電機(jī)的速度控制是由電動(dòng)機(jī)脈沖的頻率決定的。對(duì)于鍵盤輸入的速度值,通過修改定時(shí)器初值,從而修改了脈沖頻率,最后使電機(jī)的速度得到控制。
(6)單片機(jī)輸入端的矩陣式按鍵;它用于輸入給定的機(jī)械手的坐標(biāo)位置,以及步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度,此外還有若干個(gè)功能鍵。該部分軟件設(shè)計(jì)主要包括按鍵消抖、按鍵識(shí)別和數(shù)據(jù)轉(zhuǎn)換等。按鍵消抖是通過延時(shí)來完成的;按鍵識(shí)別是通過行列掃描來找出相應(yīng)的按鍵;數(shù)據(jù)轉(zhuǎn)換是由查表和計(jì)算完成的。
第2章 單片機(jī)硬件電路設(shè)計(jì)
2.1單片機(jī)元件的選擇
單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:CPU(中央出理器)、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要與適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)[1]。
本設(shè)計(jì)單片機(jī)芯片選擇ATMEL公司生產(chǎn)的8位AT89C51單片機(jī)。因?yàn)樵贛CS-51系列中,8031片內(nèi)不帶片內(nèi)程序存儲(chǔ)器ROM,片內(nèi)RAM也只有128字節(jié),使用時(shí)需外接程序存儲(chǔ)器和一片邏輯電路74LS373。如果想對(duì)寫入到EPROM中的程序進(jìn)行修改,必須先用一種特殊的紫外線燈將其照射擦除,之后再可寫入。這樣給設(shè)計(jì)和實(shí)際運(yùn)用帶來了很多麻煩。雖然8051片內(nèi)有4KB ROM,不用外接外存儲(chǔ)器和373,但是編寫的程序無法燒寫到其ROM中,只有將程序交芯片廠代燒寫,并是一次性的,今后設(shè)計(jì)者和芯片廠都不能改寫其內(nèi)容。所以8051也會(huì)給實(shí)際運(yùn)用操作帶來很多麻煩[2]。
與8031和8051相比AT89C51更實(shí)用,因?yàn)樗坏?051指令、管腳完全兼容,而且其片內(nèi)的4K程序存儲(chǔ)器是FLASH工藝的,這種工藝的存儲(chǔ)器用戶可以用電的方式瞬間擦除、改寫。寫入單片機(jī)內(nèi)的程序還可以進(jìn)行加密,這又很好地保護(hù)了勞動(dòng)成果。再者,AT89C51目前的售價(jià)比8031還低,市場(chǎng)供應(yīng)也很充足。所以本設(shè)計(jì)選擇AT89C51芯片。
MCS-51有四個(gè)并行I/O端口,每個(gè)端口都有8條端口線,用于傳送數(shù)據(jù)或地址。但真正能夠提供用戶使用的只有P1口,因?yàn)镻2和P0口通常需要用來傳送外部存儲(chǔ)器的地址和數(shù)據(jù),P3口也需要使用它的第二功能。在本設(shè)計(jì)中,由于要用到定時(shí)器及中斷,89C51芯片的P3口就不能當(dāng)作I/O口了。本設(shè)計(jì)一共有三個(gè)電動(dòng)機(jī),要有9個(gè)I/O接口,還有16個(gè)按鍵,所以,只有89C51芯片的I/O口是不夠的,需要對(duì)89C51進(jìn)行I/O擴(kuò)展。MCS-51的I/O端口的擴(kuò)展方法有兩種:①借用外部RAM的地址來擴(kuò)展I/O端口;②采用并行I/O接口芯片來擴(kuò)展I/O端口。前者比較簡(jiǎn)單,所擴(kuò)展的I/O端口數(shù)量通常不限,但當(dāng)外設(shè)本身沒有接口能力時(shí),使用受到限制;后者較為復(fù)雜,但I(xiàn)/O數(shù)據(jù)可以得到緩沖和鎖存,故可采用中斷方法傳送I/O數(shù)據(jù)。本設(shè)計(jì)采用第二種方法,使用8155進(jìn)行擴(kuò)展。
MCS-51和8155接口極為簡(jiǎn)單,因?yàn)?155內(nèi)部包含有一個(gè)8位地址鎖存器,故可以用來鎖存CPU送來的端口地址和RAM(256字節(jié))地址。MCS-51和8155的硬件連接中,所用地址譯碼的方法有:全譯碼、部分譯碼和線選法等三種。本設(shè)計(jì)采用16位地址線選法譯碼,具體接線如圖2-1所示。
圖2-1 8155線選法譯碼接線圖
89C51與8155相連不僅可為外設(shè)提供兩個(gè)8位I/O斷口(A口和B口)和一個(gè)6位I/O端口(C口),也可為CPU提供一個(gè)256字節(jié)的RAM和一個(gè)14位定時(shí)器/計(jì)數(shù)器。因此8155的擴(kuò)展為本設(shè)計(jì)提供了很多方便。
圖中8155的CE與P2.7相連,其他.P2.6~P2.0懸空。當(dāng)P2.7=0時(shí),選中8155內(nèi)部各I/O端口工作。此時(shí),8155的選口地址為:
8000H~8007H基本選口地址
8000H~FFFFH重疊選口地址
當(dāng)P2.7=1時(shí),選中8155內(nèi)部RAM(256字節(jié))工作。此時(shí)8155的選口地址為:
0000H~00FFH基本地址
0000H~7FFFH重疊地址
按照這種接線,查《單片機(jī)原理及其接口技術(shù)》表7-3可知,圖中8155的PA口的地址為8001H;PB口的地址為8002H;PC口的地址為8003H。
2.2復(fù)位電路設(shè)計(jì)
任何單片機(jī)在開機(jī)時(shí)都需要復(fù)位,以便中央處理器CPU以及其他功能部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。復(fù)位對(duì)單片機(jī)來說,是程序還沒有開始執(zhí)行,是在做準(zhǔn)備工作。復(fù)位信號(hào)是高電平有效,因此只要在單片機(jī)復(fù)位信號(hào)的輸入端,即RET引腳上加上高電平就可以使單片機(jī)復(fù)位了,持續(xù)時(shí)間要有24個(gè)時(shí)鐘周期以上。為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,在設(shè)計(jì)復(fù)位電路時(shí),一般使RESET引腳保持10ms以上穩(wěn)定的高電平。復(fù)位的時(shí)間不少于10ms,為了達(dá)到這個(gè)要求,需要在外部設(shè)計(jì)復(fù)位電路。
復(fù)位電路就是使系統(tǒng)回到初始化狀態(tài)。復(fù)位分為自動(dòng)上電復(fù)位和人工按鈕復(fù)位兩種。在單片機(jī)應(yīng)用系統(tǒng)中,除單片機(jī)本身需要復(fù)位外,外部擴(kuò)展I/O接口電路等也需要復(fù)位,因此需要一個(gè)系統(tǒng)同步復(fù)位電路。本設(shè)計(jì)中用到的8155芯片復(fù)位端的復(fù)位電平與89C51的復(fù)位電平的要求一致,可以將復(fù)位信號(hào)與8155的復(fù)位端相連。上電瞬間,RC電路充電,RST引線出現(xiàn)正脈沖,只要RST保持10ms以上的高電平,就能使單片機(jī)有效的復(fù)位。在應(yīng)用系統(tǒng)中,外圍芯片也需要復(fù)位,當(dāng)上電時(shí),單片機(jī)和外圍電路都同時(shí)得到了復(fù)位。
RST/VPD的第二功能是作為備用電源輸入端。當(dāng)主電源VCC發(fā)生故障而降低到規(guī)定低電平時(shí),RST/VPD線上的備用電源自動(dòng)投入,以保證片內(nèi)RAM中信息不丟失。本設(shè)計(jì)采用的是開關(guān)復(fù)位電路,開關(guān)按下系統(tǒng)就復(fù)位。電路圖如圖2-2,RST/VPD同時(shí)還與8155的復(fù)位端相連,當(dāng)開機(jī)運(yùn)行時(shí),系統(tǒng)自動(dòng)復(fù)位到初始化狀態(tài)。
圖2-2 單片機(jī)開關(guān)復(fù)位電路
2.3時(shí)鐘振蕩電路
MCS-51單片機(jī)內(nèi)部的振蕩電路是一個(gè)到增益反相放大器,引線 XTAL1和XTAL2分別為反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內(nèi)振蕩器。單片機(jī)內(nèi)部雖然有振蕩電路,但要形成成時(shí)鐘,外部還需要附加電路。所以就需要外部再接時(shí)鐘振蕩電路,該電路可以采用石晶振蕩和陶瓷振蕩。
在MCS-51單片機(jī)內(nèi)部的振蕩電路XTAL1和XTAL2引線上外接定時(shí)元件時(shí),內(nèi)部振蕩電路便產(chǎn)生自激振蕩。MCS-51單片機(jī)的時(shí)鐘產(chǎn)生方式有兩種,分別為:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。一般采用內(nèi)部時(shí)鐘方式,也就是在XTAL1和XTAL2之間連接晶體振蕩器與電容構(gòu)成穩(wěn)定的自激振蕩器,如圖2-3所示。
圖2-3 時(shí)鐘振蕩電路
晶體和電容決定了單片機(jī)的工作時(shí)間精度為1微秒。晶體可在0.5-16MHz之間選擇。MCS-51單片機(jī)在通常應(yīng)用情況下,使用振蕩頻率為6MHZ的石英晶體,而12MHZ頻率的主要是在高速串行通信情況下才使用,本設(shè)計(jì)選用的是12MHZ石英晶體。外部電路中對(duì)電容沒有嚴(yán)格要求,但它的取值值對(duì)振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振速度有一點(diǎn)影響。C1和C2一般在20-100PF之間取值,典型值為30PF。
根據(jù)上面的要求,本設(shè)計(jì)在片內(nèi)振蕩電路輸入線XTAL1和XTAL2上外接石英晶體和微調(diào)電容。石英晶振起振后,應(yīng)能在XTAL2線上輸出一個(gè)3V左右的正弦波,以便使片內(nèi)的OSC電路按石英晶振相同頻率自激振蕩。本設(shè)計(jì)OSC的輸出時(shí)鐘頻率fOSC為12MHz;電容的取值為30PF。具體的電路如圖3-3所示。
2.4 顯示接口電路設(shè)計(jì)
在本單片機(jī)系統(tǒng)設(shè)計(jì)中,通過8155擴(kuò)展I/O端口來連接4位LED(Light-Emitting Diode,發(fā)光二極管)數(shù)碼顯示管,用來顯示步進(jìn)電機(jī)當(dāng)前的轉(zhuǎn)動(dòng)速度。LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的輸出設(shè)備,其結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜。LED有七段和八段之分,也有共陰和共陽兩種。在此采用的是八段共陰LED顯示管。八段LED顯示管由八只發(fā)光二極管組成,編號(hào)是a、b、c、d、e、f、g和SP,分別和同名管腳相連。八段LED顯示管原理是通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點(diǎn)亮從而顯示不同字形的。在八段共陰LED顯示管中,所有發(fā)光二極管陰極共連后接到引腳G,G腳為控制器,用于控制LED是否點(diǎn)亮。若G腳接地,則LED被點(diǎn)亮;若G腳接TTL高電平,則它被熄滅。
圖2—4 LED顯示器電路
第3章 鍵盤電路設(shè)計(jì)
3.1鍵盤排列設(shè)計(jì)
鍵盤是若干按鍵的集合,是單片機(jī)的常用輸入設(shè)備,操作人員可以通過鍵盤輸入數(shù)據(jù)和命令,實(shí)現(xiàn)人機(jī)通信。鍵盤的連接方式可以分為獨(dú)立聯(lián)接式和行列(矩陣)式兩類。每一類又可根據(jù)對(duì)按鍵的譯碼方法分為編碼鍵盤和非編碼鍵盤兩種類型[1]。
編碼鍵盤主要通過硬件電路產(chǎn)生被按按鍵的鍵碼和一個(gè)選通脈沖,選通脈沖常用做CPU的中斷請(qǐng)求信號(hào),以便通知CPU以中斷方式接收被按按鍵的鍵碼。這種鍵盤使用方便,但硬件電路復(fù)雜,常不被微型計(jì)算機(jī)采用[1]。
在非編碼鍵盤中,每個(gè)按鍵的作用只是使相應(yīng)接點(diǎn)接通或斷開,每個(gè)按鍵的鍵碼并非由硬件電路產(chǎn)生,而是有相應(yīng)掃描處理程序?qū)λ鼟呙栊纬傻摹R虼?,非編碼鍵盤硬件電路極為簡(jiǎn)單,在微型計(jì)算機(jī)中得到了廣泛應(yīng)用。因?yàn)楸驹O(shè)計(jì)采用的是單片機(jī)控制系統(tǒng),所以本設(shè)計(jì)中鍵盤對(duì)按鍵的譯碼方法采取非編碼鍵盤。
在獨(dú)立聯(lián)接式的非編碼鍵盤中,每個(gè)按鍵都是彼此獨(dú)立的,均需占用CPU的一條I/O輸入數(shù)據(jù)線。這樣的排列只有在按鍵較少或I/O口使用較少時(shí)使用。本設(shè)計(jì)中按鍵有16個(gè),再加上須控制三個(gè)步進(jìn)電動(dòng)機(jī), I/O口的使用也已經(jīng)很緊張了,因此用獨(dú)立聯(lián)接式的非編碼鍵盤已經(jīng)不能滿足要求了,所以本設(shè)計(jì)的鍵盤選擇為行列式非編碼鍵盤。
行列式非編碼鍵盤是一種把所有按鍵排列成行列矩陣的鍵盤。在這種鍵盤中,每根行線(水平線)和列線(垂直線)的交叉處都接有一個(gè)按鍵,每當(dāng)某個(gè)按鍵被按下時(shí),與這個(gè)按鍵相連的行線和列線就會(huì)接通,否則是斷開狀態(tài)。因此,一個(gè)MⅹN的行列式鍵盤只需M條行線和N條列線,共占用M+N條單片機(jī)的I/O端口線。
8155對(duì)行列式鍵盤的接口電路如圖3-1所示,該鍵盤共有16個(gè)按鍵,分成四行四列。四條行線是接在8155的PC0、PC1、PC2、PC3口上的,而四條列線是接在8155的PB4、PB5、PB6、PB7上的。在每條行線和列線的交叉處都有一個(gè)按鍵。所以4*4=16,一共16個(gè)按鍵。圖中這16個(gè)鍵分成三類:一是數(shù)字鍵0~9;二是速度鍵1個(gè),按的次數(shù)為Ⅰ~Ⅵ次,分別代表六檔速度,每按一次速度檔加一;三是功能鍵5個(gè),分別是:“確認(rèn)”、“刪除”、“復(fù)位”、“急?!薄ⅰ伴_始”。
CPU監(jiān)視鍵盤中是否有鍵按下的原理很簡(jiǎn)單。如圖3-1所示,行線通過電阻與+5V的電源相連。CPU只要把全“0”送到8155的PB4、PB5、PB6、PB7,就可以在所有的列線R1、R2、R3、R4上得到低電平,然后讀取PC0、PC1、PC2、PC3上的行值就可以判斷是否有鍵按下。在沒有鍵按下時(shí),行線都是高電平。當(dāng)有鍵按下時(shí),行線與列線接通,相應(yīng)的行線就變?yōu)?。
圖3-1 行列式鍵盤接線圖
3.2中斷電路
判斷是否有鍵按下,CPU可以采取定時(shí)掃描和中斷的方式。如果采取定時(shí)掃描,CPU每隔一段時(shí)間就得中斷掃描一次,這樣增加了CPU的負(fù)荷。所以本設(shè)計(jì)采用中斷方式,當(dāng)有鍵按下時(shí)才進(jìn)行處理。
中斷是指計(jì)算機(jī)暫時(shí)停止原程序的執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(wù)(執(zhí)行中斷服務(wù)程序),并在服務(wù)完成后自動(dòng)返回原程序執(zhí)行的過程。中斷由中斷源產(chǎn)生,中斷源在需要時(shí)可以向CPU提出“中斷請(qǐng)求”。中斷的優(yōu)點(diǎn)是:①可以提高CPU的工作效率。CPU有了中斷功能就可以通過分時(shí)操作啟動(dòng)多個(gè)外設(shè)同時(shí)工作,并能對(duì)它們進(jìn)行統(tǒng)一管理。CPU執(zhí)行主程序中安排的有關(guān)指令可以令各外設(shè)與它并行工作,而且任一個(gè)外設(shè)在工作完成后都可以通過中斷得到滿意的服務(wù)。因此,CPU在與外設(shè)交換信息時(shí)通過中斷就可以避免不必要的等待和查詢,從而大大提高它的工作效率。②可以提高實(shí)時(shí)數(shù)據(jù)的處理實(shí)效。在實(shí)時(shí)控制系統(tǒng)中,被控系統(tǒng)的實(shí)時(shí)參量、越限數(shù)據(jù)和故障信息必須為計(jì)算機(jī)及時(shí)采集、進(jìn)行處理和分析判斷,以便對(duì)系統(tǒng)實(shí)施正確的調(diào)節(jié)和控制。CPU有了中斷功能,系統(tǒng)的失常和故障就都可以通過中斷立刻通知CPU,使它可以迅速采集實(shí)時(shí)數(shù)據(jù)和故障信息,并對(duì)系統(tǒng)作出應(yīng)急處理。所以本設(shè)計(jì)采用中斷方式判斷是否有鍵按下。
在鍵盤的4條行線通過與非門和一個(gè)反向器與AT89C51的相連。這個(gè)與非門是74LS40四輸入與非門。如圖3-2當(dāng)有鍵按下時(shí),行線上值變?yōu)?,只要有一路為0,與非門的輸出就為1,再經(jīng)過反向器后的輸出就為0。而INTO是負(fù)邊沿觸發(fā),這樣就會(huì)向AT89C51發(fā)出中斷請(qǐng)求,AT89C51則響應(yīng)中斷對(duì)按鍵和數(shù)據(jù)進(jìn)行處理。
圖3-2 鍵盤中斷接線圖
圖3-2中使用的74LS40四輸入與非門的狀態(tài)表如下(A、B、C、D是與非門的四個(gè)輸入端;Y是與門的輸出端):
A
B
C
D
Y
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
當(dāng)沒鍵按下時(shí),行線PC0~PC2的值都為1,當(dāng)有鍵按下時(shí),行線和列線接通,變?yōu)?,經(jīng)與非門輸出變?yōu)?,再經(jīng)過反向器后輸出就變?yōu)?,就向CPU發(fā)出中斷請(qǐng)求。
3.3鍵盤掃描并識(shí)別按鍵
當(dāng)按下某個(gè)按鍵時(shí),被按鍵的簧片總會(huì)有輕微抖動(dòng),這種抖動(dòng)常常會(huì)持續(xù)10ms左右。如圖3-3所示。
圖3-3 鍵合斷時(shí)的電壓抖動(dòng)
因此CPU在按鍵抖動(dòng)期間掃描鍵盤會(huì)得到錯(cuò)誤的行首鍵號(hào)和列值,最好的辦法是使CPU在檢測(cè)到有鍵按下時(shí)延時(shí)20ms再進(jìn)行列向掃描。延時(shí)的方法用CPU執(zhí)行循環(huán)程序,來消耗一定的機(jī)器周期數(shù),達(dá)到延時(shí)的時(shí)間。具體的程序如下:
DY20MS:MOV 05H, #27H
DY20MS1:MOV 06H, #0FFH
DY20MS2:DJNZ 06H, DY20MS2
DJNZ 05H, DY20MS1
RET
時(shí)鐘周期又稱為振蕩周期,由單片機(jī)片內(nèi)振蕩電路OSC產(chǎn)生,常定義為時(shí)鐘脈沖頻率的倒數(shù),是時(shí)序中最小的時(shí)間單位。本設(shè)計(jì)單片機(jī)的晶振頻率為12MHz,,則它的時(shí)鐘周期為1/12M,等于1/12(us)。而機(jī)器周期定義為實(shí)現(xiàn)特定功能所需要的時(shí)間,通常是若干個(gè)時(shí)鐘周期構(gòu)成。MCS-51單片機(jī)的機(jī)器周期時(shí)間是固定不變的,均為12個(gè)時(shí)鐘周期T構(gòu)成。所以本設(shè)計(jì)的單片機(jī)芯片的機(jī)器周期為1 us。指令周期是時(shí)序中最大的時(shí)間單位,定義為執(zhí)行一條指令所需的時(shí)間,而不同指令所包含的機(jī)器周期數(shù)是不相同的。
在上述程序中,第一條DY20MS程序的執(zhí)行需要消耗2個(gè)機(jī)器周期數(shù);第二條DY20MS1程序的執(zhí)行也是需要消耗2個(gè)機(jī)器周期數(shù);第三條DY20MS2第一行程序的執(zhí)行需要消耗2個(gè)機(jī)器周期數(shù);第二行也同樣要消耗2個(gè)機(jī)器周期數(shù),20ms的消耗計(jì)算如下:
2+(2+255*2+2)*39=20048(機(jī)器周期)
而單片機(jī)的機(jī)器周期為1 us,所以延時(shí)的時(shí)間是(1*20048)us,也就是20.048ms。通過這樣就可以達(dá)到延時(shí)20ms的目的了。
經(jīng)過了按鍵去抖動(dòng)后,確認(rèn)有鍵按下時(shí),CPU獲取被按鍵的行首鍵號(hào)和列值只需逐列對(duì)鍵盤掃描(即輪流地使8155的B口中接鍵盤的四條列線變?yōu)榈碗娖剑┮宰x取和判斷PC3~PC0的行值即可。讀取的行值還要進(jìn)行高四位屏蔽,因?yàn)闆]接入線路的高四位可能會(huì)因?yàn)槟承└蓴_而改變,從而影響了數(shù)據(jù)的判斷。在屏蔽完成后,讀取的行值若為0FH,則表明被按鍵不在本列,若行值不為0FH,則表明被按鍵在本列。判斷處于0狀態(tài)的行即可獲取行首鍵號(hào),以及判斷處于0狀態(tài)的列(設(shè)置一個(gè)列值計(jì)數(shù)器R0,并在列掃描前清零)即可得到列值。
通過以上的方法,就可以得到被按鍵的行值和列值。
3.4數(shù)據(jù)轉(zhuǎn)換設(shè)計(jì)
由于鍵盤上所有按鍵的鍵值都存放在鍵值表中。鍵值表:CPU掃描鍵盤時(shí)可以通過程序讀取被按鍵的行首鍵號(hào)(每行第0列的鍵號(hào))和列值(第0條的列值為0,第7條的列值為7),并求出被按鍵的鍵號(hào)(即鍵值的地址偏移量),然后再查鍵值表即可知道什么鍵被按下。因此,欲求被按鍵的鍵值必須先求出被按鍵鍵值在鍵值表中的地址偏移量。本設(shè)計(jì)中被按鍵鍵值的地址偏移量實(shí)際上是被按鍵的鍵號(hào),這個(gè)鍵號(hào)等于被按鍵所在行首鍵號(hào)與它的列值之和。求取公式為:
被按鍵的鍵號(hào)N=行首鍵號(hào)+列值
CPU求得被按鍵的鍵號(hào)N(地址偏移量)后,就可以利用查表指令求得被按鍵的鍵值了。
本設(shè)計(jì)中第一行的行首鍵號(hào)為00H;第二行的行首鍵號(hào)為08H;第三行的行首鍵號(hào)為10H;第四行的行首鍵號(hào)為18H。各鍵的行首鍵號(hào)、列值、鍵值和相應(yīng)鍵的關(guān)系編在一個(gè)表格中。如表3-1所示:
表3-1 鍵值表
地址偏移量
鍵值
行首鍵號(hào)
列值
按鍵
00H
00H
00H
00H
0
01H
01H
00H
01H
1
02H
02H
00H
02H
2
03H
03H
00H
03H
3
04H
04H
00H
04H
4
05H
05H
00H
05H
5
地址偏移量
鍵值
行首鍵號(hào)
列值
按鍵
06H
06H
00H
06H
6
07H
07H
00H
07H
7
08H
08H
08H
00H
8
09H
09H
08H
01H
9
0AH
0AH
08H
02H
速度
0BH
0BH
08H
03H
確認(rèn)
0CH
0CH
08H
04H
刪除
0DH
0DH
08H
05H
復(fù)位
0EH
0EH
08H
06H
急停
0FH
0FH
08H
07H
開始
當(dāng)獲得鍵值后,還要對(duì)按鍵的類型進(jìn)行識(shí)別。在鍵值表中,數(shù)字鍵所對(duì)應(yīng)的鍵值必小于0AH;速度鍵是0AH;功能鍵是大于0AH到0FH。因此,CPU判別被按鍵是數(shù)字鍵還是速度鍵還是功能鍵就十分容易了。若被按鍵的鍵值小于0AH,則轉(zhuǎn)數(shù)字鍵處理程序;若被按鍵等于0AH,則轉(zhuǎn)速度鍵處理程序;如果被按鍵大于0AH,則轉(zhuǎn)功能鍵處理程序。
當(dāng)獲得鍵值后,還必須對(duì)數(shù)據(jù)進(jìn)行處理。如果是數(shù)字鍵,還要分清是百位還是十位還是個(gè)位。如果是百位的數(shù)值,因?yàn)榘宋坏亩M(jìn)制數(shù)最大只有255,所以為了防止數(shù)值過大,溢出出錯(cuò),百位上的數(shù)值先乘以25,到了電動(dòng)機(jī)旋轉(zhuǎn)時(shí),百位輸出四遍。如果是十位數(shù),鍵值就乘以10,如果是個(gè)位數(shù),就不變,然后乘完后的十位數(shù)和個(gè)位數(shù)相加,得到實(shí)際的數(shù)值,這個(gè)實(shí)際的數(shù)值到電動(dòng)機(jī)旋轉(zhuǎn)時(shí)只輸出一遍,與百位不同。每個(gè)位上的數(shù)據(jù)在轉(zhuǎn)化后都要存到相應(yīng)的單元。
如果是速度鍵,要識(shí)別速度鍵按下了幾次。按下一次表示一檔速度,按下兩次表示二檔速度。因?yàn)楸驹O(shè)計(jì)所用的步進(jìn)電機(jī)要求速度實(shí)現(xiàn)6檔控制,分別為500r/min;1000 r/min;1500 r/min;2000 r/min;2500 r/min;3000 r/min,所以速度鍵最多只能被按下六次。識(shí)別到是哪個(gè)速度檔后,就把相應(yīng)速度檔的定時(shí)器初值裝入固定單元。這樣就可以修改定時(shí)器的定時(shí)時(shí)間,也就修改了脈沖頻率,從而就修改了電動(dòng)機(jī)的轉(zhuǎn)動(dòng)速度。
如果是功能鍵,要識(shí)別是哪個(gè)功能鍵。如果是“確認(rèn)”鍵,要判斷“確認(rèn)”鍵是第幾次按下,如果是第一次按下,表示輸入的是X軸坐標(biāo);如果是第二次按下,表示輸入的是Y軸坐標(biāo);如果是第三次按下,表示輸入的是Z軸坐標(biāo)。判斷完后再把輸入的絕對(duì)坐標(biāo)進(jìn)行轉(zhuǎn)換,把數(shù)據(jù)與實(shí)際代表的數(shù)值進(jìn)行聯(lián)系,同時(shí)還要把絕對(duì)坐標(biāo)轉(zhuǎn)化為相對(duì)坐標(biāo),因?yàn)殡姍C(jī)的運(yùn)轉(zhuǎn)是走相對(duì)坐標(biāo)的。最后,還要把相對(duì)坐標(biāo)轉(zhuǎn)化為各個(gè)電機(jī)的脈沖數(shù)。如果是“刪除”鍵,則在確認(rèn)鍵按下之前就要對(duì)電機(jī)的相應(yīng)坐標(biāo)清零,以便重新輸入X、Y、或Z軸的坐標(biāo)。如果是“復(fù)位”鍵,就要對(duì)電機(jī)的所有坐標(biāo)清零,同時(shí)使電機(jī)運(yùn)行到三個(gè)坐標(biāo)的零點(diǎn),即原點(diǎn)。如果是“急?!辨I,就關(guān)閉定時(shí)器,中斷脈沖,電機(jī)就停轉(zhuǎn)了。如果是“開始”鍵,就打開定時(shí)器,輸出激勵(lì)信號(hào),重新開啟脈沖,電動(dòng)機(jī)就開始轉(zhuǎn)動(dòng)并在4位LED(Light-Emitting Diode,發(fā)光二極管)數(shù)碼顯示管上顯示電機(jī)轉(zhuǎn)速。
3.5本章小結(jié)
本章主要介紹了鍵盤的連接方式,按鍵的布局,以及按鍵中斷和按鍵數(shù)據(jù)的處理和轉(zhuǎn)換。闡述了實(shí)現(xiàn)按鍵識(shí)別和數(shù)據(jù)轉(zhuǎn)換的具體方法和操作過程。
第4章 步進(jìn)電機(jī)的驅(qū)動(dòng)和控制設(shè)計(jì)
4.1步進(jìn)電機(jī)的選擇
步進(jìn)電動(dòng)機(jī)是一種利用電磁鐵的作用原理將電脈沖信號(hào)轉(zhuǎn)換成為線位移或角位移的電機(jī),近年來在數(shù)字控制裝置中的應(yīng)用日益廣泛。其基本原理是對(duì)步進(jìn)電動(dòng)機(jī)加一個(gè)電脈沖后,其轉(zhuǎn)軸就轉(zhuǎn)過一個(gè)角度,稱為一步;脈沖數(shù)增加,角位移隨之增加;脈沖頻率越高,電動(dòng)機(jī)的旋轉(zhuǎn)速度就越快,反之則慢。輸入脈沖的相序改變后,電動(dòng)機(jī)便反轉(zhuǎn)。它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的,可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的。因此,步進(jìn)電動(dòng)機(jī)是純粹的數(shù)字控制電動(dòng)機(jī),非常合適單片機(jī)控制,在非超載的情況下,電機(jī)的轉(zhuǎn)速只取決于電脈沖信號(hào)的頻率,而不受負(fù)載變化的影響[3]。
步進(jìn)電動(dòng)機(jī)有如下特點(diǎn):步進(jìn)電動(dòng)機(jī)的角位移與輸入脈沖數(shù)嚴(yán)格成正比。因此,當(dāng)它轉(zhuǎn)一圈后,沒有積累誤差,具有良好的跟隨性;由步進(jìn)電動(dòng)機(jī)與驅(qū)動(dòng)電路組成的開環(huán)數(shù)控系統(tǒng),既簡(jiǎn)單、廉價(jià),又非??煽?;步進(jìn)電動(dòng)機(jī)的動(dòng)態(tài)響應(yīng)快,易于啟停、正反轉(zhuǎn)及變速;速度可在相當(dāng)寬的范圍內(nèi)平穩(wěn)調(diào)整,低速下仍能獲得較大轉(zhuǎn)距,因此一般可以不用減速器而直接驅(qū)動(dòng)負(fù)載。
由于以上所有的優(yōu)點(diǎn),所以本設(shè)計(jì)選擇步進(jìn)電動(dòng)機(jī)。選擇的電機(jī)的型號(hào)是:55BF003;三相六拍;步距角1.5度;電壓27V;相電流3A;運(yùn)行頻率為12000HZ;最高空載啟動(dòng)頻率1800 Hz。本設(shè)計(jì)電機(jī)可調(diào)轉(zhuǎn)速分為6檔,分別為:500r/min、1000 r/min;1500 r/min;2000 r/min;2500 r/min;3000 r/min。電機(jī)轉(zhuǎn)速的大小是由脈沖的頻率來決定的。而脈沖頻率是由定時(shí)器中斷的頻率決定的;定時(shí)器中斷頻率又是由初值決定的。所以要使電動(dòng)機(jī)的轉(zhuǎn)速改變就必須改變定時(shí)器的初值。
(1)轉(zhuǎn)速500r/min:
定時(shí)器的工作方式選擇方式1,在該方式下,定時(shí)器是按16位加1計(jì)數(shù)器工作的,該計(jì)數(shù)器由高8位TH和低8位TL組成。電動(dòng)機(jī)的步距角為1.5度, 360/1.5=240,所以電動(dòng)機(jī)轉(zhuǎn)一圈要240個(gè)脈沖。電動(dòng)機(jī)的轉(zhuǎn)速500r/min,即120ms/r,也就是單片機(jī)發(fā)出240個(gè)脈沖的時(shí)間是120ms。那每個(gè)脈沖是0.5ms,即500us。單片機(jī)時(shí)鐘脈沖頻率為12MHz,在定時(shí)器模式下,計(jì)數(shù)器由單片機(jī)主脈沖經(jīng)12分頻后計(jì)數(shù),所以計(jì)數(shù)的時(shí)間單位T是單片機(jī)時(shí)鐘周期TCLK的12倍。T=12*(1/fosc)=12*(1/12)(us)=1(us)。這樣我們就可以計(jì)算定時(shí)器的初值了:
TC=216-500us/1us=65036=FE0CH
所以,在轉(zhuǎn)速是500r/min時(shí),定時(shí)器的初值是FE0CH。
(2)轉(zhuǎn)速1000r/min:
電動(dòng)機(jī)的轉(zhuǎn)速1000r/min,即60ms/r,也就是單片機(jī)發(fā)出240個(gè)脈沖的時(shí)間是60ms。那每個(gè)脈沖是0.25ms,即250us。所以定時(shí)器的初值為:
TC=216-250us/1us=65286=FF06H
所以,在轉(zhuǎn)速是1000r/min時(shí),定時(shí)器的初值是FF06H。
(3)轉(zhuǎn)速1500r/min:
電動(dòng)機(jī)的轉(zhuǎn)速1500r/min,即40ms/r,也就是單片機(jī)發(fā)出240個(gè)脈沖的時(shí)間是40ms。那每個(gè)脈沖是0.167ms,即167us。所以定時(shí)器的初值為:
TC=216-167us/1us=65369=FF59H
所以,在轉(zhuǎn)速是1500r/min時(shí),定時(shí)器的初值是FF59H。
(4)轉(zhuǎn)速2000r/min:
電動(dòng)機(jī)的轉(zhuǎn)速2000r/min,即30ms/r,也就是單片機(jī)發(fā)出240個(gè)脈沖的時(shí)間是30ms。那每個(gè)脈沖是0.125ms,即125us。所以定時(shí)器的初值為:
TC=216-125us/1us=65411=FF83H
所以,在轉(zhuǎn)速是2000r/min時(shí),定時(shí)器的初值是FF83H。
(5)轉(zhuǎn)速2500r/min:
電動(dòng)機(jī)的轉(zhuǎn)速2500r/min,即24ms/r,也就是單片機(jī)發(fā)出240個(gè)脈沖的時(shí)間是24ms。那每個(gè)脈沖是0.1ms,即100us。計(jì)數(shù)的時(shí)間單位T= 1us。所以定時(shí)器的初值為:
TC=216-100us/1us=65436=FF9CH
所以,在轉(zhuǎn)速是2500r/min時(shí),定時(shí)器的初值是FF9CH。
(6)轉(zhuǎn)速3000r/min:
電動(dòng)機(jī)的轉(zhuǎn)速3000r/min,即20ms/r,也就是單片機(jī)發(fā)出240個(gè)脈沖的時(shí)間是20ms。那每個(gè)脈沖是0.083ms,即83us。計(jì)數(shù)的時(shí)間單位T= 1us。所以定時(shí)器的初值為:
TC=216-83us/1us=65453=FFADH
所以,在轉(zhuǎn)速是3000r/min時(shí),定時(shí)器的初值是FFADH。
本設(shè)計(jì)一共使用了三個(gè)步進(jìn)電動(dòng)機(jī),分別控制X、Y、Z方向上的移動(dòng)。單片機(jī)發(fā)出的脈沖數(shù)決定步進(jìn)電動(dòng)機(jī)轉(zhuǎn)過的角度,也決定了機(jī)械手在各個(gè)方向上移動(dòng)的距離。
4.2驅(qū)動(dòng)電路的設(shè)計(jì)
4.2.1拍脈沖的生成
步進(jìn)電動(dòng)機(jī)的脈沖可以用環(huán)形分配器生成,也可以用軟件生成。本設(shè)計(jì)的脈沖是用軟件生成的。55BF003采用三相六拍工作方式,則正向旋轉(zhuǎn)各相繞組的通電順序和I/O口對(duì)應(yīng)的輸出狀態(tài)為:
X電機(jī)三個(gè)繞組是連在89C51的P1.0、P1.1、P1.2口上的,狀態(tài)如下:
通電繞組:A→AB→B→BC→C→CA→A┅
P1口輸出狀態(tài): FEH→FCH→FDH→F9H→FBH→FAH→FEH┅
Y電機(jī)三個(gè)繞組是連在89C51的P1.3、P1.4、P1.5口上的,狀態(tài)如下:
通電繞組:A→AB→B→BC→C→CA→A┅
P1口輸出狀態(tài):F7H→E7H→EFH→CFH→DFH→D7H→F7H┅
Z電機(jī)三個(gè)繞組是連在89C51的P2.1、P2.2、P2.3口上的,狀態(tài)如下:
通電繞組:A→AB→B→BC→C→CA→A┅
P2口輸出狀態(tài):8CH→88H→8AH→82H→86H→84H→8CH┅
反向旋轉(zhuǎn)時(shí),改變通電順序即可,各相繞組的通電順序和I/O口對(duì)應(yīng)的輸出狀態(tài)為:
X電機(jī)狀態(tài)如下:
通電繞組:A→CA→C→CB→B→BA→A┅
P1口輸出狀態(tài):FEH→FAH→FBH→F9H→FDH→FCH→FEH┅
Y電機(jī)狀態(tài)如下:
通電繞組:A→CA→C→CB→B→BA→A┅
P1口輸出狀態(tài):F7H→D7H→DFH→CFH→EFH→E7H→F7H┅
Z電機(jī)狀態(tài)如下:
通電繞組:A→CA→C→CB→B→BA→A┅
P2口輸出狀態(tài):8CH→88H→8AH→82H→86H→84H→8CH┅
上述的狀態(tài)可以以下面的表格表示:
表4-1 電機(jī)輸出狀態(tài)表
PC
PB
PA
狀態(tài)
低地址L00→
1
1
0
FEH
順↓
↑逆
1
0
0
FCH
1
0
1
FDH
0
0
1
F9H
0
1
1
FBH
高地址L01→
0
1
0
FAH
對(duì)于“軟件生成拍脈沖”,用定時(shí)器產(chǎn)生中斷,每次中斷步進(jìn)電機(jī)走一個(gè)拍數(shù)。分配脈沖采用查表法,按正向運(yùn)轉(zhuǎn)的通電順序列出各相繞組的脈沖分配表。給電動(dòng)機(jī)設(shè)一個(gè)指針寄存器,初始化時(shí)使指針指向分配表的表首。步進(jìn)電動(dòng)機(jī)需要正向運(yùn)行一步時(shí),指針下移一行,同時(shí)輸出該行的狀態(tài),當(dāng)指針超出分配表表尾時(shí)自動(dòng)回到表首;步進(jìn)電動(dòng)機(jī)反向運(yùn)行時(shí),指針上移一行,并輸出該行的脈沖值,當(dāng)指針超出表首時(shí)又自動(dòng)回到表尾。具體的流程如圖4-1所示。通過這樣的設(shè)計(jì),就可以實(shí)現(xiàn)軟件生成脈沖了。
圖4-1 指針法程序流程圖
4.2.2隔離電路的設(shè)計(jì)
在工業(yè)控制領(lǐng)域中,單片機(jī)不僅要對(duì)被控對(duì)象進(jìn)行監(jiān)測(cè),輸入被控系統(tǒng)的開關(guān)量和模擬量,而且要把經(jīng)過處理后的信息以開關(guān)量和模擬量形式輸出并控制被控系統(tǒng)工作。這些開關(guān)量(如動(dòng)力回路的啟停、機(jī)械限位開關(guān)狀態(tài),等等)和模擬量(如壓力、溫度和流量傳感器的輸出、發(fā)電機(jī)的輸出電壓、電流和功率、電網(wǎng)電壓、等等)本身往往就是強(qiáng)電系統(tǒng)。因此,強(qiáng)電控制電路必將會(huì)對(duì)單片機(jī)控制系統(tǒng)產(chǎn)生嚴(yán)重干擾,以致單片機(jī)控制系統(tǒng)不能正常工作。本設(shè)計(jì)中,步進(jìn)電動(dòng)機(jī)的電流和電壓、功率就是強(qiáng)電系統(tǒng)。
單片機(jī)控制系統(tǒng)和強(qiáng)電控制回路共地是引起干擾的主要原因,因?yàn)閺?qiáng)電控制回路中電流和電壓往往很大,并會(huì)在強(qiáng)電使用的電器和地之間形成強(qiáng)大的脈動(dòng)干擾。這個(gè)脈動(dòng)干擾必然會(huì)通過接地不良電阻和電容耦合到單片機(jī)主機(jī)回路中。消除這些脈沖干擾的最有效的方法是使單片機(jī)弱電部分和強(qiáng)電控制回路的地隔開,在電氣連接上切斷它們彼此間的耦合通路[4]。因此,隔離器件兩側(cè)必須使用獨(dú)立的電源分別供電。
電氣隔離通常可分為繼電器隔離和光電隔離兩類。繼電器隔離適用于啟動(dòng)負(fù)荷大且響應(yīng)速度慢的動(dòng)力設(shè)備,因?yàn)槔^電器觸點(diǎn)的負(fù)載能力大,能直接控制動(dòng)力回路工作。光電隔離又稱為光電耦合、光電去耦器或光子耦合器等。光電耦合器由光源(發(fā)光二極管)和光傳感器(光敏三極管,本設(shè)計(jì)用達(dá)林頓管)組成。如圖4-2所示
圖4-2 光電隔離電路
4.2.3功率放大電路的設(shè)計(jì)
由于從單片機(jī)出來的脈沖電流只有幾十毫安,而步進(jìn)電動(dòng)機(jī)的定子繞組相電流需要3安培,所以從單片機(jī)出來的電流是無法直接驅(qū)動(dòng)步進(jìn)點(diǎn)電機(jī)的,這就必須用到電流和功率的放大器[5]。功率放大器的功能是將脈沖電流放大到足以驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)旋轉(zhuǎn)。
本設(shè)計(jì)所用的放大器是達(dá)林頓管,達(dá)林頓管又稱復(fù)合管。它是將二只三極管適當(dāng)?shù)倪B接在一起,以組成一只等效的新的三極管。這等效復(fù)合管的電流放大系數(shù)近似為二管電流放大系數(shù)的乘積。在電工學(xué)的電路設(shè)計(jì)中,達(dá)林頓接法常用于功率放大器和穩(wěn)壓電源中。
達(dá)林頓電路有四種接法:NPN+NPN,PNP+PNP,NPN+PNP,PNP+NPN. 前二種是同極性接法,后二種是異極性接法。本設(shè)計(jì)選擇的是NPN+NPN型,具體接法如圖4-3所示。前面為三極管射極跟后面三極管基極相接,前面三極管功率一般比后面三極管小,前面三極管基極為達(dá)林頓管基極,后面三極管射極為達(dá)林頓管射極,用法跟三極管一樣,放大倍數(shù)大約是兩個(gè)三極管放大倍數(shù)的乘積[6]。
本設(shè)計(jì)選用的組成復(fù)合管的三極管的型號(hào)為2SD560,電壓是150V;電流是5A;功率是30W,管子類型為NPN。
圖4-3電流放大電路
圖4-3中二極管起到單向?qū)ê歪尫烹姼芯€圈儲(chǔ)能的作用。當(dāng)達(dá)林頓管導(dǎo)通時(shí),由于二極管的單向?qū)ㄐ阅?,二極管和R1的線路就被截止,只有R2和線圈工作。由于線圈是屬于電感,電感是儲(chǔ)能元件,當(dāng)斷開電源,要求電機(jī)停止工作時(shí),線圈中仍然有能量。這時(shí),二極管和R1、R2、線圈就組成了回路,釋放能量。
4.3本章小結(jié)
本章主要闡述了步進(jìn)電機(jī)的選擇和步進(jìn)電機(jī)速度檔的分配,以及驅(qū)動(dòng)電路的設(shè)計(jì)。在驅(qū)動(dòng)電路部分主要介紹了步進(jìn)電機(jī)脈沖的生成;光電隔離電路的設(shè)計(jì);電機(jī)功率放大電路的設(shè)計(jì)。
結(jié)論
本設(shè)計(jì)的三自由度機(jī)械手是由用來執(zhí)行抓取、操作等動(dòng)作的末端執(zhí)行器固定在移動(dòng)平臺(tái)上構(gòu)成的。它具有很大的工作空間和移動(dòng)速度可控制等優(yōu)點(diǎn),并具有移動(dòng)和操作功能,是機(jī)器人領(lǐng)域一個(gè)重要的研究課題。
本論文在參考了國(guó)內(nèi)外相關(guān)文獻(xiàn)的基礎(chǔ)上,對(duì)系統(tǒng)完成了整體的設(shè)計(jì),所用器件的選擇,闡述了具體功能及實(shí)現(xiàn)的原理,之后主要針對(duì)機(jī)械手運(yùn)動(dòng)控制進(jìn)行研究。對(duì)于輸入設(shè)備的鍵盤,主要分析了它的排列方式,設(shè)計(jì)了按鍵中斷電路,然后識(shí)別按鍵,最后再對(duì)按鍵進(jìn)行數(shù)據(jù)處理和轉(zhuǎn)換,從而來完成輸入的控制。對(duì)于單片機(jī)控制系統(tǒng),本論文主要分析了它的選型,設(shè)計(jì)了它的晶振電路和開關(guān)復(fù)位電路,并對(duì)89C51進(jìn)行I/O擴(kuò)展,分析了各個(gè)I/O口的地址。對(duì)步進(jìn)電動(dòng)機(jī)的控制方面:設(shè)計(jì)了用軟件生成拍脈沖;完成了電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)。在驅(qū)動(dòng)電路里主要是對(duì)電機(jī)的隔離電路和功率放大電路進(jìn)行設(shè)計(jì)。此外還設(shè)計(jì)了電機(jī)轉(zhuǎn)動(dòng)時(shí)的轉(zhuǎn)數(shù)和轉(zhuǎn)速的控制過程,設(shè)計(jì)方法是通過控制電機(jī)的脈沖數(shù)從而控制步進(jìn)電動(dòng)機(jī)轉(zhuǎn)動(dòng)的轉(zhuǎn)數(shù),通過控制電機(jī)的脈沖頻率來控制步進(jìn)電動(dòng)機(jī)轉(zhuǎn)動(dòng)的速度。這樣就完成了電機(jī)驅(qū)動(dòng)和轉(zhuǎn)數(shù)以及速度的控制。
本課題的研究過程中主要完成了以下工
收藏
編號(hào):15441631
類型:共享資源
大?。?span id="wbcowto" class="font-tahoma">1.45MB
格式:ZIP
上傳時(shí)間:2020-08-10
50
積分
- 關(guān) 鍵 詞:
-
自由度
機(jī)械手
控制系統(tǒng)
設(shè)計(jì)
開題
cad
- 資源描述:
-
三自由度機(jī)械手控制系統(tǒng)設(shè)計(jì)含開題及CAD圖,自由度,機(jī)械手,控制系統(tǒng),設(shè)計(jì),開題,cad
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。