版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機器人項目研究報告有一位同學過生日,我們?nèi)ベI生日蛋糕時就想,能否自己制作一臺機器人,讓機器人來做我們自己設(shè)計的蛋糕。機器人做蛋糕的好處在于它還可以完成一些手工難以精確繪制的圖形,比如圓錐曲線或者比較復(fù)雜的幾何圖形組之類。此外,若把原材料換一下,改一下機器結(jié)構(gòu),就能讓它做煎餅,做冰淇淋。所以說,這個機器人還可以有更廣泛的外延應(yīng)用。經(jīng)過調(diào)查,我們在網(wǎng)上和資料中沒有發(fā)現(xiàn)任何團體或個人正在制作或已經(jīng)做出類似的產(chǎn)品。我們的基本思路是:由中心電機將蛋糕坯帶入加工的各個工序,氣動系統(tǒng)配合液壓系統(tǒng)將奶油擠至蛋糕上,刮板將奶油刮平,單片機協(xié)調(diào)雙步進電機配合控制奶油嘴進行二維定位,在蛋糕表面噴出美麗的圖案。機器人
2、的結(jié)構(gòu)和框架的主材料使用鋁角鋼。噴花奶油罐我們將獸醫(yī)注射器改造,并使其上部推壓板與氣筒固定為一體,這樣當氣筒通氣時,氣筒拉桿收縮,注射器便能擠出奶油。對于抹平奶油罐我們同樣利用氣筒拉桿的推動,自制活塞將奶油擠出。在蛋糕坯上抹奶油的部分模擬了蛋糕師的抹平工具,奶油擠出后下部轉(zhuǎn)盤配合旋轉(zhuǎn),上板將蛋糕上表面奶油刮平,多余奶油擠至側(cè)邊,同時側(cè)板開了槽,這樣能直接刮出側(cè)表面的花紋。噴花奶油嘴的精確定位我們采用極坐標計算方式,以圓盤中心為原點建立極坐標系,將圖形中的線轉(zhuǎn)化為兩個步進電機的轉(zhuǎn)角、轉(zhuǎn)速,同時計算單片機給步進電機脈沖的相應(yīng)頻率,由單片機協(xié)調(diào)雙電機實現(xiàn)奶油嘴按特定路徑的精確定位。單片機使用了AVR
3、 ATmega128單片機作為內(nèi)核,我們自己設(shè)計制做了外部電路。所有的機械結(jié)構(gòu)和軟件程序都是由我們自主設(shè)計并制作的。仿生六足探測機器人研究報告 一、課題背景:仿生運動模式的多足步行機器人具有優(yōu)越的越障能力,它集仿生學原理、機構(gòu)學理論、自動控制原理與技術(shù)、計算機軟件開發(fā)技術(shù)、傳感器檢測技術(shù)和電機驅(qū)動技術(shù)于一體。不論在何種地面上行走,仿生六足機器人的運動都具有靈活性與變化性,但其精確控制的難度很大,需要有良好的控制策略與精密的軌跡規(guī)劃,這些都是很好的研究題材。二、項目創(chuàng)新點:作為簡單的關(guān)節(jié)型伺服機構(gòu),仿生六足機器人能夠?qū)崿F(xiàn)實時避障,合理規(guī)劃行走路線。簡單的關(guān)節(jié)型機器人伺服系統(tǒng)不僅具有可批量制造的條
4、件,作為今后機器人群系統(tǒng)的基本組成,也可以作為探索復(fù)雜伺服機構(gòu)的研究對象。三、研究內(nèi)容:1.仿生學原理分析: 仿生式六足機器人,顧名思義,六足機器人在我們理想架構(gòu)中,我們借鑒了自然界昆蟲的運動原理。 足是昆蟲的運動器官。昆蟲有3對足,在前胸、中胸和后胸各有一對,我們相應(yīng)地稱為前足、中足和后足。每個足由基節(jié)、轉(zhuǎn)節(jié)、腿節(jié)、脛節(jié)、跗節(jié)和前跗節(jié)幾部分組成?;?jié)是足最基部的一節(jié),多粗短。轉(zhuǎn)節(jié)常與腿節(jié)緊密相連而不活動。腿節(jié)是最長最粗的一節(jié)。第四節(jié)叫脛節(jié),一般比較細長,長著成排的刺。第五節(jié)叫跗節(jié),一般由2-5個亞節(jié)組成為的是便于行走。在最末節(jié)的端部還長著兩個又硬又尖的爪,可以用它們來抓住物體。行走是以三條腿
5、為一組進行的,即一側(cè)的前、后足與另一側(cè)的中足為一組。這樣就形成了一個三角形支架結(jié)構(gòu),當這三條腿放在地面并向后蹬時,另外三條腿即抬起向前準備替換。前足用爪固定物體后拉動蟲體向前,中足用來支持并舉起所屬一側(cè)的身體,后足則推動蟲體前進,同時使蟲體轉(zhuǎn)向。這種行走方式使昆蟲可以隨時隨地停息下來,因為重心總是落在三角支架之內(nèi)。并不是所有成蟲都用六條腿來行走,有些昆蟲由于前足發(fā)生了特化,有了其他功用或退化,行走就主要靠中、后足來完成了。大家最為熟悉的要算螳螂了,我們??煽吹襟胍粚︺Q子般的前足高舉在胸前,而由后面四條足支撐地面行走。參考以上的昆蟲足部結(jié)構(gòu),我們想出了較簡單的方式來表達。一支腳共有兩個關(guān)節(jié)(假
6、設(shè)沒有爪的情況下),一個關(guān)節(jié)采左右式移擺;另一個關(guān)節(jié)則是采偏擺式,使腳可提高,當做上下運動的一種,結(jié)構(gòu)設(shè)計圖如下。2. 運動學分析: 六足步行機器人的步態(tài)是多樣的,其中三角步態(tài)是六足步行機器人實現(xiàn)步行的典型步態(tài)。三角步態(tài)介紹:“六足綱” 昆蟲步行時,一般不是六足同時直線前進,而是將三對足分成兩組,以三角形支架結(jié)構(gòu)交替前行。目前,大部分六足機器人采用了仿昆蟲的結(jié)構(gòu),6條腿分布在身體的兩側(cè),身體左側(cè)的前、后足及右側(cè)的中足為一組,右側(cè)的前、后足和左側(cè)的中足為另一組,分別組成兩個三角形支架,依靠大腿前后劃動實現(xiàn)支撐和擺動過程,這就是典型的三角步態(tài)行走法,如下圖所示。圖中機器人的髖關(guān)節(jié)在水平和垂直方向上
7、運動。此時,B、D、F 腳為擺動腳,A、C、E腳原地不動,只是支撐身體向前。由于身體重心低,不用協(xié)調(diào)Z向運動,容易穩(wěn)定,所以這種行走方案能得到廣泛運用。(2)機器人行走步態(tài)分析:項目設(shè)計共使用12個舵機用于步態(tài)實現(xiàn)。每條腿上有兩個舵機,分別控制髖關(guān)節(jié)和膝關(guān)節(jié)的運動,舵機安裝呈正交,構(gòu)成垂直和水平方向的自由度。由于腿只有水平和垂直平面的運動自由度,所以只考慮利用三角步態(tài)實現(xiàn)直線行走。分別給12個舵機編號(112),如圖所示。直線行走步態(tài)分析由1、2、5、6、9、10 號舵機控制的A、C、E腿所處的狀態(tài)總保持一致(都是正在擺動,或者都在支撐);同樣,3、4、7、8、11、12 所控制的B、D、F腿
8、的狀態(tài)也保持一致。當處在一個三角形內(nèi)的3 條腿在支撐時,另3條腿正在擺動。支撐的3條腿使得身體前進,而擺動的腿對身體沒有力和位移的作用,只是使得小腿向前運動,做好接下去支撐的準備。步態(tài)函數(shù)的占空系數(shù)為 0.5,支撐相和擺動相經(jīng)過調(diào)整,達到滿足平坦地形下的行走步態(tài)要求和穩(wěn)定裕量需求。轉(zhuǎn)彎步態(tài)分析項目設(shè)計的機器人采用以一中足為中心的原地轉(zhuǎn)彎方式實現(xiàn)轉(zhuǎn)彎,下圖為右轉(zhuǎn)的示意圖,圖中E腿為支撐中足。右轉(zhuǎn)彎運動的過程如下:1)首先A、C、E 腿抬起,然后A、C 腿向前擺動,E腿保持不動,B、D、F腿支撐。2)A、C、E腿落地支撐,同時B、D、F腿抬起保持不動。3)A、C腿向后擺動。整個運動過程中B、D、E
9、、F 不做前后運動,只是上下運動。3. 結(jié)構(gòu)設(shè)計:六足機器人的基本結(jié)構(gòu)的設(shè)計主要包括機器人足部關(guān)節(jié)自由度轉(zhuǎn)換結(jié)構(gòu)的設(shè)計和軀干整體支架的設(shè)計。 (1)足部結(jié)構(gòu):仿生六足機器人足部機構(gòu)主要是電機間的鏈接與自由度轉(zhuǎn)換結(jié)構(gòu)。采用Auto公司開發(fā)的3D機械制圖軟件輔助設(shè)計的方法,分析電機尺寸,設(shè)計固定作用的固定架,傳動作用的U型架。 結(jié)構(gòu)通過平面鈑金加工制作,通過緊固件進行基本結(jié)構(gòu)件的連接。基本足部自由度轉(zhuǎn)換結(jié)構(gòu)設(shè)計實物圖。 (2)軀干結(jié)構(gòu):經(jīng)過改進后的機器人軀干結(jié)構(gòu)在結(jié)構(gòu)設(shè)計軟件中的設(shè)計圖如下 軀干結(jié)構(gòu)模擬圖 整體結(jié)構(gòu)模擬圖4. 驅(qū)動器與驅(qū)動原理:仿生六足機器人采用電動驅(qū)動的方式進行驅(qū)動驅(qū)動器采用微型
10、直流角位移伺服電動機【舵機】。舵機原理舵機是一種結(jié)構(gòu)簡單的、集成化的直流伺服系統(tǒng),其內(nèi)部結(jié)構(gòu)由直流電機、減速齒輪、電位計和控制電路組成。舵機采用的驅(qū)動信號是脈沖比例調(diào)制信號(PWM),即在通常為20ms 的周期內(nèi),輸入以0.52.5ms 變化的脈沖寬度,對應(yīng)的轉(zhuǎn)角范圍從O°變化到180°,脈沖寬度與轉(zhuǎn)角呈線性關(guān)系5??刂菩盘柧€提供一定脈寬的脈沖時,其輸出軸保持在相對應(yīng)的角度上。若舵機初始角度狀態(tài)在0°位置,那么電機只能朝一個方向運動,所以初始化的時候,應(yīng)將所有電機的位置定在90° 的位置。六足機器人腿部偶數(shù)舵機轉(zhuǎn)軸為垂直運動,控制機器人腿部抬起和放下;奇
11、數(shù)舵機轉(zhuǎn)軸為水平轉(zhuǎn)動,控制機器人腿部前進和后退。舵機控制方法 標準的舵機有3條導(dǎo)線,分別是:電源線、地線、控制線。電源線和地線用于提供舵機內(nèi)部的直流電機和控制線路所需的能源電壓通常介于46V,一般取5V。給舵機供電電源應(yīng)能提供足夠的功率??刂凭€的輸入是一個寬度可調(diào)的周期性方波脈沖信號,方波脈沖信號的周期為20 ms(即頻率為50 Hz)。當方波的脈沖寬度改變時,舵機轉(zhuǎn)軸的角度發(fā)生改變,角度變化與脈沖寬度的變化成正比。某型舵機的輸出軸轉(zhuǎn)角與輸入信號的脈沖寬度之間的關(guān)系可用下圖表示。 從上述舵機轉(zhuǎn)角的控制方法可看出,舵機的控制信號實質(zhì)是一個可嗣寬度的方波信號(PWM)。該方波信號可由FPGA、模擬
12、電路或單片機來產(chǎn)生。采用FPGA成本較高,用模擬電路來實現(xiàn)則電路較復(fù)雜,不適合作多路輸出。一般采用單片機作舵機的控制器。(2)選型: 輝盛SG90舵機 參數(shù):扭矩:1.5KG/CM 死區(qū):10us 轉(zhuǎn)速:0.12秒/60度(4.8V) 重量:9克 尺寸:21.5mmX11.8mmX22.7mm 工作電壓4.8V-6V5. 控制電路的硬件設(shè)計 (1)電源模塊-驅(qū)動電路和抗干擾技術(shù) 雙電源供電:舵機內(nèi)部是直流電機驅(qū)動,在帶載時啟停的瞬間會產(chǎn)生較大的峰值電流,將舵機供電電源與 MCU和IC的供電電源分開,雙線供電能保證控制電路不受驅(qū)動電路產(chǎn)生不穩(wěn)定脈沖的干擾。為保證驅(qū)動器電源輸入的穩(wěn)定性,結(jié)合電路抗
13、干擾技術(shù),采用合適方法保證電路抗脈沖干擾、抗低頻干擾、抗共模干擾的能力,使12個電機的多驅(qū)動系統(tǒng)能夠穩(wěn)定工作。電源采用,鎳氫電池7.4V,1200mA,15CC; 控制電路電源輸入由1117低壓差電壓調(diào)節(jié)轉(zhuǎn)換電路提供。 驅(qū)動電路電源由LM2596 DC-DC直流開關(guān)電壓轉(zhuǎn)換電路提供。 (2)控制核心-單片機接口電路和傳感器檢測控制電路主要由1602顯示調(diào)試屏幕,12路舵機控制輸出,抗干擾等部分組成,結(jié)合PROTEUS仿真技術(shù),分析控制程序。原理圖如下: 6.計算機與軟件開發(fā):單片機主控系統(tǒng):AVR單片機 ATmega16軟件設(shè)計的基本思想軟件的主要功能是使機器人在向前行進的過程中能夠避開障礙物
14、,即對12 個舵機進行調(diào)度和控制??蓪④浖δ芊纸鉃椋阂荛_障礙物,首先應(yīng)探測到障礙物,其次能繞開障礙物,這就要求機器人能完成前進、后退、左右轉(zhuǎn)彎等動作。動作協(xié)調(diào)完美性的實現(xiàn),要求了在任一時刻能夠做出12個舵機的同步動作控制。軟件設(shè)計中首先將前進、后退、左右轉(zhuǎn)彎等高層動作分解,具體到完成一個動作各個舵機所要完成的動作和時序。采用模塊化的設(shè)計思想,將對所有舵機的調(diào)度做成一個獨立的模塊,所有的高層動作都是通過調(diào)用底層舵機控制的模塊來完成。多個舵機的控制是采用多舵機分時控制的思想來實現(xiàn)的。程序采用C語言模塊化程序設(shè)計的基本思路程序模塊如下。 (1)驅(qū)動模塊:12路PWM驅(qū)動信號通過軟件計數(shù)法多路輸出
15、利用MCU片內(nèi)定時器和I/O模塊控制輸出多路占空比可調(diào)的PWM控制信號多舵機分時控制思想由于單片機在某一時刻只能對一個中斷進行響應(yīng),所以一個單片機驅(qū)動多個舵機的條件是每個舵機產(chǎn)生的中斷時間間隔必須相互錯開。由于舵機的驅(qū)動周期內(nèi)的2 次電平變化的最短時間是高電平的脈寬時間,即0.52.5ms,那么在不產(chǎn)生沖突的情況下,若分時對多個舵機產(chǎn)生驅(qū)動信號,則最多可實現(xiàn)的驅(qū)動舵機數(shù)量為20/2.5=8。就是說一個單片機最多可以控制8 個舵機運行在完整轉(zhuǎn)角空間。采用多舵機分時控制的思想,可實現(xiàn)對12個舵機的協(xié)調(diào)控制。將12 個舵機分成兩組,定時器0 控制舵機16,定時器1 控制舵機712,每個定時器在一個周
16、期內(nèi)將產(chǎn)生12次定時器中斷。使數(shù)據(jù)發(fā)生錯誤也很難連續(xù)起來,大大提高整體的糾錯能力。 (2)動作模塊:將計算得到的機器人運動數(shù)據(jù)封裝為前進、后退、左轉(zhuǎn)、右轉(zhuǎn)的動作函數(shù)子程序。設(shè)計電機控制的速度伺服、角度伺服程序,采用流程控制法調(diào)用動作函數(shù)。 (3)傳感器模塊:針對傳感器檢測的輸入,傳感器檢測使用 AVR單片機片內(nèi)引腳中斷資源,并且對不穩(wěn)定信號進行軟件濾波處理,增加控制系統(tǒng)的穩(wěn)定性。 (4)1602液晶顯示調(diào)試模塊:1602液晶顯示模塊顯示程序運行情況,作為程序調(diào)試的重要工具。通過單片機IO口引腳發(fā)送數(shù)據(jù),指令信息,顯示當前舵機實時運行狀態(tài)。 (5) 全局控制上位機程序:整合多模塊,形成系統(tǒng)化控制
17、結(jié)構(gòu)圖如下。 4、 項目總結(jié) 完成的設(shè)計: 1.仿生學原理分析 2.機構(gòu)學理論分析 3.自動控制系統(tǒng)設(shè)計 4.計算機軟件開發(fā) 5.傳感器檢測控制系統(tǒng)設(shè)計 6.電機驅(qū)動電路設(shè)計 達到的要求: 1.控制系統(tǒng)對12路驅(qū)動器的穩(wěn)定角度控制,速度控制。 2.整體結(jié)構(gòu)與行走步態(tài)穩(wěn)定性達到要求。 3.多種靜態(tài)步態(tài)與傳感器檢測控制一體化的實現(xiàn)。 4.機器人能夠快速準確探測前方障礙物,針對不同情況探索行進路線。 項目成果總結(jié): 項目已經(jīng)設(shè)計制作出三代機器人樣本實物,經(jīng)過實際行走測試,穩(wěn)定性,速度,蔽障性能等參數(shù)達到甚至超過預(yù)先設(shè)定的指標。 機器人相關(guān)參數(shù)與性能指標如下: 重量:460g 尺寸:160*100*4
18、0mm 平均行走速度:0.06m/s 平均功率:1.2A*5V=6W 探測響應(yīng)時間:約0.5s 能夠在平地上進行前進、后退、左轉(zhuǎn)、右轉(zhuǎn)等穩(wěn)定步行能夠準確探測前方障礙物,根據(jù)不同情況執(zhí)行合適的步態(tài),探索行走路徑 五附錄程序:/=主程序 main.c=/#include <avr/io.h>#include <util/delay.h>#include <1602LCD.h>#include <avr/interrupt.h>#define uchar unsigned char #define uint unsigned intuchar f12;
19、uchar m127;uchar sign,rooptime,roopnum;uchar direc;uchar canmove=1;uchar run=0;char parameter12=9,-9,-15,3,9,-3,-13,6,8,9,-14,-10;void sys_init(void) DDRA=0xe0;DDRB=0xff;DDRC=0xff;DDRD=0x0f;PORTA=0x1f;PORTB=0x00;PORTC=0x00; PORTD=0xf0; TCCR2=0x0a; OCR2=10; TIMSK|=0x80; Lcd_init();_delay_ms(1000);voi
20、d residual(void)uchar i,j;for(i=0;i<12;i+)fi+=parameteri;for(i=0;i<12;i+) for(j=0;j<7;j+)mij+=parameteri;void gait1(void)/動作函數(shù) 前進uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=2;mi0=150;mi
21、1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=4;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=6;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=7;mi0=150;mi1=140;mi2=150;mi3=16
22、0;mi4=0;mi5=0;mi6=150;i=8;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=10;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;for(i=0;i<12;i+)fi=mi3;residual();void gait2(void
23、)/動作函數(shù) 后退uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=2;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=4;mi0=140;mi1=150;mi2=150;mi3
24、=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=6;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=7;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=8;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6
25、=150;i=10;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;for(i=0;i<12;i+)fi=mi3;residual();void gait3(void)/動作函數(shù) 左轉(zhuǎn)uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=145;mi2=150;
26、mi3=155;mi4=0;mi5=0;mi6=150;i=2;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=4;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=155;mi2=150;mi3=145;mi4=0;mi5=0;mi6=150;i=6;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;
27、mi6=150;i=7;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=8;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=150;mi1=145;mi2=150;mi3=155;mi4=0;mi5=0;mi6=150;i=10;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;for(i=0;i&
28、lt;12;i+)fi=mi3;residual();void gait4(void)/動作函數(shù) 右轉(zhuǎn)uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=2;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=3;mi0=150;mi1=145;mi2=150;mi3=155;mi4=0;mi5
29、=0;mi6=150;i=4;mi0=150;mi1=150;mi2=140;mi3=150;mi4=0;mi5=0;mi6=150;i=5;mi0=150;mi1=140;mi2=150;mi3=160;mi4=0;mi5=0;mi6=150;i=6;mi0=160;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=7;mi0=150;mi1=155;mi2=150;mi3=145;mi4=0;mi5=0;mi6=150;i=8;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=9;mi0=1
30、50;mi1=160;mi2=150;mi3=140;mi4=0;mi5=0;mi6=150;i=10;mi0=150;mi1=150;mi2=160;mi3=150;mi4=0;mi5=0;mi6=150;i=11;mi0=150;mi1=145;mi2=150;mi3=155;mi4=0;mi5=0;mi6=150;for(i=0;i<12;i+)fi=mi3;residual();ISR(TIMER2_COMP_vect) /定時器2比較匹配中斷 static uint time=0,rtime; uchar i; time+; if(time=2000) PORTB=0xff;
31、PORTD=0xff; time=1; if(time=1000&&canmove) if(rtime<rooptime) rtime+; else rtime=0; sign+; if(sign=roopnum) sign=0; for(i=0;i<12;i+) if(sign=0) fi=(rooptime-rtime)*miroopnum-1+rtime*mi0)/rooptime; else fi=(rooptime-rtime)*misign-1+rtime*misign)/rooptime; if(time<400&&time>
32、;0) if(f0=time+100) PORTB&=0xfe; if(f1=time+100) PORTB&=0xfd; if(f2=time+100) PORTB&=0xfb;if(f3=time+100) PORTB&=0xf7;if(f4=time+100) PORTB&=0xef;if(f5=time+100) PORTB&=0xdf;if(f6=time+100) PORTB&=0xbf;if(f7=time+100) PORTB&=0x7f;if(f8=time+100) PORTD&=0xfe;if(f9=
33、time+100) PORTD&=0xfd;if(f10=time+100) PORTD&=0xfb;if(f11=time+100) PORTD&=0xf7; if(time=400) PORTB&=0x00;PORTD&=0xf0; uchar getkey(void)uchar key; if(PINA&0x1f)!=0x1f) _delay_us(50); if(PINA&0x1f)!=0x1f) key=(PINA&0x1f);while(PINA&0x1f)!=0x1f);return key; return
34、0;int main( void ) uchar flag,flag1;flag=0;uint run=0;sys_init(); _delay_ms(1000); sei(); /開總中斷gait1();for(;)flag1=(PIND&0xc0);if(flag!=flag1&&run>5000)if(flag1=0xc0)flag=flag1;cli(); _delay_ms(10);gait1();sei();if(flag1=0x00)flag=flag1;cli(); _delay_ms(10);gait2();sei();if(flag1=0x40
35、)flag=flag1;cli(); _delay_ms(10);gait4();sei();if(flag1=0x80)flag=flag1;cli(); _delay_ms(10);gait3();sei();run=0;run+;/=1602.h=/#ifndef USE_1602LCD_H_#define USE_1602LCD_H_#include <avr/io.h>#include <util/delay.h>#define uchar unsigned char#define uint unsigned int#define Com_Port PORTA /指令口#define Print_Port PORTC /數(shù)據(jù)口#define RS_set Com_Port|=(1<<7)#define RS_clr Com_Port&=(1<<7)#define RW_set Com_Port|=(1<<6)#define RW_clr Com_Port&=(1<<6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年微電影制作與體育賽事合作推廣協(xié)議3篇
- 2025年度全新版無婚姻證明離婚協(xié)議書財產(chǎn)分割及子女監(jiān)護權(quán)協(xié)議4篇
- 二零二五版物流企業(yè)安全生產(chǎn)責任合同3篇
- 2025年度項目申報與科技創(chuàng)新產(chǎn)業(yè)孵化服務(wù)合同3篇
- 第三人民醫(yī)院肉類配送服務(wù)合同(含追溯及冷鏈管理)二零二五年度3篇
- 二零二五年度旅游區(qū)景區(qū)電子導(dǎo)覽系統(tǒng)租賃合同3篇
- 2025年度環(huán)保型鋁材研發(fā)與銷售合作協(xié)議4篇
- 二零二五年度跨區(qū)域臨時運輸司機雇傭合同模板4篇
- 二零二五年度離婚協(xié)議中關(guān)于共同財產(chǎn)分割及子女撫養(yǎng)權(quán)協(xié)議樣本3篇
- 2025年度金融科技產(chǎn)品銷售代表合作協(xié)議2篇
- 常用靜脈藥物溶媒的選擇
- 2023-2024學年度人教版一年級語文上冊寒假作業(yè)
- 當代西方文學理論知到智慧樹章節(jié)測試課后答案2024年秋武漢科技大學
- 2024年預(yù)制混凝土制品購銷協(xié)議3篇
- 2024-2030年中國高端私人會所市場競爭格局及投資經(jīng)營管理分析報告
- GA/T 1003-2024銀行自助服務(wù)亭技術(shù)規(guī)范
- 《消防設(shè)備操作使用》培訓
- 新交際英語(2024)一年級上冊Unit 1~6全冊教案
- 2024年度跨境電商平臺運營與孵化合同
- 2024年電動汽車充電消費者研究報告-2024-11-新能源
- 湖北省黃岡高級中學2025屆物理高一第一學期期末考試試題含解析
評論
0/150
提交評論