標(biāo)題: 調(diào)試機(jī)械臂工作日記 之 最后的合作 [打印本頁(yè)]

作者: xiaotang    時(shí)間: 2013-11-15 02:24
標(biāo)題: 調(diào)試機(jī)械臂工作日記 之 最后的合作
渾渾噩噩的起床,睡眼惺忪,調(diào)整心情,今天得抓緊了,揍起來(lái),揍起來(lái)!
恰逢圖書(shū)館開(kāi)門(mén),貧道特地借了幾本書(shū),用于之后的學(xué)習(xí)和參考(小秀優(yōu)越一把)。很晚才回到實(shí)驗(yàn)室,工作馬上開(kāi)展,程序?qū)懙谋容^快,馬上試了試,但是,缺點(diǎn)特別多?拥!更讓我無(wú)語(yǔ)的是,黃導(dǎo)后來(lái)干脆把機(jī)械臂的小臂給卸了……我的天!就感覺(jué)自己整著這一小段胳膊有點(diǎn)小坑爹的趕腳……
雖然這么說(shuō),我還是很快發(fā)現(xiàn)了問(wèn)題!這個(gè)問(wèn)題絕對(duì)夠惡心!試想,一個(gè)人的胳膊,不可能是轉(zhuǎn)360度的,簡(jiǎn)單的說(shuō),我們?cè)谧匀幌麓沟较蚯疤衷俚綐O限大概是200度不到,從自然下垂到向后抬手大概是40度左右,但是中間是不能翻過(guò)去的。這就是個(gè)很大的問(wèn)題了!我用了兩個(gè)接近開(kāi)關(guān)來(lái)限位,我的方法是把接近開(kāi)關(guān)分別裝在一個(gè)胳膊那個(gè)矩形的相鄰的兩邊。但是,這個(gè)一開(kāi)始的復(fù)位算法就糾結(jié)住我了!我必須保證這只胳膊是不能轉(zhuǎn)動(dòng)360度的!也就是說(shuō),如果一開(kāi)始,胳膊是在前側(cè),我得向后轉(zhuǎn)下來(lái),如果胳膊在后側(cè),我得向前轉(zhuǎn)下來(lái)。而且,經(jīng)驗(yàn)告訴我,我在復(fù)位這段程序里頭,絕對(duì)是不能引用光電編碼器中用于計(jì)數(shù)的這個(gè)參數(shù)的!結(jié)果就是各種錯(cuò)!想不到,少了慶屌身上這么大的屌絲光環(huán),問(wèn)題各種多啊。真心難!不好求!整整一個(gè)下午,我都在想這個(gè)算法應(yīng)該是如何寫(xiě)。難道,我要掛在這么一條陰溝里頭?!
若不是豪鍋提醒我,我可以參考絕對(duì)光電編碼器,我是很難解決這個(gè)問(wèn)題的,豪鍋提議,讓我把這兩個(gè)光電編碼器疊加起來(lái),然后我再在胳膊四個(gè)邊的擋板設(shè)置成4個(gè)情況!因?yàn)閮蓚(gè)光電編碼器疊加起來(lái)之后,同時(shí)檢測(cè)的情況就是2的2次方,也就是4種情況。11,10,01,00)。問(wèn)題一下子變得簡(jiǎn)單了很多!我只要一開(kāi)始設(shè)定往一個(gè)方向運(yùn)動(dòng),然后在擋板跟接近開(kāi)關(guān)靠近的時(shí)候檢測(cè)一下就行了,然后,該繼續(xù)的繼續(xù),該轉(zhuǎn)向的轉(zhuǎn)向。OH,YES!
程序的編寫(xiě)也不是特別快,但是,最后成功之時(shí),真心覺(jué)得碉堡了。ㄎ宜查g有種想檢查褲襠的沖動(dòng)!)這個(gè)算法絕對(duì)成功!學(xué)以致用!
然后關(guān)于控制電機(jī)運(yùn)動(dòng)的指定的位置的算法也是同樣的問(wèn)題,我不可能一直讓它運(yùn)動(dòng)一圈,但是,這個(gè)還真心是好解決,在站起來(lái),小走了幾步路之后,也還是比較輕松的搞定的哈~
寫(xiě)完程序,真心是有吐的想法了……
晚上,機(jī)械組慢慢的把那只拿走的胳膊上的電機(jī)給換掉了(兩個(gè)不合適的電機(jī)進(jìn)行組裝!碉堡了!。詈蠛貌蝗菀捉坏轿沂稚现,我們還一起測(cè)試一下,把不合理的地方進(jìn)行了改進(jìn)。C(jī)械和電子一起合作還真心是方便和快捷啊。
另外,我也沒(méi)有時(shí)間等他們加工了,在沒(méi)有調(diào)試好,我就先把剩下的兩個(gè)關(guān)節(jié)的程序全部寫(xiě)好,順便,設(shè)計(jì)好整只胳膊的程序,再進(jìn)行編寫(xiě)和檢查。ㄆ渲蠭O口的選擇和中斷的寫(xiě)法糾結(jié)了我一段時(shí)間。)
問(wèn)題還有很多:接近開(kāi)關(guān)無(wú)法正常使用了,機(jī)械結(jié)構(gòu)沒(méi)有設(shè)計(jì)的很好,整只胳膊的程序包括數(shù)據(jù)和角度的換算,坐標(biāo)之間的數(shù)據(jù)的換算,我還要通過(guò)大量的實(shí)驗(yàn)來(lái)驗(yàn)證(實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn))……
(慶屌查找了一下之前出現(xiàn)的錯(cuò)誤出現(xiàn)的原因,發(fā)現(xiàn)了STM32上的很多IO口是3.3V兼容5V的,但是我們進(jìn)行了檢查之后發(fā)現(xiàn),我們?cè)O(shè)置的那一系列裝置中,之后非兼容的IO口是能用的,而且比較坑爹的是,哪怕用一個(gè)兼容性的IO口也是不行的。詭異!當(dāng)然了,脫離我們?cè)O(shè)置的那套設(shè)備,自然也是不行的。慶屌這么幫我搜索自然也能幫我更好的確定剩下的兩個(gè)光電編碼器的IO口的選擇了。
(豪哥后來(lái)也跟我說(shuō),他之前和那個(gè)老板小聊天了一把,問(wèn)這個(gè)光電編碼器是電壓輸出的,不是那種方便的推挽輸出,也不是說(shuō)接個(gè)上拉電阻就能搞定的集電極輸出,后來(lái)查一下資料,也不是很好確定電壓輸出到底是啥玩意兒,但是聽(tīng)老板說(shuō),不用怎么接什么的,我勒個(gè)去,我頓時(shí)就覺(jué)得這是家黑店啊!但起碼,我對(duì)光電編碼器已經(jīng)是更加的熟悉了。
(另外,我還要感謝寬鍋!為了讓我能夠順利的回家過(guò)年,他親自出馬,花了兩天的時(shí)間幫我寫(xiě)好了關(guān)于路徑規(guī)劃的程序,這個(gè)算法不好寫(xiě),雖然有很多關(guān)于機(jī)器人路徑規(guī)劃的書(shū),而且很詳細(xì)的介紹了坐標(biāo)變化的方法,但是沒(méi)有那本書(shū)是提供實(shí)例的!我們需要的僅僅是實(shí)例而已!好吧,一切只能靠自己,幸好是寬鍋幫我編寫(xiě)這個(gè)程序,讓我能夠減少更多的時(shí)間去編寫(xiě)。非常感謝!我只能請(qǐng)他吃一包泡面了……)

(有人坐塌了圖書(shū)館的椅子?!逆天?。



1.23
慶屌因?yàn)?4號(hào)就要回家了,所以,今天他也不能幫我太多了,早上,我跟他一起制作了擋片環(huán)(好吧,我承認(rèn),看到這個(gè)擋片環(huán)就像看到他的屌絲光環(huán)一樣。)一開(kāi)始制作的擋板,怎么樣也不符合要求,因?yàn)槲覀儧](méi)有溝通好。后來(lái)我們又重做了一塊,但是,我們很快就發(fā)現(xiàn)了缺點(diǎn)。當(dāng)兩個(gè)光電編碼器疊加在一起的時(shí)候,雖然擋片的大小一樣,擋片也在同一個(gè)半徑上,但是兩個(gè)擋片距離圓心的距離不一樣,所以,接近開(kāi)關(guān)檢測(cè)到擋片的有效時(shí)間也是不一樣的。總體的來(lái)說(shuō),下邊的接近開(kāi)關(guān)檢測(cè)到擋片的時(shí)間更長(zhǎng),上邊的要短一些,這樣的話在就算兩個(gè)擋片都能把接近開(kāi)關(guān)擋住,但是,在擋住之前就會(huì)出現(xiàn)(01)這樣的情況。雖然很煩人,但是仔細(xì)一想,我可以發(fā)現(xiàn),我原來(lái)的程序當(dāng)中就已經(jīng)可以排除這樣的情況!真心偶買(mǎi)噶啊!NICE!接著來(lái),我把下邊的擋片換成更大了點(diǎn)……
硬件部分做完之后就是痛苦的調(diào)試。剛開(kāi)始調(diào)試我就發(fā)現(xiàn)了問(wèn)題,我發(fā)現(xiàn)我寫(xiě)的復(fù)位的程序很吃力!無(wú)論我怎么改,它總是先朝一個(gè)方向運(yùn)動(dòng)90度,然后,自動(dòng)的往回運(yùn)動(dòng)!這樣很不科學(xué)!我試了很多方法,但是,都不能把它解決,但是,我很快就聯(lián)想到檢測(cè)按鍵的時(shí)候消抖程序,以及重復(fù)檢測(cè)。我很快就修改了程序,我讓其重復(fù)檢測(cè),問(wèn)題很快迎刃而解,so easy!但是,這僅僅只是開(kāi)始!!我又發(fā)現(xiàn),光電編碼器的計(jì)數(shù)很不穩(wěn)定!我又在檢查程序無(wú)誤的基礎(chǔ)上,在前面的關(guān)鍵的地方加上了10ms的延時(shí)。確實(shí)穩(wěn)定了很多。
其實(shí),這些問(wèn)題,如果換在以前的話,我肯定是無(wú)法解決的,但是,現(xiàn)在,我在不斷的進(jìn)步之后,我能夠無(wú)謂一些困難,認(rèn)真的分析,結(jié)合自己以前學(xué)過(guò)的知識(shí),好好的思考,發(fā)現(xiàn)有些問(wèn)題是完全可以由自己解決的。這就是我這段時(shí)間來(lái)最大的進(jìn)步。之后的工作很單調(diào),我一直在輸數(shù),校驗(yàn),再輸數(shù),在校驗(yàn)。雖然最后有點(diǎn)問(wèn)題吧,但是還是能夠?qū)崿F(xiàn)定位的。還行,還不錯(cuò)。
晚上,一起努力安裝了小臂,又開(kāi)始第三關(guān)節(jié)的檢測(cè)(我發(fā)現(xiàn)我軟件,硬件,機(jī)械全包啊……)。我貌似發(fā)現(xiàn)了一個(gè)比較嚴(yán)重的問(wèn)題,自己做的杜邦頭帽不是很妥當(dāng),經(jīng)常斷。我干脆就把合適的杜邦線,一份為二,把它再接上去。這樣要好很多(建議,以后做杜邦線,用的線一定要細(xì)。W詈笳{(diào)的差不多了,但是,在校驗(yàn)的時(shí)候我又發(fā)現(xiàn),電機(jī)內(nèi)的齒是有角度的,所以小臂是可以小翻幾度的。這樣會(huì)造成什么樣后果呢?結(jié)果就是,當(dāng)你要停在某個(gè)位置的時(shí)候,如果這個(gè)時(shí)候小臂是下垂的,可能還能下降一定的距離,這樣的話,在自動(dòng)下降的過(guò)程中,光電編碼器的讀數(shù)是發(fā)生改變的,從而電機(jī)會(huì)不斷的抖動(dòng)!簡(jiǎn)單的說(shuō)就是,整個(gè)小臂在進(jìn)行抽搐……好吧,明天接著整吧,真心是一波未平一波又起!
(非常非常感謝慶屌,在制作擋板的過(guò)程當(dāng)中,他不小心用筆刀劃傷了自己的手,真的很抱歉,雖然傷口不是特別大,但是,我真的深感抱歉,本來(lái)他就要走了,還硬要拉他過(guò)來(lái)一起幫忙干這個(gè)事情。好吧,下次一定多給他幾包泡面。
(慶屌劃傷了手,抱歉了,慶屌)






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1