久久久亚洲欧洲日产国码是av,久久99国内精品自在现线,久久久99一区二区三区,九一九色国产,久久精品成人免费国产

我的訂單購物車(0)會員中心 聯(lián)系客服 幫助中心供應(yīng)商合作 嘉立創(chuàng)產(chǎn)業(yè)服務(wù)群
領(lǐng)券中心備貨找料立推專區(qū)爆款推薦PLUS會員BOM配單 品牌庫PCB/SMT工業(yè)品面板定制

全國大學生電子設(shè)計競賽B題賽后分享:無憾的4天3夜+總結(jié)+開源代碼

2017-09-22 15:53:32閱讀量:15715來源:立創(chuàng)商城

金秋九月,好禮來襲!12元千志精品電阻券+16元ALPS品牌優(yōu)惠券無門檻領(lǐng)用:http://www.17719.cn/bulletin/details_11417.html;免費送200套RFsister天線+連接線http://www.17719.cn/bulletin/details_11446.html。

 

全國大學生電子設(shè)計競賽是教育部和工業(yè)和信息化部共同發(fā)起的大學生學科競賽之一,2017年 8月9日,2017年全國大學生電子設(shè)計競賽在全國31個賽區(qū)同時開幕。

大學生設(shè)計競賽的難度如何?讓我們先來“欣賞”下B題,然后再來看下一個大三的團隊是怎么完成的。 

(點擊查看大圖)

(點擊查看大圖)

題目已經(jīng)審完,最后要怎么做呢,且看網(wǎng)友杰杰和她的團隊的大作。

大家好,我是杰杰。這是我第一次參加電賽,隊友3個人,我們雖然是第一次合作,但是配合的很好,很感謝我的隊友。

下面進入正題

剛出題的那個早上,我們都是挺興奮的,在實驗室睡覺,怕第二天起不來,然而,我們的生物鐘好像比鳥兒還早,早早就興奮的不行,我們第一次參加國賽,是會有這種感覺的。

出題了,我們之前就是準備做自控類的題目,所以第一眼就看B題,覺得好像有點難,然后再看了其他的所有題目,還是覺定做B題,剛好我們學校還有兩組也是做B的,我們就在一起討論了十幾分鐘,就去選擇材料了,開著小電動,去市區(qū)買木板。我們都沒買過木板,不知道哪里有木板,就兜兜轉(zhuǎn)轉(zhuǎn),終于買到了,拿回去,就想著構(gòu)思硬件,很快,硬件就搭好了。另一個隊友就在調(diào)試舵機中值,分工很好,進度算是挺快的,然后就弄好了機械結(jié)構(gòu),開始調(diào)試,我們用了兩塊單片機,一塊stm32作為主控芯片,另一塊k60作為數(shù)據(jù)處理芯片,鷹眼攝像頭采集數(shù)據(jù),通過串口傳輸給stm32,做出相應(yīng)的處理,這些地方我們都做的挺好的,但是,還是有很多問題,下面我一一總結(jié):

由于我們之前一直在準備電賽,買了很多模塊回來調(diào)試,比如帶絲桿的步進電機、舵機、超聲波模塊、mpu6050、角度傳感器。買了那么多東西回來,都調(diào)好了,但是!??!卻一點都沒有用上。最后還是拆了我們之前搞飛思卡爾的舵機跟攝像頭。把基本的模塊搭建起來,用stm32控制舵機的打角與顯示屏的顯示,而k60作為攝像頭的處理,掃描小球,得出小球所在的坐標,傳輸給stm32,讓stm32通過pid算法,讓舵機打角,從而完成操控。

下面是流程框圖

這里的主要難點是攝像頭的掃描。因為木板是正方形,而攝像頭采集的圖像是320*240分辨率的,是長方形。這里不能像飛思卡爾一樣用邊沿掃描的方法,要用全場掃描,找出小球的黑點,從而得出他的圓心(球心)坐標。

然后再做攝像頭采集的數(shù)據(jù)的濾波處理和圓心的濾波:

camera_get_img();                   //攝像頭獲取圖像//黑白攝像頭    

mg_extract(img,imgbuff, CAMERA_SIZE);               //解壓圖像,為了調(diào)用    

AllFilt();         //整場濾波    

countcenter_ball();    //搜線    

x_filte();            //x軸濾波    

y_filte();           //y軸濾波    

count_ball_center();   //計算小球中心點

這是主函數(shù)的內(nèi)容,代碼我在下面已經(jīng)開源。

還有傳輸數(shù)據(jù)的濾波:假如小球x與y都為0,說明數(shù)據(jù)采集錯誤,這種是不能傳給stm32的,否則會很抖,畢竟那一瞬間通過pid的處理得出的值變化很大:

