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