freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

六足機(jī)器人畢業(yè)設(shè)計(jì)論文-資料下載頁

2024-08-05 11:21本頁面
  

【正文】 味著要求單片機(jī)產(chǎn)生 12 路的 PPM 波,利用這 12 個(gè) PPM 波來控制舵機(jī)的轉(zhuǎn)動(dòng)角度。在這里我們可以用 51 單片里的兩個(gè)定時(shí)器來產(chǎn)生多次中斷的方法獲得這樣的控制的信號(hào)。從而完成機(jī)器人的前進(jìn)、后退以及轉(zhuǎn)彎。在本次設(shè)計(jì)中,整個(gè)系統(tǒng)是以模塊化的設(shè)計(jì)思想,將對(duì)所有舵機(jī)調(diào)度做成一個(gè)獨(dú)立的模塊,所有的高層動(dòng)作都是通過調(diào)用底層舵機(jī)控制的模塊來完成。 控制系統(tǒng)的硬件設(shè)計(jì)中央控制模塊是整個(gè)控制系統(tǒng)的核心,本次設(shè)計(jì)采用微處理器AT89S52為核心構(gòu)成,負(fù)責(zé)舵機(jī)協(xié)調(diào)動(dòng)作處理,障礙檢測(cè)數(shù)據(jù)處理等功能。 微處理器 AT89S52 簡(jiǎn)介AT89S52是一種低功耗、高性能CMOS 8位單片機(jī) [10],片內(nèi)含SKBI SP(Insystem programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器、該器件采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造、通用的8位CPU和ISP Flash為存儲(chǔ)單元,可為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、高性價(jià)比的解決方案。TA89S52具有如下特點(diǎn):40個(gè)引腳,8KB Flash片內(nèi)程序存儲(chǔ)器,256Bytes的隨機(jī)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,1個(gè)6向量2級(jí)中斷結(jié)構(gòu)。3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT),AT89S52設(shè)計(jì)和配置了振蕩頻率可為OHz并可通過軟件設(shè)置的省電模式。在空閑模式下,CPU暫停工作,而RAM、定時(shí)計(jì)數(shù)器、串行口、外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),禁止電路的其他功能直至外中斷激活或硬件復(fù)位。該電路具有PDIP、TQFP和PLCC等封裝形式,以適應(yīng)不同產(chǎn)品的設(shè)計(jì)要求。常用的AT89S52封裝電路為PDIP形式,其圖如圖42所示。24圖42 AT89S52封裝圖AT89S52具有32個(gè)可編程I/O端口,其中,P0口和P1口的前六個(gè)引腳分別接12個(gè)舵機(jī),來控制舵機(jī)的運(yùn)轉(zhuǎn),P3口前兩個(gè)引腳接觸位開關(guān)。如表41所示。表41 I/O引腳分配表引腳端口 功能分配 接左邊的六個(gè)舵機(jī) 接右邊的六個(gè)舵機(jī) 接觸位開關(guān) 舵機(jī)模塊設(shè)計(jì)(1)舵機(jī)的概述 舵機(jī)最早出現(xiàn)在航模運(yùn)動(dòng)中。在航空模型中,飛行機(jī)的飛行姿態(tài)是通過調(diào)節(jié)發(fā)動(dòng)機(jī)和各個(gè)控制舵面來實(shí)現(xiàn)的。舉個(gè)簡(jiǎn)單的四通飛機(jī)來說,飛機(jī)上有以下幾個(gè)地方需要控制: ,來控制發(fā)動(dòng)機(jī)的拉力(或推力); 25(安裝在飛機(jī)機(jī)翼后緣),用來控制飛機(jī)的橫滾運(yùn)動(dòng); ,用來控制飛機(jī)的俯仰角; ,用來控制飛機(jī)的偏航角; 遙控器有四個(gè)通道,分別對(duì)應(yīng)四個(gè)舵機(jī),而舵機(jī)又通過連桿等傳動(dòng)元件帶動(dòng)舵面的轉(zhuǎn)動(dòng),從而改變飛機(jī)的運(yùn)動(dòng)狀態(tài)。舵機(jī)因此得名:控制舵面的伺服電機(jī)。 不僅在航模飛機(jī)中,在其他的模型運(yùn)動(dòng)中都可以看到它的應(yīng)用:船模上用來控制尾舵,車模中用來轉(zhuǎn)向等等。由此可見,凡是需要操作性動(dòng)作時(shí)都可以用舵機(jī)來實(shí)現(xiàn) [11]?!?傳統(tǒng)舵機(jī)的控制方式以20ms 為一個(gè)周期,177。 的脈沖來控制舵機(jī)的角度變化,隨著以 CPU 為主的數(shù)字革命的興起,現(xiàn)在的舵機(jī)已成為模擬舵機(jī)和數(shù)字舵機(jī)并存的局面,但即使是現(xiàn)在的數(shù)字舵機(jī),177。 的模擬控制接口,只是控制芯片不再是普通的模擬芯片而已;不能完全發(fā)揮現(xiàn)代數(shù)字化控制的優(yōu)勢(shì),這在傳統(tǒng)的遙控競(jìng)賽等領(lǐng)域,為了保持產(chǎn)品的兼容性,不得不保留模擬接口,而在一些新興的領(lǐng)域完全可以采用新型的全數(shù)字接口的純數(shù)字舵機(jī)。純數(shù)字舵機(jī)采用全新的單線雙工通訊協(xié)議,不僅能執(zhí)行普通舵機(jī)的全部功能,還可以作為一個(gè)角度傳感器,監(jiān)測(cè)舵機(jī)的實(shí)際位置,而且可以多個(gè)舵機(jī)并聯(lián)互不影響。在未來的自動(dòng)化控制領(lǐng)域有著不可估量的優(yōu)勢(shì)。采用純數(shù)字舵機(jī)構(gòu)建的自動(dòng)化控制系統(tǒng),不僅可以大幅提升系統(tǒng)性能,而且可以降低系統(tǒng)的生產(chǎn)維護(hù)成本,提高產(chǎn)品性價(jià)比,增強(qiáng)市場(chǎng)競(jìng)爭(zhēng)力。(2)舵機(jī)的結(jié)構(gòu)和控制 一般來講,舵機(jī)主要由以下幾個(gè)部分組成, 舵盤、減速齒輪組、位置反饋電位計(jì)5k、直流電機(jī)、控制電路板等。 工作原理:控制電路板接受來自信號(hào)線的控制信號(hào)(具體信號(hào)待會(huì)再講),控制電機(jī)轉(zhuǎn)動(dòng),電機(jī)帶動(dòng)一系列齒輪組,減速后傳動(dòng)至輸出舵盤。舵機(jī)的輸出軸和位置反饋電位計(jì)是相連的,舵盤轉(zhuǎn)動(dòng)的同時(shí),帶動(dòng)位置反饋電位計(jì),電位計(jì)將輸出一個(gè)電壓信號(hào)到控制電路板,進(jìn)行反饋,然后控制電路板根據(jù)所在位置決定電機(jī)的轉(zhuǎn)動(dòng)方向和速度,從而達(dá)到目標(biāo)停止。 舵機(jī)的控制一般需要一個(gè)20ms 左右的時(shí)基脈沖,該脈沖的高電平部分一般~ 范圍內(nèi)的角度控制脈沖部分。以180度角度伺服為例,那么對(duì)應(yīng)的控制關(guān)系如表42 所示。表42 時(shí)基脈沖與舵機(jī)角度對(duì)應(yīng)表脈沖值(ms ) 對(duì)應(yīng)角度(度)0 45 90 135 18026 避障模塊設(shè)計(jì)動(dòng)作的能力。為此,必須提高機(jī)器人對(duì)當(dāng)前感知環(huán)境的快速理解識(shí)別及實(shí)時(shí)避障的能力。 [12]。機(jī)器人避障的關(guān)鍵問題之一是在運(yùn)動(dòng)過程中如何利用傳感器對(duì)環(huán)境的感知。所以避開障礙物的功能實(shí)現(xiàn),傳感器的選擇將是首要解決的問題。避障傳感器一般有接觸式、和非接觸式的。接觸式傳感器一般用微動(dòng)開關(guān),當(dāng)機(jī)器人接觸到物體時(shí)間可以從產(chǎn)生電位的變化中檢測(cè)到。微動(dòng)開關(guān)實(shí)質(zhì)上是一個(gè)單刀雙擲開關(guān)圖 312 所示。刀 K 與觸點(diǎn) A、B 關(guān)系一個(gè)常開、另一個(gè)常閉。當(dāng)碰觸到障礙物時(shí),常開點(diǎn)閉合、常閉合點(diǎn)斷開。圖 43 微動(dòng)開關(guān)示意圖接觸形式傳感器的優(yōu)勢(shì)是在黑暗處或者因障礙物的影響導(dǎo)致無法通過視覺獲取信息的條件下,使機(jī)器人具備觸覺功能。 本設(shè)計(jì)的避開障礙物傳感器采用一對(duì)微動(dòng)開關(guān)。安裝在機(jī)器人的前部,做成兩個(gè)長(zhǎng)長(zhǎng)的觸角,用來探測(cè)前方是否有障礙物。傳感器安裝位置如圖 44 所示。圖 44 微動(dòng)開關(guān)安裝位置圖left, right 分別為左邊和右邊的探測(cè)障礙物的傳感器。與單片機(jī)引腳對(duì)應(yīng)關(guān)系如表 43 所示。27表 43 探測(cè)障礙物的傳感器與單片機(jī)引腳對(duì)應(yīng)關(guān)系表left sensor(左傳感器) P20right sensor(右傳感器) P21總結(jié)前三節(jié)的內(nèi)容,就可以做出六足仿生機(jī)器人的仿真電路圖了,仿真電路圖如圖45 所示。圖 45 硬件設(shè)計(jì)仿真圖 控制系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)主要任務(wù)是完成全方位的步態(tài)的軟件設(shè)計(jì),也就是對(duì) 12 個(gè)舵機(jī)的調(diào)度和控制。設(shè)定一個(gè)目標(biāo)功能:在行進(jìn)的過程中完成避開障礙物。在完成的避開障礙物的過程中來體現(xiàn)全方位的六足步態(tài)。系統(tǒng)軟件的總體流程圖如 46 所示:28開始初始化記錄當(dāng)前狀態(tài)右轉(zhuǎn)中間有障礙物?左邊有障礙物?是否有障礙物?后退,轉(zhuǎn)180 度右邊有障礙物?NNYY左轉(zhuǎn)恢復(fù)狀態(tài)YNYN圖 46 系統(tǒng)軟件的總體流程圖 單個(gè)舵機(jī)控制方法從 到 ,相對(duì)應(yīng)舵盤的位置 0~180 度,呈線性變化,如圖 47 所示。290 18090X(ms)Y(度)圖 47 舵盤的位置線性變化圖 對(duì)應(yīng)舵盤的 0 度, 對(duì)應(yīng)舵盤的 180 度。也就是,給舵機(jī)提供一定寬度的脈沖,它的輸出軸就會(huì)保持在一個(gè)相對(duì)的角度上,無論外界的轉(zhuǎn)矩怎樣變化,直到給它提供一個(gè)另外寬度的脈沖信號(hào),它才會(huì)改變輸出角度到新的對(duì)應(yīng)位置上。舵機(jī)內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為 20ms,寬度 的基準(zhǔn)信號(hào),有一個(gè)比較器,將外加信號(hào)與基準(zhǔn)信號(hào)相比較,判斷方向和大小,從而產(chǎn)生舵機(jī)的轉(zhuǎn)動(dòng)信號(hào)。由此可見,舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,轉(zhuǎn)動(dòng)范圍不得超過 180 度。舵機(jī)實(shí)現(xiàn)的是一種定位功能,它的定位功能和較大力矩承受能力適合行走機(jī)器人的關(guān)節(jié)設(shè)計(jì)。 舵機(jī)的控制脈沖如圖 48 所示,t=(~),T=20ms。用單片機(jī)的一個(gè)定時(shí)器產(chǎn)生舵機(jī)所需要的控制脈沖,控制脈沖程序流程圖 49 所示。圖 48 舵機(jī)的控制脈沖圖30圖 49 控制脈沖程序流程圖流程圖說明:初始化部分:設(shè)定定時(shí)器初值,定時(shí)時(shí)間為舵機(jī)脈沖寬度時(shí)間 t。開中斷,設(shè)定中斷優(yōu)先級(jí)。=1:將控制引腳端口置高電平。中斷:判斷是否進(jìn)入中斷,進(jìn)入中斷后引腳電平取反。并改變定時(shí)器初值,定時(shí)間為 Tt。詳細(xì)程序如下:include define uchar unsigned chardefine uint unsigned int uint a,b,c,d。 /*a 為舵機(jī) 1 的脈沖寬度,單位 1/1000 ms */ /*c、為中間變量*/ /*以下定義輸出管腳*/ sbit p12=P1^2。 sbit p37=P3^7。 /*主程序*/ void main(void) {31TMOD=0x11。 /*設(shè)初值*/ p12=1。 a=1620。 b=1620。 /*數(shù)值 1620 即對(duì)應(yīng) ,為舵機(jī)的中間 90 度的位置*/ c=a。d=b。 TH0=(a/256)。 TL0=(a%256)。 TH1=(b/256)。 TL1=(b%256)。 /*設(shè)定定時(shí)器初始計(jì)數(shù)值*/ EA=1。/*開中斷*/ ET0=1。 TR0=1。EX0=1PX0=0。 PT0=1。/*設(shè)定中斷優(yōu)先級(jí)*/ for(。) { /*在這個(gè) for 循環(huán)中,可以根據(jù)程序需要 在任何時(shí)間改變 a、b 值來改變脈寬的輸 出時(shí)間,從而控制舵機(jī)*/ } } /*以下函數(shù)為定時(shí)器中斷函數(shù)*/ /*定時(shí)器 1,控制舵機(jī) 1,輸出引腳為 P12,可自定義*/void timer0(void) interrupt 1 using 1 {p12=!p12。 /*輸出取反*/ c=20850c。 /*20850 代表 20 ms,為一個(gè)周期的時(shí)間*/ TH0=(c/256)。 TL0=(c%256)。 /*重新定義計(jì)數(shù)初值*/ if(c=508amp。amp。c=2540)c=a。 else c=20850a。 /*判斷脈寬是否在正常范圍之內(nèi)*/ } 程序中的 162540 等數(shù)字為定時(shí)器初值。32 多舵機(jī)控制 用上述方法采用一個(gè)定時(shí)器來控制舵機(jī)軸的轉(zhuǎn)角,可以很容易實(shí)現(xiàn)。但如果要控制12 個(gè)之多的舵機(jī),顯然是不夠現(xiàn)實(shí)的。要設(shè)計(jì)一個(gè)即能控制多個(gè)舵機(jī),又能盡可能用定時(shí)器來精確控制的舵機(jī)控制算法。從舵機(jī)的控制信號(hào)(圖 48)可以知道,變化的時(shí)間為 t 的范圍從 ~ 之間,也就是說每一個(gè)舵機(jī)控制信號(hào)至少有 必是低電平且不會(huì)發(fā)生變化。設(shè) P0 端口上接有 8 個(gè)舵機(jī)。如果在 20ms 內(nèi),首先引腳 p00 置高電平,t ms 后引腳取反,電機(jī)轉(zhuǎn)軸將轉(zhuǎn)到 t ms 對(duì)應(yīng)的角度。因?yàn)?t 的最大取值為 ,所以無論 t 值為多少,在 后將 p00 置成高電平將不會(huì)影響 p00 對(duì)電機(jī) 1 的控制,t ms 后 p00 取反,按照相同方法依次置 p0p0p0p0p0p0p07 置高后取反。不論電機(jī)要轉(zhuǎn)過的角度是多少,對(duì)不同引腳控制時(shí)間間隔為 ,那么在 20ms 內(nèi)最多可以控制 8 路信號(hào)(20ms/=8) 。舵機(jī)控制脈沖如圖 410 所示:(a)(b)圖 410 8 路信號(hào)舵機(jī)控制脈沖圖運(yùn)用這種思想方法可以實(shí)現(xiàn)對(duì) 8 路舵機(jī)獨(dú)立控制和同時(shí)控制。具體的實(shí)現(xiàn)方法有兩種,一種是采用延時(shí)方法來產(chǎn)生脈沖,另外一種是用定時(shí)器的方法。延時(shí)的方法不僅占用大量的 CPU 時(shí)間,而且最多也只能控制 8 個(gè)舵機(jī)。所以本設(shè)計(jì)采用后者。33AT89S52 單片機(jī)有三個(gè)定時(shí)器,其中定時(shí)器 0 和定時(shí)器 1 兩個(gè)為常用定時(shí)器。本設(shè)計(jì)將 12 個(gè)電機(jī)分成兩組,分別由兩個(gè)定時(shí)器,定時(shí)器 0 和定時(shí)器 1 控制 [13],其中定時(shí)器 0控制電機(jī) 1~6,定時(shí)器 1 控制電機(jī) 7~12。單片機(jī)內(nèi)部?jī)蓚€(gè)定時(shí)間器同時(shí)使用,且設(shè)置了同一優(yōu)先級(jí)時(shí),二者肯定在某一時(shí)刻會(huì)產(chǎn)生沖突這就要求在中斷程序執(zhí)行時(shí)間盡可能短,即使產(chǎn)生沖突也不會(huì)影響其功能實(shí)現(xiàn)。如圖 410(b)是 8 個(gè)舵機(jī)在一個(gè)周期內(nèi)電平變化 16 次。每個(gè)定時(shí)器控制 6 個(gè)電機(jī),在一個(gè)周期內(nèi)必須產(chǎn)生 12 次定時(shí)器中斷(6 個(gè)電機(jī) 12 次電平變化) 。定時(shí)器在計(jì)數(shù)時(shí)不占用 CPU 時(shí)間,且兩個(gè)定時(shí)器可以并行工作,所以兩個(gè)定時(shí)器在忽略中斷執(zhí)行時(shí)間時(shí),對(duì)電機(jī)控制幾乎是并行的。也就是在一個(gè)周期時(shí)間里(20ms)控制了 12 電機(jī)的運(yùn)動(dòng)。12個(gè)電機(jī)控制占用 CPU 的時(shí)間為執(zhí)行 24 次中斷程序的時(shí)間。下面是本設(shè)計(jì)的 12 個(gè)舵機(jī)控制流程圖(圖 411) 。端口 ~,~ 是舵機(jī)控制端口。34圖 411 12 個(gè)舵機(jī)控制流程圖對(duì)流程圖的說明:初始化:舵機(jī)的變化角度為 0~180 度,它的初始狀態(tài)在 0 度位置,那么電機(jī)只能朝一個(gè)方向運(yùn)動(dòng)。所以初始化的時(shí)候,將所有電機(jī)的位置定在 90 度的位置。初始化中定時(shí)器初值可以任意的。flag1 ,flag2 為兩個(gè)標(biāo)志位。進(jìn)入中斷后首先判斷標(biāo)志位,再進(jìn)入標(biāo)志位對(duì)應(yīng)的執(zhí)行程序。flag1=1 時(shí):p00=1。定時(shí)器重置初值,定時(shí)時(shí)間為 p00 高電平持續(xù)時(shí)間t1,flag1++,break 結(jié)束中斷程序flag1=2 時(shí):p00=0。定時(shí)器重置初值,定時(shí)時(shí)間為() flag1++,break 結(jié)束中斷程序35flag1=3 時(shí):p01=1。 定時(shí)器重置初值,定時(shí)時(shí)間為 p01 高電平持續(xù)時(shí)間t2,flag1++,break 結(jié)束中斷程序flag1=4 時(shí):p01=0。定時(shí)器重置初值,定時(shí)時(shí)間為() flag1++,break 結(jié)束中斷程序flag1=5 時(shí):p02=1。 定時(shí)器重置初值,定時(shí)時(shí)間為 p02 高電平持續(xù)時(shí)間t3,flag1++,break 結(jié)束中斷程序flag1=6 時(shí):
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1