




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
武漢科技大學本科畢業(yè)設計武漢科技大學本科畢業(yè)設計緒論引言自從1961年美國Unimation公司推出第一臺工業(yè)機器人以來,機器人得到了十分迅速的發(fā)展。如今機器人已經(jīng)廣泛應用于工業(yè)生產(chǎn)中,如噴氣、焊接、搬運、裝配等工作,在汽車工業(yè)、電子工業(yè)、核工業(yè)、服務業(yè)和醫(yī)療衛(wèi)生等許多方面都有應用?,F(xiàn)在所說的機器人多指串聯(lián)機器人。1965年,英國高級工程師Stewart首先提出了一種6自由度的并聯(lián)機構作為飛行模擬器用于訓練飛行員[4],如圖1.1示。到1978年,澳大利亞的Hunt教授指出這種機構更接近于人體的結構,可以將此平臺作為機器人機構。80年代中期,國際上研究并聯(lián)機器人的學者還寥寥無幾,出的成果也不多,到80年代末期特別是90年代以來,并聯(lián)機器人才被廣為關注,并成為新的熱點,許多大型會議都設有專題進行討論。1985年,Clavel提出了一種成為Delta的三維移動機構,如圖1.2示。Delta機器人是最經(jīng)典的空間三自由度移動的并聯(lián)機構,大多數(shù)空間三自由度并聯(lián)機構都是從Delta機構衍生的。Delta機器人是一種具有3個平動自由度的高速并聯(lián)機器人,也是目前商業(yè)應用最成功的并聯(lián)機器人之一。圖1.1Stewart平臺圖1.2Delta機器人并聯(lián)機器人研究發(fā)展的現(xiàn)狀目前,國內(nèi)外對于并聯(lián)機器人的研究主要集中于機構學、運動學、動力學和控制策略等幾個領域。其中機構學和運動分析主要研究并聯(lián)機器人的運動學、奇異形位、工作空間和靈巧度分析等方面,這些研究是實現(xiàn)并聯(lián)機器人控制和應用的基礎。動力學和控制策略的研究主要是對并聯(lián)機器人進行動力學分析和建模,研究各種可能的控制算法,對并聯(lián)機器人實時控制,以達到預期的控制效果[11]。下面分別對并聯(lián)機器人的運動學、動力學、機構性能等方面的主要研究成果和趨勢進行闡述:1.運動學研究內(nèi)容包括位置正反解、速度和加速度分析兩部分。位置正解是給定并聯(lián)機器人各輸入關節(jié)的位置參數(shù),求解末端執(zhí)行器的位姿參數(shù);反解就是給定并聯(lián)機器人末端執(zhí)行器的位姿參數(shù),求解各輸入關節(jié)的位置參數(shù)。其中,解決位置正解問題主要方法有數(shù)值法和解析法兩種。2.并聯(lián)機器人的動力學研究包括慣性力計算、受力分析、驅動力矩分析、主負約束反力分析、動力學模型建立、計算機動態(tài)仿真、動態(tài)參數(shù)辨識等,其中建立動力學模型是實現(xiàn)并聯(lián)機器人控制的基礎。研究動力學特性的方法通常有以下:拉格朗日(L眼range)法、牛頓一歐拉(Newton一Euler)法、凱恩(Kane)法、高斯(Gauss)法等。Lagrange方法建立動力學方程是以系統(tǒng)動能和勢能建立的,它推導復雜、計算量大,但用矩陣形式表示的動力學模型既能用于動力學控制,又能用于系統(tǒng)動力學模擬,而且能清楚的表示出各構件間的禍合特性,有利于對系統(tǒng)的禍合特性做深入研究,因此Lagrange方程得到廣泛的應用。本文研究的目的與意義由于并聯(lián)機器人采用閉環(huán)機構,和串聯(lián)機器人的開鏈式機構相比,具有如下特點:1.并聯(lián)機器人其末端件上平臺同時由6(或3)根驅動桿支撐,與串聯(lián)的懸臂梁相比,其承載能力高、剛度大,而且結構穩(wěn)定;由于剛度大,在相同的自重或體積下,并聯(lián)式較串聯(lián)式有較高的承載能力。2.串聯(lián)式末端件上的誤差是各個關節(jié)誤差的積累和放大,因此誤差大而精度低,并聯(lián)式?jīng)]有那樣的積累和放大關系,各桿件誤差形成平均值,誤差小而精度高。3.串聯(lián)機器人的驅動電機及傳動系統(tǒng)大都放在運動的大小臂上,增加了系統(tǒng)的運動慣性,惡化了系統(tǒng)的動力性能;而并聯(lián)機器人很容易將電機置于基座上,減少了運動負荷,極大地提高了系統(tǒng)的動力性能。4.在位置求解上,串聯(lián)機構正解容易,反解十分困難,而與之相反的是,并聯(lián)機構正解困難而反解卻容易得到。由于機器人的在線實時計算是要計算反解,這就對串聯(lián)式造成了困難,而并聯(lián)式很容易實現(xiàn)。5.相對于串聯(lián)機器人,同樣的機構尺寸,并聯(lián)機器人的工作空間較小,主要是受輸入空間、平臺和基座的形狀和大小、平臺和基座及其桿件在空間的相互干涉、奇異位置等約束造成。6.由于并聯(lián)機構動力學特性具有高度非線性、強禍合的特點,使得其控制較為復雜。通過以上分析可知,并聯(lián)機器人與串聯(lián)機器人在應用上形成了一種互補的關系,各自都有其特殊的應用領域,可以說并聯(lián)機器人的出現(xiàn)擴大了機器人的應用范圍。隨著微電子和計算機技術的發(fā)展,并聯(lián)機器人得到了越來越廣泛的應用。工業(yè)上,并取機器人可以用在汽車總裝線上安裝輪胎,汽車發(fā)動機,還可以用作飛船對接器,潛艇救援中的對接器,飛行模擬器、空間飛行器對接機構及其地面試驗設備,天文望遠鏡跟蹤元位系統(tǒng)等,其中Delta機器人被廣泛應用于食品與藥品的包裝與機械自動生產(chǎn)線上。對于困難的地下工程,如上方挖掘,也可以利用并聯(lián)機構。并聯(lián)機器人的一個重要應用就是被稱為“21世紀的機床”的虛擬軸機床。并聯(lián)機床的中心結構簡單,傳動鏈極短,剛度大,質量輕,切削效率高,成本低,很容易實現(xiàn)6軸聯(lián)動,因而可以加工非常復雜的三維曲面。1994年美國芝加哥IMTS博覽會上GIDDINGS&LEWIS公司推出了新開發(fā)的并聯(lián)式VARJAX“虛擬軸機床”,引起廣泛關注。并聯(lián)機器人的另一個重要的應用方面是作為微動機構或微型機構。這種機構充分發(fā)揮了并聯(lián)機構工作空間不犬、精度和分辨率高的特點,在三維空間內(nèi)微小移動在2~20μm之間。如在眼科手術、微細外科手術中的細胞操作、心臟冠狀動脈移植等中都得到了很好的應用。系統(tǒng)初步介紹本次設計主要包含五大部分:1.Delta機器人機械部分,Delta機器人以42步進電機作為動力,使用1:27行星減速器,可以獲得更大的力矩以及更高的精度。機器人主體由搖臂、連桿、基座平臺、移動平臺及支架組成。2.步進電機驅動部分,由于Delta機器人的特性,需要步進電機低速運行,需要對步進電機進行細分控制。因此,對步進電機驅動器有較高要求。本次設計采用細分型高性能步進電機驅動芯片HST3525芯片作為步進電機驅動。獲得更好的性能。3.電源部分,本次設計為充分發(fā)揮步進電機的性能,主電源采用24V10A高頻開關電源。步進電機驅動控制信號電壓為5V,固選用5V開源電源為驅動器提供驅動電壓。4.電壓轉換部分,S3C6410的GPIO口輸出高電平為3.3V,為了能驅動HST3525芯片。需要用電壓轉換部分將3.3V轉換為5V電壓。5.本次設計采用ARM11SANSUNGS3C6410作為控制芯片,實現(xiàn)坐標解算和電機控制。S3C6410是一個16/32位RISC微處理器,旨在提供一個具有成本效益、功耗低,性能高的應用處理器解決方案。S3C6410采用了64/32位內(nèi)部總線架構。該64/32位內(nèi)部總線結構由AXI、AHB和APB總線組成。它還包括許多強大的硬件加速器,像視頻處理,音頻處理,二維圖形,顯示操作和縮放。用戶輸入坐標命令傳遞給解算函數(shù),解算函數(shù)(x,y,z)->(α,β,γ),經(jīng)解算函數(shù)反解后將所需運轉步數(shù)傳遞到串口,串口將命令更新保存在機器狀態(tài)中。每2ms機械運動控制程序運行一次,判斷還需運轉步數(shù)及方向,傳遞給電機驅動,步進電機旋轉相應角度,機械臂移動到對應坐標點。本文的主要工作本文首先對Delta機器人的背景、現(xiàn)狀、目的和意義進行了描述,對Delta機器人的控制流程進行了分析講解,然后對本控制系統(tǒng)的各個組成部分及功能模塊進行了詳細的分析,有Delta機器人機械部分、步進電機驅動部分、電壓轉換部分、ARM11SANSUNGS3C6410芯片。在此基礎上,論文詳盡的描述了本控制系統(tǒng)的S3C6410控制部分。包括S3C6410芯片初始化、時鐘初始化、UART中斷、按鍵中斷、定時器的使用、空間坐標反解等。
1系統(tǒng)開發(fā)相關工具介紹1.1OK6410開發(fā)板介紹隨著微電子技術的快速發(fā)展,ARM處理器經(jīng)歷了包括ARM7、ARM9在內(nèi)的多個發(fā)展歷程,而ARM11的成熟應用必將為嵌入式的發(fā)展帶來新的活力,使更高端的產(chǎn)品應用成為可能。與ARM9的5級流水線相比,ARM11擁有一條具有獨立的load-store和算術流水的8級流水線,在同樣工藝下,ARM11處理器的性能與ARM9相比大約提高了40%。ARM11執(zhí)行ARMv6架構的指令,ARMv6指令包含了針對媒體處理的單指令流多數(shù)據(jù)流(SIMD)擴展,采用特殊的設計,以改善視頻處理性能。為了能夠進行快速浮點運算,ARM11增加了向量浮點單元。所有這些結構上的提高,都是ARM9處理器不可比擬的[1]。S3C6410是由三星公司推出的一款低功耗、高性價比的RSIC處理器,它基于ARM11內(nèi)核(ARM1176JZF-S),可廣泛應用于移動電話和通用處理等領域;S3C6410為2.5G和3G通信服務提供了優(yōu)化的硬件性能,內(nèi)置強大的硬件加速器:包括運動視頻處理、音頻處理、2D加速、顯示處理和縮放等;集成了一個MFC(Multi-FormatvideoCodec)支持MPEG4/H.263/H.264編解碼和VC1的解碼,能夠提供實時的視頻會議以及NRSC和PAL制式的TV輸出;除此之外,該處理器內(nèi)置一個采用最先進技術的3D加速器,支持OpenGLES1.1/2.0和D3DMAPI,能實現(xiàn)4Mtriangles/s的3D加速;同時,S3C6410包含了優(yōu)化的外部存儲器接口,該接口能滿足在高端通信服務中的數(shù)據(jù)帶寬要求。由于以上突出的性能表現(xiàn),著名的蘋果公司手機IPHONE就是基于S3C6410處理器。OK6410開發(fā)板基于三星公司最新的ARM11處理器S3C6410,擁有強大的內(nèi)部資源和視頻處理能力,可穩(wěn)定運行在667MHz主頻以上,支持MobileDDR多種NANDFlash。OK6410開發(fā)板上集成了多種高端接口,如復合視頻信號、攝像頭、USB、SD卡、液晶屏、以太網(wǎng),并配備溫度傳感器和紅外接收頭等。這些接口可作為應用參考幫助用戶實現(xiàn)高端產(chǎn)品級設計。OK6410開發(fā)板采用‘核心板+底板’結構,核心板尺寸規(guī)格為‘5CM×6CM’,底板尺寸為‘10.5CM×14CM’,核心板與底板之間采用4組高質量進口連接器(鎳金工藝,接觸好、抗氧化),共計320個引腳(80×4),方便客戶進行二次開發(fā),進行各種形式的擴展應用。OK6410的軟件系統(tǒng)目前支持WinCE6.0、LINUX2.6.28、Android2.1以及uC/OS-II,提供標準板級支持包(BSP)并開放源碼,其中包含了所有接口的驅動程序,客戶可以直接加載使用。另外,該板可連接飛凌公司與之相配套使用的串口擴展板、WIFI模塊、攝像頭模塊等。1.2RVDS開發(fā)工具介紹RealView?DevelopmentSuite(RVDS)是ARM公司繼SDT與ADS1.2之后主推的新一代開發(fā)工具。RVDS集成的RVCT是業(yè)內(nèi)公認的能夠支持所有ARM處理器,并提供最好的執(zhí)行性能的編譯器;RVD是ARM系統(tǒng)調試方案的核心部分,支持含嵌入式操作系統(tǒng)的單核和多核處理器軟件開發(fā),可以同時提供相關聯(lián)的系統(tǒng)級模型構建功能和應用級軟件開發(fā)功能,為不同用戶提供最為合適的調試功效。目前全球基于ARM處理器的40億個產(chǎn)品設備中,大部分的軟件開發(fā)是基于RealView開發(fā)工具。安全、可靠和高性能地設計產(chǎn)品的最好選擇就是購買ARMRealView開發(fā)工具。Rvds2.2集成了Codewarriorforrvds開發(fā)環(huán)境。Codewarriorforrvds提供基于Windows使用的工程管理工具。它的使用使源碼文件的管理和編譯工程變得非常方便。但CodeWarriorIDE在UNIX下不能使用RealView編譯工具(RVCT)。優(yōu)化的標準C/C++編譯器鏈接器匯編器映像轉換工具ARM目標文件管理C語言庫RogueWaveC++標準模版庫RealView編輯工具為了給ARM架構提供最優(yōu)異的支持,ARM公司經(jīng)過十六年的研究推出了ARMRealView編譯工具。他們包含了能夠將C或C++編譯成32位ARM指令集、16位Thumb指令集和Thumb-2指令集所必需的軟件部件。RVDS編譯工具為ARM架構提供了最優(yōu)異的支持,它在代碼的速度和大小上有了許多重要改進。使用RVDS中的編譯工具能為嵌入式Linux和Symbian系統(tǒng)提供最優(yōu)化的應用程序。RVDS為那些一直在尋求互用ARM與GNU工具鏈,并且基于ARM架構的兼容ApplicationBinaryInterface(ABI)的客戶提供空前靈活的支持,使開源工具與商業(yè)工具的使用貫穿整個軟件開發(fā)團隊。1.3交叉編譯環(huán)境的搭建1.安裝Ubuntu12.04操作系統(tǒng)。Ubuntu是一個以桌面應用為主的Linux操作系統(tǒng),官網(wǎng)下載Ubuntu12.04進行安裝。嵌入式交叉編譯,經(jīng)常需要root用戶的權限,ubuntu12.04默認是不允許root登錄的,在登錄窗口只能看到普通用戶和訪客登錄。以普通身份登陸Ubuntu后我們需要做一些修改,用于支持root用戶登陸。2.安裝交叉編譯器。將arm-linux-gcc-4.3.2.tgz文件拷貝到Ubuntu的/forlinx目錄下,該文件可自行上網(wǎng)下載,也可以在OK6410開發(fā)板用戶基礎資料光盤的“實用工具”文件夾中找到。在Ubuntu中新建一個終端,輸入下面的命令安裝交叉編譯器:(進入/forlinx目錄)(創(chuàng)建目錄,若目錄已存,跳過即可)(編譯器解壓到/usr/local/arm)把交叉編譯器路徑添加到系統(tǒng)環(huán)境變量中,以后可以直接在終端窗口中輸入arm-linx-gcc命令來編譯程序。在終端中執(zhí)行:gedit/etc/profile添加以下四行到該文件中:exportPATH=/usr/local/arm/4.3.2/bin:$PATHexportTOOLCHAIN=/usr/local/arm/4.3.2exportTB_CC_PREFIX=arm-linuxexportPKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi保存,退出。重新啟動系統(tǒng),在終端里面執(zhí)行arm-linux-gcc回車,結果如圖2.1所示:圖1.1Ubuntu終端說明交叉編譯器已經(jīng)成功安裝到了系統(tǒng)里面,可以使用該編譯器來編譯Uboot代碼和內(nèi)核代碼了。1.4OK6410裸機程序的燒寫1.燒寫裸機程序前,我們需要做好開發(fā)板數(shù)據(jù)線以及電源線的連接。1)開發(fā)板電源線。2)USB轉串口線:一端連接電腦USB口,一端連接開發(fā)板。3)USBdevice線:一端連接電腦USB口,一端連接開發(fā)板。(dnw下載程序使用,需先安裝dnw驅動。)2.燒寫原理:用UBOOT命令nand燒寫程序到開發(fā)板。1)通過SD_Writer.exe將mmc.bin燒寫到SD卡中,將開發(fā)板設置到SD卡啟動,具體設置如表1.1所示。表1.1SD卡啟動撥碼表引腳號Pin8Pin7Pin6Pin5Pin4Pin3Pin2Pin1引腳定義SELNANDOM4OM3OM2OM1GPN15GPN14GPN13SD卡啟動11111000注:上表中。1表示撥碼需要調到On;0表示撥碼需要調到Off。在撥動開關時,務必把開關撥到底。如果沒有撥到底,會導致燒寫失敗。SD_Writer.exe的程序界面如圖1.2所示。圖1.2SD_Writer2)將SD卡安裝到開發(fā)板中并啟動,快速敲空格鍵讓開發(fā)板停留在uboot的啟動畫面,如圖1.3所示:圖1.3uboot3)輸入dnw50008000下載你要燒寫的程序,如圖1.4所示:圖1.4dnw下載然后從dnw的usbport->Transmit->Transmit發(fā)送你要生成的led.bin文件。4)輸入nanderase0100000擦除nandflash前1Mb空間,如圖1.5所示。圖1.5擦除nandflash5)輸入nandwrite.uboot500080000100000將內(nèi)存地址50008000中的1Mb數(shù)據(jù)寫到nandflash的0~100000空間中,如圖1.6所示。(即前1Mb中,uboot中輸入的數(shù)據(jù)默認16進制)圖1.6燒寫nandflash6)將開發(fā)板設置到nandflash啟動,如表1.2。并啟動開發(fā)板,你就可以看到程序在開發(fā)板上運行了。(由于OK6410采用的是每頁4KB的nandflash,而CPU默認支持最大2KB每頁的nandflash,種方法可以兼容大的bin文件。)表1.2nandflash啟動撥碼表引腳號Pin8Pin7Pin6Pin5Pin4Pin3Pin2Pin1引腳定義SELNANDOM4OM3OM2OM1GPN15GPN14GPN13SD卡啟動10011000注:上表中。1表示撥碼需要調到On;0表示撥碼需要調到Off。在撥動開關時,務必把開關撥到底。如果沒有撥到底,發(fā)生接觸不良,會導致啟動失敗。
2Delta機器人詳細設計2.1硬件結構分析2.1.1Delta機器人機械結構Delta機器人基平臺、搖臂及動平臺由250x250x10mm亞克力透明板切割而來。圖紙如下:圖2.1基平臺圖紙圖2.2動平臺圖紙圖2.3搖臂圖紙Delta機器人的關節(jié)用關節(jié)軸承代替球頭鉸鏈。關節(jié)軸承圖紙如圖2.4。圖2.4關節(jié)軸承2.1.2步進電機介紹步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構,當步進電機接收到一個脈沖信號,它就按設定的方向轉動一個固定的角度(稱為“步距角”)它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的。步進電機內(nèi)部的線圈組數(shù),區(qū)分步進電機的相數(shù),目前常用的有二相、三相、四相、五相步進電機。電機相數(shù)不同,其步距角也不同,一般二相電機的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72°。考慮到大小與驅動功率的限制,本次設計選用42BYGH403二相步進電機,其具體參數(shù)如表2.1:表2.1步進電機參數(shù)電機型號步距角(°)機身長(mm)電壓(V)電流(A)電阻(Ω)電感(mH)靜力矩(kg.cm)轉動慣量(g.cm2)重量(Kg)42BYGH4031.8402.41.6540.25上表數(shù)據(jù)中,因42BYGH403為二相步進電機,固步距角為1.8°,即每一個脈沖電機轉動1.8°。靜力矩也叫保持轉矩,是指步進電機通電但沒有轉動時,定子鎖住轉子的力矩。它是步進電機最重要的參數(shù)之一,通常步進電機在低速時的力矩接近保持轉矩。由于步進電機的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉矩就成為衡量步進電機最重要的參數(shù)之一。選擇的步進電機靜力矩為3.5kg.cm。在沒有驅動脈沖輸入時能更好的穩(wěn)定機械臂。二相四線步進電機的接線如圖2.5所示:圖2.5接線圖2.1.3步進電機驅動器本次設計步進電機需要低速運行,自制帶有細分功能的驅動器較為復雜,固選用二相混合式步進電機高細分2A驅動器HST3525。HST3525是采用專利技術研發(fā)的細分型高性能步進電機驅動器,適合驅動任何中小型2.0A相電流以下兩相或四相混合式步進電機。每秒兩萬次的斬波頻率,可以消除驅動器中的斬波噪聲。為滿足在脈沖頻率不高的情況下實現(xiàn)低速高細分、高速時用低細分的需求,上位機先檢測驅動器輸出的整步信號FSTEP,如整步信號有效,則上位機輸出新的細分數(shù)(MS2、MS1、MS0),待下一個整步出現(xiàn)后,驅動器就以新的細分數(shù)工作。動態(tài)改細分時,細分選擇開關SW4、SW5、SW6必須置于OFF狀態(tài)。上位機初始化后,應在輸出脈沖前,設置細分數(shù)(MS2、MS1、MS0)。如MS2、MS1、MS0為全OFF狀態(tài),則驅動器不工作,直到MS2、MS1、MS0脫離全OFF狀態(tài)。HST3525驅動器的參數(shù):供電電壓AC12-36V或DC12-24V驅動電流0.3-2.0A細分精度1-128細分可選光隔離信號輸入電機噪聲優(yōu)化功能可驅動任何2.0A相電流以下兩相、四相混合式步進電機20KHz斬波頻率驅動器電氣規(guī)格:表2.2驅動器電氣規(guī)格表說明單位最小值典型值最大值輸出電流A控制信號輸入電流mA71016步進脈沖頻率KHz0.1-100輸入電源電壓VDC122436脈沖低電平時間μs5--驅動器微步細分設定:表2.3驅動器微步細分設定表步數(shù)/轉MicroSW4SW5SW62001ONONON4002OFFONON8004ONOFFON16008OFFOFFON320016ONONOFF640032OFFONOFF1280064ONOFFOFF驅動器工作電流設定:表2.4驅動器工作電流設定表輸出峰值電流SW1SW2SW30.3AONONON0.4AOFFONON0.5AONOFFON0.6AOFFOFFON1.0AONONOFF1.2AOFFONOFF1.5AONOFFOFF2.0AOFFOFFOFF驅動器接口信號描述:表2.5驅動器接口信號表名稱功能PUL脈沖信號:上升沿有效,每當脈沖由低變高時電機走一步DIR方向信號:用于改變電機的轉向,TTL電平驅動VCC光耦驅動電源EN使能信號:禁止或允許驅動器工作,低電平禁止A+電機A相A-電機A相B+電機B相B-電機B相AC1接入AC12-36或DC12-24V之間的任意值AC2接入AC12-36或DC12-24V之間的任意值2.1.4硬件電路連接驅動器與S3C6410接線S3C6410包含了187個多功能輸入/輸出端口管腳,這些管腳被分為(ProtA)GPA-(ProtQ)GPQ17個端口。端口的管腳均可以設置成輸入或輸出本次設計選用端口GPC端口,GPC包括管腳GPC0~GPC7選用GPC0~GPC5作為控制信號。步進電機選型為兩相四線型42BYGH403其額定電流為1.65A因此需要驅動器,驅動器HST3525實現(xiàn)其輸入接口為脈沖信號和轉向信號,使能端懸空。用S3C2440驅動三臺42BYGH403步進電機的物理連接圖如圖2.6所示:圖2.6系統(tǒng)接線其中S3C6410的I/O輸出高電平為3.3V為了能夠驅動HST3525,需用3.3V轉5V轉換電路,其實現(xiàn)如圖2.7所示當GPC0的輸出是0的時候輸出會被拉成5V左右當GPC0的輸出時3.3V時由于三極管導通此時輸出被拉低成0,因此在給出GPC的輸出時還要注意將電平進行反轉。圖2.73.3V轉5V電路圖USERIO接口USERIO口為OK6410開發(fā)板的擴展口。(用到的IO口)GND - GNDSPIMOSIO3– GPC2SPICS0 - GPC3SPICLK0 - GPC1SPIMISCO0 - GPC0SPICS1 - GPC7SPIMISO1 - GPC4SPIMOSI1 - GPC6圖2.8USERIO SPICLK1 - GPCUART串口電路本次設計使用UART接口實現(xiàn)RS-232通信的硬件電路。S3C6410的UART接口為LVTTL電平,邏輯“1”是高電平2~3.3V,邏輯“0”是低電平0~0.8V。而R-S232接口的電平范圍是-15~+15V,采用負邏輯,即邏輯“1”為-3~-15V,邏輯“0”為+3~+15V。要使二者之間進行正常通信,就必須要通過一個電平轉換電路將TTL高電平表示的“1”轉換成RS-232的負電壓信號,把TTL低電平表示的“0”轉換成RS-232的正電壓信號。在本設計中采用常見的電平轉換芯片MAX202來實現(xiàn)電平轉換,UART0的電平轉換電路如圖2.9所示。TXD0、RXD0分別連接S3C6410的GPA1、GPA0。RTSN0與CTSN0為自動流量控制,本次設計沒有用到自動流量控制,在UNCON0寄存器中禁止自動流量控制。圖2.9UART串口電路按鍵電路接有10K的上拉電阻,按下按鍵I/O口為低電平,GPNDAT寄存器數(shù)據(jù)為0。電路如圖2.10所示。圖2.10按鍵電路2.2三自由度Delta機器人位置分析2.2.1Delta機器人機構簡介Delta機器人由靜平臺(上平臺)、動平臺(下平臺)、3根主動桿、3個平行四邊形從動支鏈組成(結構如圖2.11)?;脚_的三邊通過三條相同的運動鏈分別連接到運動平臺的三條邊上。每條運動鏈中有一個由四個球鉸與桿件組成的平行四邊形閉環(huán),此閉環(huán)再與一個帶轉動關節(jié)的驅動臂相串聯(lián),驅動臂的一端固定在靜平臺上,在電動機的驅動下作一定角度的反復擺動。這三條運動鏈決定了運動平臺的運動特性。運動平臺不能繞任何軸線旋轉,但可以在直角坐標空間沿x,y,z三個方向平移運動,即具有三個自由度[12]。分析該機構,容易知道該機構具有局部冗余自由度,即球鉸之間的連桿可以繞自身軸轉動,計算自由度時將四個球鉸中的兩個按虎克鉸考慮,以便消除局部自由度的影響。圖2.11Delta機器人機構圖計算空間機構自由度Kutzbach-Grubler公式可知:F=6式中:n為機構桿件數(shù);g為運動副個數(shù);i?1gF=6×2.2.2位置反解分析求解位置反解即給定運動平臺的中心點在基座坐標系中的坐標,求解基座平臺的三個控制電機的旋轉角度,也就是三個驅動臂對基座平臺的張角。運動學逆問題的求解是機器人控制的關鍵,因為只有使各關節(jié)變量按反解中求得的值運動,才能使末端操作器達到所要求的位姿。為了方便求解三自由度平臺的空間位置關系,研究平臺的運動規(guī)律,需要將機構稍加改造??紤]到運動平臺只有平動而無轉動,相對靜平臺姿態(tài)固定,機構中所有平行四邊形框架始終為平面四邊形,不會扭曲為空間四邊形。在此條件下,平行四邊形左右兩邊的運動與上下兩邊中點的連線的運動完全相同。因此,在運動分析時,可以將機構精簡為圖2.12所示。固定平臺是為以O為中心,動平臺為以O'為中心。三根主動桿為圖中的BiEi,長度均為Lb;從動桿為圖中EiPi,長度均為La。首先,為了計算方便,建立運動模型圖如圖2.12所示。由圖可以看出,在固定平臺上建立坐標系O-XYZ,動平臺上建立坐標系O圖2.12結構示意圖設,OBi=R,B其中,η=4i也可以得到點Pi在坐標系O'-X'P其中,η=4i根據(jù)幾何學關系,則Eie假設矢量OO‘在坐標系O-XYZ中C0P因此,根據(jù)PiR+Lbsin(?Lbcos為運動學逆解公式。上式整理簡化,得Aiti式中Ai,Bt因此,當給定機器人運動平臺的位置根據(jù)下式直接可求出電機的輸入,即驅動臂的張角。θ式(3)中的AiABCABCABC2.2.3位置反解數(shù)值算例通過上面的分析得到了Delta三自由度并聯(lián)機器人的位置反解計算公式,下面就以本次設計的Delta機器人的機構參數(shù)進行實例計算。本次設計Delta機器人機構各參數(shù)為:R=42mm,r=18mm,La=243mm,Lb=120mm,動平臺的位置(x,y,z)=(50,50,100)(mm),經(jīng)計算得:A1=469.596 B1=177.205 C1=69.596A2=434.954 B2=-169.205 C2=34.954A3=211.137 B3=-148 C3=11.137θθθ
3控制系統(tǒng)實現(xiàn)3.1控制系統(tǒng)控制流程用戶用戶PC串口服務程序機械運動控制程序(中斷內(nèi))坐標反解解算函數(shù)(x,y,z)=>(α,β,γ)步進電機驅動程序(定時中斷內(nèi))步進電機驅動步進電機驅動步進電機驅動步進電機1步進電機2步進電機3機械結構反饋S3C6410判斷步進電機運動方向與所需運動步數(shù)圖3.1控制系統(tǒng)流程圖工作總流程:用戶輸入坐標命令傳遞給解算函數(shù),解算函數(shù)(x,y,z)->(α,β,γ),經(jīng)解算函數(shù)反解后將所需運轉步數(shù)傳遞到串口,串口將命令更新保存在機器狀態(tài)中。每2ms機械運動控制程序運行一次,判斷步進電機還需運轉步數(shù)及方向,傳遞給電機驅動,步進電機旋轉相應角度,機械臂移動到對應坐標點。3.2S3C6410初始化S3C6410的啟動代碼的作用為硬件的初始化及調用C函數(shù)。硬件初始化流程如圖3.2所示。StartStart跳轉至reset關閉看門狗設置棧8K初始化時鐘、DDR、串口代碼重定位將程序從NANDFlash復制到DDR內(nèi)存清除BSS段中斷初始化打開中斷,進入usermodeblmain()圖3.2S3C6410初始化流程看門狗是S3C6410內(nèi)的一個定時器,其作用是在CPU啟動后,3s內(nèi)若無任何對看門狗寄存器的操作將會強制復位系統(tǒng)。所以在硬件初始化是需要往0x7E004000(WTCON)地址寫0,關閉看門狗。S3C6410內(nèi)有8K的片內(nèi)內(nèi)存,上電后從0地址開始運行,但是本次設計的代碼大于8K,程序無法完整復制至片內(nèi)內(nèi)存,需要將程序從NANDflash中復制到DDR內(nèi)運行。上電后從NANDflash復制8K程序到片內(nèi)內(nèi)存,在這8K程序中,必須完成硬件初始化、DDR初始化和程序從NANDflash中拷貝到DDR中,這樣才能保證S3C6410CPU程序可以跳轉到DDR,保證程序的順利進行,具體流程如圖3.3所示。DDR內(nèi)存初始化DDR內(nèi)存初始化程序的重定位程序復制至DDR內(nèi)存清除BSS段圖3.3程序復制至DDRDDR內(nèi)存的初始化在8K片內(nèi)內(nèi)存進行,還未進行重定位,只能用位置無關命令進行初始化。初始化包括使能時鐘、預充電、自刷新,初始化完成后才能進入讀寫數(shù)據(jù)狀態(tài)。程序重定位是把代碼段、數(shù)據(jù)段復制到鏈接地址去,實現(xiàn)如下:adrr0,_start/*獲得_start指令當前所在的地址:0*/ ldrr1,=_start/*_start的鏈接地址0x51000000*/ ldrr2,=bss_start/*bss段的起始鏈接地址*/ subr2,r2,r1程序從NANDflash復制到DDR內(nèi)存用copy2ddr函數(shù)實現(xiàn),在進行復制之前需要調用nand_init()函數(shù)對NANDflash進行初始化。在Linux系統(tǒng)中交叉編譯得到的.bin文件是沒有BSS段的,因此需要清除BSS段,BSS段主要存儲未復制或值為’0’的全局變量。具體方法為向BSS段寫’0’實現(xiàn)內(nèi)存清零。clean_bss: clean_loop: ldrr0,=bss_start strr3,[r0],#4 ldrr1,=bss_end cmpr0,r1 movr3,#0 bneclean_loop cmpr0,r1 ldrpc,=on_ddr ldreqpc,=on_ddr中斷初始化完成按鍵中斷和UART串口中斷的初始化,分別調用key_irq_init()和uart_irq_init()兩個函數(shù)完成。還要對CPSR寄存器第7位和M[4:0]進行設置,如圖3.4所示。第7位置’1’使能IRQ中斷,設置M[4:0]進入用戶模式。mrsr0,cpsrbic r0,r0,#0x9f/*清cpsr的I位,M4~M0*/orr r0,r0,#0x10msr cpsr,r0/*進入usermode*/圖3.4CPSR寄存器格式3.3中斷控制的實現(xiàn)開始開始中斷初始化:irp_init()設置GPN引腳為外部中斷。清除cpsr寄存器I位,打開中斷開關,進入usermode。保存現(xiàn)場處理中斷異bldo_irq按鍵調節(jié)PWM恢復現(xiàn)場發(fā)生中斷分辨中斷按鍵中斷,調用ent0~3()UART中斷,調用do_uart_irq()UART發(fā)送數(shù)據(jù)圖3.5中斷控制流程圖按鍵中斷實現(xiàn)驅動信號頻率的調節(jié),即調節(jié)步進電機的運轉速度。每按一下按鍵,發(fā)生一次中斷。對頻率進行一定數(shù)值的調節(jié)(增加或減少)。UART中斷實現(xiàn)串口數(shù)據(jù)的發(fā)送,當發(fā)送緩沖區(qū)數(shù)據(jù)少于16byte,發(fā)生中斷,從環(huán)形緩沖區(qū)讀取數(shù)據(jù)到發(fā)送緩沖區(qū)。按下按鍵或UART發(fā)送緩沖區(qū)少于16byte時發(fā)生中斷。CPU進入中斷模式,把之前保存的CPSR復制到SPSR_irq中,后r13、r14切換到r13_irq、r14_irq寄存器,把下一條指令存到r14(lr)_irq寄存器中。3.3.1保存現(xiàn)場如果不做保存處理,那麼即使以后能按斷點地址返回到被中斷程序,但由于環(huán)境被破壞,原程序也無法正確運行。 ldrsp,=0x54000000 sublr,lr,#4 stmdbsp!,{r0-r12,lr}/*lr就是swi的下一條指令地址*/3.3.2處理中斷 S3C6410共有64個中斷源。在通過VIC0INTENABLE、VIC0INTSELECT屏蔽后,可以讀取IRQ中斷狀態(tài)寄存器VIC0IRQSTATUS的值便知中斷是否有效,VIC0IRQSTATUS每一位對應0~31號中斷源。VIC0ADDRESS為矢量地址寄存器,該寄存器包含當前有效中斷的中斷服務程序的地址,讀這個寄存器就返回ISR的地址,然后便跳轉到中斷服務程序。在uart_irq_init()中VIC1VECTADDR5=uart_irq;//將UART中斷處理函數(shù)地址賦值 在key_irq_init()中 VIC0VECTADDR0=eint0_3_irq; //處理函數(shù)地址賦值 VIC0VECTADDR1=eint4_11_irq;使用do_irq()函數(shù)分辨發(fā)生了哪個中斷并跳轉到中斷處理函數(shù)。voiddo_irq(void){ inti=0; void(*the_isr)(void); if(VIC0IRQSTATUS) { the_isr=VIC0ADDRESS; the_isr(); EINT0PEND=0x3f;/*清中斷*/ VIC0ADDRESS=0; } elseif(VIC1IRQSTATUS) { the_isr=VIC1ADDRESS; the_isr(); }}3.3.3恢復現(xiàn)場返回發(fā)生中斷時的下一條指令地址。 ldmiasp!,{r0-r12,pc}^/*^表示把spsr恢復到cpsr*/3.4時鐘初始化S3C6410的時鐘整體框架如圖3.6所示,在系統(tǒng)上電時輸入時鐘由Fin直通提供,鎖相環(huán)并沒有工作,因此,對時鐘的配置一般在系統(tǒng)復位上電的boot階段進行。圖3.6時鐘發(fā)生器結構框圖3.4.1鎖相環(huán)配置在配置鎖相環(huán)之前都會通過向時鐘源控制寄存器的CLK_SRC[2:0]位寫’0’將系統(tǒng)時鐘選為Fin直通模式。S3C6410有三分PLL,分別為APLL、MPLL、EPLL,APLL主要用于ARM時鐘操作,MPLL用于主時鐘操作,EPLL用于特殊用途。本次設計沒有用到EPLL,只需完成對APLL于MPLL的配置。鎖相環(huán)APLL、MPLL的輸出頻率由APLL_CON于MPLL_CON兩個寄存器控制。APLL和MPLL的輸出頻率計算公式:F本次設計所使用的頻率FOUT需要對APLL_CON寄存器進行設置:APLL_CON=((1<<31)|(266<<16)|(3<<8)|(1))MPLL為6410內(nèi)部總線AXI、AHB、APB等提供時鐘,設置方式同APLL。對MPLL_CON寄存器設置:MPLL_CON=((1<<31)|(266<<16)|(3<<8)|(1))3.4.2分頻器的配置為獲得不同的時鐘滿足不同功能模塊的需求,時鐘發(fā)生單元提供了若干個時鐘分頻器對鎖相環(huán)輸出的時鐘進行分頻處理。分頻率通過時鐘分頻寄存器CLK_DIV0~CLK_DIV2確定。本次設計中并沒有用到LCD、TV定標器等,只對CLK_DIV0進行設置。表3.1截取了本次設計中CLK_DIV0寄存器所需設置的位。本次設計中,ARMCLK=532MHz,HCLKX2=266MHz,HCLK=133MHz,PCLK=66.5MHz。具體實現(xiàn)在下一章詳細解釋。表3.1CLK_DIV0寄存器部分位CLK_DIV0位描述初始狀態(tài)PCLK_RATIO[15:12]PCLK=HCLKX2/(PCLK_RATIO+1)0x1HCLKX2_RATIO[11:9]HCLKX2=HCLKX2IN/(HCLKX2_RATIO)0x0HCLK_RATIO[8]HCLK=HCLKX2/(HCLK_RATIO+1)0MPLL_RATIO[4]DOUTMPLL=MOUTMPLL/(MPLL_RATIO+1)0ARM_RATIO[2:0]ARMCLK=DOUTAPLL/(ARM_RATIO+1)0x0ARMCLK=DOUTAPLL/(ARM_RATIO+1)ARMCLK=532/(0+1)=532MHzHCLKX2=HCLKX2IN/(HCLKX2_RATIO+1)HCLKX2=532/(1+1)=266MHzHCLK=HCLKX2/(HCLK_RATIO+1)HCLK=266/(1+1)=133MHzPCLK=HCLKX2/(PCLK_RATIO+1)PCLK=133/(3+1)=66.5MHz需要向CLK_DIV0寄存器設置可對以上分頻器進行設置:CLK_DIV0=(0)|(0<<4)|(1<<8)|(1<<9)|(3<<12)3.5串口控制本次設計采用通用異步串行收發(fā)器簡稱UART實現(xiàn)與上位機的通訊,S3C6410在與上位機的通訊中,設置字符幀的格式為1位起始位,8位數(shù)據(jù)位,無校驗位,1位停止位。本次設計使用的是RS-232規(guī)范與目標機進行通訊,使用的是簡單連接,如圖3.7,TXD用于發(fā)送數(shù)據(jù),RXD用于接收數(shù)據(jù),GND給雙方提供參考電平。本次設計并沒有用到流量控制,且自動流量控制也不支持RS-232。圖3.7簡單方式通訊連線圖3.5.1時鐘單元選擇本次設計UART時鐘單元選擇APB總線的時鐘PCLK,PCLK=66.5MHz。通過配置UART通道控制寄存器UCON0的[11:10]位選擇,系統(tǒng)上電后UCON0寄存器的初始狀態(tài)就是選擇PCLK,不用進行設置。UCON0=0x5|(1<<9);3.5.2配置波特率發(fā)生器串口通訊的波特率發(fā)生器是由波特率分頻寄存器UBRDIV0與分頻插槽寄存器UDIVSLOT0控制的。我們以DIV_VAL作為中間值對兩寄存器的配置進行計算。DIV_VAL=UBRDIV0+(UDIVSLOT0中二進制'DIV_VAL=本次設計中,波特率選擇115200bps,DIV_VAL=35.08。所以UBRDIV0=35,UDIVSLOT0=0x1。4.5.3串口中斷控制串口中斷,通過查詢S3C6410芯片手冊(如表3.2所示)可知,UART0中斷號為37為中斷寄存器VIC1,在串口中斷初始化函數(shù)uart_irq_init()中使能中斷,將中斷處理函數(shù)uart_irq()地址賦給VIC1VECTADDR5。表3.2中斷表中斷號中斷源描述組39INT_UART2UART2中斷VIC138INT_UART1UART1中斷VIC137INT_UART0UART0中斷VIC1UFCON0寄存器設置發(fā)送緩沖區(qū)的閾值,UFCON0=0x07|(1<<6)設置為緩沖區(qū)數(shù)據(jù)小于16bytes時從DDR內(nèi)存中填充數(shù)據(jù)。最后,UINTM0=0xF,關閉串口中斷。發(fā)生中斷時,處理函數(shù)判斷環(huán)形緩沖區(qū)是否為空,若為空的禁止UART中斷,若不為空則從環(huán)形緩沖區(qū)取出數(shù)據(jù)放到發(fā)送緩沖區(qū)去,發(fā)送數(shù)據(jù)。處理程序流程如圖3.8:發(fā)生中斷發(fā)生中斷判斷發(fā)送還是接收從RXFIFO取出數(shù)據(jù)Buffer{}是否為空Buffer[]取出數(shù)據(jù)放入TXFIFO禁止發(fā)送中斷清除UART中斷發(fā)送接收是否圖3.8UART串口中斷流程發(fā)送數(shù)據(jù)時,先用isFull()函數(shù)判斷發(fā)送FIFO數(shù)據(jù)是否滿,若不滿用putData()函數(shù)將數(shù)據(jù)放到發(fā)送FIFO中,開啟UART中斷UINTM0&=~(1<<2)。3.6定時器設置S3C6410有5個32位定時器,這些定時器可以產(chǎn)生中斷到ARM子系統(tǒng),定時器T0、T1具有PWM功能,可以驅動外部I\O口。但是本次設計使用的是OK6410開發(fā)板,其具有PWM功能的GPF端并沒有擴展口。因此,本設計采用的是內(nèi)部定時器T2。每個定時器都有一個由定時器時鐘驅動的向下計數(shù)的計數(shù)器,下計數(shù)器的初始值來自定時器緩沖計數(shù)器TCNTB2。當向下計數(shù)到“0”時,定時器向CPU請求中斷,本輪計數(shù)完成,相應的TCNTB2又會重新裝載,進入到下一輪的向下計數(shù)。比較寄存器TCMPB2決定PWM波的輸出形狀,當下計數(shù)器TCNTB2向下計數(shù)到和TCMPB2中的值相等時,輸出電平發(fā)生翻轉。當下計數(shù)器繼續(xù)向下計數(shù)到“0”時,輸出電平再次翻轉并產(chǎn)生中斷(如果中斷使能)。邏輯框圖如圖3.9所示。圖3.9定時器邏輯框圖本次設計定時器的時鐘源為PCLK,為了實現(xiàn)對步進電機的精確控制,對TCNTB2寄存器賦值val=PCLK/1000000–1。精確延時1微秒,頻率為1000KHz,TCMPB2=(val>>1),占空比為50%。voidusDelay(intduty){ unsignedintval=PCLK/1000000-1; /*設置時鐘源*/ TCFG0&=~(0xff<<8); /*Timer2inputclockFrequency=PCLK/({prescalervalue+1})/{dividervalue}*/ TCFG0|=(0<<8); /*=66500000/(0+1)/1=66500000*/ TCFG1&=~(0xf<<8); TCFG1|=(0<<8); TCNTB2=val;/*頻率為1000Hz*/ TCMPB2=(val>>1);/*占空比為50%*/ TCON&=~(0xf<<12);/*定時器2相應控制位清零*/ TCON|=(0xb<<12); TCON&=~(2<<12);/*清除手動更新位*/ while(duty--) { while(TCNTO2>=(val>>1)); while(TCNTO2<(val>>1)); }}3.7步進電機控制電機控制采用精確延時后反轉I\O口電平產(chǎn)生PWM信號,GPC1、GPC4、GPC6為方向控制,高低電平控制正反轉。GPC0、GPC3、GPC5輸出PWM信號。電機控制函數(shù)如下:voidmoto1(intpul1,intdir1,intduty1) /*電機1控制*/{ unsignedinti; GPCDAT=0x00; GPCDAT|=(dir1<<1); /*GPC1控制電機1方向*/ for(i=0;i<pul1;i++) { GPCDAT|=(1<<3); /*GPC3脈沖輸出*/ usDelay(duty1); //500Hz GPCDAT&=~(1<<3); usDelay(duty1); }}上位機經(jīng)過坐標反解得到運動步數(shù),通過串口發(fā)送給機械運動控制函數(shù),函數(shù)判斷各步進電機的方向與所需運動的步數(shù)。最后數(shù)據(jù)發(fā)送給電機驅動函數(shù),完成機械運動。判斷的原理:與前一次所走步數(shù)進行比較,若所需走的步數(shù)大于前一次的步數(shù),則向下運動兩者之差,否則向上運動兩者之差,具體流程如圖3.10。接收數(shù)據(jù)接收數(shù)據(jù)與前一次比較方向為0Motor(d1,0,duty)方向為1Motor(d1,1,duty)大小保存本次步數(shù)結束運動圖3.10步數(shù)判斷流程圖3.8上位機控制程序上位機程序為VS2008寫的MFC應用程序,輸入反解坐標(x,y,z)T圖3.11上位機界面3.8.1上位機串口模塊串口通信使用VS2008下的MSComm控件。MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為應用程序提供串行通訊功能。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復雜的API函數(shù),而且在VC、VB、Delphi等語言中均可使用[8]。MicrosoftCommunicationsControl(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法,具體接收流程如圖3.12。設置Byte數(shù)組加入接收編輯框對應字符串讀緩沖區(qū)設置Byte數(shù)組加入接收編輯框對應字符串讀緩沖區(qū)VARIANT型變量轉換為ColeSafeArray型變量轉換為Byte型數(shù)組將數(shù)組轉換為Cstring型變量檢查緩沖區(qū)更新編輯框顯示接收數(shù)據(jù)有內(nèi)容無內(nèi)容開始圖3.12上位機串口接收流程3.8.2位置反解計算模塊關于Delta機器人空間位置坐標的反解在上一章已經(jīng)進行了說明,輸入X,Y,Z坐標后,點擊“坐標反解”按鈕,內(nèi)部程序調用反解計算函數(shù),流程如圖3.13。坐標反解坐標反解UpdateData(TRUE)坐標反解是否有解結果賦值發(fā)送框UpdateData(FALSE)串口發(fā)送數(shù)據(jù)結束noyes圖3.13坐標反解發(fā)送流程
4系統(tǒng)測試在系統(tǒng)完成后需要對系統(tǒng)進行測試,檢查硬件和軟件是否能夠協(xié)調運行,并對系統(tǒng)出現(xiàn)的情況進行分析,看是否能夠達到系統(tǒng)創(chuàng)作之初所設想的效果,如達不到則重新修改系統(tǒng)的硬件結構或者修改軟件的程序部分,直到達到設計需要為止。本系統(tǒng)的測試思路為:首先從整體上劃分出各功能模塊,然后硬件和軟件依次完成各個功能模塊的測試,最后將各個模塊聯(lián)系起來對整個系統(tǒng)進行測試。1、機械結構的測試出現(xiàn)的問題:用手拖動動平臺,看各步進電機能否正常轉動,是否卡殼。測試中電機能正常轉動無明顯阻力,但是步進電機行星減速器齒輪間有間隙,搖臂有3°左右的擺動間隙。解決方法:采用加裝拉簧的方法減小誤差。2、S3C6410的GPIO口測試對S3C6410輸出進行測試,系統(tǒng)運行時,對控制方向的GPC1、GPC4、GPC6三個引腳輸出電壓進行測試,正傳時為3.3V,反轉時為0V。再對輸出占空比為50%的GPC3、GPC0、GPC5三個引腳輸出電壓進行檢測,輸出電壓為1.6V左右,一切正常。3、電壓轉換電路測試出現(xiàn)問題:在S3C6410對GPC0引腳輸出低電平,依次檢測電壓轉換電路輸出是否為5V,再令GPC0引腳輸出高電平,檢測輸出是否為0V。測試中發(fā)現(xiàn)電壓轉換電路1、5、7三個引腳輸出異常,輸出電壓始終為5V,猜測為三極管損壞。解決方法:經(jīng)檢測三極管發(fā)現(xiàn)三極管PN結擊穿,更換8050三極管。4、整個系統(tǒng)測試出現(xiàn)問題:各模塊間連接完畢。通電后驅動器與電源發(fā)出“嗡嗡”聲,向系統(tǒng)輸入坐標后步進電機抖動并發(fā)出嘯叫聲。立刻斷電進行檢測,步進電機發(fā)出嘯叫主要由于驅動器采用高細分驅動,內(nèi)部斬波頻率為20KHz,PWM信號頻率過高造成。解決方法:減低頻率后嘯叫消失,但電機仍然不轉,經(jīng)查閱資料確定為驅動電壓不夠,換24V10A開關電源后問題解決。根據(jù)測試中出現(xiàn)的問題,使用相應的解決方法后,整個系統(tǒng)運轉正常,上位機輸入目的坐標,點擊坐標反解,得出反解結果,結果自動填入數(shù)據(jù)發(fā)送框,電機開始運動按鍵,Delta機器人運動到指定坐標點。
總結經(jīng)過老師耐心細致的指導,經(jīng)過近二個月的努力,本次畢業(yè)設計課題基于ARM單片機的聯(lián)動控制告一段落??刂葡到y(tǒng)主要分為硬件設計和軟件設計兩個部分:硬件設計主要是把S3C6410、鍵盤控制模塊、步進電機驅動模塊、電壓轉換模塊、電源模塊、Delta機器人機械部分各個硬件功能模塊及其它元件合理搭配并連接起來使其能夠為軟件運行提供一個硬件平臺。軟件設計主要是通過編寫程序代碼,實現(xiàn)對Delta機器人的控制。在系統(tǒng)上電復位后程序自動運行,上位機程序反解坐標,通過UART串口將數(shù)據(jù)傳遞給S3C6410控制Delta機器人,接受外部的鍵盤操作修改PWM信號頻率,控制步進電機運動的轉速。本系統(tǒng)具有相當?shù)膶嵱霉δ?輸入坐標,Delta機器人能運動到指定坐標點,能基本符合實際應用需求,本次設計由于設計時間較短,個人能力以及精力等因素的限制,加之設計經(jīng)驗的不足,該系統(tǒng)還有許多不盡如人意的地方。該系統(tǒng)未能完全的實現(xiàn)設計的所有功能。如:不能實現(xiàn)三個步進電機的同時運動,沒有完成對速度的解算,機器人的精度有待進一步提高。在把理論設計轉換成實物的整個過程,如:電路設計、分析計算、畫電路圖、焊接電路、檢查調試、軟件流程控制設計分析、編寫調試軟件、燒寫軟件到整個軟硬件系統(tǒng)的調試,最后直到系統(tǒng)完成。其中整個系統(tǒng)的前期準備是首先必須做到位的,如控制什么、用什么控制、得到什么結果,進而對各部分應選擇具體的芯片作進一步的考慮,以使系統(tǒng)得到最優(yōu)的表現(xiàn)。通過本課題,一方面我在查閱資料的基礎上,對步進電機的控制有一定的了解,掌握其控制系統(tǒng)的分析方法與實現(xiàn)方法,能對單片機外圍電路設計進行系統(tǒng)學習與掌握,對S3C6410裸機開發(fā)有進一步的了解;另一方面,在設計步進電機控制系統(tǒng)的硬件電路,控制程序和相應的電路圖時,應充分運用說學知識,善于思考,琢磨,分析。
參考文獻[1]韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.17~20[2]汪成義.ARM嵌入式原理與應用[M].北京:航空航天大學出版社,2011.105~130[3]周立功.ARM嵌入式系統(tǒng)基礎教程[M].(第2版).北京:航空航天大學出版社,2008.115~120[4]叢爽、尚偉偉.并聯(lián)機器人:建模、控制優(yōu)化與應用[M].北京:電子工業(yè)出版社,2010.168~180[5]周立功、張華.深入淺出ARM7:LPC213X\214X[M].北京:航空航天大學出版社,2005.250~280[6]王槐斌、吳建國、周國平.電路與電子簡明教程[M].(第2版).武漢:華中科技大學出版社,2011.89~96[7]李晶皎、李景宏、曹陽.邏輯與數(shù)字系統(tǒng)設計[M].北京:清華大學出版社,2008.150~154[8]鄭莉、董淵、何江舟.C++語言程序設計[M].(第4版).北京:清華大學出版社,2010.120~125[9]劉樂善.微型計算機接口技術及應用[M].武漢:華中科技大學出版社,2011.188~190[10]秦友淑、曹化工.C語言程序設計教程[M].(第2版).武漢:華中科技大學出版社,2002.110~115[11]梁香宇、牛志剛.三自由度Delta并聯(lián)機器人運動學分析與工作空間求解[J].太原理工大學學報,2008.30~36[12]梁香宇.Delta機器人運動學建模及仿真[J].太原理工大學學報,2008.10~20[13](美)KennethAReek.PointersonC[M].NewYork:McGraw-Hill,1997.20~26[14](美)BruceEckel著.C++編程思想.劉綜田等譯.北京:機械工業(yè)出版社,2000.60~70[15](美)WilliamFord等著.數(shù)據(jù)結構C++語言描述(第2版).陳君譯.北京:清華大學出版社,2003.45~63
致謝本次論文的寫作過程中,從論文的選題、初稿的審閱修改到論文的最終完成,迄今,亦幾近尾聲,心情挺激動的。從剛開始對其無論是開發(fā)環(huán)境還是Delta機器人的理解都知之甚少,到如今有了一定的了解,從各個方面,我都覺得受益匪淺。每次在運行我們的勞動成果時,心中也覺得喜悅,覺得珍惜。畢業(yè)論文是對學生大學階段學習知識的總結,也是對學生分析問題、解決問題能力的綜合考察。在本次畢業(yè)設計中,我首先要感謝教過我的每一位老師,是你們將我領入了計算機科學的大門,并對我的學習給予了很大的幫助,使我在畢業(yè)設計中有了一定的基礎和認識。同時,我從指導老師余老師身上學到了很多東西。在我畢設期間,余老師指導和幫助對我完成畢設非常重要。在開發(fā)過程中,我遇到了很多困難,經(jīng)常程序因此而卡住,令我非常頭疼,不過最終都通過同學的幫助,老師的指導和我自己查閱資料上網(wǎng)答疑等方式得以成功的解決。因此,我要感謝這篇論文所涉及到的各位學者。本文引用了數(shù)位學者的研究文獻,如果沒有各位學者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫作。感謝我的同學和朋友,在我寫論文的過程中給予我了很多素材,還在論文的撰寫和排版燈過程中提供熱情的幫助。
由于我的學術水平有限,所寫論文難免有不足之處,懇請各位老師和學友批評和指正。最后,真誠的說聲,謝謝各位。附錄資料:不需要的可以自行刪除實木地板面層施工工藝標準目錄1適用范圍 22施工準備 22.1技術準備 22.2材料要求 22.3機具設備 32.4作業(yè)條件 33施工工藝 43.1工藝流程 43.2施工要點 43.3季節(jié)性施工 84質量標準 84.1主控項目 84.2一般項目 95成品保護 106應注意的質量問題 117質量記錄 118安全、環(huán)保措施 128.1妥全操作要求 128.2環(huán)保措施 12
實木地板面層施工工藝標準1適用范圍本規(guī)范適用于建筑裝飾工程中實木地板面層的施工。2施工準備2.1技術準備2.1.1實木地板的質量應符合規(guī)范和設計要求,在鋪設前,應得到業(yè)主對地板質量、數(shù)量、品種、花色、型號、含水率、顏色、油漆、尺寸偏差、加工精度、甲醛含量等驗收認可。2.1.2認真審核圖紙,結合現(xiàn)場尺寸進行深化設計,確定鋪設方法、拼花、鑲邊等,并經(jīng)監(jiān)理、建設單位認可。2.1.3根據(jù)選用的板材和設計圖案進行試拼、試排,達到尺寸準確、均勻美觀。2.1.4選定的樣品板材應封樣保存。提前做好樣板間或樣板塊,經(jīng)監(jiān)理、建設單位驗收合格。2.1.5對操作人員進行安全技術交底。鋪設面積較大時,應編制施工方案。2.2材料要求2.2.1實木地板:實木地板面層所采用的材料,其技術等級和質量應符合設計要求,含水率長條木地板不大于12%,拼花木地板不大于10%。實木地板面層的條材和塊材應采用具有商品檢驗合格證的產(chǎn)品,其產(chǎn)品類別、型號、適用樹種、檢驗規(guī)則及技術條件等均應符合現(xiàn)行國家標準《實木地板塊》GB/T15036.1-6的規(guī)定。2.2.2木材:木龍骨、墊木、剪刀撐和毛地板等應做防腐、防蛀及防火處理。木龍骨要用變形較小的木材,常用紅松和白松等;毛地板常選用紅松、白松、杉木或整張的細木工板等。木材的材質、品種、等級應符合現(xiàn)行國家標準《木結構工程施工質量驗收規(guī)范》(GB50206-2012)的有關規(guī)定,鋪設時的含水率不大于12%。拚花木地板的長度,寬度和厚度均應符合設計要求。雙層板下的毛地板、木地板面下木擱柵和墊木均要做防腐處理,其規(guī)格、尺寸應符合設計要求。2.2.3硬木踢腳板:寬度、厚度應按設計要求的尺寸加工,其含水率不大于12%,背面滿涂防腐劑,背面應滿涂防腐劑,花紋和顏色應力求與面層地板相同。2.2.4其他材料:防腐劑、防火涂料、膠粘劑、8#~10#。鍍鋅鉛絲、50~100mm釘子(地板釘)、扒釘、角碼、膨脹螺栓、鍍鋅木螺釘、隔聲材料等。防腐劑、防火涂料、膠粘劑應具有環(huán)保檢測報告。2.2.5地面所用材料應符合國際《民用建筑工程室內(nèi)環(huán)境污染控制規(guī)范》(GB50325-2010)2.3機具設備2.3.1機械:多功能木工機床、刨地板機、磨地板機、平刨、壓刨、小電鋸、電錘等。2.3.2工具:斧子、沖子、鑿子、手鋸、手刨、錘子、墨斗、鏨子、掃帚、鋼絲刷、氣釘槍、割角尺等。2.3.3計量檢測用品:水準儀、水平尺、方尺、鋼尺、靠尺等。2.4作業(yè)條件2.4.1頂棚、墻面的各種濕作業(yè)已完,粉刷干燥程度達到80%以上。2.4.2地板鋪設前應清理基層,不平的地方應剔除或用水泥砂漿找平。2.4.3墻面已彈好標高控制線(+500mm),并預檢合格。2.4.4門窗玻璃、油漆、涂料已施工完,并驗收合格。2.4.5水暖管道、電氣設備及其他室內(nèi)固定設施安裝完,上、下水及暖氣試壓通過驗收并合格。2.4.6房間四周彈好踢腳板上口水平線,并已預埋好固定木踢腳的木磚(必須經(jīng)過防腐處理)。2.4.7凡是與混凝土或磚墻基體接觸的木材,如木擱柵、踢腳板背面、地板地面、剪力撐、木楔子、木磚等,均預先涂滿木材防腐材料。2.4.8木地板采用空鋪法時,按設計要求的尺寸砌好地壟墻,每道墻預留120mm×120mm通風孔2個,并預埋好鐵絲,墻頂抹一層防水砂漿。2.4.9實木地板采用實鋪法時,預先在墊層內(nèi)預埋好鐵絲。3施工工藝實木地板按構造方法不同,有“實鋪”和“空鋪”兩種。“實鋪”木地板,是木龍骨鋪在鋼筋混凝土板或墊層上,它是由木龍骨、毛地板及實木地板面層等組成?!翱珍仭笔怯赡君埞?、剪刀撐、毛地板、實木地板面層等組成,一般設在首層房間。采用“空鋪”法當龍骨跨度較大時,應加設地壟墻,地壟墻頂上要鋪防水卷材或抹防水砂漿及放置墊木。3.1工藝流程基層清理測量彈線→安裝木龍骨→鋪釘毛地板→鋪實木地板面層→刨平、磨光→安裝木踢腳板→油漆、打蠟→清理木地板面3.2施工要點3.2.1基層清理、測量彈線:對基層空鼓、麻點、掉皮、起砂、高低偏差等部位先進行返修,并把沾在基層上的浮漿、落地灰等用鏨子或鋼絲刷清理掉,再用掃帚將浮土清掃干凈。待所有清理工作完成后進行驗收,合格后方可彈線。3.2.2安裝木龍骨實鋪法:樓層木地板的鋪設,通常采用實鋪法施工,見圖。圖實鋪法(1)先在基層上彈出木龍骨的安裝位置線(間距不大于400mm或按設計要求)及標高,將龍骨(斷面呈梯形,寬面在下)放平、放穩(wěn),并找好標高,再用電錘鉆孔,用膨脹螺栓、角碼固定木龍骨或采用預埋在樓板內(nèi)的鋼筋(鐵絲)綁牢,木龍骨與墻間留出不小于30mm的縫隙,以利于通風防潮。木龍骨的表面應平直。若表面不平可用墊板墊平,也可刨平,或者在底部砍削找平,但砍削深度不宜超過10mm,砍削處要刷防火涂料和防腐劑處理。采用墊板找平時墊板要與龍骨釘牢。(2)木龍骨的斷面選擇應根據(jù)設計要求。實鋪法木龍骨常加工成梯形(俗稱燕尾龍骨),這樣不僅可以節(jié)省木材,同時也有利于穩(wěn)固。也可采用30mm×40mm木龍骨,木龍骨的接頭應采用平接頭,每個接頭用雙面木夾板,每面釘牢,亦可以用扁鐵雙面夾住釘牢。(3)木龍骨之間還要設置橫撐,橫撐的含水率不得大于18﹪,橫撐間距800mm左右,與龍骨垂直相交,用鐵釘固定,其目的是為了加強龍骨的整體性。龍骨與龍骨之間的空隙內(nèi),按設計要求填充輕質材料,填充材料不得高出木龍骨上表皮??珍伔ǎ阂妶D(1)空鋪法的地壟墻高度應根據(jù)架空的高度及使用的條件計算后確定,地壟墻的質量應符合有關驗收規(guī)范的技術要求,并留出通風孔洞。(2)在地壟墻上墊放通長的壓沿木或墊木。壓沿木或墊木應進行防腐、防蛀處理,并用預埋在地壟墻里的鐵絲將其綁扎擰緊,綁扎固定的間距不超過300mm,接頭采用平接,在兩根接頭處,綁扎的鉛絲應分別在接頭處的兩端150mm以內(nèi)進行綁扎,以防接頭處松動。(3)在壓沿木表面劃出各龍骨的中線,然后將龍骨對準中線擺好,端頭離開墻面的縫隙約30mm,木龍骨一般與地壟墻成垂直,擺放間距一般為400mm,并應根據(jù)設計要求,結合房間的具體尺寸均勻布置。當木龍骨頂面不平時,可用墊木或木楔在龍骨底下墊平,并將其釘牢在壓沿木上,為防止龍骨活動,應在固定好的木龍骨表面臨時釘設木拉條,使之互相牽拉。圖空鋪法(常用于首層)(4)龍骨擺正后,在龍骨上按剪刀撐的間距彈線,然后按線將剪刀撐釘于龍骨側面,同一行剪刀撐要對齊順線,上口齊平。3.2.3鋪釘毛地板:實木地板有單層和雙層兩種。單層實木地板是將條形實木地板直接釘牢在木龍骨上,條形板與木龍骨垂直鋪設。雙層是在木龍骨上先釘一層毛地板,再釘實木條板。毛地板可采用較窄的松、杉木板條,其寬度不宜大于120mm,或按設計要求選用,毛地板的表面應刨平。毛地板與木龍骨成30°或45°角斜向鋪釘。毛地板鋪設時,木材髓心應向上,其板間縫隙不大于3mm,與墻之間應留10~20mm的縫隙。毛地板用鐵釘與龍骨釘緊,宜選用長度為板厚2~2.5倍的鐵釘,每塊毛地板應在每根龍骨上各釘兩個釘子固定,釘帽應砸扁并沖進毛地板表面2mm,毛地板的接頭必須設在龍骨中線上,表面要調平,板
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 日用百貨買賣合同
- 2025年泰安普通貨運從業(yè)資格證模擬考試
- 公司內(nèi)部溝通平臺使用記錄表格(電子版)
- 商場多經(jīng)點位租賃合同
- 執(zhí)行和解協(xié)議書范例8篇
- 2025年高中化學新教材同步 必修第一冊 第1章 階段重點突破練(一)
- 小額放貸公司合同范本
- 按揭車轉讓合同范本
- 液晶聚合物LCP戰(zhàn)略市場規(guī)劃報告
- 部編版《語文》(八年級-下冊)第一單元教材分析與教學建議
- 現(xiàn)代企業(yè)服務營銷的創(chuàng)新與實踐
- 5.2 做自強不息的中國人 (課件)-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 【寒假開學第一課】AI時代做自己的哪吒
- CWAN 0043-2021攪拌摩擦焊攪拌頭設計及制造標準
- 教學課件:《公共關系學》(本科)
- 劉聰版在燦爛陽光下鋼琴伴奏譜簡譜版
- 2025年春新人教PEP版英語三年級下冊全冊教學課件
- 建筑工程項目精益建造實施計劃書
- 化學-江蘇省蘇州市2024-2025學年2025屆高三第一學期學業(yè)期末質量陽光指標調研卷試題和答案
- 游戲開發(fā)公司游戲產(chǎn)品設計與用戶體驗優(yōu)化計劃
評論
0/150
提交評論