還有小球x或者y有一個為0也是,所以要對小球限制,

if((ball_x_num!=0)&&(ball_y_num!=0)&&absi((ball_x_num-ball_y_num))<250) { send_ball_num(ball_x_num,ball_y_num); }

就傳一個坐標,stm32就能處理了。

由于這種通訊也是涉及到時間的問題

我們測出k60采集并處理得出坐標的時間為50ms左右,算是比較快的了,再傳輸數(shù)據(jù)。

而stm32用上串口中斷,當他接收到數(shù)據(jù)的時候,舵機才打角,我們舵機是100hz的頻率,最快可以每10ms打一次角。所以這種操作完全適合,還避免了亂打角的問題。   

至于關(guān)于算法的問題,下面的代碼也已經(jīng)開源了我的算法: 舵機打角,可以自己去看看代碼。    

*還有很重要的一點:硬件要搭的穩(wěn),攝像頭不能動,不然坐標會動的,多多少少都有影響。*

經(jīng)驗之談

電賽遇到的問題簡單描述

選擇材料,選用山外鷹眼攝像頭,硬件二值化,畢竟前段時間做完飛卡,剛好會用這個攝像頭,選擇木板,小球滾動的木板是黃色的,還有樹木黑色的年輪,對攝像頭會照成一點的干擾,所以選擇噴漆,但是組委會明確規(guī)定不能噴漆,但是還是冒險噴漆了,避開了數(shù)據(jù)的不穩(wěn)定。

機械結(jié)構(gòu)的問題

我們選擇木板搭建,真正搭建的時候,才發(fā)現(xiàn)自己想到的模型跟現(xiàn)實還是有很大差別的,機械結(jié)構(gòu)不對稱,舵機打角不好控制,穩(wěn)定性這些都要考慮,還有選擇固定木板的材料,我們選擇502加鐵釘,還算比較牢固,但是502用得比較多,還不容易拆卸,去到送作品現(xiàn)場才發(fā)現(xiàn)別的作品很小,可以拆卸的,但是我們的作品很大很大,90*70*100cm。

木板還容易變形,我們的第一塊板子,小球目標的地方凸起,導致小球無法定在目標里面,遂換了一塊板。

這些是硬件的問題。

軟件問題

軟件上,其實就是算法的處理,還有小球坐標點的精確,對坐標的濾波做的不好,沿用了當時飛思卡爾的濾波,沒有改進,本來飛思卡爾做完有挺多時間改進的,但是沒有改。

其他的東西基本沒什么問題。

現(xiàn)在的我對pid的算法有了更深的理解了。這是一種收獲。

吃虧的地方在于,我都調(diào)出來了,但是由于作品太大,搬運時候?qū)е聰z像頭不正,或者有可能是平橫板歪了,總之,去到現(xiàn)場調(diào)試時候,沒能做出在實驗室的效果,這是很可惜的一個地方,解決的辦法其實有很多的,但是軟件沒做好,沒完善,就解決不了。

請記住以下幾點:

1>:人機交互界面要做好,程序要寫好,通過按鍵查看參數(shù),不斷調(diào)整,這是很好的方法。

2>:對于類似攝像頭這種采集精確數(shù)據(jù)的傳感器,裝箱拆箱后都要重新采集數(shù)據(jù),保存在類似24c02的存儲芯片上,可以使數(shù)據(jù)在程序中運行更加精確,不會因為搬動導致數(shù)據(jù)不精確,這也是我終于知道別的學校的飛思卡爾的隊伍為什么不拿電腦在調(diào)試,只是通過按鍵就能調(diào)試了。

3>:我們實驗室的光線不足,任何一個比賽的場地,光線都是充足的,小球反光應(yīng)該都有這個影響,還有就是攝像頭支架不要用太大的木條,會遮擋光線,導致也會有偏差??梢赃m當添加LED來補光。

還有重中之重的經(jīng)驗就是,網(wǎng)上有猜測題,最好就做,起碼要構(gòu)思硬件并寫好相關(guān)模塊的代碼。

作品照片

這些是我電賽的經(jīng)驗,配上我的作品照片↓↓↓

搭好硬件的當天晚上:

由于當時調(diào)試沒怎么拍照,只能找到這些。這些也是比較激動的時候拍的。 

再上原理圖

整體的原理圖

tft_lcd接口原理圖

分享一些我今天整理的算法資料,對于我們來說,資料并不是越多越好。而是對自己需要的有所幫助就是好資料。

這些資料里面,我沒看完,畢竟也是有點多,電賽的時候找到自己需要的就不看了。

攝像頭的資料:

PID算法:

模糊控制: