輕松DIY擊鼓機(jī)器人,提供詳細(xì)軟硬件設(shè)計(jì)參數(shù)和系統(tǒng) 解決方案
1. 基本組成部分概述
1.1 機(jī)械結(jié)構(gòu)部分
【機(jī)械臂主體結(jié)構(gòu)】
機(jī)械臂主體全手工制作,由15種零件,合共25件零件構(gòu)成,其中包括3根規(guī)格不同的軸,2種規(guī)格不同的軸承合計(jì)5個(gè),支架1種合共2件,支座1種合共1件,第一級(jí)機(jī)械臂1種合共2件,第二級(jí)機(jī)械臂1種合共2件,第三級(jí)機(jī)械臂1種合計(jì)2件,機(jī)械臂間連接件3種共4件,軸固定件2種合計(jì)4件,另有用于各個(gè)零件間固定的角鐵合計(jì)8件。其中除軸承外均為鋁合金制件,機(jī)械臂手臂部分由平行鋁合金板構(gòu)成雙立式結(jié)構(gòu),第三級(jí)機(jī)械臂共有兩邊,分別可自由活動(dòng),其由單塊鋁合金板組成,一端直接與舵機(jī)相連,另一端固定鼓棒。軸分為豎直軸與水平軸,豎直軸與步進(jìn)電機(jī)相套,水平軸由軸固定件與軸承分別連接各級(jí)機(jī)械臂。
整體呈現(xiàn)單支雙臂式結(jié)構(gòu),合共有5個(gè)自由度,其中3個(gè)自由度有電機(jī)驅(qū)動(dòng),其中位于底座下方的步進(jìn)電機(jī)用于轉(zhuǎn)動(dòng),而位于第二級(jí)與第三級(jí)機(jī)械臂之間連接的舵機(jī)用于帶動(dòng)第三級(jí)機(jī)械臂轉(zhuǎn)動(dòng)。鋁合金板零件之間使用自制淬火角鐵進(jìn)行固定,避免對(duì)鋁合金制件進(jìn)行鈑金工作,以減低成本和制作時(shí)間;軸與鋁合金工件之間采用軸連接件與軸承混合固定的方式進(jìn)行配合與固定。整體機(jī)械臂合共使用了將近200g的螺絲與螺母,主要用于角鐵與鋁合金板件的緊固處理,另外也有使用少量緊固螺釘進(jìn)行軸與固定件或者電機(jī)之間的固定。舵機(jī)上面也裝有四個(gè)帶有齒孔的固定件,用于夾持第三級(jí)機(jī)械臂。(詳見圖1.1)
圖1.1 機(jī)械臂主體結(jié)構(gòu)實(shí)物圖
【底座結(jié)構(gòu)】
機(jī)器人底座由2塊平行有機(jī)玻璃構(gòu)成,其中由4根螺柱連接2塊玻璃板。面板裝有軸承,通過軸承自帶的小孔與有機(jī)玻璃地板進(jìn)行螺絲固定。底板通過角鐵夾住步進(jìn)電機(jī),使步進(jìn)電機(jī)自身不能轉(zhuǎn)動(dòng),豎直軸穿過軸承與步進(jìn)電機(jī)相連,豎直軸底部為空心處理,并且使電機(jī)軸套入豎直軸中,并使用緊固螺釘進(jìn)行兩者的固定。面板同時(shí)有9根固定螺釘,用于支撐鼓。2塊底板之間的空間用于放置主控制電路電路板PIC,步進(jìn)電機(jī)驅(qū)動(dòng)及其中一個(gè)電源。(詳見圖1.2及1.3)
圖1.2 底座部分內(nèi)部實(shí)物示意圖
圖1.3 底座部分整體實(shí)物圖
1.2 電子電路部分
【整體電路系統(tǒng)】
整個(gè)機(jī)器人的電路系統(tǒng)由3個(gè)主要部分組成分別為由PIC組成的主控制電路,由聲音傳感器與觸碰開關(guān)組成的子控制電路,以及由單片機(jī)控制的電機(jī)及其配套電路,其中電機(jī)及其配套電路又細(xì)分為舵機(jī)的直接控制與使用步進(jìn)電機(jī)驅(qū)動(dòng)電路進(jìn)行對(duì)步進(jìn)電機(jī)的控制。
【主控制電路】
機(jī)器人主控制電路由開發(fā)板和最小系統(tǒng)板組成,開發(fā)板主要構(gòu)造包括有PIC單片機(jī),時(shí)鐘電路系統(tǒng),蜂鳴器電路,復(fù)位電路系統(tǒng),配套的LED燈顯示系統(tǒng),數(shù)字顯示系統(tǒng),外接數(shù)據(jù)線系統(tǒng)等組成(見圖1.4),外有與PIC匹配5V電壓電源系統(tǒng)相連,向主控制電路提供穩(wěn)定的電壓。利用主控制電路上的排針設(shè)備,可以使用電路連接線連接各個(gè)子控制電路、舵機(jī)與步進(jìn)電機(jī)驅(qū)動(dòng)器的相關(guān)接口,通過主控制電路接收子控制電路的反饋信息,通過對(duì)應(yīng)的判斷向舵機(jī)、步進(jìn)電機(jī)輸出相應(yīng)的脈沖,控制電機(jī)運(yùn)動(dòng)。其控制流程如下:
圖1.4 主控制電路控制流程示意圖
【子控制電路】
機(jī)器人子控制電路由手工制作的電路板組成,其中子控制電路又分為聲控子電路與觸控子電路;其中聲控電路部分主要由聲音傳感器及指示燈系統(tǒng)構(gòu)成,能夠接收環(huán)境變量中的聲音分量,通過調(diào)節(jié)可變電阻可以使聲音傳感器接收合適范圍的聲強(qiáng),并通過整波電路與放大電路將相關(guān)的信息傳遞到單片機(jī)中;觸控電路主要部分由觸碰開關(guān)構(gòu)成,觸碰開關(guān)將在設(shè)計(jì)中外接,通過擊打觸碰開關(guān),使開關(guān)通過電流,通過電流后整體經(jīng)過各類比較器、放大器、整波元件實(shí)現(xiàn)向PIC單片機(jī)輸出有高電平經(jīng)過的信息功能。其控制流程如下所示:
圖1.5 子控制電路整體示意圖
【步進(jìn)電機(jī)驅(qū)動(dòng)電路】
步進(jìn)電機(jī)驅(qū)動(dòng)電路為現(xiàn)成集成模塊,外部與15V電壓相連,邏輯電源接單片機(jī)VCC,通過單片機(jī)輸出脈沖實(shí)現(xiàn)一定角速度轉(zhuǎn)動(dòng),同時(shí)由DIR(方向)接口決定步進(jìn)電機(jī)轉(zhuǎn)動(dòng)方向,F(xiàn)REE(使能)接口決定步進(jìn)電機(jī)的啟動(dòng)與停止速度。
2. 基本功能概述
【擊鼓功能】
機(jī)器人通過第三級(jí)機(jī)械臂及其連接的鼓棒實(shí)現(xiàn)擊鼓的功能,其中第三級(jí)機(jī)械臂由舵機(jī)帶動(dòng),調(diào)節(jié)舵機(jī)的高低電平延時(shí)時(shí)間實(shí)現(xiàn)對(duì)舵機(jī)的轉(zhuǎn)速、擊打力度的控制,通過高低電平輸出的循環(huán)實(shí)現(xiàn)轉(zhuǎn)角的控制,同時(shí)調(diào)用相關(guān)的程序,使機(jī)器人可以按照一定的節(jié)奏或者現(xiàn)場(chǎng)示教人員的指示進(jìn)行有規(guī)律的擊鼓動(dòng)作。
如下圖所示,機(jī)器人當(dāng)給予舵機(jī)延時(shí)2400us的高電平以及20ms低電平的脈沖信號(hào)(詳見圖3.5)并且將該程序循環(huán)40次,舵機(jī)會(huì)從圖1.9所示位置A移動(dòng)到圖1.10位置B,同時(shí)通過第三級(jí)機(jī)械臂、舵機(jī)自身、鼓棒形成一個(gè)三級(jí)結(jié)構(gòu),擊打鼓,使鼓發(fā)出一定的響聲;而當(dāng)給予舵機(jī)延時(shí)600us的高電平以及20ms低電平的脈沖信號(hào)(詳見圖3.7)并且將該程序循環(huán)40次,舵機(jī)會(huì)從圖1.6所示位置回復(fù)到圖1.5所示位置,并且通過其自身的機(jī)械零點(diǎn)進(jìn)行回復(fù)。
通過單片機(jī)預(yù)先編寫的程序或者示教的模式,機(jī)器人按照一定的規(guī)律進(jìn)行擊鼓,其擊鼓的頻率約為0.7-1.0秒/次,其中下行時(shí)間約為0.3-0.5秒,上行時(shí)間約為0.4-0.6秒,通過調(diào)節(jié)左右舵機(jī)輸出不同的脈沖信號(hào),可以實(shí)現(xiàn)交替擊打(見圖1.7,圖1.8),交替極大能夠?qū)崿F(xiàn)整體機(jī)器人平均擊鼓頻率在0.3-0.5秒/次,而通過雙臂僅能同時(shí)使整體機(jī)器人的擊鼓頻率在0.8-1.0秒/次左右。
而步進(jìn)電機(jī)能夠使機(jī)器人通過自身的轉(zhuǎn)動(dòng),擊打到不同位置的鼓,通過對(duì)步進(jìn)電機(jī)的輸出脈沖的個(gè)數(shù)進(jìn)行控制,根據(jù)步矩角理論則能夠使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一定的角度,經(jīng)過計(jì)算可以測(cè)出擊打左側(cè)兩個(gè)鼓與擊打右側(cè)兩個(gè)鼓需要轉(zhuǎn)動(dòng)的角度,即循環(huán)的次數(shù),使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)要求的角度,并且實(shí)現(xiàn)擊打的鼓的機(jī)械轉(zhuǎn)換。
圖1.6 擊鼓功能控制流程圖
圖1.7 機(jī)器人同步擊打A位置實(shí)物示意圖
圖1.8 機(jī)器人同步擊打B位置實(shí)物示意圖
圖1.9 機(jī)器人異步擊打?qū)嵨锸疽鈭DA
圖1.10 機(jī)器人異步擊打?qū)嵨锸疽鈭DB
【離線編程功能】
通過在預(yù)先在PIC單片機(jī)中離線編寫好的程序,程序中進(jìn)行對(duì)舵機(jī)與步進(jìn)電機(jī)的脈沖信號(hào)輸出,其中包括有舵機(jī)的異步控制方法、同步控制方法以及步進(jìn)電機(jī)的控制;異步控制方法為單片機(jī)對(duì)兩個(gè)舵機(jī)中的一個(gè)輸出脈寬為2.4ms的高電平和20ms低電平而對(duì)另外一個(gè)電機(jī)輸出脈寬為0.6ms的高電平和20ms(詳見圖1,13),循環(huán)一定次數(shù)之后交換兩個(gè)電機(jī)的輸出脈沖(詳見圖1.14),這樣兩個(gè)舵機(jī)將會(huì)出現(xiàn)一個(gè)左側(cè)機(jī)械臂下行同時(shí)右側(cè)機(jī)械臂上行,然后左側(cè)機(jī)械臂上行右側(cè)機(jī)械臂下行的交替擊打;同步控制方法為PIC單片機(jī)對(duì)兩個(gè)舵機(jī)同時(shí)輸出脈寬為2.4ms的高電平和20ms的低電平(詳見圖1.15)循環(huán)一定次數(shù)之后同時(shí)再輸出脈寬為0.6ms的高電平和20ms的低電平,這樣兩個(gè)舵機(jī)將會(huì)出現(xiàn)同時(shí)擊打同時(shí)復(fù)位的情況。步進(jìn)電機(jī)使用占空比為50%的高低電平調(diào)控,能夠?qū)崿F(xiàn)一定的步矩角的轉(zhuǎn)動(dòng)。
離線編程系統(tǒng)通過多次重復(fù)地不同地調(diào)用舵機(jī)異步控制、舵機(jī)同步控制、步進(jìn)電機(jī)控制的子程序,能夠?qū)崿F(xiàn)機(jī)器人在步進(jìn)電機(jī)一邊轉(zhuǎn)動(dòng)一邊舵機(jī)同步擊打、步進(jìn)電機(jī)一邊轉(zhuǎn)動(dòng)一邊舵機(jī)異步擊打,步進(jìn)電機(jī)停動(dòng)同時(shí)舵機(jī)同步擊打、步進(jìn)電機(jī)停動(dòng)同時(shí)舵機(jī)異步擊打四種主要情況,通過交替、多次、重復(fù)、并排使用這些子程序和情況,能夠使機(jī)器人整體在圍繞三個(gè)鼓之間進(jìn)行多次的來回往復(fù)擊打,同時(shí)能夠進(jìn)行左右臂同時(shí)擊打(見圖1.7,圖1.8)和左右臂交替擊打的控制(見圖1.9,圖1.10)。
圖1.11 兩舵機(jī)異步控制脈沖信號(hào)示意圖A
圖1.12 兩舵機(jī)異步控制脈沖信號(hào)示意圖B
圖1.13 兩舵機(jī)同步控制脈沖信號(hào)示意圖
【示教功能】
通過在聲音傳感子控制電路,通過可變電阻調(diào)整聲音傳感器的接收范圍,可以識(shí)別現(xiàn)場(chǎng)的聲音,機(jī)器人通過從子控制系統(tǒng)反饋的聲音信息,能夠?qū)崟r(shí)輸出相應(yīng)的舵機(jī)同步控制脈沖信號(hào),舵機(jī)同時(shí)擊鼓,機(jī)器人跟隨聲音進(jìn)行運(yùn)動(dòng);通過觸感子控制電路,可以識(shí)別人是否對(duì)示教的模擬鼓進(jìn)行擊打,如果是則輸出相應(yīng)的脈沖信號(hào)使一側(cè)舵機(jī)進(jìn)行跟隨運(yùn)動(dòng)。
二、目的與意義
1. 創(chuàng)作意圖與靈感來源
【創(chuàng)作意圖】
大白菜作為一個(gè)擊鼓機(jī)器人,其主要功能并不局限與擊鼓。我們創(chuàng)作這個(gè)機(jī)器人的意圖是作為后續(xù)項(xiàng)目的前期制作,對(duì)后續(xù)項(xiàng)目中使用到的機(jī)械手進(jìn)行理論的論證,以及對(duì)其進(jìn)行部分制作,大白菜是后續(xù)項(xiàng)目中機(jī)械手的簡化版本,我們也在大白菜上預(yù)留足夠的空間以及增加電機(jī)的空間,用于日后在項(xiàng)目中對(duì)其進(jìn)行改裝與增加自由度。
【靈感來源】
大白菜的靈感來源于多個(gè)方面:
(1)、基本結(jié)構(gòu):為了適應(yīng)后續(xù)項(xiàng)目中的仿人式機(jī)械手而采用的單支雙臂式結(jié)構(gòu),第一級(jí)機(jī)械臂與第二級(jí)機(jī)械臂也采用與人相似的設(shè)計(jì);
(2)、基本功能:由于在比賽中強(qiáng)調(diào)可展示性,強(qiáng)調(diào)能夠調(diào)動(dòng)現(xiàn)場(chǎng)氣氛的能力,因此簡化了原有紀(jì)錄位姿的功能,單純采用單片機(jī)的控制而取消對(duì)電機(jī)轉(zhuǎn)角、轉(zhuǎn)速的測(cè)量,從而萌生使機(jī)械手進(jìn)行擊鼓動(dòng)作的設(shè)計(jì);
(3)、附加功能:包括聲音控制與觸感控制,則源于在最近結(jié)束的上海世博會(huì)中在上海企業(yè)聯(lián)合館中的等待區(qū)節(jié)目,第一個(gè)為由觀眾現(xiàn)場(chǎng)的拍掌,使場(chǎng)館的LED燈根據(jù)現(xiàn)場(chǎng)拍掌的節(jié)奏而閃亮,第二個(gè)為由現(xiàn)場(chǎng)觀眾喊出相應(yīng)的字母,機(jī)器人撿起對(duì)應(yīng)的箱子,仿照這2個(gè)節(jié)目我們?cè)O(shè)計(jì)出通過現(xiàn)場(chǎng)觀眾拍掌的聲音控制機(jī)器人以及通過現(xiàn)場(chǎng)擊鼓的展示使機(jī)器人紀(jì)錄示教人的擊打信息并重現(xiàn)的附加功能。
2. 項(xiàng)目目的
(1)、作為一款參加機(jī)器人比賽展示類的機(jī)器人,該機(jī)械臂能夠進(jìn)行基本的擊鼓動(dòng)作;而在附加功能上,則通過不同的傳感系統(tǒng),記錄示教人員的擊鼓節(jié)奏,并在示教完成之后機(jī)器人能夠重現(xiàn)該擊鼓的動(dòng)作以及節(jié)奏。
(2)、作為一種單支雙臂式的機(jī)器人(機(jī)械臂),其仿人的設(shè)計(jì)用于作者對(duì)該理論的一種驗(yàn)證,通過對(duì)仿人的設(shè)計(jì),使機(jī)械手能夠模仿人的運(yùn)動(dòng),而大白菜僅是作為對(duì)后期仿人機(jī)器人的設(shè)計(jì)與制作的一個(gè)前期步驟進(jìn)行相關(guān)的研究與制作。
(3)、作為一個(gè)預(yù)留了大量改進(jìn)空間的機(jī)器人,該機(jī)器人可以在多個(gè)方面進(jìn)行不同的改進(jìn),包括預(yù)留增加自由度的位置,增加電機(jī)的位置,增加編碼盤測(cè)量電機(jī)轉(zhuǎn)角轉(zhuǎn)速,縮減底座面積等多個(gè)改進(jìn)方向,通過不同方面改進(jìn)能夠?yàn)槿蘸笱芯繖C(jī)器人(機(jī)械臂)的運(yùn)動(dòng)、仿真、測(cè)量、多機(jī)器人協(xié)作等擴(kuò)展功能提供了大量的現(xiàn)實(shí)數(shù)據(jù)、機(jī)器人實(shí)體和空間。
3.項(xiàng)目意義
(1)作為大賽的參賽作品,本機(jī)器人的最大功能與意義在于能夠?qū)崿F(xiàn)最基本的擊鼓功能。并在擊鼓功能的基礎(chǔ)上增加附加功能,實(shí)現(xiàn)以離線編程模式與示教模式控制機(jī)器人的功能。能夠?yàn)橛^眾帶來對(duì)機(jī)器人的一種新的感受,一種新的樂趣,并且讓更多觀眾參與到機(jī)器人當(dāng)中。
(2)作為一種單支雙臂式的機(jī)器人(機(jī)械臂),本機(jī)器人的意義在于能夠通過舵機(jī)對(duì)其控制,實(shí)現(xiàn)擊鼓的功能;同時(shí),也是作為對(duì)該類機(jī)械臂的結(jié)構(gòu)的一種新思考的實(shí)踐與驗(yàn)證。
(3)作為一個(gè)預(yù)留大量改進(jìn)空間的機(jī)器人,本機(jī)器人的意義在于為后續(xù)的設(shè)計(jì)與制作提供大量的現(xiàn)實(shí)數(shù)據(jù)與機(jī)器人實(shí)體,并且為日后的各個(gè)探究方面的選擇提供了更多的參考數(shù)據(jù)資料,能夠使日后項(xiàng)目組成員的后續(xù)探究設(shè)計(jì)更為完善與周詳。
4. 可行性總結(jié)
【技術(shù)可行性】
表1 探究過程中應(yīng)用的技術(shù)及使用范圍
應(yīng)用領(lǐng)域 | 技術(shù)名稱 | 技術(shù)功能 |
機(jī)械設(shè)計(jì) | CAD制圖 | 交付制造機(jī)械臂主體 |
三維建模軟件 | 基本示意及大致分析 | |
一般力學(xué)分析 | 測(cè)算自由度受力 | |
機(jī)械制造 | 機(jī)械加工 | 制造機(jī)械臂主體 |
一般鉗工 | 組裝及固定整體機(jī)器人 | |
自動(dòng)控制 | 單片機(jī)控制 | 整體機(jī)器人控制 |
電機(jī)伺服控制 | 控制電機(jī)以期望速率、幅度運(yùn)動(dòng) | |
電子電路 | 傳感器 | 接收環(huán)境變量信息 |
電路處理 | 放大、優(yōu)化、整理電路信息 |
上述各種技術(shù)已經(jīng)全部成熟及成型,只需要在掌握這些技術(shù)的基礎(chǔ)上使用它們,并不需要通過自行設(shè)計(jì)技術(shù)來實(shí)現(xiàn);同時(shí)并且通過使用這些技術(shù),實(shí)現(xiàn)機(jī)器人的每個(gè)部分細(xì)節(jié)的處理,就能夠最終完成機(jī)器人的整體制作與調(diào)試,整個(gè)機(jī)器人的制作中使用的技術(shù)都是可行的。
【應(yīng)用可行性】
本機(jī)器人作為一款基本參加大賽的作品,在參賽的應(yīng)用方面由于其擁有良好的展示性與娛樂性,該方面應(yīng)用是可行的;另外,由于預(yù)留了大量的改進(jìn)空間,即便是在比賽之后,需要進(jìn)行多方面的改進(jìn),在未來,仍然能夠使用這個(gè)機(jī)器人現(xiàn)有的本體作后續(xù)的研究,該方面應(yīng)用同時(shí)可行。
三、技術(shù)參數(shù)
1. 機(jī)械部分
【整體質(zhì)量與尺寸參數(shù)】
(1)、整體質(zhì)量:2.5Kg
(2)、整體尺寸:40cm X 30cm X 40cm (長X寬X高)
【機(jī)械工作參數(shù)】
(1)、整體工作最大寬度:49cm
(2)、整體工作最大高度:53cm
(3)、整體工作最高溫度:45℃
(4)、整體工作最低溫度:-10℃
(5)、舵機(jī)工作最大轉(zhuǎn)角幅度:90°
(6)、步進(jìn)電機(jī)工作最大轉(zhuǎn)角幅度:30°
【電機(jī)參數(shù)】
表2 步進(jìn)電機(jī)的物理參數(shù)
步進(jìn)電機(jī)型號(hào) | 57H46403(帶減速) |
步矩角 | 1.8° |
最大轉(zhuǎn)動(dòng)角 | 360° |
相數(shù) | 2 |
相電流 | 2.4A |
靜力矩 | 7 |
定位力矩 | 2.8 |
表3 舵機(jī)的物理參數(shù)
舵機(jī)型號(hào) | TOWER PRO MG945 (輝盛) |
靜力矩 | 1.2 |
最大轉(zhuǎn)速 | 0.25sec/60°(4.8V) |
最大轉(zhuǎn)角 | 185° |
工作電壓 | 4.8-7.2V |
【機(jī)械臂主體力矩參數(shù)】
(1)、自由度計(jì)算
將支架和臂簡化為桿件,由于結(jié)構(gòu)對(duì)稱性,將兩舵機(jī)旋轉(zhuǎn)副、每個(gè)軸的旋轉(zhuǎn)副和兩三級(jí)臂各只作一個(gè),另外由于有兩個(gè)旋轉(zhuǎn)副(兩個(gè)軸所在的旋轉(zhuǎn)副)被限制,因此簡化結(jié)果如圖3.1:
圖3.1 機(jī)械臂全自由度簡化示意圖
活動(dòng)組件n=2高副P =0,低副P =2,自由度為:
(1)
兩個(gè)自由度分別由舵機(jī)和步進(jìn)電機(jī)控制,滿足機(jī)構(gòu)穩(wěn)定要求。
(2)、舵機(jī)靜力矩校核
取鋁合金密度為:
(2)
將三級(jí)臂上孔去掉,簡化為一實(shí)體長方體塊,則三級(jí)臂體積為:
(3)
由(2)、(3)式數(shù)據(jù)可得三級(jí)臂質(zhì)量為:
(4)
三級(jí)臂重心在其幾何中心,距離舵機(jī)旋轉(zhuǎn)軸距離為:
(5)
敲擊棒質(zhì)量取 ,其重心距舵機(jī)旋轉(zhuǎn)軸距離為:
(6)
當(dāng)三級(jí)臂和敲擊棒處于圖示水平時(shí),舵機(jī)旋轉(zhuǎn)軸所需靜扭矩最大,其簡化結(jié)構(gòu)圖見圖3.2
圖3.2 第三級(jí)機(jī)械臂長度簡化示意圖
可以得第三級(jí)機(jī)械臂的靜力矩為:
(7)
(8)
(3)、整體穩(wěn)定性校核
計(jì)算施加在軸2上扭矩
取該部分臂前端角鐵和螺釘、舵機(jī)總質(zhì)量m =120g,二三級(jí)連接板尺寸:
(9)
其質(zhì)量為:
kg (10)
同樣當(dāng)三級(jí)臂水平時(shí),如圖3.3,所施加的靜力矩為最大
圖3.3 第二級(jí)、第三級(jí)機(jī)械臂靜力矩簡化示意圖
此時(shí)重心距軸為L =100mm,將前端角鐵和螺釘、舵機(jī)總重心距軸2距離也取L =100mm
(11)
(12)
取 =0.25
底座圓盤半徑R=66mm,厚t=8mm,質(zhì)量為:
(13)
kg (14)
假設(shè)整體受軸2上扭矩而傾斜,角度很小,則底盤邊緣一點(diǎn)與地接觸,此時(shí),校驗(yàn)要使整體不倒條件 ,設(shè)所需整體部分結(jié)構(gòu)(底盤至軸2間部件)質(zhì)量為m,其重心在整體中心軸上,如圖3.4所示
圖3.4 假定結(jié)構(gòu)傾斜受力簡化示意圖
當(dāng)傾角a很小時(shí),底座重心、部分結(jié)構(gòu)重心距傾角原點(diǎn)處距離均為R,列平衡條件:
(15)
k為動(dòng)載荷扭矩時(shí)相對(duì)于靜載荷比值 ,k取大越穩(wěn)定,取2
(16)
由(16)式可得m>0.45kg
利用UG計(jì)算得實(shí)際m約0.70kg,這樣在底座、底座至軸部分結(jié)構(gòu)重力力矩作用下,系統(tǒng)會(huì)有擺正趨勢(shì),即a變小,可以保證要求,而且在中心軸作用下,整體會(huì)更穩(wěn)定不倒
2. 電子電路部分
【聲音傳感器】
表4 聲音傳感器模塊主要技術(shù)參數(shù)
尺寸 | |
主要芯片 | LM393,駐極體話筒 |
工作電壓 | 4V-6V |
【步進(jìn)電機(jī)驅(qū)動(dòng)器】
表5 步進(jìn)電機(jī)驅(qū)動(dòng)器技術(shù)參數(shù)與接口
步進(jìn)電機(jī)驅(qū)動(dòng)型號(hào) | QDQ241 |
驅(qū)動(dòng)最大電流 | 2.1A |
驅(qū)動(dòng)最大相數(shù) | 2 |
可選細(xì)分?jǐn)?shù) | 1/2,1/4,1/10,1/15 |
工作電壓 | 0-32V |
(1)、+COM 接單片機(jī)VCC5V,如果接24V,則CP,DIR各串接一個(gè)2K電阻 | |
(2)、CP 接脈沖頻率輸入,決定快慢 | |
(3)、DIR 方向控制,0V反轉(zhuǎn),空正轉(zhuǎn),決定方向 | |
(4)、FREE 使能接口,接0V停轉(zhuǎn),電機(jī)自由狀態(tài) | |
(5)、A+ A相正輸入 | |
(6)、A- A相負(fù)輸入 | |
(7)、B+ B相正輸入 | |
(8)、B- B相負(fù)輸入 | |
(9)、+DC 接外接驅(qū)動(dòng)電源,9-32V | |
(10)、 接0V |
【電源】
(1)、邏輯電源電壓:5V
(2)、步進(jìn)電機(jī)驅(qū)動(dòng)外加電壓:15V
3. 控制部分
【舵機(jī)輸入脈沖信號(hào)】
圖3.5 舵機(jī)正轉(zhuǎn)脈沖信號(hào)示意圖
圖3.6 舵機(jī)反轉(zhuǎn)脈沖信號(hào)示意圖
【步進(jìn)電機(jī)輸入脈沖信號(hào)】
圖3.7 步進(jìn)電機(jī)脈沖信號(hào)控制
四、使用說明
1. 常用控制與使用說明
【常見按鈕與連接】
圖4.1 步進(jìn)電機(jī)驅(qū)動(dòng)與電源連接方式實(shí)物示意圖
【使用注意事項(xiàng)】
(1)、避免使機(jī)器人在傾斜面上工作,以免從高處跌落造成損壞;
(2)、機(jī)械臂運(yùn)動(dòng)時(shí)請(qǐng)勿用手觸摸工作部分;
(3)、出現(xiàn)電機(jī)在通電狀態(tài)卻不工作的情況,請(qǐng)立刻切斷電源,以免電機(jī)損壞;
(4)、聲控開關(guān)和觸控開關(guān)為易損部件,請(qǐng)勿暴力操作;
2. 模式使用說明
聲控模式合適所有用戶使用,使用時(shí)將機(jī)器人擺在平臺(tái)上,平臺(tái)面積應(yīng)足夠大,以確保機(jī)器人擊鼓時(shí)產(chǎn)生的震動(dòng)不會(huì)使機(jī)器人跌落平臺(tái)。檢查電路連接是否有斷線、短路。確保無誤后接通電源,人站在附近1m處,雙手合拍,觀察機(jī)器人是否出現(xiàn)敲鼓動(dòng)作,如果機(jī)器人沒有反應(yīng),則掌聲可以拍大一點(diǎn),直至觀察到機(jī)器人執(zhí)行敲鼓動(dòng)作。若此時(shí)讓機(jī)器人擊鼓所需掌聲還比較小,人可以離機(jī)器人動(dòng)作遠(yuǎn)一點(diǎn)拍掌觀察機(jī)器人是否敲鼓。這樣即可調(diào)節(jié)好人使用該機(jī)器人的掌聲大小和距離范圍。每次拍掌機(jī)器人會(huì)敲鼓一次,也可連續(xù)拍掌,但連續(xù)拍掌時(shí)速度不可過快,以留機(jī)器人反應(yīng)時(shí)間。拍掌頻率掌握好后,人可以改變拍掌頻率,機(jī)器人則會(huì)以相同頻率做出擊鼓動(dòng)作。如果人根據(jù)一首歌曲節(jié)奏連續(xù)拍掌,機(jī)器人將記憶該節(jié)奏并在人拍掌后擊鼓重現(xiàn)該節(jié)奏,從而實(shí)現(xiàn)娛樂功能。使用完畢后應(yīng)及時(shí)關(guān)閉電源,以免電路元件發(fā)熱影響機(jī)器人使用壽命。
【觸感模式開啟與使用】
觸控模式可以合適所有用戶使用,使用時(shí)將機(jī)器人擺在平臺(tái)上,平臺(tái)面積應(yīng)足夠大,以確保機(jī)器人擊鼓時(shí)產(chǎn)生的震動(dòng)不會(huì)使機(jī)器人跌落平臺(tái)。檢查電路連接是否有斷線、短路。確保無誤后接通電源,單手觸摸一下左臂上任一個(gè)觸摸開關(guān),觀察機(jī)器人左擊鼓手是否執(zhí)行擊鼓動(dòng)作。同樣方式檢查右手擊鼓功能是否正常。若左右擊鼓手均正常,則可以每次觸摸機(jī)器人任一擊鼓手上的觸摸開關(guān),使機(jī)器人執(zhí)行擊鼓動(dòng)作。也可同時(shí)雙手觸摸兩擊鼓手觸摸開關(guān),左右擊鼓手同步執(zhí)行擊鼓動(dòng)作。人可以通過調(diào)整觸摸頻率、觸摸位置來使機(jī)器人打出富有旋律和動(dòng)感的擊鼓聲。使用完畢后應(yīng)及時(shí)關(guān)閉電源,以免電路元件發(fā)熱影響機(jī)器人使用壽命。
【再離線編程功能使用】
再離線編程功能主要由高級(jí)用戶使用。使用時(shí)請(qǐng)將電路的主要連接線全部移開,使PIC單片機(jī)所在的主控制電路板獨(dú)立出來使用,并同時(shí)打開您的電腦,調(diào)試您電腦的串口線或者其它燒錄PIC單片機(jī)的設(shè)備處于正常工作狀態(tài)。在確保您能夠向單片機(jī)燒入程序的情況之下,您可以開始編寫程序,我們建議使用常見的KEIL軟件進(jìn)行單片機(jī)程序的編寫和項(xiàng)目的建立和調(diào)試。程序由主要幾個(gè)部分組成,我們建議您盡量不要對(duì)我們附上的程序的主要結(jié)構(gòu)、系統(tǒng)、頭文件、舵機(jī)和步進(jìn)電機(jī)的延時(shí)時(shí)間等方面進(jìn)行更改,否則會(huì)導(dǎo)致機(jī)器人的某些部分或者整體無法工作;請(qǐng)您對(duì)如各個(gè)舵機(jī)、步進(jìn)電機(jī)的子程序進(jìn)行某些次序的變化,或者對(duì)舵機(jī)的循環(huán)次數(shù)進(jìn)行修改,這樣可以根據(jù)您的喜好,調(diào)節(jié)機(jī)械臂的包括擊鼓的轉(zhuǎn)動(dòng)角度范圍、步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)范圍以及舵機(jī)交替擊鼓與同步擊鼓的次序進(jìn)行調(diào)整,使機(jī)器人的表演更加具備您個(gè)人的特色。使用該功能的時(shí)候請(qǐng)您特別注意PIC單片機(jī)的數(shù)位與存儲(chǔ)范圍。完成燒錄之后將電路重新接回,開啟離線編程模式之后機(jī)器人就能夠按您的設(shè)定進(jìn)行運(yùn)動(dòng)。
3. 常見問題與解決
【常見問題及解決QA】
(1)Q:為何通電之后PIC單片機(jī)指示燈不亮,同時(shí)驅(qū)動(dòng)器指示燈微亮?
A:請(qǐng)您確定您已經(jīng)給兩個(gè)電路接入正確的電壓,PIC單片機(jī)接的是5V的邏輯電壓,電機(jī)驅(qū)動(dòng)器接的是15V的外加電壓,如果二者弄反了,可能會(huì)導(dǎo)致邏輯電路燒壞的情況。而驅(qū)動(dòng)器在低于9V的電壓條件下不能拖動(dòng)步進(jìn)電機(jī)工作,因此請(qǐng)保證您已經(jīng)為機(jī)器人接入正確的電源。
(2)Q:我已經(jīng)接入正確的電源,為何舵機(jī)不能工作?
A:請(qǐng)您確定您現(xiàn)在使用的模式是什么,如果您使用的是離線編程模式,可能是由于PIC單片機(jī)內(nèi)沒有預(yù)設(shè)的程序,或者是您在本機(jī)器人再離線編程系統(tǒng)使用中給舵機(jī)輸出的脈沖信號(hào)不正確,本舵機(jī)使用的是伺服控制技術(shù),高電平延時(shí)2.4ms,低電平延時(shí)20ms為舵機(jī)正轉(zhuǎn),高電平延時(shí)0.6ms,低電平延時(shí)20ms時(shí)為舵機(jī)反轉(zhuǎn),一但延時(shí)時(shí)間不足,可能導(dǎo)致舵機(jī)不能工作;如果您使用的是聲控模式或者觸控模式,請(qǐng)確定您已經(jīng)正確開啟這些模式,通過聲控系統(tǒng)指示燈和觸控系統(tǒng)指示燈可以判斷系統(tǒng)是否接收到您所擊打的信號(hào)。
(3) Q:我已經(jīng)接入正確的電源,為何步進(jìn)電機(jī)不能工作?
A:請(qǐng)您確定你給步進(jìn)電機(jī)輸出的脈沖是正確的,如果您使用再離線編程系統(tǒng)給步進(jìn)電機(jī)輸出的脈沖信號(hào)不正確,脈沖頻率過低會(huì)使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)不明顯或者不轉(zhuǎn)動(dòng),脈沖頻率過高會(huì)使步進(jìn)電機(jī)發(fā)生跳動(dòng)并產(chǎn)生刺耳的高頻聲音。本步進(jìn)電機(jī)的工作頻率幅度比較大,為了保證足夠的觀賞性和安全性能,建議您使用高低電平交替的方波信號(hào),兩者延時(shí)時(shí)間均為1.2±0.5ms
(4)Q:為何我的舵機(jī)揮動(dòng)手臂但打不到鼓?
A:如果您使用了再離線編程模式,請(qǐng)您確定您對(duì)舵機(jī)輸出的脈沖的循環(huán)次數(shù),如果輸出的脈沖循環(huán)次數(shù)過低,會(huì)導(dǎo)致舵機(jī)的轉(zhuǎn)動(dòng)角度大幅減少,這樣機(jī)器人就無法擊鼓了。
(5)Q:我明明已經(jīng)給機(jī)器人聲音信號(hào),為何機(jī)器人仍然沒有反應(yīng)?
A:請(qǐng)您首先確定您使用的聲控模式,如果不是,請(qǐng)將其調(diào)至聲控模式再給予聲控信號(hào);若您確定已使用聲控模式,請(qǐng)您首先觀察聲控模式的指示燈在您擊打鼓的時(shí)候有亮,如果沒有亮的話則可能是您給予的聲音信號(hào)不夠強(qiáng),此時(shí)可以通過調(diào)節(jié)聲音傳感器一側(cè)的可變電阻以調(diào)節(jié)其靈敏度;如果燈在您擊打的時(shí)候有亮,但電機(jī)仍然不轉(zhuǎn)動(dòng),則表示PIC單片機(jī)在接收到信號(hào)的條件下無法帶動(dòng)電機(jī),此時(shí)請(qǐng)檢查您是否曾使用過再離線編程功能,是否對(duì)舵機(jī)的驅(qū)動(dòng)子程序進(jìn)行過修改,如是則請(qǐng)按后面提供的源程序列表恢復(fù);如果您不曾使用過在離線編程功能,則可能是由于電路方面連接出現(xiàn)問題導(dǎo)致。
五、探究過程
1. 設(shè)計(jì)思路
大白菜的靈感來源與我們對(duì)機(jī)械臂方面研究的興趣,整個(gè)探究過程的設(shè)計(jì)采取以一個(gè)中心點(diǎn)出發(fā)進(jìn)行擴(kuò)展的設(shè)計(jì)思路,其思路表達(dá)如下:
圖5.1 設(shè)計(jì)思路流程圖
2. 探究過程簡述
首周作為確定題目和參賽的一周,主要工作在于對(duì)確定參賽的類型,項(xiàng)目組成員進(jìn)行相關(guān)的構(gòu)思與設(shè)計(jì),盡管已經(jīng)擁有一個(gè)確定的方向,但是仍然需要確定設(shè)計(jì)的整體思路與方案,以及進(jìn)行接下來工作的一些物資與資料準(zhǔn)備。
次周作為機(jī)器人制作的開始,主要工作在于機(jī)械設(shè)計(jì)方面,尤其是以機(jī)械臂的主體結(jié)構(gòu)進(jìn)行CAD及UG等軟件方面的設(shè)計(jì)為重,同時(shí)對(duì)機(jī)器人進(jìn)行相應(yīng)的受力分析以及對(duì)應(yīng)的細(xì)節(jié)處理,并將初稿提交給指導(dǎo)老師進(jìn)行審定與修改;電路方面進(jìn)行初期的購買物資,確定元器件類型與數(shù)量,對(duì)開發(fā)板與最小系統(tǒng)板進(jìn)行對(duì)應(yīng)的初步調(diào)試。
機(jī)械機(jī)構(gòu)部分 | 電路與控制部分 |
CAD與UG軟件制圖 受力分析 細(xì)節(jié)處理 指導(dǎo)老師修改機(jī)械設(shè)計(jì)方案 | 確定元器件類型與數(shù)量 購買物資 調(diào)試PIC單片機(jī)開發(fā)板 |
第三周工作進(jìn)入全面開展的狀態(tài),由于機(jī)械設(shè)計(jì)方面出現(xiàn)不少的問題,需要多次修改機(jī)械設(shè)計(jì)部分,如軸、各級(jí)機(jī)械臂、連接件等方面都出現(xiàn)了如孔徑不均、鈑金件尺寸不規(guī)范、軸沒有分級(jí)等多種問題,需要多次與指導(dǎo)老師溝通并作出修改;另外,購買軸承、螺釘?shù)染o固件與連接件,確定需要機(jī)械零件的參數(shù)與一般選定條件;電路與控制方面則開始進(jìn)行相關(guān)子控制電路的制作,聲音控制系統(tǒng)與觸感控制系統(tǒng)的設(shè)計(jì)以及一般算法的編寫與設(shè)計(jì)。
機(jī)械機(jī)構(gòu)部分 | 電路與控制部分 |
機(jī)械設(shè)計(jì)修改 購買緊固件、軸承等 確定零件參數(shù)規(guī)格 | 子控制電路設(shè)計(jì)與制作 一般算法設(shè)計(jì)與編寫 |
第四周工作比較繁重,主要集中在機(jī)械設(shè)計(jì)方面繼續(xù)定稿與制作,并提交到加工方進(jìn)行受理與制作,而同時(shí)根據(jù)之前測(cè)得的機(jī)械臂的主體結(jié)構(gòu)受力數(shù)據(jù)等方面進(jìn)行電機(jī)參數(shù)的選擇,購買舵機(jī)與步進(jìn)電機(jī);電路與控制方面開始對(duì)新購買的舵機(jī)、步進(jìn)電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)器進(jìn)行相應(yīng)的調(diào)試,由于供貨商方面提供的資料并不完整,因此在電機(jī)的調(diào)試上出現(xiàn)很多的問題,如占空比的掌握、步進(jìn)電機(jī)脈沖的頻率調(diào)整等未能使電機(jī)轉(zhuǎn)動(dòng)。
機(jī)械機(jī)構(gòu)部分 | 電路與控制部分 |
機(jī)械設(shè)計(jì)定稿 交付加工 確定電機(jī)參數(shù)并購買電機(jī) | 對(duì)電機(jī)進(jìn)行運(yùn)動(dòng)測(cè)試 |
第五周由于等待機(jī)械加工的原因,在機(jī)械方面并沒有太多的工作,只是一些購買簡單組裝工具的工作;而工作重心則主要都集中在整個(gè)團(tuán)隊(duì)對(duì)于新的電機(jī)的調(diào)試方面,分別向《機(jī)器人設(shè)計(jì)與制作》任課老師、電工電子實(shí)驗(yàn)中心老師、機(jī)電學(xué)院研究生等多方面進(jìn)行相應(yīng)的請(qǐng)教,終于使舵機(jī)能夠轉(zhuǎn)動(dòng),而步進(jìn)電機(jī)則出現(xiàn)發(fā)出尖叫聲的問題。
機(jī)械機(jī)構(gòu)部分 | 電路與控制部分 |
購買組裝工具 | 對(duì)電機(jī)進(jìn)行運(yùn)動(dòng)測(cè)試 |
第六周機(jī)械加工完成,機(jī)械機(jī)構(gòu)方面進(jìn)行相應(yīng)的組裝工作,主要集中在對(duì)機(jī)械臂主體的組裝、電機(jī)的裝入與固定、底座的制作等配套工作;而控制方面則對(duì)已經(jīng)調(diào)整好的舵機(jī)進(jìn)行相應(yīng)的控制測(cè)試,同時(shí)再對(duì)步進(jìn)電機(jī)進(jìn)行調(diào)試,終于在使用高頻信號(hào)發(fā)生器之下使步進(jìn)電機(jī)轉(zhuǎn)動(dòng),并且基本掌握步進(jìn)電機(jī)的工作頻率與工作電壓,以及步進(jìn)電機(jī)驅(qū)動(dòng)的控制技巧。
機(jī)械機(jī)構(gòu)部分 | 電路與控制部分 |
機(jī)械零件組裝 配套系統(tǒng)制作 | 舵機(jī)進(jìn)行控制測(cè)試 步進(jìn)電機(jī)運(yùn)動(dòng)測(cè)試 |
第七周需要加快工作進(jìn)度,機(jī)械方面已經(jīng)成型,結(jié)構(gòu)已經(jīng)得到確定,并且各個(gè)自由度運(yùn)動(dòng)在工作條件下運(yùn)動(dòng)正常;而工作都集中在電路與控制方面,主要是整體程序的編寫與各個(gè)子電路的測(cè)試,以及各個(gè)示教系統(tǒng)對(duì)電機(jī)的控制調(diào)試。
機(jī)械機(jī)構(gòu)部分 | 電路與控制部分 |
自由度微調(diào) | 整體與子程序編寫 各個(gè)子系統(tǒng)對(duì)電機(jī)調(diào)試 |
第八周主要工作在于整機(jī)調(diào)試以及編寫項(xiàng)目報(bào)告;整機(jī)調(diào)試工作主要集中在對(duì)機(jī)械臂的主體結(jié)構(gòu)進(jìn)行PIC單片機(jī)控制,模擬現(xiàn)場(chǎng)情況進(jìn)行各個(gè)子控制系統(tǒng)的調(diào)試,模擬各種可能出現(xiàn)的問題進(jìn)行相關(guān)的準(zhǔn)備與設(shè)計(jì)。
整體工作 |
整體機(jī)械臂調(diào)試 編寫總結(jié)報(bào)告 模擬及設(shè)想問題及準(zhǔn)備解決方案 |
3. 探究過程出現(xiàn)的問題與采取的解決方法
3.1
【問題】機(jī)械設(shè)計(jì)不規(guī)范,如軸、各級(jí)機(jī)械臂、連接件等方面都出現(xiàn)了如孔徑不均、鈑金件尺寸不規(guī)范、軸沒有分級(jí)等多種問題。
【解決方法】通過與指導(dǎo)教師的溝通與多次交流,并將機(jī)械設(shè)計(jì)圖交給老師審閱與修改,由指導(dǎo)教師提供改進(jìn)的意見,我們通過4次的大型修改,最終確定了現(xiàn)在的機(jī)械結(jié)構(gòu):使用角鐵連接機(jī)械臂、多級(jí)軸結(jié)構(gòu)、法蘭與軸承分邊固定等機(jī)械結(jié)構(gòu),并在11月中下旬終于將機(jī)械設(shè)計(jì)圖最終定稿并交付加工方進(jìn)行相應(yīng)的機(jī)械加工與制造。
3.2
【問題】整個(gè)機(jī)械臂主體加工精度過低,導(dǎo)致機(jī)械臂多個(gè)地方的連接出現(xiàn)問題,軸與軸承的配合過盈太多,主體結(jié)構(gòu)的通孔間隙過大,平行機(jī)械臂結(jié)構(gòu)的通孔沒有對(duì)準(zhǔn)等多種機(jī)械加工精度問題。
【解決方法】由于本機(jī)器人是交付到外面的加工方進(jìn)行相應(yīng)的機(jī)械加工和機(jī)械制造,而為了節(jié)省成本,選擇了精度比較低的手控機(jī)床來進(jìn)行加工,因此機(jī)械加工的精度存在相當(dāng)?shù)膯栴}。為了解決上述的問題,我們?cè)谠O(shè)計(jì)的時(shí)候已經(jīng)相應(yīng)增加了一定的過盈量以防加工失誤導(dǎo)致間隙過大等無法彌補(bǔ)的問題;同時(shí),我們?cè)讷@得零件的時(shí)候已經(jīng)進(jìn)行相關(guān)的檢查,保證了一定的精度,但是仍然存在過盈或者間隙過大等一系列的問題,最終解決方法是采用我們自己進(jìn)行后期再加工,如對(duì)軸、機(jī)械臂結(jié)構(gòu)等進(jìn)行打磨,同時(shí)對(duì)過盈量過大的工件進(jìn)行銼刀慢銼以減低過盈量等,最終順利將所以工件組裝起來并完成機(jī)械臂的整體結(jié)構(gòu)。
3.3
【問題】由于沒有完整的技術(shù)資料,舵機(jī)在給予一定脈沖的時(shí)候不轉(zhuǎn)動(dòng),或者出現(xiàn)跳動(dòng)等現(xiàn)象。
【解決方法】出于沒有相關(guān)技術(shù)資料的原因,我們首先是在網(wǎng)上尋找MG945這款舵機(jī)的相關(guān)控制資料,但是沒有完整的占空比的信息,因此我們又找到了電工電子實(shí)驗(yàn)中心的同學(xué)、《機(jī)器人設(shè)計(jì)與制作》的任課老師咨詢,最終綜合網(wǎng)上的論壇資料與老師提供的信息,最后利用單片機(jī)進(jìn)行脈寬調(diào)節(jié),最終確定了低電平延時(shí)20ms,高電平在1.5±1ms的伺服信號(hào),并且增加循環(huán)等程序的控制下使電機(jī)能夠按照一定的周期擺動(dòng),并且在裝上機(jī)械臂后能夠使機(jī)械臂按照一定的角度進(jìn)行上下的擺動(dòng)。
3.4
【問題】由于沒有完整的技術(shù)資料,步進(jìn)電機(jī)在使用單片機(jī)控制下不轉(zhuǎn)動(dòng)、或者跳動(dòng)并發(fā)出尖銳聲音
【解決方法】同樣由于技術(shù)資料不完整以及供貨方方面提供的信息有誤,步進(jìn)電機(jī)不能正常轉(zhuǎn)動(dòng),其主要現(xiàn)象是前者在步進(jìn)電機(jī)驅(qū)動(dòng)上電的情況之下步進(jìn)電機(jī)對(duì)信號(hào)完全沒有反應(yīng);后則則是在給予的脈沖有反映,但發(fā)出聲音。我們?cè)诿鎸?duì)著兩種情況的時(shí)候分別尋找了機(jī)電學(xué)院的研究生與電工電子技術(shù)的老師進(jìn)行相關(guān)的咨詢和調(diào)試,最后根據(jù)相關(guān)的資料,得出了步進(jìn)電機(jī)的控制方法是通過一個(gè)高低電平的變化使步進(jìn)電機(jī)發(fā)生一個(gè)步矩角的轉(zhuǎn)動(dòng)的相關(guān)信息,可以確定是由于我們?cè)谶B接的時(shí)候,給予步進(jìn)電機(jī)的脈沖頻率過高,達(dá)到了10000Hz,遠(yuǎn)超過步進(jìn)電機(jī)的反應(yīng)速度,因此后來將頻率調(diào)至350-700Hz左右的時(shí)候,步進(jìn)電機(jī)就能夠正常工作。
3.5
【問題】步進(jìn)電機(jī)運(yùn)動(dòng)與其步矩角參數(shù)等理論值不對(duì)應(yīng),如給定50個(gè)高低變化的脈沖,但是步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度大于90度。
【解決方法】我們最終選擇忽略這個(gè)問題,盡管無法量化地控制電機(jī),但是通過多次的調(diào)試,最終能夠?qū)㈦姍C(jī)的轉(zhuǎn)角調(diào)到一個(gè)合適的范圍;另外,根據(jù)供貨方提供的信息,本問題的成因很可能是由于步進(jìn)電機(jī)的驅(qū)動(dòng)器有個(gè)細(xì)分?jǐn)?shù)可選,而這個(gè)細(xì)分?jǐn)?shù)可以將步矩角細(xì)分到一定的范圍,因此可能導(dǎo)致給定的高低電平變化使步進(jìn)電機(jī)的輸出角度變小,從而是角度與其原來的理論值不相符。
3.6
【問題】步進(jìn)電機(jī)與其電機(jī)驅(qū)動(dòng)需要較高電壓電源,而且電機(jī)需要一個(gè)獨(dú)立電源,單片機(jī)需要一個(gè)獨(dú)立邏輯電源。
【解決方法】按照原來的計(jì)劃,我們是打算利用7805芯片進(jìn)行相應(yīng)的電壓調(diào)整,使整個(gè)機(jī)器人只需要一個(gè)電源系統(tǒng),但是后來根據(jù)指導(dǎo)老師的建議,認(rèn)為邏輯電源與外接電源不宜一致,因此,應(yīng)該使用兩個(gè)獨(dú)立電源;同時(shí),由于步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)最低要求9V的電壓,而最好是有15V的電壓,因此在參加比賽的時(shí)候,則需要使用到外加的學(xué)生電源進(jìn)行相關(guān)的驅(qū)動(dòng)。
3.7
【問題】兩個(gè)舵機(jī)使用程序無法進(jìn)行調(diào)平
【解決方法】出現(xiàn)這個(gè)問題的根本原因是由于選用的舵機(jī)有個(gè)機(jī)械零點(diǎn),它具有上電自動(dòng)復(fù)位的功能,因此在使用的時(shí)候就會(huì)由于每次單片機(jī)上電是舵機(jī)復(fù)位而導(dǎo)致無法進(jìn)行調(diào)平,無論我們的程序怎樣編寫都沒有辦法使其合適擊鼓的需要。為了解決這個(gè)問題,我們只能采用機(jī)械調(diào)平的方法處理,通過調(diào)整機(jī)械臂與舵機(jī)的不同角度的連接,從而改變其初始的角度,以及將兩個(gè)機(jī)械臂調(diào)成平行的,使其合適擊鼓的狀態(tài)。
3.8
【問題】擊鼓的時(shí)候擊打的聲音并不明顯
【解決方法】這個(gè)問題的主要成因是由于舵機(jī)屬于高扭矩的舵機(jī),而其代價(jià)則是其轉(zhuǎn)速比較慢,僅為0.25sec/60°,同時(shí)在電機(jī)的伺服控制當(dāng)中為了保證其有足夠的轉(zhuǎn)角,其速度也不能調(diào)得過快,否則會(huì)導(dǎo)致第三級(jí)機(jī)械臂與舵機(jī)之間的連接出現(xiàn)較大的問題。為了解決這個(gè)問題,我們只能夠在轉(zhuǎn)速、轉(zhuǎn)角、擊打力度之間取得一個(gè)平衡,我們也多次改變舵機(jī)的伺服控制程序,包括對(duì)高低電平的脈寬進(jìn)行相關(guān)調(diào)節(jié),以及對(duì)循環(huán)的次數(shù)進(jìn)行調(diào)節(jié),只能得出現(xiàn)在的這個(gè)情況,即便是在以后進(jìn)行改進(jìn)的時(shí)候,也只能在硬件方面,如增加鼓棒重量,改變鼓的結(jié)構(gòu)或者使用架子鼓的發(fā)聲比較強(qiáng)的鼓進(jìn)行展示。
3.9
【問題】聲音傳感器過靈敏,以致超過了舵機(jī)的反應(yīng)速度
【解決方法】這個(gè)問題的主要成因是由于聲音傳感器本身的精度問題引起的,因此解決的方法有多種,一個(gè)是調(diào)節(jié)聲音傳感器本身,而另外一種則是在聲音傳感器與單片機(jī)的相連的電路系統(tǒng)中增加可變電阻系統(tǒng),我們選擇了后者;在電路中增加可調(diào)的可變電阻,然后通過現(xiàn)場(chǎng)對(duì)可變電阻的調(diào)節(jié),能夠滿足對(duì)聲音傳感器在其工作范圍內(nèi)的聲音探測(cè)能力的調(diào)制,進(jìn)而能夠是機(jī)器人擁有更為廣泛的適應(yīng)性與適用性。
3.10
【問題】部分電路不穩(wěn)定,使在聲控模式下舵機(jī)運(yùn)動(dòng)并不規(guī)律,如在一次聲音信號(hào)輸入之下,舵機(jī)重復(fù)運(yùn)動(dòng)。
【解決方法】這個(gè)問題的主要成因比較復(fù)雜,可能是由于電路的原因造成的,也可能是由于程序的編寫失誤或者是調(diào)用失誤導(dǎo)致的,因此至今我們也沒能明確這個(gè)問題的主要成因是什么。但是我們采用了多種手段,包括調(diào)整程序的結(jié)構(gòu)、重新編寫子程序與調(diào)用的結(jié)構(gòu)、重新設(shè)計(jì)電路與重新布局排版、增加施密特觸發(fā)器進(jìn)行整波等手段,最終使聲控電路能夠正常工作。
六、評(píng)價(jià)與改進(jìn)方案
1. 自我總結(jié)與評(píng)價(jià)
【自我總結(jié)】
經(jīng)過2個(gè)月的設(shè)計(jì)與制作,終于將機(jī)器人完整地完成 ,可以說著2個(gè)月過得痛并快樂著。畢竟這個(gè)機(jī)器人是整個(gè)項(xiàng)目組成員已經(jīng)經(jīng)過了近半年的理論論證最終得到的實(shí)體,雖然其功能與原來的設(shè)想并不完全一致,但是至少給了我們一個(gè)參加比賽的機(jī)會(huì),同時(shí)給了一個(gè)制作一臺(tái)真正機(jī)器人實(shí)體的機(jī)會(huì),因此我們要感謝這次大賽,也感謝每一個(gè)支持與幫助過我們的老師、同學(xué)。
機(jī)器人的設(shè)計(jì)與制作總是伴隨著那幾個(gè)不可缺少的基本點(diǎn),之所以我們參加比賽一來是為了更加貼近現(xiàn)實(shí)的機(jī)器人學(xué),二來是為了對(duì)項(xiàng)目的后續(xù)發(fā)展帶來更大的幫助。因此我們選擇了制造一直機(jī)械臂,雖然參加比賽的功能目前還只是擊鼓,但是相信在更長遠(yuǎn)的未來,它會(huì)走得更遠(yuǎn)。
正如之前所說的,我們已經(jīng)經(jīng)過將近半年的理論驗(yàn)證,從很多地方已經(jīng)省下了不少時(shí)間,包括我們已經(jīng)收集了足夠多的資料,也已經(jīng)對(duì)機(jī)械臂的實(shí)體進(jìn)行過相關(guān)的簡易建模研究,因此在參加本次比賽的時(shí)候能夠得心應(yīng)手。而在這次比賽當(dāng)中,我們的確學(xué)到了更多,雖然在之前理論驗(yàn)證階段已經(jīng)有了一定的數(shù)據(jù)與相關(guān)資料,但是仍然缺乏實(shí)際操作的空間。而在這次制作大白菜的過程中,首先學(xué)到的是機(jī)械設(shè)計(jì)方面的知識(shí),在設(shè)計(jì)機(jī)械臂的時(shí)候無可避免地要與機(jī)械設(shè)計(jì)打交道,盡管之前有過相關(guān)的經(jīng)驗(yàn),但是仍然不足以應(yīng)對(duì)十幾樣零件的設(shè)計(jì),因此我們?cè)诤芏嗟胤揭沧龅貌蛔悖苍诤芏嗉?xì)節(jié)上存在很多漏洞;然后學(xué)到的就是加工方面的一些知識(shí),雖然我們不是親自去加工這些零件,但是怎樣才能更加快更加省錢的完成這些零件的制造,是我們需要考慮的問題,因此我們省略了很多不必要的設(shè)計(jì),也減去了一些在本次比賽不需要的自由度和相關(guān)零件;還有學(xué)到了電機(jī)的控制方面的知識(shí),包括舵機(jī)、步進(jìn)電機(jī)、直流電機(jī)的控制方法,是如何進(jìn)行PWM脈沖調(diào)節(jié),或者是如果控制步進(jìn)電機(jī)的這些知識(shí)有了初步的了解;最后就是電路與程序方面的調(diào)試,盡管電路并不復(fù)雜,但是整體由于機(jī)構(gòu)比較大、功能復(fù)雜,因此各個(gè)組合的配合需要花很多心思去完成。
總結(jié)這次參加比賽,我們得到了一個(gè)能夠擊鼓的機(jī)器人,收獲了包括機(jī)械、電子、控制方面的知識(shí),也認(rèn)識(shí)到自己很多地方的不足與改進(jìn)之處。
【自我評(píng)價(jià)】
盡管每個(gè)人的參與程度與參與范圍不同,但是整個(gè)項(xiàng)目組都處于一種合一的狀態(tài)。同時(shí),每個(gè)人根據(jù)自己的能力所在進(jìn)行相應(yīng)方面的研究,由于我們?cè)O(shè)計(jì)與制作的不是一架普通的小車,而是一個(gè)機(jī)械臂,我們也需要在受力分析、三維建模、CAD制圖、機(jī)械加工與制造方面投入更多的時(shí)間,因此項(xiàng)目組成員主要都是偏機(jī)械方向,而在電路設(shè)計(jì)、程序控制、電機(jī)調(diào)測(cè)等方面也有相應(yīng)的投入。由于工作組的不懈努力,無論是前期的準(zhǔn)備,中期的制作與裝配,還是后期的調(diào)試都進(jìn)行得有條不紊,成員各司所職,將自己本分做好,也去幫助遇到困難的同伴,大家將自己所知道的,所掌握的知識(shí)投入到本次比賽中,再從中收獲更多的知識(shí)。
2. 自我改進(jìn)方案
【改進(jìn)方案】
由于參加本次比賽是已經(jīng)經(jīng)過相當(dāng)多理論的驗(yàn)證,因此在比賽之后,我們可以根據(jù)原來設(shè)定的方案繼續(xù)進(jìn)行機(jī)器人方面的探究。
根據(jù)原來的計(jì)劃,機(jī)械臂部分擁有大概9個(gè)自由度,其中第三級(jí)機(jī)械臂處會(huì)增加4個(gè)自由度,同時(shí)會(huì)為所有自由度配上舵機(jī)或者步進(jìn)電機(jī),同時(shí)也會(huì)在軸部分增加編碼盤或者其它能夠測(cè)量電機(jī)轉(zhuǎn)動(dòng)角速度的器件,而在控制方面則著重與對(duì)機(jī)械臂轉(zhuǎn)速與轉(zhuǎn)動(dòng)角度的量化測(cè)量,并且紀(jì)錄機(jī)械臂的對(duì)應(yīng)時(shí)刻的位姿與速度,能夠完成測(cè)量臂的功能,并且能夠同時(shí)利用控制系統(tǒng)將其原來的示教過程中機(jī)械臂的位姿與速度重現(xiàn),達(dá)到一種能夠記憶機(jī)械臂示教運(yùn)動(dòng)并重現(xiàn)的最終功能。
擁有這種功能的機(jī)器人的應(yīng)用方面廣泛,而針對(duì)特定的情況以及我們的制作水平與機(jī)器人的規(guī)模大小,最終預(yù)計(jì)會(huì)確定用于醫(yī)療方面,例如針對(duì)中風(fēng)病人進(jìn)行按摩,在醫(yī)護(hù)人員進(jìn)行相關(guān)的示教之后,機(jī)器人能夠自動(dòng)重現(xiàn)示教的動(dòng)作,對(duì)病人自動(dòng)進(jìn)行按摩。
附件:
1. 機(jī)械設(shè)計(jì)零件圖及裝配圖
1.1 機(jī)械零件CAD圖
【軸1】 1件
【軸2】 1件
【軸3】 1件
【底盤】 1件
【支架】 2件
【第一級(jí)機(jī)械臂】 2件
【第二級(jí)機(jī)械臂】 2件
【第三級(jí)機(jī)械臂】 2件
【二級(jí)臂連接件】 1件
【二三級(jí)連接件】 1件
【舵機(jī)固定件】 2件
【連接件1】 2件
【連接件2】 2件
1.2 機(jī)械零件UG圖
【軸1】 1件
【軸2】 1件
【軸3】 1件
【底盤】 1件
【支架】 2件
【第一級(jí)機(jī)械臂】 2件
【第二級(jí)機(jī)械臂】 2件
【第三級(jí)機(jī)械臂】 2件
【二級(jí)臂連接件】 1件
【二三級(jí)連接件】 1件
【舵機(jī)固定件】 2件
【連接件1】 2件
【連接件2】 2件
【軸承】5件
1.3 機(jī)械設(shè)計(jì)裝配總圖
【裝配圖-主視】
【裝配圖-俯視】
【裝配圖-任意角度1】
【裝配圖-任意角度2】
【裝配圖-任意角度3】
2. 電路原理圖
【聲控電路原理圖】
【觸控電路原理圖】
3. 全程序
#define uchar unsigned char
#define uint unsigned int
sbit P0_0=P0^0;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_4=P2^4;
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
/***********************************/
void delay_nus(unsigned int i) //延時(shí):i>=12 ,i的最小延時(shí)單12 us
{
i=i/10;
while(--i);
}
void delay_nms(unsigned int n) //延時(shí)n ms
{
n=n+1;
while(--n)
delay_nus(900); //延時(shí) 1ms,同時(shí)進(jìn)行補(bǔ)償
}
/**********************************/
void init(void) //聲控程序,中斷初始化
{
EA=1;
EX0=1;
IT0=0;
}
void int0 () interrupt 0
{
P2_0=0;
delay_nms(200);
P2_0=1;
}
/***********************************/
void main(void) //主程序
{
int a,b,c;
P3_0=0;
while(1)
{
a=P3_4; //KEY4
if(a==0)
{
delay_nms(10);
if(a==0)
{
P2_3=0; //輸給自由表演的部分來檢測(cè)
while(1)
{
P1_5=0;
delay_nms(2000);
P2_3=1;
}
}
}
a=P3_5; //KEY5
if(a==0)
{
delay_nms(10);
if(a==0)
{
while(1)
{
b=P1_0;
c=P1_1;
if((b==0)(c==0))
{
P2_0=0;
delay_nms(200);
}
if((b==0)(c!=0))
{
P2_1=0;
delay_nms(200);
}
if((b!=0)(c==0))
{
P2_2=0;
delay_nms(200);
}
P1_6=0;
}
}
}
a=P3_6; //KEY6
if(a==0)
{
delay_nms(10);
if(a==0)
{
while(1)
{
init();
P1_7=0;
}}}
}}
#define uchar unsigned char
#define uint unsigned int
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P0_3=P0^3;
sbit P0_4=P0^4;
sbit P0_5=P0^5;
sbit P0_6=P0^6;
sbit P0_7=P0^7;
sbit P2_0=P2^0;
sbit P2_2=P2^2;
sbit P2_4=P2^4;
sbit P2_6=P2^6;
/***************************************/
void delay_nus(unsigned int i) //延時(shí):i>=12 ,i最小延時(shí)12us
{
i=i/10;
while(--i);
}
void delay_nms(unsigned int n) //延時(shí)n ms
{
n=n+1;
while(--n)
delay_nus(900); //延時(shí) 1ms,同時(shí)進(jìn)行補(bǔ)償
}
void SMotorL(void) //步進(jìn)電機(jī)左轉(zhuǎn)
{
int i;
P1_4=1;
P1_3=1;
for(i=0;i1550;i++)
{
P1_2=1;
delay_nus(800);
P1_2=0;
delay_nus(800);
}
delay_nus(5000);
}
void SMotorR(void) //步進(jìn)電機(jī)右轉(zhuǎn)
{
int i;
P1_4=1;
P1_3=0;
for(i=0;i1550;i++)
{
P1_2=1;
delay_nus(800);
P1_2=0;
delay_nus(800);
}
delay_nus(5000);
}
void DMotor_Dou(int n) //舵機(jī)雙手一起動(dòng),n表示次數(shù)
{
int i,j;
for(j=0;jn;j++)
{
for(i=0;i18;i++)
{
P1_0=1;
P1_1=1;
delay_nus(2400);
P1_0=0;
P1_1=0;
delay_nms(20);
}
for(i=0;i18;i++)
{
P1_0=1;
P1_1=1;
delay_nus(1000);
P1_0=0;
P1_1=0;
delay_nms(20);
}
}
delay_nms(10);
}
void DMotor_Dou1(int n) //舵機(jī)雙手一起動(dòng),n表示次數(shù)
{
int i,j;
for(j=0;jn;j++)
{
for(i=0;i30;i++)
{
P1_0=1;
P1_1=1;
delay_nus(2400);
P1_0=0;
P1_1=0;
delay_nms(20);
}
for(i=0;i30;i++)
{
P1_0=1;
P1_1=1;
delay_nus(600);
P1_0=0;
P1_1=0;
delay_nms(20);
}
}
delay_nms(10);
}
void DMotor_Dou2(int n) //舵機(jī)雙手一起動(dòng),n表示次數(shù)
{
int i,j;
for(j=0;jn;j++)
{
for(i=0;i25;i++)
{
P1_0=1;
P1_1=1;
delay_nus(2400);
P1_0=0;
P1_1=0;
delay_nms(20);
}
for(i=0;i25;i++)
{
P1_0=1;
P1_1=1;
delay_nus(800);
P1_0=0;
P1_1=0;
delay_nms(20);
}
}
delay_nms(10);
}
void DMotor_Sig(int n) //左右手交替,n代表次數(shù)
{
int i,j;
for(j=0;jn;j++)
{
for(i=0;i15;i++)
{
P1_1=1;
delay_nus(2400);
P1_1=0;
delay_nms(20);
}
for(i=0;i15;i++)
{
P1_1=1;
delay_nus(1000);
P1_1=0;
delay_nms(20);
}
for(i=0;i15;i++)
{
P1_0=1;
delay_nus(2400);
P1_0=0;
delay_nms(20);
}
for(i=0;i15;i++)
{
P1_0=1;
delay_nus(1000);
P1_0=0;
delay_nms(20);
}
}
delay_nms(10);
}
void DMotorL(int n) //舵機(jī)左手,n代表次數(shù)
{
int i,j;
for(j=0;jn;j++)
{
for(i=0;i18;i++)
{
P1_0=1;
delay_nus(2400);
P1_0=0;
delay_nms(20);
}
for(i=0;i18;i++)
{
P1_0=1;
delay_nus(900);
P1_0=0;
delay_nms(20);
}
}
delay_nms(10);
}
void DMotorR(int n) //舵機(jī)右手,n代表次數(shù)
{
int i,j;
for(j=0;jn;j++)
{
for(i=0;i18;i++)
{
P1_1=1;
delay_nus(2400);
P1_1=0;
delay_nms(20);
}
for(i=0;i18;i++)
{
P1_1=1;
delay_nus(900);
P1_1=0;
delay_nms(20);
}
}
delay_nms(10);
}
void main(void)
{
int a,b;
while(1)
{
a=P1_0;
if(a==0)
{
DMotor_Dou(1);
delay_nms(10);}
a=P1_1;
if(a==0)
{
DMotorL(1);
delay_nms(10);
}
a=P1_2;
if(a==0)
{
DMotorR(1);
delay_nms(10);}
a=P1_3;
if(a==0)
{
DMotor_Dou1(1);
DMotor_Dou2(1);
DMotor_Dou(3);
delay_nms(200);
DMotor_Dou(2);
SMotorR();
DMotor_Dou(2);
SMotorL();
DMotor_Dou(2);
SMotorR();
DMotor_Dou(2);
SMotorL();
DMotor_Dou(1);
delay_nms(30);
DMotor_Sig(2);
SMotorR();
DMotor_Sig(2);
SMotorL();
DMotorL(1);
DMotorR(1);
DMotorL(1);
DMotorR(1);
DMotor_Sig(1);
SMotorR();
DMotor_Sig(1);
DMotorL(1);
DMotorR(1);
DMotor_Dou(2);
delay_nms(100);
DMotorR(2);
DMotorL(2);
SMotorL();
DMotor_Sig(1);
DMotor_Sig(1);
delay_nms(100);
DMotorL(2);
SMotorR();
DMotorR(1);
DMotorL(2);
SMotorL();
DMotorR(1);
DMotorL(2);
SMotorR();
DMotorR(1);
DMotorL(2);
SMotorL();
DMotorR(1);
DMotor_Sig(1);
SMotorR();
DMotor_Sig(1);
DMotorL(2);
DMotor_Sig(1);
DMotorL(2);
DMotorR(2);
delay_nms(400);
DMotor_Sig(1);
SMotorL();
DMotorL(1);
DMotorR(1);
SMotorR();
DMotorL(1);
DMotorR(1);
SMotorL();
DMotorL(1);
DMotorR(1);
SMotorR();
DMotorL(1);
DMotorR(1);
DMotor_Sig(1);
DMotor_Sig(1);
SMotorL();
DMotorL(1);
DMotorR(1);
DMotor_Sig(1);
SMotorR();
DMotorL(1);
DMotorR(1);
DMotor_Sig(1);
SMotorL();
DMotorL(1);
DMotorR(1);
DMotor_Sig(1);
SMotorR();
DMotorL(1);
DMotorR(1);
DMotor_Sig(1);
delay_nms(100);
DMotorL(1); SMotorL();
DMotorR(1); SMotorR();
DMotorL(1); SMotorL();
DMotorR(1); SMotorR();
delay_nms(200);
DMotor_Dou(2);
DMotor_Dou1(1);
DMotor_Dou2(1);}
}
}
評(píng)論