北郵電子工藝實習(xí)報告_第1頁
北郵電子工藝實習(xí)報告_第2頁
北郵電子工藝實習(xí)報告_第3頁
北郵電子工藝實習(xí)報告_第4頁
北郵電子工藝實習(xí)報告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

北京郵電大學(xué)實習(xí)報告實習(xí)名稱電子工藝實習(xí)學(xué)院電子工程學(xué)院學(xué)生姓名班級學(xué)號實習(xí)時間8.27-9.6實習(xí)地點北京郵電大學(xué)主樓710實習(xí)內(nèi)容實習(xí)題目:迷宮機器人MazeRobot的設(shè)計安裝與調(diào)測實習(xí)進度:8.27了解電子工藝實習(xí)所涉及的元器件及材料,常用工具和耗材,熟悉焊接技術(shù)并掌握;8.28練習(xí)并熟練掌握焊接技術(shù),能夠靈活運用;完成簡單的發(fā)光二級管交替閃爍電路的焊接和調(diào)測;8.29得到迷宮小車的組裝各部分器件和總的電路板,清點材料并熟悉小車的結(jié)構(gòu);8.30早上聽有關(guān)于單片機介紹的講座,下午前往電子市場購買迷宮小車所需的傳感器,杜邦線等器件;8.31對迷宮小車各器件進行焊接,完成后進行初步的調(diào)試,將電池盒改裝到車上部,保證車行駛時重心不會前傾而導(dǎo)致不平衡;9.1-9.2用keil軟件編寫控制迷宮小車的c語言源代碼;9.3-9.5將代碼下載到小車的單片機里進行調(diào)試;不斷修改小車各方向行駛的延遲時間,不斷調(diào)試左中右傳感器的靈敏度,最終使小車能夠平穩(wěn)走出迷宮9.6電子工藝實習(xí)驗收學(xué)生實習(xí)總結(jié)實習(xí)成績評定遵照實習(xí)大綱并根據(jù)以下三方面按五級分制(優(yōu)秀、良好、中等、及格、不及格)綜合評定成績:1、思想品德、實習(xí)態(tài)度、實習(xí)紀律等2、技術(shù)業(yè)務(wù)考核、筆試、口試、實際操作等3、實習(xí)報告、分析問題、解決問題的能力實習(xí)評語:實習(xí)成績:指導(dǎo)教師簽名:實習(xí)單位公章年月日附頁:實習(xí)中總結(jié)任務(wù)要求:根據(jù)所給的小車電路和所給的器件進行智能小車的制作,首先根據(jù)電路圖以及電路板進行小車所需的元器件的焊接,要求焊接點要符合要求,不能虛焊,焊接完成之后再安裝小車的一些基本器件,這時一輛小車的基本模型已經(jīng)出來,然后下載測試程序檢查小車是否安裝正確,接著編寫小車走迷宮的程序,下載到單片機中后能使小車快速準確的走出迷宮,要求走的過程中不可人為的進行干擾,利用小車自身的感應(yīng)系統(tǒng)進行自我的判斷。實習(xí)題目的設(shè)計思路及詳細實現(xiàn)過程:、設(shè)計思路:通過傳感器來控制小車的行走以及轉(zhuǎn)彎,后退。首先調(diào)節(jié)傳感器的距離使小車能夠準確的檢測到迷宮兩邊的障礙物并返回低電平信號0,沒有檢測到障礙物返回高電平信號1。然后根據(jù)小車上的3個傳感器(左,中,右)返回的信號來控制小車的行走,轉(zhuǎn)彎。比如如果返回100,表示右邊及前邊右障礙物,這時在程序中控制小車向左轉(zhuǎn)彎,然后列舉小車所返回的所有可能信號并一一考慮小車該怎么走,值得注意的是,如果小車返回000,表示小車進入死胡同,這時我們讓小車后退一小步后轉(zhuǎn)彎180度。這時小車最基本的控制程序。小車的轉(zhuǎn)彎主要是控制兩個車輪一個前轉(zhuǎn),一個后轉(zhuǎn)來實現(xiàn)的,轉(zhuǎn)彎的角度是通過控制兩個輪轉(zhuǎn)的時間來控制的,轉(zhuǎn)的彎越大需要的時間就越長。分工合作:由于這次實習(xí)要處理的問題比較多。因此,我們采取了一定的分工:我負責(zé)小車的元器件的焊接與固定等硬件部分;而他(尹文澤)負責(zé)小車程序的編寫。最后共同調(diào)試。具體實現(xiàn):第一步:小車的基本焊接。按照所給的焊接流程進行焊接。先焊接最低的,然后焊接高一點的,從低到高一步步焊接。焊接過程中注意對焊錫多少的控制,以及焊接時間的長短的控制。第二步:對焊接好的小車進行基本的測試。測試程序從實驗中心網(wǎng)站下載,然后下載進去測試小車電路的通斷情況以及小車馬達是否正常工作。第三步:傳感器的安裝。將買好的傳感器安裝到小車上,并設(shè)計傳感器的連接位置。第四步:程序的編寫。在程序的編寫過程中,首先要處理的是移動方式的設(shè)定。在小車移動過程中,會出現(xiàn)僅前方探頭燈亮,即只有前方的有障礙物的情況。此時我們決定讓它右轉(zhuǎn),即右轉(zhuǎn)優(yōu)先。定下這個后,其他情況也就比較好確定了。即001,011,101右轉(zhuǎn);100左轉(zhuǎn);111,110,010前進。在具體代碼中,我們采用了一個比較好前進控制方式,即將前進這一動作設(shè)定持續(xù)時間。通過這種方式我們可以很方便的控制車子轉(zhuǎn)彎前后要移動的距離,也可以再前進這個函數(shù)中控制小車的左右輪轉(zhuǎn)速。小車的具體控制代碼如下:#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitIN1=P1^0; sbitIN2=P1^1;sbitIN3=P1^4;sbitIN4=P1^5;sbitzuo=P3^6; sbitzhong=P3^2;sbityou=P3^4; uchark=0;ucharcount1=0,count2=0,count3=0;voidDelay_ms(uintxms) { uinti,j; for(i=xms;i>0;i--) for(j=115;j>0;j--); }voidstop(){ IN1=0; IN2=0; IN3=0; IN4=0;}voidqianjin(){ IN1=1; IN2=0; IN3=0; IN4=1;前進函數(shù) Delay_ms(28); IN3=0; IN4=0; Delay_ms(7);} houtui() {IN1=0; IN2=1;后退函數(shù) IN3=1; IN4=0;} zuozhuan() { IN1=1; IN2=0; IN3=1; IN4=0;左轉(zhuǎn)函數(shù) Delay_ms(120); IN3=0; IN4=0; Delay_ms(7);}youzhuan() { IN3=0; IN4=1; IN1=0; IN2=1;右轉(zhuǎn)函數(shù) Delay_ms(125); IN1=0; IN2=0; Delay_ms(6);}voidround() { IN1=1; IN2=0;轉(zhuǎn)彎180 IN3=1; IN4=0; Delay_ms(120);}voidstate_111_110_010() { qianjin(); if(count1>20) { houtui(); Delay_ms(100); count1=0;對應(yīng)亮燈情況的移動方式--前進 } Else(已設(shè)置卡死時后退) { count1++; count2=0; count3=0; }}voidstate_100() { zuozhuan(); if(count2>20) { houtui(); Delay_ms(120);對應(yīng)亮燈情況的移動—左轉(zhuǎn) count2=0;(已設(shè)置卡死時后退) } else { count2++; count1=0; count3=0; }}voidstate_101_011_001() { youzhuan(); if(count3>20) { houtui(); Delay_ms(120); count3=0;對應(yīng)情況的移動—右轉(zhuǎn) } (已設(shè)置卡死時后退) else { count3++; count1=0; count2=0; }}voidstate_000() { stop(); Delay_ms(5); houtui();對應(yīng)情況的移動—后退 Delay_ms(30); stop(); Delay_ms(5); round();}voidstateChange(){if(((zuo&&zhong&&you)==1)||((zuo==1)&&(zhong==1)&&(you==0)||((zuo==0)&&(zhong==1)&&(you==0))))state_111_110_010(); if(((zuo==1)&&(zhong==0)&&(you==1))||((zuo==0)&&(zhong==1)&&(you==1))||((zuo==0)&&(zhong==0)&&(you==1))) { qianjin(); qianjin(); qianjin(); 轉(zhuǎn)彎情況的判斷及 qianjin();移動方式 qianjin(); stop(); Delay_ms(10); state_101_011_001(); stop(); Delay_ms(50); qianjin(); qianjin(); qianjin(); qianjin(); qianjin(); qianjin(); qianjin(); qianjin_2(); } if((zuo||zhong||you)==0) state_000(); if(((zuo==1)&&(zhong==0)&&(you==0))) { stop(); Delay_ms(10); state_100(); stop(); Delay_ms(20); qianjin(); qianjin(); qianjin(); } 轉(zhuǎn)彎情況的判斷及}移動voidmain(){ P0=0xff; P2=0xff; P1=0xff; while(1){ stateChange(); } }第五步:程序的調(diào)試。這里要調(diào)試的主要是:(一)兩輪的轉(zhuǎn)速:具體調(diào)節(jié)代碼如下voidqianjin(){ IN1=1; IN2=0; IN3=0; IN4=1; Delay_ms(28); IN3=0; IN4=0;調(diào)節(jié)兩輪的轉(zhuǎn)速 Delay_ms(7);}在這里,我們采用的是的控制兩輪的給電時間,通過此種方式控制兩輪的轉(zhuǎn)速。當(dāng)一個車輪轉(zhuǎn)速過快時,通過給他一定時間的零電平,以減緩該輪的轉(zhuǎn)速。使它們的轉(zhuǎn)速接近一致。(二)左轉(zhuǎn)右轉(zhuǎn)的轉(zhuǎn)彎角度。具體控制代碼如下:zuozhuan() { IN1=1; IN2=0; IN3=1; IN4=0; Delay_ms(120); IN3=0; IN4=0; Delay_ms(7);}youzhuan() { IN3=0; IN4=1; IN1=0; IN2=1; Delay_ms(125); IN1=0; IN2=0; Delay_ms(6);}通過調(diào)節(jié)轉(zhuǎn)彎給電時間,我門可以控制轉(zhuǎn)彎的角度。轉(zhuǎn)彎電平給的時間越長,所轉(zhuǎn)的角度就會越大通過多次調(diào)節(jié)后就可以調(diào)節(jié)轉(zhuǎn)彎的角度達到90度左右。(三)轉(zhuǎn)彎前后的移動距離的控制。在轉(zhuǎn)彎時,轉(zhuǎn)彎早或晚了,都會容易轉(zhuǎn)到擋板;轉(zhuǎn)彎后前進的距離過多或過少,都會使小車撞到擋板。因此要控制這兩個距離。這里主要通過在轉(zhuǎn)彎函數(shù)前后增加減少qianjin()這一函數(shù)來控制。給的這個函數(shù)的多少直接影響轉(zhuǎn)彎前后的前進距離。當(dāng)然細微的調(diào)節(jié)我們采用的是Delay_ms()函數(shù)來控制。通過設(shè)置持續(xù)時間的多少能過較為容易的控制微量的前進。第六步:最后的測試。將調(diào)好的車直接放到跑道上跑,記錄最終通過時間。實現(xiàn)功能及測試數(shù)據(jù)結(jié)果:小車基本控制:能夠?qū)崿F(xiàn)在迷宮內(nèi)完成前進、倒退、轉(zhuǎn)彎,掉頭。小車軌道時間為18秒多。遇到的問題:焊接時,焊錫多少的控制比較困難。由于底座上焊盤很小,不宜加入過量的錫。而且底座是雙面的,焊錫會從空中漏過去,比較難看出焊錫多了還是少了,這個加到的焊接時的難度。稍不注意就會導(dǎo)致焊錫過剩。過于小心又容易出現(xiàn)焊錫過少的情況。電機轉(zhuǎn)速的控制比較麻煩。把最開始編好的程序燒進去后發(fā)現(xiàn)小車的前進不太符合我們的設(shè)想,走直線時老偏向一邊。發(fā)現(xiàn)時馬達的問題,只得加入給電時間控制。而這一過程又通過好久才調(diào)節(jié)好。轉(zhuǎn)彎角度的控制。給的測試軌道要求我們每次轉(zhuǎn)彎要打大致在90度才可以較好的軌道中走出來。這就要就我們對轉(zhuǎn)彎角度要有比較精準的控制。于是我們在轉(zhuǎn)彎時給了給電時間的控制??ㄋ澜菃栴}。在小車的移動過程中,不小心就會卡進死角。為了解決這一問題,我們采用了卡死角后后退的方式。但卡在死角一定時間后,我們就讓他后退。一遍解決掉這一問題。實驗心得:當(dāng)初得知這次實習(xí)任務(wù)后,心里非常高興的。相比于去年的小學(xué)期,這個小學(xué)期吸引力大得多。去年,我們是在教室接受理論知識,雖然后面是在實驗室,但僅僅給我們看了一些東西,總體來說還是以理論教學(xué)為主。而今年,給我們的是一個純動手動腦的東西,必然會有很大的自由空間。在拿到小車器材之前,我們做了好幾天的焊接練習(xí)。在老師講過相關(guān)注意事項以及看完相關(guān)視頻后,我們就開始了自己的焊接練習(xí)??偟膩碚f,學(xué)習(xí)焊接是一個要花時間的事情。焊接不難,但要焊好的話,還是得下些功夫。焊接過程中,焊接時間的長短直接影響著焊接的好壞。焊接時間短了,焊錫不夠,焊接不是很嚴實,容易脫落。而焊接過久,又會出現(xiàn)焊錫過剩甚至橋連的情況。使用吸錫器也要求有使用者有較好把握的能力。燙少了,焊錫不會融化;燙多了,焊盤會脫落。在焊接了好些電阻后,感覺自己焊得還行了,于是有些不想焊了。但當(dāng)我回到宿舍,聽到別人說他們自己的焊接情況后,我頓時就感到了差距。他們老師要求的是焊接完所有的孔,而我僅僅焊接了四分之一。而且,我焊接所花的時間過長,焊點的質(zhì)量也不是很高,很多焊點都出現(xiàn)了焊錫過剩的問題。而也就在這一天,我和我的搭檔商量的,焊接由我負責(zé),編程由他解決。于是我更加賣力的練習(xí)。焊接完那塊別我焊得不是很密的萬能板后,我又拿了一塊新的板子。在這塊板子上,我秉著電科老師的要求一個孔一個孔的焊接。密密麻麻的將這塊板練習(xí)完。完成后,我明顯感覺到自己焊接熟練度的提高。焊接速度相對于第一塊板快了很多,對焊錫多少的控制以及焊接時間的控制都有了很大的提高。這焊接練習(xí)對我后來小車的焊接奠定了好的基礎(chǔ)。當(dāng)拿到小車材料后,我也沒有急著馬上焊接,而是在另一塊小雙面板上又進行了練習(xí)。在自己能夠較好的把握在雙面板上的焊接后,我們開始了小車的最終焊接。他在旁邊按著焊接流程將小車材料找出來并放到相應(yīng)位置,我負責(zé)焊接。由于之前有過很長時間的練習(xí),焊接過程中沒有出現(xiàn)差錯,也沒出現(xiàn)焊錫過多的現(xiàn)象。對小車器件的焊接以及對器件焊接后的檢查,我們僅僅用了半個下午便完成了。測試后發(fā)現(xiàn),沒有出現(xiàn)任何問題。之后我們便進入了這次實習(xí)最麻煩的部分。小車控制代碼的編寫與小車的調(diào)試。在編寫代碼之前,我們先對小車的移動方式進行了確定。確定好了“右轉(zhuǎn)優(yōu)先”的編寫規(guī)則。在具體代碼編寫時,由于之前自己將主要精力放在了焊接練習(xí)上,對編程沒有花費太多時間,所以代碼剛開始編寫時,我?guī)筒簧虾芏嗝Γ荒茉谂赃吔o些或許可行的小建議或是意見,同時在旁邊惡補相關(guān)知識。在將基本代碼編寫好后,我們便開始了漫長的調(diào)試過程。由于小車使用的是兩個馬達,故直線移動時,小車可能不會走直線。于是,我們首先進行了直線移動的調(diào)節(jié)。這花了一定的時間。而基于小車最終軌道原因,小車的轉(zhuǎn)彎要近似達到90度,這就對轉(zhuǎn)彎電平持續(xù)時間有了較大的要求,這個調(diào)節(jié)過程又是一個持續(xù)而漫長的過程。同時,在小車轉(zhuǎn)彎前后的前進距離也會對小車的移動產(chǎn)生很大的影響,這個也是要不斷校正的地方。這三個地方的調(diào)節(jié),我們花了兩天的時間才大致調(diào)節(jié)好。而通過這不斷的調(diào)節(jié),我也溫習(xí)了原來c語言的相關(guān)知識,對芯片也有了一定的了解。這也是一個很大的收獲。這次實習(xí),除了上面這些外。還有一個收獲就是很別人的溝通技巧。這是一個合作完成的項目。在完成過程中難免出現(xiàn)兩人意見不統(tǒng)一的情況。要處理好這些分歧,需要花費一定的時間也要用到一定的技巧。當(dāng)出現(xiàn)分歧時,首先要考慮哪種方式更好更適合我們所面對的項目。過分的堅持自己不是好事,但一味的放棄自己的觀點也不行。如果搭檔的方式更好,那就應(yīng)該按照他的那種方式盡力去做好,不能有任何的不滿。而當(dāng)自己這種給合適時,那就應(yīng)該擺事實說服他,讓他確實認識到自己的方式更好。

