機(jī)電一體化車間實(shí)習(xí)總結(jié)(報(bào)告)
海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院
機(jī)電工程系
畢業(yè)實(shí)習(xí)總結(jié)
學(xué)生班級(jí)1班學(xué)號(hào)09580201*126學(xué)生姓名王植專業(yè)名稱機(jī)電一體化技術(shù)指導(dǎo)教師林圃實(shí)習(xí)單位海南金盤電氣有限公司
201*年03月03日
5畢業(yè)實(shí)習(xí)總結(jié)本次實(shí)習(xí)以生產(chǎn)實(shí)習(xí)為主,生產(chǎn)實(shí)習(xí)是學(xué)習(xí)機(jī)電一體化專業(yè)的一項(xiàng)重要的實(shí)踐性教學(xué)環(huán)節(jié),旨在開拓我們的視野,增強(qiáng)專業(yè)意識(shí),鞏固和理解專業(yè)課程。通過半年的實(shí)習(xí)(工作),我們學(xué)到了很多課本上學(xué)不到的東西,并對(duì)生產(chǎn)管理有了更深的認(rèn)識(shí),要善于將理論與實(shí)踐相結(jié)合,應(yīng)用理論去解決實(shí)際生產(chǎn)中的一些問題,所以,我們要著重培養(yǎng)自己的實(shí)踐動(dòng)手能力。讓我們大開眼界,認(rèn)識(shí)企業(yè)文化,質(zhì)量方針,職業(yè)健康,也算是對(duì)以前所學(xué)知識(shí)的一個(gè)初審,讓我們初步的認(rèn)識(shí)了這個(gè)社會(huì),對(duì)于以后做人所應(yīng)把握的方向也有所啟發(fā)!讓我認(rèn)識(shí)到這個(gè)社會(huì)就業(yè)形勢(shì)的嚴(yán)峻和市場(chǎng)競(jìng)爭(zhēng)的殘酷性。一個(gè)公司的發(fā)展,要有先進(jìn)的技術(shù)和不斷的創(chuàng)新,才能在同行業(yè)中領(lǐng)先,立于不敗之地。在公司所見到的東西和自己以前學(xué)習(xí)的理論結(jié)合在一塊,進(jìn)一步增強(qiáng)了自己對(duì)設(shè)備的認(rèn)識(shí)。海南金盤電氣有限公司海口市保稅區(qū),是生產(chǎn)干式變壓器的專業(yè)廠家,公司自成立之日起,即著眼于高技術(shù),高起點(diǎn),創(chuàng)名牌,選用優(yōu)質(zhì)原材料,生產(chǎn)上層層把關(guān),嚴(yán)格控制,精工細(xì)做,所有這些產(chǎn)品都是一次投運(yùn)成功,得到用戶好評(píng)。實(shí)習(xí)崗位:鐵芯車間變壓器理論知識(shí)的熟悉,變壓器是利電磁感應(yīng)原理,從一個(gè)電路向另一個(gè)電路傳遞電能或傳輸信號(hào)的一種電器是電能傳遞或作為信號(hào)傳輸?shù)闹匾。變壓器是一種的電磁裝置。壓器可將一種電壓的交流電能變換為同頻率的另一種電壓的交流電能。電壓器的主要部件是一個(gè)鐵心和套在鐵心上的兩個(gè)繞組變壓器的結(jié)構(gòu)簡(jiǎn)介。在公司主要在鐵芯車間實(shí)習(xí),硅鋼片橫剪生產(chǎn)線的具體操作及車間里的人身安全和設(shè)備安全等一些問題,因?yàn)闄C(jī)器在多年使用過程中會(huì)出現(xiàn)一些誤差,為保證生產(chǎn)質(zhì)量,在生產(chǎn)前應(yīng)檢查和調(diào)試設(shè)備。鐵心車間以生產(chǎn)干式變壓器的鐵芯,車間有縱剪生產(chǎn)線、橫剪生產(chǎn)線、翻轉(zhuǎn)臺(tái)、電動(dòng)行車等設(shè)備,設(shè)備以具有世界先進(jìn)水平的德國(guó)喬格橫剪生產(chǎn)線和國(guó)產(chǎn)先進(jìn)的啟源橫剪生產(chǎn)線完成剪切片料,啟源線還需要通過手工疊片完成。這些設(shè)備都是通過PLC伺服系統(tǒng)控制,用PLC來(lái)控制剪切硅鋼片的長(zhǎng)度和沖孔位置,橫剪線國(guó)外已采用液壓傳動(dòng),其特點(diǎn)是速度快、噪聲小(國(guó)內(nèi)目前仍是氣動(dòng))。國(guó)內(nèi)要采用液壓傳動(dòng),遇到的最大問題是液壓系統(tǒng)漏油。采用液壓伺服技術(shù),元件價(jià)格昂貴,對(duì)系統(tǒng)用油要求高,給維護(hù)帶來(lái)一定難度。送料使用傳送帶,傳送帶由電機(jī)帶動(dòng),電機(jī)全部通過接觸器和繼電器接通和斷開,電機(jī)的控制電路由PLC來(lái)控制實(shí)現(xiàn)。在通過跟各位師傅一段時(shí)間的學(xué)習(xí)和動(dòng)手操作,懂得橫剪生產(chǎn)線和電動(dòng)行車的基本原理和基本操作。同時(shí)也學(xué)習(xí)到了剪切硅鋼片的工藝要求和誤差范圍,更加深入了解鐵芯的結(jié)構(gòu)和原理,了解鐵芯的組成,熟悉鐵芯的夾緊結(jié)構(gòu),認(rèn)識(shí)干式變壓器鐵芯所用的硅鋼片,掌握鐵芯的制造工藝流程,了解硅鋼片的剪切,掌握鐵心疊裝的質(zhì)量標(biāo)準(zhǔn)和質(zhì)量問題。在剪切過程中控制毛刺、波浪片不能過大或過多、拉邊撞片、步進(jìn)長(zhǎng)度等等,大致工藝流程:硅鋼片→縱剪→硅鋼片帶料→橫剪→成型鐵→碼鐵→鐵芯。鐵芯采用優(yōu)質(zhì)冷軋取向硅鋼片,全斜五步階梯接縫,主要是改造接縫處的磁場(chǎng)分布,降低空載損耗和噪音。在車間安全生產(chǎn)注意事項(xiàng):生產(chǎn)過程中由于使用電動(dòng)行車、橫剪生產(chǎn)線等設(shè)備,電動(dòng)行車在起吊運(yùn)行中嚴(yán)禁在吊物上方及下方站人,操作應(yīng)嚴(yán)格遵守安全操作規(guī)程,注意人身安全和設(shè)備安全。注意防范苯系物、粉塵、噪音等對(duì)人身的健康以及硅鋼片尖角鋒利而割傷。在實(shí)習(xí)期間通過理論聯(lián)系實(shí)際,不斷的學(xué)習(xí)和總結(jié)經(jīng)驗(yàn),鞏固了所學(xué)的知識(shí),提高了處理實(shí)際問題的能力,為畢業(yè)設(shè)計(jì)的順利進(jìn)行總結(jié)了經(jīng)驗(yàn)。在這次實(shí)習(xí)中,我有以下幾點(diǎn)感想:第一、在工作中要有良好的學(xué)習(xí)能力,要有一套學(xué)習(xí)知識(shí)的系統(tǒng),遇到問題自己能通過相關(guān)途徑自行解決能力。因?yàn)樵诠ぷ髦杏龅絾栴}各種各樣,并不是每一種情況都能把握。在這個(gè)時(shí)候要想把工作做好一定要有良好的學(xué)習(xí)能力,通過不斷的學(xué)習(xí)從而掌握相應(yīng)技術(shù),來(lái)解決工來(lái)中遇到的每一個(gè)問題。第二、良好的人際關(guān)系是我們順利工作的保障。剛開始進(jìn)工廠時(shí),沒有認(rèn)識(shí)的人,在廠里的工作很壓抑感覺也很被動(dòng),但是經(jīng)過一段時(shí)間的人際交往之后,我發(fā)現(xiàn)工作的心情愉快了,因?yàn)樵谶@里有了朋友,我漸漸的發(fā)現(xiàn)在工作之中不只是同技術(shù)、同設(shè)備打交道,更重要的是同人的交往。所以一定要掌握好同事之間的交往原則和社交禮儀。這也是我們平時(shí)要注意的。和諧的人際關(guān)系,能為順利工作創(chuàng)造了良好的人際氛圍。通過這次畢業(yè)實(shí)習(xí),把自己在學(xué)校學(xué)習(xí)的到理論知識(shí)去和實(shí)踐相對(duì)比。一方面鞏固所學(xué)知識(shí),提高處理實(shí)際問題的能力。另一方面為順利進(jìn)行畢業(yè)設(shè)計(jì)做好準(zhǔn)備,并為自己能順利與社會(huì)接軌做好準(zhǔn)備。畢業(yè)實(shí)習(xí)是我們從學(xué)校走向社會(huì)的一個(gè)過渡,它為我們順利的走出校園,走向社會(huì)做好了準(zhǔn)備。最重要的是調(diào)整了我們的心態(tài)。經(jīng)過半年的實(shí)踐和實(shí)習(xí),我對(duì)未來(lái)充滿了美好的憧憬,在未來(lái)的日子,我將努力做到以下幾點(diǎn):一、繼續(xù)學(xué)習(xí),不斷的學(xué)習(xí)。在信息時(shí)代,學(xué)習(xí)是不斷地汲取新信息,獲得事業(yè)進(jìn)步的動(dòng)力。作為一名年輕人更應(yīng)該把學(xué)習(xí)作為保持工作積極性的重要途徑。用先進(jìn)的理論武裝頭腦,用精良的業(yè)務(wù)知識(shí)提升能力,以廣博的社會(huì)知識(shí)拓展視野。二、改變自己的態(tài)度!袄碚撌腔疑模钪畼涑G唷,只有將理論付諸于實(shí)踐才能實(shí)現(xiàn)理論自身的價(jià)值,也只有將理論付諸于實(shí)踐才能使理論得以檢驗(yàn)。同樣,一個(gè)人的價(jià)值也是通過實(shí)踐活動(dòng)來(lái)實(shí)現(xiàn)的,也只有通過實(shí)踐才能鍛煉人的品質(zhì),彰現(xiàn)人的意志。從學(xué)校走向社會(huì),首要面臨的問題便是角色轉(zhuǎn)換的問題。從一個(gè)學(xué)生轉(zhuǎn)化為一個(gè)單位人,在思想的層面上,必須認(rèn)識(shí)到二者的社會(huì)角色之間存在著較大的差異。學(xué)生時(shí)代只是單純的學(xué)習(xí)知識(shí),而社會(huì)實(shí)踐則意味著繼續(xù)學(xué)習(xí),并將知識(shí)應(yīng)用于實(shí)踐,學(xué)生時(shí)代可以自己選擇交往的對(duì)象,而社會(huì)人則更多地被他人所選擇。諸此種種的差異。不勝枚舉。但僅僅在思想的層面上認(rèn)識(shí)到這一點(diǎn)還是不夠的,而是必須在實(shí)際的工作和生活中潛心體會(huì),并自覺的進(jìn)行這種角色的轉(zhuǎn)換。三、提高工作積極性和主動(dòng)性。半年的實(shí)習(xí)期很快過去了,是開端也是結(jié)束。展現(xiàn)在自己面前的是一片任自己馳騁的沃土,從小到大,都是家長(zhǎng),學(xué)校在為你指明道路,哪條道路是正確的,但是,我的前方是一個(gè)平原,沒有道路,也沒有人告訴我哪里是前行的方向,一切都要自己主動(dòng)的去尋找,去判斷,我將以一個(gè)主人翁的姿態(tài)去迎接未來(lái)的自己。實(shí)習(xí)指導(dǎo)評(píng)語(yǔ)實(shí)習(xí)指導(dǎo)教師:年月日
擴(kuò)展閱讀:機(jī)電一體化實(shí)習(xí)-寶貝車總結(jié)報(bào)告
《機(jī)電一體化綜合訓(xùn)練》
實(shí)習(xí)報(bào)告
班級(jí)姓名學(xué)號(hào)指導(dǎo)教師
長(zhǎng)春工程學(xué)院
201*年12月
目錄
一.實(shí)習(xí)環(huán)境2
1.硬件環(huán)境22.軟件環(huán)境2
二.伺服電機(jī)調(diào)零3三.寶貝車的基本巡航動(dòng)作6四.單片機(jī)輸入接口與機(jī)器人觸覺導(dǎo)航13五.單片機(jī)輸入接口與機(jī)器人紅外導(dǎo)航19六.光敏電阻傳感器導(dǎo)航28七.距離檢測(cè)35八.單片機(jī)輸入接口與機(jī)器人校園游41九.實(shí)習(xí)總結(jié)(顧邦平)53十.實(shí)習(xí)總結(jié)(孟林昆)60
實(shí)習(xí)環(huán)境
1.硬件環(huán)境:計(jì)算機(jī)一臺(tái)、龍人寶貝車套裝(實(shí)驗(yàn)主板1塊、AT89S52芯片1個(gè)、ISP下載線1根、RS232串口線1根、連續(xù)旋轉(zhuǎn)伺服馬達(dá)2套、機(jī)器人運(yùn)動(dòng)底盤(帶后輪)1套、電池盒(帶五號(hào)電池4節(jié))1個(gè)、驅(qū)動(dòng)輪(帶防滑皮套)2個(gè)、線路板聯(lián)接柱子4根、柱子(連接觸覺傳感器)2根、盤頭螺釘22顆、螺母18顆、沉頭螺釘4顆、螺釘4顆、螺絲刀1把尖嘴鉗1把、跳線1袋、紅色LED2個(gè)、觸須2條、排針2顆、電阻220k4個(gè)、電阻470k10個(gè)、電阻1k4個(gè)、電阻2k4個(gè)、電阻10k4個(gè)、L-1L1(紅外LED)4只、1938(紅外探測(cè)器)4只、三極管4個(gè)、LCD模塊1個(gè)),校園游線路板、試車跑道。2.軟件環(huán)境:KeiluVision2、ISP軟件、串口調(diào)試終端。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))1實(shí)習(xí)任務(wù):伺服電動(dòng)機(jī)調(diào)零
時(shí)間:201*.8.10-201*.8.23地點(diǎn)工程訓(xùn)練中心201一.任務(wù)目的與要求
1.1目的
掌握伺服電動(dòng)機(jī)工作原理,完成伺服電動(dòng)機(jī)的標(biāo)定。
1.2要求
⑴.認(rèn)真學(xué)習(xí)研究伺服電動(dòng)機(jī)的工作原理和工作特點(diǎn)。⑵.能夠熟練的運(yùn)用伺服電動(dòng)機(jī)實(shí)現(xiàn)相應(yīng)運(yùn)動(dòng)。
評(píng)閱二.實(shí)習(xí)過程
1.電機(jī)調(diào)零:馮老師告訴我們我們這次的寶貝車實(shí)習(xí)所使用的電機(jī)是舵機(jī),下
面就是老師給我們講的關(guān)于舵機(jī)的工作原理,只有明白了舵機(jī)的工作原理,我們才能理解我們?yōu)楹我{(diào)零。
舵機(jī)工作的原理:舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。其工作原理是:控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。
首先我們進(jìn)行舵機(jī)的測(cè)試,看看我們所使用的伺服電動(dòng)機(jī)是不是在高電平持續(xù)1.5ms,低電平持續(xù)20ms,并且電平按照上面的時(shí)間周期變化下,寶貝車的輪子是否轉(zhuǎn)動(dòng),如果輪子不轉(zhuǎn)動(dòng)說明電機(jī)不需要進(jìn)行零點(diǎn)的標(biāo)定,如果輪子轉(zhuǎn)動(dòng)說明電機(jī)需要進(jìn)行零點(diǎn)標(biāo)定。
2.下面是測(cè)試電機(jī)是否需要標(biāo)定的程序:#include#includeintmain(void){while(1){uart_Init();
P1_0=1;delay_nus(1500);
P1_0=0;P1_1=1;delay_nus(1500);P1_1=0;delay_nms(20);}}3.該程序的執(zhí)行過程
P1_0口高低電平輸出到右側(cè)電動(dòng)機(jī),P1_1口的高低電平輸出到左側(cè)的電動(dòng)機(jī);首先初始化串口,然后通過單片機(jī)使得P1_0口輸出高電平,并保持高電平持續(xù)1.5ms,再給使得P1_1口輸出低電平,同理也通過程序使得單片機(jī)的P1_0口至高電平,保持高電平持續(xù)時(shí)間為1.5ms,然后給P1_0口至低電平,保持P1_1和P1_0的低電平時(shí)間為20ms,按照這樣的周期將上面兩口輸出脈沖信號(hào)分別輸入到左右兩側(cè)伺服電機(jī),由上面的伺服電機(jī)原理可以知道,此時(shí)獲得的電壓差應(yīng)該為0,并且伺服電機(jī)不轉(zhuǎn)動(dòng),但是實(shí)驗(yàn)中我們發(fā)現(xiàn)我們的伺服電動(dòng)機(jī)有輕微的震動(dòng)。我們通過伺服電機(jī)標(biāo)定旋鈕,用螺絲刀對(duì)伺服電機(jī)進(jìn)行調(diào)節(jié);調(diào)節(jié)的目的是使伺服電機(jī)的內(nèi)部基準(zhǔn)電路產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),以保證伺服電機(jī)不轉(zhuǎn)動(dòng),這時(shí)候要我們輕微轉(zhuǎn)動(dòng)調(diào)零的螺絲刀,在實(shí)驗(yàn)中我們有時(shí)候動(dòng)作過大,使伺服電機(jī)由原來(lái)的順時(shí)針轉(zhuǎn)動(dòng)變化為逆時(shí)針轉(zhuǎn)動(dòng),由上面的原理可以知道是因?yàn)槲覀兊霓D(zhuǎn)動(dòng)過大所以使得電壓差的正負(fù)性發(fā)生了改變,所以試驗(yàn)中我們調(diào)節(jié)零點(diǎn)花費(fèi)了不少的時(shí)間。
三.實(shí)習(xí)中的問題與分析
1.實(shí)習(xí)中我們遇到的主要的問題就是寶貝車在進(jìn)行零點(diǎn)的標(biāo)定的時(shí)候,有時(shí)候我們的螺絲刀輕輕一轉(zhuǎn)伺服電機(jī)就有原來(lái)的順時(shí)針變成逆時(shí)針或者由原來(lái)逆時(shí)針轉(zhuǎn)動(dòng)變?yōu)轫槙r(shí)針轉(zhuǎn)動(dòng),我們開始也對(duì)這百思不得其解,回去翻閱有關(guān)伺服電機(jī)方面的書籍可是書上講的只是伺服電機(jī)理論知識(shí)并沒有講到我們所需要的知識(shí),后來(lái)我們實(shí)在解決不了了,我們就問實(shí)驗(yàn)老師老師跟我們講了我們所使用的是舵機(jī),老師簡(jiǎn)單的跟我們講了舵機(jī)的工作原理,老師告訴我們網(wǎng)上可以查到舵機(jī)的具體的工作原理,我們回去上網(wǎng)收索了有關(guān)舵機(jī)的工作原理,在老師的講解和網(wǎng)上收索的資料我們弄明白了舵機(jī)的工作原理,弄明白了舵機(jī)的工作原理我們才明白我們調(diào)節(jié)的實(shí)際上是舵機(jī)內(nèi)部的基準(zhǔn)電路,使內(nèi)部基準(zhǔn)電路產(chǎn)生的脈沖量是高電平持續(xù)時(shí)間為1.5ms低電平持續(xù)時(shí)間為20ms的脈沖量,我們?cè)趯?shí)驗(yàn)的時(shí)候通過單片機(jī)給舵機(jī)提供的是高電平持續(xù)時(shí)間為1.5ms低電平持續(xù)時(shí)間為20ms的脈沖量,當(dāng)我們擰過了的時(shí)候有可能內(nèi)部的基準(zhǔn)電路產(chǎn)生的脈沖量是高電平持續(xù)時(shí)間低于1.5ms或者高電平持續(xù)時(shí)間高于1.5ms的脈沖量,所以在對(duì)伺服電機(jī)進(jìn)行標(biāo)定的時(shí)候會(huì)出現(xiàn)電機(jī)由原來(lái)的正轉(zhuǎn)變?yōu)橄旅娴姆崔D(zhuǎn),所以進(jìn)行標(biāo)定的時(shí)候需要我們的耐心。
四.關(guān)于舵機(jī)的思考
通過對(duì)舵機(jī)原理的了解,我們還詢問了教數(shù)控技術(shù)的馮老師,馮老師告訴我
們伺服系統(tǒng)的標(biāo)定方式很多,有的是通過調(diào)整伺服系統(tǒng)的阻尼比實(shí)現(xiàn)電機(jī)的零點(diǎn)的標(biāo)定,這跟自動(dòng)控制原理也有很緊密的關(guān)系,所以機(jī)電一體化的實(shí)習(xí)告訴我們我們需要綜合運(yùn)用多種理論課程來(lái)解決現(xiàn)實(shí)問題。
我們倆討論認(rèn)為舵機(jī)可以運(yùn)用在扳手之中,我們有時(shí)候用了很大的力氣卻沒
有講螺絲擰下來(lái)或者用了很大力氣卻沒有講螺絲擰緊,這里我們可以運(yùn)用舵機(jī)來(lái)進(jìn)行控制,正如這里的寶貝車一樣,實(shí)現(xiàn)扳手的自動(dòng)化。
五.本任務(wù)中用到的相關(guān)課程
在電機(jī)的調(diào)零任務(wù)中我們主要需要掌握的課程是單片機(jī),伺服電機(jī)技術(shù),在這里伺服電機(jī)的技術(shù)尤為重要,在沒有弄明白我們所使用的伺服電機(jī)的工作原理之前我們只是在稀里糊涂的對(duì)伺服電機(jī)進(jìn)行調(diào)零,為了弄明白本實(shí)驗(yàn)中所使用的伺服電機(jī),我們翻閱了數(shù)控技術(shù)等關(guān)于伺服電機(jī)的書籍,伺服系統(tǒng)在數(shù)控機(jī)床中的運(yùn)用十分廣泛所以我們通過對(duì)伺服電機(jī)的調(diào)零任務(wù)的實(shí)習(xí),讓我們對(duì)伺服電機(jī)有了更多的了解,伺服電機(jī)的調(diào)零方式很多可以通過阻尼比也可以通過脈沖進(jìn)行調(diào)節(jié),在我們的實(shí)習(xí)任務(wù)之中我們所使用的伺服電機(jī)是舵機(jī)一種位置伺服的驅(qū)動(dòng)器,為此我們需要通過老師的講解和查閱書籍以及利用網(wǎng)絡(luò)資源來(lái)了解舵機(jī)的工作原理,這次實(shí)習(xí)明顯的鍛煉了我們綜合運(yùn)用各方面的信息解決問題的能力。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))2評(píng)實(shí)習(xí)任務(wù):寶貝車的基本巡航動(dòng)作閱時(shí)間:201*.8.10-201*.8.23地點(diǎn):工程訓(xùn)練中心201一.任務(wù)目的與要求1.1目的
通過寶貝車基本巡航動(dòng)作任務(wù),使我們明白寶貝車的前進(jìn)、后退、轉(zhuǎn)彎等個(gè)基本運(yùn)動(dòng)動(dòng)作的實(shí)現(xiàn)方法和原理,為進(jìn)一步實(shí)現(xiàn)寶貝車的復(fù)雜運(yùn)動(dòng)打好基礎(chǔ)。
1.2要求
⑴.認(rèn)真學(xué)習(xí)分析寶貝車各個(gè)基本動(dòng)作的工作過程和工作原理。⑵.掌握編寫程序來(lái)控制寶貝車的各個(gè)運(yùn)動(dòng)的方法。
二.實(shí)習(xí)過程
我們?cè)趯?duì)寶貝車進(jìn)行過調(diào)零后接下來(lái)我們主要的工作是熟悉寶貝車的基本巡航動(dòng)作以及如何實(shí)現(xiàn)這些基本的巡航動(dòng)作為后面的實(shí)習(xí)做好準(zhǔn)備,寶貝車的基本巡航動(dòng)作有前進(jìn),后退,轉(zhuǎn)彎等基本動(dòng)作,只有熟悉了這些基本動(dòng)作后我們才可以運(yùn)用寶貝車的這些基本的巡航動(dòng)作實(shí)現(xiàn)后續(xù)的實(shí)驗(yàn)。1.寶貝車的前進(jìn)動(dòng)作
下面我們首先來(lái)熟悉寶貝車的前進(jìn)動(dòng)作,前進(jìn)是寶貝車最基本的動(dòng)作,前進(jìn)動(dòng)作主要靠的是右邊的輪子的順時(shí)針旋轉(zhuǎn),左邊的輪子逆時(shí)針旋轉(zhuǎn)來(lái)實(shí)現(xiàn)的。其實(shí)質(zhì)就是運(yùn)用脈沖信號(hào)來(lái)對(duì)舵機(jī)進(jìn)行控制的。前進(jìn)的基本程序如下:#include#includeintmain(void){
intcounter;uart_Init();
printf("ProgramRunning!\\n");
for(counter=0;counter
delay_nms(20);}
while(1);//利用while循環(huán)實(shí)現(xiàn)寶貝車的連續(xù)運(yùn)動(dòng)}
由上面的調(diào)零我們知道我們所使用的寶貝車用的是舵機(jī)即一種位置伺服的驅(qū)動(dòng)器,該電機(jī)的基本工作原理如下:控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn)。在我們的前進(jìn)程序之中我們利用單片機(jī)的P1_1口給左邊的輪子設(shè)置高電平1并讓高電平的時(shí)間保持1700us,然后在給P1_1設(shè)置低電平并讓低電平的時(shí)間保持20ms這就是一個(gè)周期內(nèi)的脈沖量,該脈沖量通過舵機(jī)的接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓,該電壓與內(nèi)部的基準(zhǔn)電路產(chǎn)生的電壓進(jìn)行比較,產(chǎn)生個(gè)電壓差,利用該電壓實(shí)現(xiàn)電機(jī)的逆時(shí)針轉(zhuǎn)動(dòng),在我們所使用的舵機(jī)里面當(dāng)輸入的高電平是1.7ms的時(shí)候,舵機(jī)實(shí)現(xiàn)的是逆時(shí)針的轉(zhuǎn)動(dòng)。我們所編寫的前進(jìn)程序中通過程序給P1_0口輸入高電平并保持高電平持續(xù)的時(shí)間為1.3ms,然后在通過程序給P1_0口輸入低電平并保持低電平的持續(xù)時(shí)間為20ms這就是一個(gè)周期內(nèi)的脈沖量,該脈沖量通過舵機(jī)的接受機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓,該電壓與內(nèi)部的基準(zhǔn)電路產(chǎn)生的電壓進(jìn)行比較,產(chǎn)生個(gè)電壓差,利用該電壓差實(shí)現(xiàn)右邊的輪子的順時(shí)針的轉(zhuǎn)動(dòng),我們所使用的舵機(jī)內(nèi)部設(shè)置的電路就是當(dāng)輸入的信號(hào)的高電平持續(xù)的時(shí)間是1.3ms的脈沖量的時(shí)候?qū)崿F(xiàn)順時(shí)針的轉(zhuǎn)動(dòng),我們所編寫的程序就是利用舵機(jī)的這種工作原理實(shí)現(xiàn)寶貝車的前進(jìn),在這里面單片機(jī)的控制相當(dāng)重要,單片機(jī)的P1_0口的電路圖如下圖2-1:
讀鎖存器內(nèi)部總線寫鎖存器讀引腳圖2-1口某一位口線的邏輯電路圖鎖存器內(nèi)部上拉電阻.引腳
單片機(jī)的P1口的工作原理:?jiǎn)纹瑱C(jī)的四個(gè)口內(nèi)部都有自己的電路,單片機(jī)的P1口是作為通用的I/O接口使用的,當(dāng)P1口作為時(shí)候,由內(nèi)部發(fā)出了一個(gè)時(shí)鐘信號(hào),將內(nèi)部總線上的高電平讀入P1.X的鎖存器,使場(chǎng)效應(yīng)管處于截至的狀態(tài)。因?yàn)榇藭r(shí)由于P1端口內(nèi)部有上拉電阻使引腳的電平被拉到高電平,但是它能夠被外部輸入信號(hào)的低電平拉低,不會(huì)對(duì)輸入的信號(hào)數(shù)據(jù)產(chǎn)生影響,單片機(jī)就是通過這樣的原理實(shí)現(xiàn)了對(duì)外部高低電平的采集,來(lái)對(duì)高電平進(jìn)行處理的。因?yàn)镻1口是一
個(gè)準(zhǔn)雙向口,P1口也可以對(duì)外輸出信號(hào),因?yàn)榇藭r(shí)單片機(jī)能夠向外部提供推拉電流負(fù)載,無(wú)須再接上上拉電阻。這就是P1口用作輸入輸出接口的簡(jiǎn)要工作原理。寶貝車的前進(jìn)就是通過程序控制單片機(jī)按照程序的要求向舵機(jī)的接收機(jī)的通道輸入控制信號(hào),利用舵機(jī)內(nèi)部電路實(shí)現(xiàn)寶貝車的前進(jìn)動(dòng)作。寶貝車的前進(jìn)程序看似簡(jiǎn)單,但是寶貝車的前進(jìn)充分運(yùn)用了單片機(jī)的內(nèi)部電路與舵機(jī)的內(nèi)部電路,只有這樣才實(shí)現(xiàn)了寶貝車的前進(jìn)運(yùn)動(dòng)。
2.寶貝車的后退動(dòng)作
熟悉了寶貝車的前進(jìn)動(dòng)作后我們來(lái)了解寶貝車的后退動(dòng)作,下面是寶貝車的后退的程序:
前進(jìn)的基本程序如下:#include#includeintmain(void){intcounter;uart_Init();
printf("ProgramRunning!\\n");
for(counter=1;counter
delay_nus(1700);P1_1=0;P1_0=1;
delay_nus(1500);P1_0=0;
delay_nms(20);}while(1);}}
寶貝車的右轉(zhuǎn)彎程序,我們利用的是右轉(zhuǎn)不轉(zhuǎn)左輪繞著右輪轉(zhuǎn)動(dòng)實(shí)現(xiàn)寶貝車的右轉(zhuǎn)彎,左輪子的舵機(jī)以及單片機(jī)的控制與上面講的相同,再此我們不再敘述,這里我們主要講述下右輪的靜止的控制,在這里我們通過程序控制單片機(jī)給P1_0口先設(shè)置高電平并保持高電平的持續(xù)時(shí)間為1.5ms,然后接著運(yùn)用程序給P1_0輸入低電平并保持低電平的持續(xù)時(shí)間為20ms,這就是一個(gè)周期內(nèi)的脈沖量,這個(gè)脈沖量,通過舵機(jī)的接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓,并于舵機(jī)內(nèi)部的基準(zhǔn)電路產(chǎn)生的電壓進(jìn)行比較,產(chǎn)生一個(gè)電壓差,利用這個(gè)電壓差進(jìn)行控制電機(jī)的轉(zhuǎn)動(dòng),因?yàn)檩斎氲男盘?hào)是高電平持續(xù)時(shí)間為1.5ms低電平持續(xù)時(shí)間為20ms的脈沖量,而內(nèi)部基準(zhǔn)電路產(chǎn)生的脈沖也是高電平持續(xù)時(shí)間為1.5ms低電平持續(xù)時(shí)間為20ms的脈沖量,所以產(chǎn)生的電壓差為0所以這個(gè)時(shí)候右邊的輪子保持靜止。當(dāng)然寶貝車的右轉(zhuǎn)彎方式不止上面一種,還有兩個(gè)輪子均轉(zhuǎn)彎的控制方式,基本原理同上面類似在這里我們就不在敘述了。
4.寶貝車的左轉(zhuǎn)彎
熟悉了寶貝車的直線行走的程序以及直線行走的控制過程,下面我們來(lái)了解下寶貝車的左轉(zhuǎn)彎的程序:
左轉(zhuǎn)彎的基本程序如下:#include#includeintmain(void){intcounter;uart_Init();
printf("ProgramRunning!\\n");
for(counter=1;counter
們就不在具體的敘述。
5.寶貝車的勻加速,恒速,勻減速
熟悉了寶貝車的前進(jìn),后退,轉(zhuǎn)彎等程序以及控制后我們?cè)偈煜は聦氊愜囘\(yùn)動(dòng)過程中的勻加速,恒速,勻減速的程序以及控制原理。
勻加速,恒速,勻減速的程序:#include#includeintmain(void){
intpulseCount;uart_Init();
printf("ProgramRunning!\\n");
for(pulseCount=10;pulseCount
開始程序初始化小車勻加速運(yùn)動(dòng)小車勻速運(yùn)動(dòng)小車勻減速運(yùn)動(dòng)結(jié)束圖2-2小車勻加速,勻速,勻減速程序流程圖
6.流程圖分析
由上面的流程圖可知這個(gè)程序的實(shí)現(xiàn)方式很簡(jiǎn)單,主要就是順序執(zhí)行,首先是小車開始勻加速運(yùn)動(dòng),然后小車勻速運(yùn)動(dòng),最后是小車勻減速運(yùn)動(dòng)。
7.程序分析
小車的勻加速,勻速,勻加速運(yùn)動(dòng)的控制過程:在程序之中我們首先定義了一個(gè)變量pulseCount來(lái)控制高電平的持續(xù)時(shí)間,在勻加速的過程中,我們首先通過程序給P1_1口設(shè)置高電平通過for循環(huán)控制高電平的持續(xù)時(shí)間從1.5ms不斷的增加,在給P1_1口設(shè)置低電平并保持低電平的持續(xù)時(shí)間為20ms,這就是一個(gè)高電平持續(xù)時(shí)間不斷增加的脈沖量,然后通過舵機(jī)接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓,因?yàn)楦唠娖降某掷m(xù)時(shí)間不斷的增加,但是內(nèi)部電路產(chǎn)生的脈沖的高電平持續(xù)時(shí)間保持在1.5ms左右,所以這兩個(gè)信號(hào)產(chǎn)生的電壓差不斷增加實(shí)現(xiàn)了左邊的輪子速度增加,右邊的輪子通過for循環(huán)控制脈沖量的高電平的持續(xù)時(shí)間,因?yàn)橛疫叺妮喿拥拿}沖量的高電平的持續(xù)時(shí)間從1.5ms不斷減少在這里減少的速度同左邊的輪子增加的速度是一樣的,所以這個(gè)脈沖量輸入到舵機(jī)內(nèi)部,與內(nèi)部脈沖產(chǎn)生的電壓差不斷增加實(shí)現(xiàn)了右邊的輪子的速度不斷的增加,所以通過for循環(huán)控制脈沖量的高電平的持續(xù)時(shí)間進(jìn)而控制了寶貝車的速度的勻速增加,恒速的控制過程與上面介紹的前進(jìn)一樣在此就不在敘述,勻減速的過程與勻加速的過程差不多在這里也不在敘述。
以上就是寶貝車的基本的巡航動(dòng)作,通過對(duì)上面的巡航動(dòng)作的掌握,我們
熟悉了寶貝車是如何通過單片機(jī)控制脈沖量的輸入以及舵機(jī)是如何對(duì)輸入的脈沖量進(jìn)行控制,進(jìn)而產(chǎn)生控制作用使得寶貝車實(shí)現(xiàn)相應(yīng)的動(dòng)作,這為我們以后的實(shí)習(xí)打下了基礎(chǔ)。
三.實(shí)習(xí)中遇到的問題與問題的分析
1.安裝好ISP后下載程序時(shí)候按照?qǐng)D示的設(shè)置選擇AT89S52后怎么也寫
不進(jìn)去程序在檢查過線路之后也不能寫進(jìn)程序,但是選擇ATMEGA8(L)后卻可以寫進(jìn)程序,這個(gè)問題開始的時(shí)候困擾了我們很久,后來(lái)我們對(duì)比新機(jī)器和舊機(jī)器才發(fā)現(xiàn)原來(lái)我們的機(jī)器人有兩個(gè)單片機(jī)系統(tǒng)一塊是AT89S52一塊是ATMEGA8(L)那天只是我們把線接到了ATMEGA8(L)那塊單片機(jī)上面,在烤程序的時(shí)候設(shè)置中卻選擇了AT89S52那塊單片機(jī),所以烤不進(jìn)程序,所以這個(gè)問題的出現(xiàn)告訴我們要仔細(xì)觀察實(shí)驗(yàn)板,正確的連接線路,同時(shí)也提醒我們?cè)谝院蟮膶?shí)習(xí)之中一定要細(xì)心。
2.實(shí)習(xí)中我們需要利用單片機(jī)對(duì)伺服電機(jī)進(jìn)行控制,但是我們?cè)趯?shí)驗(yàn)的時(shí)
候只是知道怎么去接電路但是卻沒有掌握單片機(jī)是如何進(jìn)行信號(hào)的控制的,因此我們查閱了單片機(jī)方面的書籍看單片機(jī)P1等口的內(nèi)部電路,了解單片機(jī)內(nèi)部電路的元器件以及內(nèi)部電路是如何工作的,當(dāng)然我們閱讀書本還是遇到了很多的問題剩下的問題我們主要是問的老師才明白單片機(jī)的各個(gè)口的基本工作過程,通過這樣我們掌握了單片機(jī)的各個(gè)口是如何進(jìn)行控制的。
四.本任務(wù)中用到的相關(guān)課程
我們?cè)趯?shí)習(xí)寶貝車的基本巡航動(dòng)作的時(shí)候,主要運(yùn)用到了單片機(jī),c語(yǔ)言等方面的知識(shí),其中單片機(jī)的作用更加突出,在這里我們用到單片機(jī)的P1口的1和0引腳來(lái)控制伺服電機(jī)的相應(yīng)的動(dòng)作進(jìn)而實(shí)現(xiàn)寶貝車的基本的巡航動(dòng)作,在這里我們需要弄明白單片機(jī)的P1口的內(nèi)部基本電路這樣我們才能掌握是如何給P1口的1和0引腳施加高低電平產(chǎn)生脈沖去控制舵機(jī)的,所以寶貝車基本巡航動(dòng)作的實(shí)習(xí),讓我們學(xué)到更多的單片機(jī)內(nèi)部電路方面的知識(shí),這也是為后面的實(shí)習(xí)打下基礎(chǔ)。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))3評(píng)實(shí)習(xí)任務(wù):?jiǎn)纹瑱C(jī)輸入接口與機(jī)器人觸覺導(dǎo)航閱時(shí)間:201*.8.10-201*.8.23地點(diǎn):工程訓(xùn)練中心201一.任務(wù)目的與要求1.1目的
通過對(duì)本章的學(xué)習(xí),掌握如何用單片機(jī)的輸入/輸出接口來(lái)采集觸須傳感器的送來(lái)的外部信號(hào),通過接口進(jìn)入計(jì)算機(jī)(或者單片機(jī)),由計(jì)算機(jī)或單片機(jī)根據(jù)反饋信息進(jìn)行計(jì)算和決策,生成控制命令,從而通過輸出接口去控制寶貝車的左右伺服電機(jī),進(jìn)而控制寶貝機(jī)器人的各種運(yùn)動(dòng),并且完成所給寶貝車任務(wù)。
1.2要求
⑴.觸須傳感器作為輸入反饋與AT89S52單片機(jī)的編程實(shí)現(xiàn)觸須導(dǎo)航。⑵.正確運(yùn)用C語(yǔ)言進(jìn)行編寫程序。
⑶.認(rèn)真學(xué)習(xí)教材內(nèi)容,設(shè)計(jì)電路并編程實(shí)現(xiàn)觸須導(dǎo)航
二.實(shí)習(xí)過程
1.觸須傳感器
通過對(duì)本章節(jié)知識(shí)的學(xué)習(xí),我們認(rèn)真學(xué)習(xí)并總結(jié)了觸須傳感器工作原理,其工作原理圖如圖3-1,工作過程分析如下:
如圖3-1所示:觸須傳感器是一種接觸型的傳感器,或者可以VCC說是機(jī)械式的傳感器,因?yàn)槠涔?/p>
+5V作是依靠觸須是否與障礙物的碰撞使其觸須開關(guān)閉合,從而改變電路輸出端P2-3的高低點(diǎn)評(píng)狀態(tài),
10KΩ所以實(shí)現(xiàn)了信號(hào)的采集與輸出。
首先,當(dāng)觸須沒有碰到障礙物時(shí),觸須開關(guān)處于斷開狀態(tài),220Ω輸出端P2-3與VCC有相同的點(diǎn)位,P2_3處于高電平1;當(dāng)觸須碰到障礙物并使觸須開關(guān)閉合導(dǎo)通時(shí),輸出
觸須端P2-3處于低電平0狀態(tài)。所以,觸須是否碰撞,決定了觸須傳感器輸出端的兩種輸出狀態(tài),這兩種不同的狀態(tài)被單片機(jī)接收,并進(jìn)行相應(yīng)計(jì)算和決策,然后發(fā)出
圖3-1觸須傳感器工作原理圖
控制命令,控制寶貝車的伺服電機(jī),從而使寶貝車實(shí)現(xiàn)預(yù)定的運(yùn)
動(dòng)。
2.觸須傳感器工作電路
在掌握了觸須型傳感器的工作原理后,我們給寶貝車前方左右各安裝了上述的觸須傳感器,為了準(zhǔn)確的將各觸須傳感器采集的信號(hào)輸送到單片機(jī)進(jìn)行控制,我們?cè)O(shè)計(jì)了如圖3-2的觸須導(dǎo)航工作電路圖。
VCC+5V左側(cè)伺服電機(jī)P1_1P1_0右側(cè)伺服電機(jī)VCC+5V10KΩ10KΩ左觸須220Ωout1右觸須220ΩAT89S52P2_3P1_4out2
圖3-2觸須導(dǎo)航工作電路圖
如圖1-2所示,左側(cè)觸須傳感器將采集到的信號(hào)以高低電平的形式輸送給單片機(jī)AT89S52的P2-3口,右側(cè)觸須傳感器將采集到的信號(hào)以高低電平的形式輸送給單片機(jī)AT89S52的P1-4口,單片機(jī)進(jìn)行相應(yīng)計(jì)算和決策,發(fā)出控制命令信號(hào),通過P1-1和P1-0口分別控制寶貝車左右伺服電動(dòng)機(jī),完成預(yù)定運(yùn)動(dòng)。
單片機(jī)AT89S52對(duì)所采集到的信號(hào)要進(jìn)行計(jì)算與決策,這時(shí)候我們要編寫程序來(lái)控制單片機(jī)對(duì)采集到的信號(hào)如何計(jì)算和決策。為了實(shí)現(xiàn)編程,我們擬定了寶貝車遇到各種情況的相應(yīng)動(dòng)作,具體是:左右觸須都未碰到障礙時(shí)寶貝車一直前進(jìn),左右觸須都碰到障礙時(shí)寶貝車后退掉頭在前進(jìn),只有一側(cè)觸須碰到障礙物則寶貝車后退轉(zhuǎn)向另一側(cè)在前進(jìn)。具體程序與程序流程圖如下:
3.程序:
#include#includeintP1_4state(void){
return(P1&0x10)?1:0;}
intP2_3state(void){
return(P2&0x08)?1:0;}
voidForward(void)/直走子程序{
P1_1=1;/左伺服電機(jī)全速逆時(shí)針運(yùn)動(dòng)delay_nus(1700);P1_1=0;
P1_0=1;/delay_nus(1300);P1_0=0;
delay_nms(20);}
voidLeft_Turn(void)/{
inti;
for(i=1;i
{inti;
for(i=1;i
圖3-3觸須導(dǎo)航程序流程圖
5.程序流程分析如下:
首先是對(duì)程序進(jìn)行初始化,然后進(jìn)入主程序,讓小車前進(jìn),并且檢測(cè)左右觸須傳感器采集回來(lái)的信號(hào);根據(jù)觸須傳感器工作原理,如果左右采集到的分別是0、
0,則說明兩側(cè)觸須均碰到障礙,調(diào)用一個(gè)后退子程序Backward(),在調(diào)用兩個(gè)雙輪左轉(zhuǎn)90°子程序Left_Turn(),完成寶貝車掉頭,然后繼續(xù)檢測(cè);如果左右采集到的分別是1、0,則說明只有右側(cè)碰到障礙,調(diào)用一個(gè)后退子程序Backward(),在調(diào)用一個(gè)雙輪左轉(zhuǎn)90°子程序Left_Turn(),然后繼續(xù)檢測(cè);如果左右采集到的分別是0、1,則說明只有左側(cè)碰到障礙,調(diào)用一個(gè)后退子程序Backward(),在調(diào)用一個(gè)雙輪右轉(zhuǎn)90°子程序Right_Turn(),然后繼續(xù)檢測(cè);如果左右采集到的分別是1、1,則說明沒有碰到障礙,調(diào)用直走子程序,然后繼續(xù)檢測(cè)。通過上述過程實(shí)現(xiàn)了寶貝車的行走并且避讓障礙物。
6.電機(jī)的動(dòng)作
通過程序?qū)氊悘氐卓刂,其?shí)質(zhì)是通過單片機(jī)分別控制左右兩個(gè)伺服電機(jī)的分運(yùn)動(dòng)來(lái)實(shí)現(xiàn)的。讓寶貝車左右伺服電機(jī)一個(gè)順時(shí)針一個(gè)逆時(shí)針運(yùn)動(dòng),就可以實(shí)現(xiàn)寶貝的直線行走;讓寶貝車左右伺服電機(jī)同時(shí)順時(shí)針或同時(shí)逆時(shí)針運(yùn)動(dòng),便可以實(shí)現(xiàn)寶貝車的左轉(zhuǎn)或右轉(zhuǎn),實(shí)質(zhì)就是控制伺服電機(jī)的轉(zhuǎn)動(dòng)來(lái)實(shí)現(xiàn)寶貝車的運(yùn)動(dòng)。
三.實(shí)習(xí)過程中的問題
1.在做胡須導(dǎo)航的時(shí)候,經(jīng)常會(huì)發(fā)生小車在沒有碰到障礙物的時(shí)候小車亂轉(zhuǎn)彎,通過觀察發(fā)現(xiàn)胡須在經(jīng)常碰到障礙物的時(shí)候使得胡須與面包板中的電路導(dǎo)通使得小車總覺得感應(yīng)到了碰到障礙物所以小車經(jīng)常在那里亂轉(zhuǎn)彎所以要對(duì)胡須進(jìn)行調(diào)整,這樣小車才能正確的利用胡須進(jìn)行導(dǎo)航。
四.本任務(wù)中用到的相關(guān)課程
觸須傳感器的導(dǎo)航實(shí)習(xí)主要運(yùn)用到了的相關(guān)知識(shí)有單片機(jī),信號(hào)檢測(cè)技術(shù)在這
里面對(duì)單片機(jī)和信號(hào)檢測(cè)技術(shù)的結(jié)合運(yùn)用要求很好,首先由傳感器檢測(cè)出信號(hào)傳回單片機(jī),單片機(jī)在根據(jù)傳回的信號(hào)進(jìn)行控制決策寶貝車究竟要執(zhí)行什么樣的動(dòng)作,通過本次的實(shí)習(xí)讓我們對(duì)傳感器的工作原理有了更多的了解,對(duì)單片機(jī)有了更加深刻的認(rèn)識(shí)。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))4評(píng)實(shí)習(xí)任務(wù):?jiǎn)纹瑱C(jī)輸入接口與機(jī)器人紅外導(dǎo)航閱時(shí)間:201*.8.10-201*.8.23地點(diǎn):工程訓(xùn)練中心201一.任務(wù)目的與要求1.1目的
掌握如何用單片機(jī)的輸入/輸出接口來(lái)采集紅外傳感器的送來(lái)的外部信號(hào),通過接口進(jìn)入計(jì)算機(jī)(或者單片機(jī)),由計(jì)算機(jī)或單片機(jī)根據(jù)反饋信息進(jìn)行計(jì)算和決策,生成控制命令,從而通過輸出接口去控制寶貝車的左右伺服電機(jī),進(jìn)而控制寶貝機(jī)器人的各種運(yùn)動(dòng),并且完成所給寶貝車任務(wù)。
1.2要求
⑴.紅外傳感器作為輸入反饋與AT89S52單片機(jī)的編程實(shí)現(xiàn)觸須導(dǎo)航。⑵.正確運(yùn)用C語(yǔ)言進(jìn)行編寫程序。
⑶.認(rèn)真學(xué)習(xí)教材內(nèi)容,設(shè)計(jì)電路并編程實(shí)現(xiàn)紅外導(dǎo)航
二.實(shí)習(xí)過程
1.紅外傳感器
這次我們將使用紅外傳感器對(duì)寶貝車進(jìn)行導(dǎo)航,紅外傳感器的工作原理電路圖如圖4-1所示。工作過程分析如下:
VCC+5V470Ω470ΩoutLEDbce9013光敏二極管P1_3圖4-1紅外傳感器原理圖。
由該工作原理圖我們知道當(dāng)我們通過程序控制單片機(jī)的內(nèi)部電路給P1_3口輸出高電平此時(shí)三極管被導(dǎo)通,LED開始發(fā)光,當(dāng)發(fā)射出來(lái)的光被障礙物反射回來(lái)的時(shí)候被光敏二極管所接受光敏二極管被導(dǎo)通此時(shí)輸出低電平表示前面有障礙物,如果發(fā)射出去的光沒有被反射回來(lái),光敏二極管沒有接受到光此時(shí)光敏處于
截止的狀態(tài)此時(shí)輸出的是高電平,表示前面沒有障礙物。
2.紅外傳感器的電路
掌握了紅外傳感器的工作原理后,我們給寶貝車前方左右各安裝了上述的紅外傳感器,為了將兩個(gè)紅外傳感器采集的信號(hào)輸送到單片機(jī)進(jìn)行控制,我們?cè)O(shè)計(jì)了如圖4-2的紅外導(dǎo)航工作電路圖:
VCC+5V左側(cè)伺服電機(jī)P1_1P1_0右側(cè)伺服電機(jī)VCC+5V470Ω470Ω470Ωout2光敏二極管470Ωout1LEDbce9013光敏二極管LEDc9013ebAT89S52P1_2P1_3P3_5P3_6圖4-2紅外導(dǎo)航工作電路圖
由該電路圖我們知道單片機(jī)的P1口的1和0引腳控制左側(cè)和右側(cè)的伺服電機(jī),P1口的2和3引腳控制左邊的紅外傳感器,P3的5和6引腳控制右邊的紅外傳感器,當(dāng)通過給單片機(jī)的P1口的3引腳和P3口的6引腳設(shè)置高電平時(shí)候三極管被導(dǎo)通此時(shí)兩邊的IRLED開始發(fā)出紅外線,如果前方?jīng)]有障礙物紅外光沒有被反射回來(lái)此時(shí)光敏二極管接受不到光處于截止的狀態(tài)此時(shí)輸出高電平,說明前方?jīng)]有障礙物,如果前面有障礙物的話紅外光被反射回來(lái)被光敏二極管所接受,二極管處于導(dǎo)通狀態(tài)此時(shí)輸出低電平表示前方有障礙物。
3.下面是單片機(jī)的P1口的某引腳的內(nèi)部電路圖(如圖4-3)
讀鎖存器內(nèi)部總線寫鎖存器讀引腳
鎖存器內(nèi)部上拉電阻.引腳圖4-3P1口某引腳的內(nèi)部電路圖
單片機(jī)的四個(gè)口內(nèi)部都有自己的電路,單片機(jī)的P1口是作為通用的I/O接口使用的,當(dāng)P1口作為時(shí)候,由內(nèi)部發(fā)出了一個(gè)時(shí)鐘信號(hào),講內(nèi)部總線上的高電平讀入P1.X的鎖存器,使場(chǎng)效應(yīng)管處于截至的狀態(tài)。因?yàn)榇藭r(shí)由于P1端口內(nèi)部有上拉電阻使引腳的電平被拉到高電平,但是它能夠被外部輸入信號(hào)的低電平拉低,不會(huì)對(duì)輸入的信號(hào)數(shù)據(jù)產(chǎn)生影響,單片機(jī)就是通過這樣的原理實(shí)現(xiàn)了對(duì)外部高低電平的采集,來(lái)對(duì)高電平進(jìn)行處理的。因?yàn)镻1口是一個(gè)準(zhǔn)雙向口,P1口也可以對(duì)外輸出信號(hào),因?yàn)榇藭r(shí)單片機(jī)能夠向外部提供推拉電流負(fù)載,無(wú)須再接上上拉電阻。這就是P1口用作輸入輸出接口的簡(jiǎn)要工作原理。
由上面的工作電路圖我們可以知道在這里我們是把單片機(jī)的P1口的1和0引腳用作輸出接口的,用來(lái)控制左右兩側(cè)的伺服電機(jī)。我們用P1口的2和3引腳來(lái)控制左側(cè)的紅外傳感器,2和3引腳分別用作輸入和輸出功能。
4.下面是單片機(jī)的P3口的某引腳的內(nèi)部電路圖(如圖4-4)
讀鎖存器內(nèi)部總線寫鎖存器鎖存器第二輸出功能內(nèi)部上拉電阻.引腳第二輸入功能圖4-4P3口某引腳的內(nèi)部電路圖
單片機(jī)的四個(gè)口內(nèi)部都有自己的電路,單片機(jī)的P3口具有第二功能的信號(hào)輸入和輸出,單片機(jī)的P3口的第一功能與P1口的功能一樣,在這里我們就不再敘述,單片機(jī)的第二功能用作輸入線時(shí)候,口鎖存器必須先寫1,上面就是單片機(jī)的P3口的簡(jiǎn)要的工作原理。
由上面的工作電路圖我們可以知道我們用的P3口的3和6引腳控制右邊的紅外傳感器,3和6引腳分別用作輸出和輸入功能。
5.下面是紅外傳感導(dǎo)航的程序流程圖(如圖4-5所示)
圖4-5紅外導(dǎo)航程序流程圖
我們根據(jù)程序流程圖編寫出了程序,并進(jìn)行了寶貝車的調(diào)試,使寶貝車按照我們的程序進(jìn)行運(yùn)動(dòng)。
6.下面是我們所編寫的程序:
#include#include#include
#defineLeftIRP1_2//左邊紅外接收連接到P1_2#defineRightIRP3_5//右邊紅外接收連接到P3_5#defineLeftLaunchP1_3//左邊紅外發(fā)射連接到P1_3#defineRightLaunchP3_6//右邊紅外發(fā)射連接到P3_6voidIRLaunch(unsignedcharIR){
intcounter;
if(IR=="L")//左邊發(fā)射
for(counter=0;counter
inti;
for(i=1;i
uart_Init();
printf("ProgramRunning!\\n");while(1){
IRLaunch("R");//右邊發(fā)射irDetectRight=RightIR;//右邊接收IRLaunch("L");//左邊發(fā)射irDetectLeft=LeftIR;//左邊接收
if((irDetectLeft==0)&&(irDetectRight==0))//兩邊同時(shí)接收到紅外線{
Backward();Left_Turn();Left_Turn();}
elseif(irDetectLeft==0)//只有左邊接收到紅外線{
Backward();Right_Turn();}
elseif(irDetectRight==0)//只有右邊接收到紅外線{
Backward();Left_Turn();}else
Forward();}}
7.程序流程圖分析:由程序流程圖我們知道首先是運(yùn)行寶貝車,然后開始檢測(cè)傳感器的狀態(tài),如果左右兩側(cè)都檢測(cè)到障礙物的話那么就調(diào)用后退子程序,在調(diào)用兩次左轉(zhuǎn)90度子程序,然后在返回去繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)到的狀態(tài)不是兩側(cè)都有障礙物那么就繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)出來(lái)的是左側(cè)有障礙物右側(cè)沒有障礙物,那么就調(diào)用后退子程序,并調(diào)用右轉(zhuǎn)子程序,然后返回去繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)的狀態(tài)不是左側(cè)有障礙物那么就繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)的是右側(cè)有障礙物左側(cè)沒有障礙物,那么就調(diào)用左轉(zhuǎn)子程序在返回去檢測(cè)傳感器的狀態(tài),如果檢測(cè)到的不是右側(cè)沒有障礙物那么就繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)到的是兩側(cè)都沒有障礙物直接返回去在檢測(cè)傳感器的狀態(tài),如果檢測(cè)到的不是兩側(cè)都沒有障礙物也直接返回去繼續(xù)檢測(cè)傳感器的狀態(tài),以上就是程序的主要流程,我們按照我們的程序流程圖編寫程序并對(duì)寶貝車進(jìn)行調(diào)試。
8.程序流程分析:首先我們定義了紅外發(fā)射的函數(shù),然后定義了向前走,左轉(zhuǎn),右轉(zhuǎn),向后走的子函數(shù),在主函數(shù)中,首先調(diào)用紅外發(fā)射的子函數(shù),然后把傳感器的狀態(tài)賦予兩個(gè)變量,然后開始檢測(cè)左右兩側(cè)的紅外傳感器的狀態(tài),如果
檢測(cè)出來(lái)的狀態(tài)是全0說明兩邊都有障礙物,開始調(diào)用向后走的子函數(shù),然后兩次調(diào)用左轉(zhuǎn)90度的子函數(shù),實(shí)現(xiàn)寶貝車遇到障礙物后的后退與掉頭功能,如果檢測(cè)到的不是全0而是左邊的傳感器狀態(tài)為0,那么說明左邊有障礙物,那么就直接調(diào)用,向后走的程序再調(diào)用右轉(zhuǎn)彎的子函數(shù),如果檢測(cè)到的不是上面的兩種情況而是右邊的傳感器狀態(tài)是0說明右邊有障礙物,那么就調(diào)用向后走的子函數(shù),然后調(diào)用左轉(zhuǎn)彎的子函數(shù),如果檢測(cè)到得不是上面的三種情況那么就直接調(diào)用向前走的函數(shù),寶貝車就這樣不斷循環(huán)這樣的程序?qū)崿F(xiàn)寶貝車的運(yùn)動(dòng)。三.調(diào)試過程中遇到問題的分析解決
調(diào)試過程中,首先發(fā)現(xiàn)調(diào)試終端始終顯示“irDetectLeft=1”,與IR組前面有無(wú)物體,我們立即對(duì)電路、程序進(jìn)行了檢查并確保其準(zhǔn)確無(wú)誤。然后我們按照下述原則排除了問題。
1.如果你總是得到0,甚至當(dāng)沒有物體在機(jī)器人前面時(shí)也是0,可能是附近的物體反射了紅外線。機(jī)器人前面的桌面是常見的始作俑者。調(diào)整紅外發(fā)射器的角度,使IRLED和探測(cè)器不會(huì)受桌面等物體的影響
2如果機(jī)器人前面沒有物體時(shí)絕大多數(shù)時(shí)間讀數(shù)是1,但是偶爾是0,這可能是附近的熒光燈的干擾。關(guān)掉附近的熒光燈,重新測(cè)試。四.本任務(wù)中用到的相關(guān)課程
本次實(shí)習(xí)實(shí)習(xí)中我們主要運(yùn)用到單片機(jī)和信號(hào)檢測(cè)技術(shù)的相關(guān)知識(shí),這里我們
實(shí)習(xí)用的是紅外傳感器,這種傳感器比觸須傳感器的工作原理更深刻點(diǎn),觸須傳感的電路原理比較容易,但是對(duì)于紅外傳感器就比較難點(diǎn),在這里通過本次實(shí)驗(yàn)讓我們明白了信號(hào)檢測(cè)中所講述的紅外傳感器的工作原理,對(duì)于比較復(fù)雜的傳感器我們可以讓其采集信號(hào)后通過單片機(jī)控制比如燈的閃爍來(lái)掌握其原理,本次實(shí)習(xí)給我們提供了了解傳感器工作原理的途徑和方法。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))5實(shí)習(xí)任務(wù):光敏電阻傳感器導(dǎo)航時(shí)間:201*.8.10-201*.8.23地點(diǎn)工程訓(xùn)練中心201一.任務(wù)目的與要求評(píng)閱1.1目的
掌握如何用單片機(jī)的輸入/輸出接口來(lái)采集光敏電阻傳感器的送來(lái)的外部信號(hào),通過接口進(jìn)入者單片機(jī),由單片機(jī)根據(jù)反饋信息進(jìn)行計(jì)算和決策,生成控制命令,從而通過輸出接口去控制寶貝車的左右伺服電機(jī),進(jìn)而控制寶貝機(jī)器人的各種運(yùn)動(dòng),并且完成所給寶貝車任務(wù)。
1.2要求
⑴.掌握光敏傳感器傳感器工作原理與方法。
⑵.認(rèn)真學(xué)習(xí)教材內(nèi)容,設(shè)計(jì)光敏電阻導(dǎo)航電路并。⑶.編寫程序?qū)崿F(xiàn)光敏電阻導(dǎo)航。
二.實(shí)習(xí)過程
1.光敏電阻傳感器
在做光敏電阻導(dǎo)航之前首先讓我來(lái)了解下光敏電阻的工作原理,光敏電阻的工作原理圖如下圖5-1所示:
VCC+5V光敏電阻220ΩVo2KΩ圖圖作原理圖15-1光光敏電阻傳感器原理圖敏電阻傳感器工由光敏電阻的分壓電路我們可以知道光敏電阻工作的原理,當(dāng)有光線照在光敏電阻的上面的時(shí)候,光敏電阻的阻值變低,通過上面的原理圖由電路的分壓定理我們可以知道Vo的電壓很高,傳輸?shù)絾纹瑱C(jī)內(nèi)部就是高電平,當(dāng)沒有光線照到光敏電阻的上面的時(shí)候光敏電阻的阻值很大,在這里可以達(dá)到25k以上由分壓定
理可以知道Vo的電壓很低,傳輸?shù)絾纹瑱C(jī)的內(nèi)部就是低電平,我們真是利用光敏電阻的這一特性實(shí)現(xiàn)寶貝車的探測(cè)陰影。
2.光敏電阻傳感器電路圖了解了光敏電阻的工作原理后,我們來(lái)了解光敏電阻導(dǎo)航的電路圖,這樣我們才可以正確組裝傳感器以及寶貝車的接線以及了解控制原理。光敏電阻導(dǎo)航的電路圖見下面的圖5-2:
VCC+5V左側(cè)伺服電機(jī)P1_1P1_0右側(cè)伺服電機(jī)光敏電阻VCC+5V光敏電阻2KΩ220ΩVo12KΩ220ΩVo2AT89S52P1_5P2_3圖5-2光敏電阻傳感器工作電路圖
由上面的光敏電阻傳感器的工作電路圖,我們可以知道光敏電阻傳感器采集回來(lái)的信號(hào)分別輸入到單片機(jī)的P2_3和P1_5,然后由單片機(jī)對(duì)采集回來(lái)的信號(hào)進(jìn)行處理并進(jìn)行判斷調(diào)用相應(yīng)的程序?qū)λ欧姍C(jī)進(jìn)行控制,執(zhí)行相應(yīng)的動(dòng)作,單片機(jī)的工作原理和上面的相似在這里不在敘述。
單片機(jī)采集回來(lái)的信號(hào)要進(jìn)行處理進(jìn)而單片機(jī)做出相應(yīng)的控制,為此我們需要編寫出相應(yīng)的程序來(lái)對(duì)采集回來(lái)的信號(hào)進(jìn)行控制。我們的程序設(shè)定當(dāng)兩邊的傳感器都沒有感應(yīng)到陰影那么寶貝車就直接往前面走,如果左右兩個(gè)傳感器都感應(yīng)到陰影那么寶貝后退并調(diào)用兩次左轉(zhuǎn)彎的程序?qū)崿F(xiàn)寶貝車的掉頭,如果左側(cè)的傳感器感應(yīng)到陰影那么調(diào)用后退與右轉(zhuǎn)彎程序?qū)崿F(xiàn)寶貝車的右轉(zhuǎn)彎,如果右側(cè)的感應(yīng)到陰影寶貝車先后退在左轉(zhuǎn)彎,下面就是我們編寫的具體的程序與程序流程圖:3.程序:
#include#includeintP1_5state(void){
return(P1&0x20)?1:0;//采集傳感器的狀態(tài)
29圖2光敏電阻傳感器工作電路圖
}intP2_3state(void){
return(P2&0x08)?1:0;//采集傳感器的狀態(tài)}
voidForward(void)//子程序“前進(jìn)”//{
P1_1=1;
delay_nus(1700);P1_1=0;P1_0=1;
delay_nus(1300);P1_0=0;
delay_nms(20);}
voidLeft_Turn(void)//{
for(i=1;i
voidBackward(void)//子程序“后退”//{
for(i=1;i
Left_Turn();//向左}
else//否則
Forward();//向前}}
4.程序流程圖見下圖5-3:
圖5-3光敏電阻傳感器程序流程圖
5.程序流程圖分析:
由上面的程序流程圖我們可以清楚的知道寶貝車究竟要執(zhí)行怎么樣的動(dòng)作,首先我們開始運(yùn)行寶貝車,單片機(jī)并開始檢測(cè)傳感器的狀態(tài)當(dāng)檢測(cè)到得狀態(tài)是兩邊的
傳感器的狀態(tài)全是0的時(shí)候,單片機(jī)開始調(diào)用后退程序,然后兩次調(diào)用左轉(zhuǎn)彎程序?qū)崿F(xiàn)寶貝車的后退與調(diào)頭,然后返回去重新檢測(cè)傳感器的狀態(tài),如果檢測(cè)回來(lái)的狀態(tài)不是00那么就繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)回來(lái)的狀態(tài)是左邊的傳感器的狀態(tài)是0那么就調(diào)用后退程序然后在調(diào)用右轉(zhuǎn)彎程序?qū)崿F(xiàn)寶貝車的轉(zhuǎn)彎,然后在返回去重新檢測(cè)傳感器的狀態(tài),如果檢測(cè)回來(lái)的狀態(tài)不是左邊的傳感器的狀態(tài)是0那么就繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)回來(lái)的傳感器的狀態(tài)是右邊的傳感器的狀態(tài)是0,那么就調(diào)用后退子程序在接著調(diào)用左轉(zhuǎn)彎子程序?qū)崿F(xiàn)寶貝車的轉(zhuǎn)彎,然后在返回去重新檢測(cè)傳感器的狀態(tài),如果檢測(cè)回來(lái)的狀態(tài)不是右邊的傳感器的狀態(tài)是0,那么就繼續(xù)檢測(cè)傳感器的狀態(tài),如果檢測(cè)回來(lái)的是兩邊的傳感器的狀態(tài)全是1那么就調(diào)用直走程序,然后在返回去重新檢測(cè)傳感器的狀態(tài),如果檢測(cè)的不是兩邊的傳感器的狀態(tài)全是1也直接返回去重新檢測(cè)傳感器的狀態(tài)。6.程序的分析:
在主函數(shù)之前我們首先定義了兩個(gè)采集傳感器狀態(tài)的子函數(shù)intP2_3state(void)和intP1_5state(void),接下來(lái)我們定義了前進(jìn),左轉(zhuǎn)彎,右轉(zhuǎn)彎以及后退的子函數(shù),在主函數(shù)中首先開始復(fù)位信號(hào),然后程序開始檢測(cè)傳感器的狀態(tài),如果檢測(cè)出來(lái)的狀態(tài)是兩邊的傳感器的狀態(tài)都是0,說明前面有陰影,程序開始調(diào)用后退子程序,然后兩次調(diào)用Left_Turn();實(shí)現(xiàn)寶貝車在前進(jìn)過程中前方遇到陰影后的掉頭,如果檢測(cè)到的狀態(tài)是左邊的傳感器的狀態(tài)是0說明在寶貝車的左邊有陰影,程序調(diào)用后退程序,再調(diào)用右轉(zhuǎn)彎子函數(shù),實(shí)現(xiàn)寶貝車在左邊遇到陰影后右轉(zhuǎn)彎避過陰影的功能,如果檢測(cè)到的是右邊的傳感器的狀態(tài)是0說明寶貝車前進(jìn)的右方有陰影,程序就調(diào)用后退子程序,然后在調(diào)用左拐的程序?qū)崿F(xiàn)寶貝車避開陰影,如果兩邊的傳感器檢測(cè)到的狀態(tài)都是1說明前方?jīng)]有陰影寶貝車就正常前進(jìn)。
三.實(shí)習(xí)中出現(xiàn)的問題與分析
1.實(shí)習(xí)中遇到的主要問題是我們按照實(shí)驗(yàn)電路圖接好電路好,寶貝車并沒有按
照我們所編寫的程序進(jìn)行動(dòng)作,可是檢查線路我們并沒有發(fā)現(xiàn)問題,我們吸取了以前的經(jīng)驗(yàn)教訓(xùn)開始逐個(gè)檢查元器件是否完好,我們最終發(fā)現(xiàn)原來(lái)我們的光敏電阻壞掉了,我們換了個(gè)光敏電阻后我們的寶貝車開始正常工作了,這也告訴我們檢查問題的時(shí)候要考慮全面。四.本任務(wù)中用到的相關(guān)課程
在本次實(shí)習(xí)中我們用的相關(guān)課程主要是單片機(jī),信號(hào)檢測(cè)技術(shù)以及電子電工
技術(shù),在這里我們查閱電子技術(shù)的書籍了解光敏電阻的相關(guān)特性對(duì)于單片機(jī)與信號(hào)檢測(cè)技術(shù)在上面已經(jīng)敘述過在此就不在敘述。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))6實(shí)習(xí)任務(wù):距離檢測(cè)
時(shí)間:201*.8.10-201*.8.23地點(diǎn)工程訓(xùn)練中心201一.任務(wù)目的與要求
評(píng)閱1.1目的
通過本任務(wù),掌握如何用單片機(jī)的定時(shí)/計(jì)數(shù)功能與紅外傳感器結(jié)合使用來(lái)實(shí)現(xiàn)前方物體距離的檢測(cè),掌握距離檢測(cè)的基本原理和方法。
1.2要求
⑴.掌握AT89S52單片機(jī)的定時(shí)/計(jì)數(shù)功能,并且能熟練應(yīng)用。⑵.掌握紅外傳感器用于距離檢測(cè)的方法與原理。
⑶.將AT89S52單片機(jī)的定時(shí)/計(jì)數(shù)功能與紅外傳感器結(jié)合應(yīng)用,設(shè)計(jì)電路,
編寫程序?qū)崿F(xiàn)寶貝車對(duì)前方物體的距離檢測(cè)。
二.實(shí)習(xí)過程
1.距離檢測(cè)傳感器的原理:
首先讓我們來(lái)了解下傳感器的工作原理,這樣我們才可以根據(jù)傳感器的特點(diǎn)設(shè)計(jì)相應(yīng)的電路,從而達(dá)到對(duì)寶貝車的控制實(shí)現(xiàn)相應(yīng)的實(shí)驗(yàn)?zāi)康。傳感器的原理圖如下:(見圖6-1)
VCC+5V470Ωout光敏二極管LEDbce470Ω區(qū)域029370Hz區(qū)域131230Hz物體區(qū)域233050Hz區(qū)域335700Hz區(qū)域438460HzP1_39013區(qū)域5任何頻率下都沒有檢測(cè)到物體
圖6-1距離檢測(cè)的傳感器的原理圖
我們?cè)诰嚯x檢測(cè)中用的傳感器是紅外傳感器,利用了紅外檢測(cè)裝置對(duì)不同頻率的紅外光的靈敏度的不同即低靈敏度的頻率,為了讓探測(cè)器探測(cè)到反射回來(lái)的紅外光,所以物體離探測(cè)器的距離必須很近,高靈敏度的頻率可以探測(cè)距離比較遠(yuǎn)的障礙物。由上面的原理圖我們知道在這里我們選用了5種不同的頻率分別得29370Hz,31230Hz,33050Hz,35700Hz,38460Hz將寶貝車的前進(jìn)方向劃分為6個(gè)區(qū)域,當(dāng)發(fā)射的紅外光的頻率是29370Hz的時(shí)候,由于該頻率的靈敏度低,所以該頻率的紅外光只能探測(cè)寶貝車前進(jìn)方向的區(qū)域0該區(qū)域靠近探測(cè)器,如果探測(cè)器探測(cè)到了返回來(lái)的紅外光說明在區(qū)域0有障礙物,因?yàn)椴煌念l率只能工作在一定得范圍里,這樣就可以確定障礙物離寶貝車的大概距離,如果發(fā)射的頻率是29370Hz沒有被探測(cè)器探測(cè)到說明區(qū)域0沒有障礙物,而發(fā)射的頻率31230Hz,33050Hz,35700Hz,38460Hz都被探測(cè)器探測(cè)到說明區(qū)域1有障礙物,如果發(fā)射的頻率29370Hz,31230Hz,都沒有被探測(cè)器探測(cè)到,而發(fā)射的頻率33050Hz,35700Hz,38460Hz被探測(cè)器探測(cè)到,說明區(qū)域2存在障礙物,這樣就可以確定障礙物距離傳感器的大致位置,其它的情形與此類似就不在敘述,上面就是傳感器的基本的工作原理,簡(jiǎn)單的說就是地靈敏度的頻率能有檢測(cè)的范圍小,高靈敏的頻率檢測(cè)的范圍大,利用不同的頻率將寶貝車的前方劃分不同的區(qū)域來(lái)進(jìn)行探測(cè)。
2.距離檢測(cè)的電路圖:(見圖6-2)
VCC+5V左側(cè)伺470Ω服電out1機(jī)光敏二極管P1_1P1_0右側(cè)伺服電機(jī)VCC+5V470Ω470Ωout2光敏二極管470ΩLEDbce9013LEDc9013ebAT89S52P1_2P1_3P3_5P3_6
圖6-2距離檢測(cè)的電路圖
由該電路圖我們知道單片機(jī)的P1口的1和0引腳控制左側(cè)和右側(cè)的伺服電機(jī),P1口的2和3引腳控制左邊的紅外傳感器,P3的5和6引腳控制右邊的紅外傳感器,當(dāng)通過給單片機(jī)的P1口的3引腳和P3口的6引腳設(shè)置高電平時(shí)候三極管被
導(dǎo)通此時(shí)兩邊的IRLED開始發(fā)出紅外線,如果前方?jīng)]有障礙物紅外光沒有被反射回來(lái)此時(shí)光敏二極管接受不到光處于截止的狀態(tài)此時(shí)輸出高電平,說明前方?jīng)]有障礙物,如果前面有障礙物的話紅外光被反射回來(lái)被光敏二極管所接受,二極管處于導(dǎo)通狀態(tài)此時(shí)輸出低電平表示前方有障礙物。
距離檢測(cè)主要實(shí)習(xí)的是我們對(duì)單片機(jī)定時(shí)計(jì)數(shù)器的運(yùn)用以及了解紅外傳感器對(duì)不同的頻率的靈敏程度,下面是我們所編寫的檢測(cè)距離的程序的流程圖。
3.程序流程圖(見下面的圖6-3)
圖6-3距離檢測(cè)的程序的流程圖
4.我們根據(jù)程序流程圖編寫的程序如下:#include#include
#defineLeftIRP1_2//左邊紅外接受連接到P1_2#defineLeftLaunchP1_3//左邊紅外發(fā)射連接到P1_3unsignedinttime;//定時(shí)時(shí)間值intleftdistance;//左邊的距離intdistanceLeft,irDetectLeft;
unsignedintfrequency[5]={29370,31230,33050,35700,38460};voidtimer_init(void){
IE=0x82;//開總中斷EA,允許定時(shí)器0中斷ET0TMOD|=0X01;//定時(shí)器0工作在模式1:16位定時(shí)器模式}
voidFreqOut(unsignedintFreq){
time=256-(500000/Freq);//根據(jù)頻率計(jì)算初值TH0=0XFF;//高八位設(shè)FF
TL0=time;//低八位根據(jù)公式計(jì)算TR0=1;//啟動(dòng)定時(shí)器delay_nus(800);//延時(shí)TR0=0;//停止定時(shí)器
}voidTimer0_Interrupt(void)interrupt1//定時(shí)器中斷{
LeftLaunch=~LeftLaunch;//取反TH0=0xFF;//重新設(shè)值TL0=time;}
voidGet_lr_Distances(){
unsignedintcount;
leftdistance=0;//初始化左邊的距離for(count=0;count
uart_Init();//串口初始化timer_init();
printf("ProgamRunning!\\n");
printf("FREQENCYETECTED\\n");while(1){
Get_lr_Distances();//調(diào)用頻率發(fā)射函數(shù)判斷物體的大概的位置printf("distanceLeft=%d\\n",leftdistance);
printf("-----------------\\n");delay_nms(1000);}}
5.程序流程圖分析如下:
根據(jù)我們實(shí)習(xí)的目的即確定寶貝車的大概的位置,我們利用紅外傳感器
對(duì)不同頻率的靈敏度進(jìn)行障礙物大概位置的探測(cè),為此我們首先商量確定了程序的流程圖,因?yàn)橹挥写_定了算法程序的編寫才簡(jiǎn)單,下面我們分析下我們的程序流程圖。首先是程序的初始化,然后開始運(yùn)行小車,接著是發(fā)射5種不同的頻率,首先發(fā)射的頻率是29370HZ,該頻率的紅外線只能對(duì)區(qū)域0進(jìn)行探測(cè),如果在區(qū)域0檢測(cè)到的傳感器的狀態(tài)是1,說明小車的前方?jīng)]有障礙物那么寶貝車的距離加1,并且程序跳轉(zhuǎn)到發(fā)射頻率為31230HZ處,如果檢測(cè)到的狀態(tài)是不是1那么程序也跳轉(zhuǎn)到發(fā)射頻率為31230HZ處,如果在發(fā)射的頻率是31230HZ處檢測(cè)到得傳感器的狀態(tài)是1,那么寶貝車的距離加1并且程序跳轉(zhuǎn)到發(fā)射頻率為33050HZ處,如果檢測(cè)到的狀態(tài)是0程序也跳轉(zhuǎn)到頻率是33050HZ處,如果傳感器在發(fā)射的頻率為33050HZ處,如果檢測(cè)到得傳感器的狀態(tài)是1說明前方?jīng)]有障礙物寶貝車的距離加1程序跳轉(zhuǎn)到頻率為35700HZ處,如果檢測(cè)到得狀態(tài)不是1程序也跳轉(zhuǎn)到頻率為35700HZ處,如果在頻率為35700HZ處檢測(cè)到的傳感器的狀態(tài)是1說明前方?jīng)]有障礙物寶貝車的距離加1,并且程序跳轉(zhuǎn)到頻率為38460HZ處,如果檢測(cè)到得狀態(tài)是0那么程序也跳轉(zhuǎn)到頻率為38460HZ處,如果在頻率為38460HZ處檢測(cè)到得傳感器的狀態(tài)是1那么寶貝車的距離加1并且程序跳轉(zhuǎn)到小車開始運(yùn)行處,如果檢測(cè)到的狀態(tài)不是1而是0程序也跳轉(zhuǎn)到小車開始運(yùn)行處,然后在開始發(fā)射頻率進(jìn)行障礙物的掃描,我們就是利用頻率的不斷掃描進(jìn)行障礙物大概位置的探測(cè)。
6.程序分析如下:我們根據(jù)程序流程圖編寫的程序是對(duì)左邊的傳感器的探測(cè),首先我們定義了個(gè)數(shù)組講傳感器將要發(fā)射的五組頻率放進(jìn)數(shù)組,然后定義了一個(gè)timer_init(void)的函數(shù)該函數(shù)的功能是對(duì)中斷的設(shè)置和對(duì)定時(shí)計(jì)數(shù)器的工作方式的選定,然后定義個(gè)定時(shí)計(jì)數(shù)器的初值計(jì)算函數(shù),接著定義了個(gè)定時(shí)器中斷函數(shù),然后定義了個(gè)障礙物探測(cè)的函數(shù),該函數(shù)通過發(fā)射不同的頻率然后探測(cè)障礙物的大概位置,在主程序之中首先初始化串口,然后在while循環(huán)中調(diào)用Get_lr_Distances()函數(shù)探測(cè)障礙物的大概位置。
三.實(shí)習(xí)中遇到的問題與分析
1.我們遇到的主要問題還是單片機(jī)方面的知識(shí),我們所掌握的硬件電路以及單
片機(jī)的運(yùn)用知識(shí)實(shí)在是太少了,我們只好去問老師再加上自己看書來(lái)解決單片機(jī)知識(shí)不足的問題。
四.本任務(wù)中用到的相關(guān)課程
本實(shí)習(xí)中主要用到的課程是單片機(jī),信號(hào)檢測(cè)技術(shù)以及自動(dòng)控制原理,在這里對(duì)單片機(jī)的運(yùn)用要求比前面有很大的提高,對(duì)自控方面的要求也十分的嚴(yán)格,這此實(shí)習(xí)觸發(fā)我們需要認(rèn)真的學(xué)習(xí)專業(yè)知識(shí)以及加強(qiáng)理論的運(yùn)用。
寶貝機(jī)器人實(shí)習(xí)(模擬生產(chǎn)線實(shí)習(xí))7評(píng)實(shí)習(xí)任務(wù):?jiǎn)纹瑱C(jī)輸入接口與機(jī)器人校園游閱時(shí)間:201*.8.10-201*.8.23地點(diǎn):工程訓(xùn)練中心201一.任務(wù)目的與要求1.1目的
在前面完成寶貝車的安裝、各種調(diào)試以及實(shí)現(xiàn)寶貝車的觸須導(dǎo)航和紅外導(dǎo)航的基礎(chǔ)上,將所學(xué)到的知識(shí)進(jìn)一步發(fā)揮,學(xué)以致用,來(lái)完成寶貝車的校園游任務(wù)。同時(shí),通過完成此項(xiàng)任務(wù)來(lái)檢驗(yàn)我們是否掌握了這次機(jī)電一體化實(shí)習(xí)的重要內(nèi)容,是否學(xué)到了應(yīng)該掌握的知識(shí)。
1.2要求
⑴.用紅外對(duì)管傳感器作為輸入反饋與AT89S52單片機(jī)的編程實(shí)現(xiàn)導(dǎo)航。⑵.認(rèn)真學(xué)習(xí)教材內(nèi)容,設(shè)計(jì)電路并編程實(shí)現(xiàn)紅外對(duì)管傳感器導(dǎo)航。
⑶.正確運(yùn)用C語(yǔ)言進(jìn)行編寫程序,使寶貝車能夠完成校園游任務(wù),并且認(rèn)
真總結(jié)完成任務(wù)的具體過程。
二.實(shí)習(xí)過程
1.紅外對(duì)感傳感器
我們?cè)谧鲂@游程序的時(shí)候使用的傳感器是紅外光電開關(guān)(紅外對(duì)管),下面是我們所實(shí)用的傳感器的工作原理圖,如圖7-1所示。該傳感器的工作原理是:在小車頭部并排安裝四對(duì)紅外對(duì)管,接四路集成運(yùn)放VCC電路,輸出TTL電平,與路面的距離大概+5V保持在1厘米左右,紅外發(fā)射管發(fā)射光到路面,如果遇到白底的路面,發(fā)射出來(lái)的光被反射回來(lái)被光敏二極管接受,經(jīng)過運(yùn)
330Ω470Ω放電路輸出低電平,如果發(fā)射出來(lái)的光遇
到的是黑底路面,LED發(fā)射出來(lái)的光被吸收掉沒有反射回來(lái),接受器沒有接受到光,
out經(jīng)過運(yùn)放電路輸出高電平,我們就是利用
傳感器在黑線上面行走傳感器輸回來(lái)的高
LED光敏二極管電平進(jìn)行循跡的。
圖7-1紅外光電對(duì)管傳感器原理圖
2.下面是校園游的電路圖:(見下頁(yè)圖7-2)
由校園游的電路圖我們可以知道,在小車進(jìn)行走迷宮的時(shí)候我們是在小車的前面裝上四個(gè)紅外對(duì)感傳感器,分別用單片機(jī)的P1口的4,5,6,7引腳進(jìn)行信號(hào)的采集,用單片機(jī)的P1口的2,3引腳控制左右觸須,用單片機(jī)的P1口的0和
1引腳控制左右電機(jī),這就是校園游寶貝車的工作電路圖
VCC+5VVCC+5VVCC+5VVCC+5V4.7KΩ4.7KΩout14.7KΩ4.7KΩout24.7KΩ4.7KΩout34.7KΩ4.7KΩout4紅外對(duì)管1LED光敏二極管LED紅外對(duì)管2光敏二極管LED紅外對(duì)管3光敏二極管LED紅外對(duì)管4光敏二極管VCC+5V10KΩ220Ω右側(cè)觸須VCC+5V右側(cè)伺服電機(jī)220Ω左側(cè)觸須左側(cè)伺服電機(jī)P1_3P1_4P1_5P1_6P1_7AT89S52P1_2P1_1P1_010KΩ圖7-2校園游工作電路圖
3.下面是單片機(jī)的P1口的某引腳的內(nèi)部電路圖:(圖7-3)
讀鎖存器內(nèi)部總線寫鎖存器讀引腳圖7-3P1某一口線的邏輯電路圖
內(nèi)部上拉電阻鎖存器.引腳單片機(jī)的四個(gè)口內(nèi)部都有自己的電路,單片機(jī)的P1口是作為通用的I/O接口使用的,當(dāng)P1口作為時(shí)候,由內(nèi)部發(fā)出了一個(gè)時(shí)鐘信號(hào),講內(nèi)部總線上的高電平讀入P1.X的鎖存器,使場(chǎng)效應(yīng)管處于截至的狀態(tài)。因?yàn)榇藭r(shí)由于P1端口內(nèi)部有上拉電阻使引腳的電平被拉到高電平,但是它能夠被外部輸入信號(hào)的低電平拉低,不會(huì)對(duì)輸入的信號(hào)數(shù)據(jù)產(chǎn)生影響,單片機(jī)就是通過這樣的原理實(shí)現(xiàn)了對(duì)外部高低電平的采集,來(lái)對(duì)高電平進(jìn)行處理的。因?yàn)镻1口是一個(gè)準(zhǔn)雙向口,P1口也可以對(duì)外輸出信號(hào),因?yàn)榇藭r(shí)單片機(jī)能夠向外部提供推拉電流負(fù)載,無(wú)須再接上上拉電阻。這就是P1口用作輸入輸出接口的簡(jiǎn)要工作原理。
由上面的校園游的工作電路圖我們知道1和0引腳是作為輸出用的,2,3,4,5,6以及7引腳是作為輸入引腳用的即用來(lái)采集外部信號(hào)的,當(dāng)采集到信號(hào)后通過單片機(jī)的內(nèi)部電路傳給單片機(jī),單片機(jī)根據(jù)采集回來(lái)的信號(hào)調(diào)用相信的程序來(lái)控制電機(jī)的相應(yīng)的動(dòng)作。
了解了紅外對(duì)感的原理和紅外對(duì)感的工作電路以及單片機(jī)的接口是如何通過單片機(jī)的內(nèi)部電路實(shí)現(xiàn)信號(hào)的采集處理以及信號(hào)的輸出,下面我們主要是畫校園游的程序流程圖,并根據(jù)程序流程圖編寫程序?qū)氊愜囘M(jìn)行測(cè)試調(diào)整。
4.寶貝車校園游的程序流程圖如下:(圖7-4)
圖7-4校園游程序流程圖
由程序流程圖我們編寫出了小車的校園游程序,并對(duì)小車進(jìn)行了調(diào)試5.我們編寫的程序如下:#include#include#include
//unsignedintstates=0;Char
Navigation[60]={"R","R","R","R","R","R","L","F","R","R","R","R","R","F","L","R","L","F","L","R","R","R","R","L","Q","R","R","F"};//對(duì)傳感器采集回來(lái)的信號(hào)全是1的路口進(jìn)行標(biāo)定,并設(shè)置該路口下面寶貝車是如何運(yùn)動(dòng)的,這里面的"R"表示的小車右轉(zhuǎn),第一個(gè)"R"表示的是小車在第一個(gè)全1的路口右轉(zhuǎn)
彎,這里的"L"表示的是小車左拐,第七個(gè)"L"表示的是小車在第七個(gè)全1的路口實(shí)現(xiàn)左拐,這里的"F"表示的是小車在這樣的路口實(shí)現(xiàn)直走,第八個(gè)"F"表示的小車在第八個(gè)全1的路口實(shí)現(xiàn)直走,下面的情況類同上面
intaddress=0;//用來(lái)對(duì)全1的路口進(jìn)行計(jì)數(shù)intP1_2state(void)//觸須
{return(P1&0x04)?1:0;//檢測(cè)觸須的狀態(tài)}
intP1_3state(void)//觸須
{return(P1&0x08)?1:0;//檢測(cè)觸須的狀態(tài)}
intP1_4state(void)//p1_4-------P1_7四個(gè)QTI從左到右{return(P1&0x10)?1:0;//檢測(cè)紅外對(duì)感傳感器的狀態(tài)}
intP1_5state(void)
{return(P1&0x20)?1:0;//檢測(cè)紅外對(duì)感傳感器的狀態(tài)}
intP1_6state(void)
{return(P1&0x40)?1:0;//檢測(cè)紅外對(duì)感傳感器的狀態(tài)}
intP1_7state(void)
{return(P1&0x80)?1:0;//檢測(cè)紅外對(duì)感傳感器的狀態(tài)}
voidForward(void)//定義了前進(jìn)的函數(shù),通過左輪的逆時(shí)針和右輪的順時(shí)針轉(zhuǎn)實(shí)現(xiàn)寶貝車的前進(jìn)
{P1_0=1;
delay_nus(1700);P1_0=0;P1_1=1;
delay_nus(1300);P1_1=0;
delay_nms(20);}
voidForward_small(void)//通過for循環(huán)控制了電機(jī)的前進(jìn)時(shí)間實(shí)現(xiàn)電機(jī)的小距離的前進(jìn)
{inti;//states=2;
for(i=1;i
delay_nms(20);}}
voidForward_smaller(void)//通過for循環(huán)實(shí)現(xiàn)電機(jī)的小距離的前進(jìn){inti;//states=2;
for(i=1;i
delay_nus(1300);P1_0=0;P1_1=1;
delay_nus(1700);P1_1=0;delay_nms(20);}}
voidWhitebackward(void)//通過for循環(huán)控制電
機(jī)運(yùn)動(dòng)的時(shí)間實(shí)現(xiàn)電機(jī)的小距離的后退
{inti;
for(i=1;i
for(i=1;i
while(1)
{if((P1_4state()==0)&&(P1_5state()==1)&&(P1_6state()==1)&&(P1_7state()==0))//當(dāng)檢測(cè)的道路狀態(tài)是0110時(shí)候調(diào)用寶貝車的直走程序{
Forward();}
elseif((P1_4state()==0)&&(P1_5state()==0)&&(P1_6state()==0)&&(P1_7state()==0))//當(dāng)檢測(cè)的狀態(tài)是0000的時(shí)候調(diào)用寶貝車的直走程序
{Forward();}elseif((P1_4state()==1)&&(P1_5state()==1)&&(P1_6state()==1)&&(P1_7state()==0))//當(dāng)檢測(cè)的狀態(tài)是1110時(shí)候讓小車在小距離的前進(jìn)下在判斷路口的狀態(tài)這樣可以避免小車走錯(cuò)路,因?yàn)樾≤嚬諒澋臅r(shí)候有時(shí)候不是很正小車走偏了點(diǎn),本來(lái)該是1111的卻感應(yīng)出1110所以小距離的檢測(cè)可以實(shí)現(xiàn)糾錯(cuò)功能
{Forward_small();
if((P1_4state()==1)&&(P1_5state()==1)&&(P1_6state()==1)&&(P1_7state()==1))
{gotoLogo;}
Left_Turn();//P1高四位1110
}elseif((P1_4state()==0)&&(P1_5state()==1)&&(P1_6state()==1)&&(P1_7state()==1))//當(dāng)檢測(cè)的狀態(tài)是0111時(shí)候讓小車在小距離的前進(jìn)下在判斷路口的狀態(tài)這樣可以避免小車走錯(cuò)路,因?yàn)樾≤嚬諒澋臅r(shí)候有時(shí)候不是很正小車走偏了點(diǎn),本來(lái)該是1111的卻感應(yīng)出0111所以小距離的檢測(cè)可以實(shí)現(xiàn)糾錯(cuò)功能
{Forward_small();
if((P1_4state()==1)&&(P1_5state()==1)&&(P1_6state()==1)&&(P1_7state()==1))
{gotoLogo;}
Right_Turn();//P1高四位0111}elseif((P1_4state()==1)&&(P1_5state()==1)&&(P1_6state()
友情提示:本文中關(guān)于《機(jī)電一體化車間實(shí)習(xí)總結(jié)(報(bào)告)》給出的范例僅供您參考拓展思維使用,機(jī)電一體化車間實(shí)習(xí)總結(jié)(報(bào)告):該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。