|
整個早上不在狀態(tài),沒怎么用心,只是大致的再看了一遍PID的資料,再吃的透點。(之后趕忙洗澡桑拿略……)
下午工作繼續(xù)!揍起來!揍起來!
對于PID,我真心沒有什么經(jīng)驗,只是之前看過,現(xiàn)在再看了幾遍而已,實際上,我并沒有用上這個。PID的最基本的運用是用來控制溫度,但是,我們現(xiàn)在是讓它來控制速度。我開始寫的時候是這樣構(gòu)思,我覺得,我要用到定時器,那么我讓每次捕獲到上升沿的時候,我讀出此時定時器的計數(shù),然后重新清零就行了。這樣,我就可以連續(xù)的輸出當(dāng)前的速度了。但是,寬哥的話讓我馬上意識到了錯誤,因為這樣的話,輸出的是瞬時的速度,很不準(zhǔn)確,我應(yīng)該用上平均速度,但是,我絕對不能設(shè)定太長的時間。短點?1ms,這肯定不行!長點1s,這樣也不行(1s鐘可能你的運動都結(jié)束了)!
正待我激情的敲著的時候,帥東有屁顛屁顛的過來讓我?guī)兔纯催@個手指運轉(zhuǎn)的怎么樣(舵機……),我下上了昨天的那個程序,但是,很詭異!一開始它先轉(zhuǎn)到了我想要的角度,但是,之后它并沒有怎么大的轉(zhuǎn)動了,大致上,它僅僅轉(zhuǎn)了一小點就馬上跳回去了,更簡單的說,它僅僅執(zhí)行了一半的的主函數(shù)!而且每次跳回去的時候,下載線邊上的LED燈都跳了一下(當(dāng)時我并不知道為什么)!我擦類!它要逆天?!
昨天還好好的!今天咋不行了!它敢罷工!不行��!我先是檢查了一下連線,完全正常,我又檢查了一下程序,也沒有錯誤!!延時的時間也很足!在我苦無辦法的時候,豪鍋和寬鍋又讓我看看一個什么玩意兒能不能用(他們說,我做著。也花了沒多久)。寬哥很無奈的過來看看,也就是幾分鐘吧,他就很裝13的說:“SO EASY��!SO EASY��!”臥槽!你倒是說啊,親!“STM32輸出的電流都很小,不應(yīng)該用這個供電,你應(yīng)該另外找5V電源,單獨供電。你沒有看到燈閃了嗎?燈閃了就表示程序復(fù)位了!”MY GAGA!還有這玩意兒!長見識了長見識了!馬上供電起來,成功�。ㄎ覐膬x器上,可以很清楚的看到電流的變化)
好吧!豪鍋乘機又給了我很多舵機,讓我逐一檢測這些電機是不是能用的……(你們贏了)
工作還要繼續(xù)!回歸正題!
好的,我大概是先設(shè)了400ms,我覺得取個中間值先試試,然后我先設(shè)了KP一個值,KI,和KD我都沒有設(shè)值,我想先看看效果,然后再慢慢附上值。然后一點一點調(diào)節(jié),調(diào)參數(shù)的過程……(苦逼啊!好吧,不帶抱怨的。)程序大概就那樣,我要用的僅僅是最后一句而已,并且改動一下即可。現(xiàn)在想想似乎有點輕松,但是調(diào)試的過程絕對是不輕松��!
大概檢查了很久,然后才搞起!才調(diào)了10分鐘不到……
但是在這十分鐘,我貌似看到了一點希望!加油!明天還有最后一天!
(抓緊吧……寬鍋說如果我不干完,明天晚上就把我關(guān)在實驗室里頭,大后天再開門……臥槽!夠狠……你贏了……說實話,我也想成功的用PID調(diào)試某個關(guān)節(jié)的速度�?纯窗桑∶魈鞎l(fā)生點什么……)
(工作環(huán)境,不期待網(wǎng)絡(luò),只求成功)
今天是我年前能調(diào)試機械臂的最后一天了,我很想在這一天取得重大的突破。
早早起床,趕緊做起來,再看看昨天的程序,總感覺自己寫的很不對勁。又試了試,這回發(fā)現(xiàn)錯誤很大!我發(fā)現(xiàn)光電編碼器的讀數(shù)又不是很準(zhǔn)確了!不應(yīng)該�。∥野炎钤嫉某绦蛳逻M(jìn)去,試了試,還是很不穩(wěn)定。我把電源改為12V供電,沒問題!但是24V就很不穩(wěn)定!
這可真心是不科學(xué)的事情太多了!
但是我還是接著試,大概在試了半個多小時,它能正常計數(shù)了!介個……要不要這么坑啊!難道,太久不用了就不中用了?!難道還得訓(xùn)練一下?�。ㄎ冶硎竞軣o法理解啊!)
小問題解決了,但是,我的初衷是想試試我寫的PID的程序能不能用。揍起來!
但是,我發(fā)現(xiàn),我無論調(diào)目標(biāo)速度為多少它的實際運動的速度都是最大值!我無法降低它的速度!我改動了程序,我把速度一開始就定義在程序里頭,不另外通過串口改變速度了。但是,實際上情況還是那樣的,沒什么大的改觀。
不行了!我看了N遍了,感覺程序確實是沒什么好改動的地方了!我又讓崔屌幫忙看看,好吧,我承認(rèn),他之前沒怎么學(xué)過這個,應(yīng)該也有點吃力的吧。那就換寬鍋吧!
寬鍋真心是千呼萬喚始出來,請他幫個忙,真心難!寬鍋跟我解釋了很多關(guān)于PID的用法,我也給他看了程序,他也覺得一般般。但是,這些不是看看就能解決問題的,要調(diào)各種參數(shù)。寬鍋跟我說,讓我好好考慮KP這個值,因為這個比較關(guān)鍵,然后便是讓我好好的改參數(shù)……
臥槽……這不說了跟沒說一樣嗎……
好吧,我狠命改!我把值換了很多種情況,也不斷改動自己目標(biāo)速度,也不行!逆天��!一直胳膊犯得著這么蛋疼嗎?!
大概改了許久吧,情況也不見好轉(zhuǎn)。黃導(dǎo)要忙著把機械臂裝上身子上去,而且還要裝上手指(其實我看好這一版)好吧,可能這是注定的結(jié)局吧。(PID的參數(shù)確實不好調(diào),一個關(guān)節(jié)就需要一段時間,更不用說一直胳膊了……我用的是湊數(shù)法,所以很費時間……)
我在之后并沒有很足的動力去改動它了,我先是把這幾天的成果給寬鍋(寬鍋幫我接著調(diào),其實是我?guī)蛯掑佅却蛄藥滋斓南率帧�。我又把線啊什么的都整好,一筐全給了寬鍋……好吧,寬鍋,就交給你了��!
(整理完之后的一筐必要用品)
(在我整理東西的時候,我突然不想走了,雖然我只干了這么幾天吧,但是我確實充實了自己的生活,也許,我不能像各位朋友那樣看著電視,玩玩電腦,聽聽音樂,逛逛小街,亦或打打零工,跟對象手挽手啊什么的,但是我確實已經(jīng)很知足了。嗯哈!)
(PID是很簡單,但又是難度非常大的算法,幾乎很多工業(yè)上都會用上它!它的用途絕對是廣泛的!這個確實需要掌握!我以后可以試著用它來控制一下溫度!我要學(xué)習(xí)的東西還有很多,必須學(xué)扎實咯!相比暑假,我確實提升了不少。好吧,路還很長,慢慢走~~)
|
|