附所有代碼:#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitIN1=P1^0; sbitIN2=P1^1;sbitIN3=P1^4;sbitIN4=P1^5; sbitzuo=P3^6; sbitzhong=P3^2;sbityou=P3^4; uchark=0;ucharcount1=0,count2=0,count3=0;voidDelay_ms(uintxms) { uinti,j; for(i=xms;i>0;i--) for(j=115;j>0;j--); }voidstop(){ IN1=0; IN2=0; IN3=0; IN4=0;}voidqianjin(){ IN1=1; IN2=0; IN3=0; IN4=1; Delay_ms(28); IN3=0; IN4=0; } houtui() {IN1=0; IN2=1; IN3=1; IN4=0;} zuozhuan() { IN1=1; IN2=0; IN3=1; IN4=0; Delay_ms(120); IN3=0; IN4=0; Delay_ms(7);}youzhuan() { IN3=0; IN4=1; IN1=0; IN2=1; Delay_ms(125); IN1=0; IN2=0; Delay_ms(6);}voidround() { IN1=1; IN2=0; IN3=1; IN4=0; Delay_ms(120);}voidstate_111_110_010() { qianjin(); if(count1>20) { houtui(); Delay_ms(100); count1=0; } else { count1++; count2=0; count3=0; }}voidstate_100() { zuozhuan(); if(count2>20) { houtui(); Delay_ms(120); count2=0; } else { count2++; count1=0; count3=0; }}voidstate_101_011_001() { youzhuan(); if(count3>20) { houtui(); Delay_ms(120); count3=0; } else { count3++; count1=0; count2=0;

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論