freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arduino單片機(jī)控制的wifi智能小車-資料下載頁

2025-06-19 13:15本頁面
  

【正文】 過程中波形抖動嚴(yán)重,單片機(jī)不能正確識別其波形。而且經(jīng)過整流橋以后的是脈動直流,波動范圍很大。后面一般用大小兩個電容大電容用來穩(wěn)定輸出,眾所周知電容兩端電壓不能突變,因此可以使輸出平滑小電容是用來濾除高頻干擾的,使輸出電壓純凈電容越小,諧振頻率越高,可濾除的干擾頻率越高。容量選擇:大電容,負(fù)載越重,吸收電流的能力越強(qiáng),這個大電容的容量就要越大,小電容,憑經(jīng)驗,一般104即可。同時其他人的的經(jīng)驗告訴我們1. 電容對地濾波,需要一個較小的電容并聯(lián)對地,對高頻信號提供了一個對地通路。2. 電源濾波中電容對地腳要盡可能靠近地。3. 理論上說電源濾波用電容越大越好,一般大電容濾低頻波,小電容濾高頻波。4. 可靠的做法是將一大一小兩個電容并聯(lián),一般要求相差兩個數(shù)量級以上,以獲得更大的濾波頻段.在我們的設(shè)計中由于材料的原因,我們沒有進(jìn)行對電容的嚴(yán)格要求,以及精確的計算,在測速模塊中我們將數(shù)據(jù)輸出端與GND并聯(lián)接入濾波電容起到濾波的效果,同時在GND與Vcc之間并聯(lián)接入一個旁路,旁路從元件或電纜中轉(zhuǎn)移出不想要的共模RF能量。這主要是通過產(chǎn)生DC旁路消除無意的能量進(jìn)入敏感的部分,另外還可以提供基帶濾波功能(帶寬受限),如圖53電路所示。由此解決了波形抖動問題。圖53 測速模塊電路調(diào)正 攝像頭調(diào)試及問題解決在設(shè)計調(diào)試攝像頭燈光的調(diào)節(jié)問題以及攝像頭花屏問題的調(diào)試中,我們首先通過正確的安裝攝像頭驅(qū)動Kmodvideogspca、kmodvideopwc以及相關(guān)驅(qū)動,同時進(jìn)行有關(guān)攝像頭軟件的正確配置,確定軟件安裝與配置沒有問題后,然后檢查電路板,在電路板中我們發(fā)現(xiàn)當(dāng)攝像頭燈光關(guān)閉時,電位計調(diào)節(jié)到最小處允許電流通過,這時電流直接通過GND消除;當(dāng)攝像頭燈光打開時,電位計打到最大處阻止電流通過,這時電流流向LED燈元件中點亮LED燈。因為攝像頭是通過路由器直接提供電源的,并且路由器電源電壓與攝像頭電源電壓需求量相同,當(dāng)攝像頭中存在LED燈電路時會使攝像頭電源供給不足成花屏問題。要想解決攝像頭的花屏問題就要把LED電源電路隔離出來進(jìn)行單獨的供電,同時可以通過PWM對燈關(guān)進(jìn)行調(diào)節(jié),在該電路中6個LED采用并聯(lián)形式連接,每個LED燈串聯(lián)1個101貼片電阻(100Ω),通過萬用表測量LED燈在5v供電情況下最大電流為35mA,Arduino Uno中I/O端口最大輸入輸出電流為40mA,因此不在需要接入電阻限流,如圖54所示。圖54 攝像頭修改電路 軟件設(shè)計問題及調(diào)試相對于硬件來說軟調(diào)試,軟件調(diào)試顯得很繁瑣,要是配合硬件進(jìn)行合理的測試才能使硬件正常工作。此系統(tǒng)的軟件程序,使用到C語言、lua語言、JavaScript、JQuery、及Html等語言進(jìn)行編寫。首先選用單片機(jī)開發(fā)板作為程序調(diào)試的載體,然后在路由器中進(jìn)軟件編程,逐步對各模塊子程序進(jìn)行調(diào)試,然后再將各子程序模塊進(jìn)行有機(jī)組合、聯(lián)調(diào),最終完成整個系統(tǒng)的軟件調(diào)試。 單片機(jī)軟件調(diào)試及問題首先在Arduino單片機(jī)中對各個硬件模塊進(jìn)行單獨編程及調(diào)試,然后在進(jìn)行組合聯(lián)級調(diào)試,在聯(lián)調(diào)過程中,發(fā)現(xiàn)并解決以下問題。l 問題1: 當(dāng)燈光電路連接到Arduino的11端口時不能通過pwm進(jìn)行調(diào)光,通過資料我們知道ATmega328p中有三個計時器分別是timer0、timertimer2,一些延時語句比如delay(), millis() micros() 用的是timer0,但是為了解決timer0因為這些語句造成的影響, timer0在設(shè)計時它的引腳的脈沖頻率要比timertimer2要高一些減少影響問題。在arduino中6個PWM輸出腳當(dāng)然也要用這些計時器,它們是這樣分配的:Pins 6: timer0Pins 10: timer1Pins 13: timer2在單片機(jī)軟件設(shè)計中我們使用的一個第三方定時器是MsTimer2,它用到定時器就是timer2,當(dāng)程序中使用到該定時器函數(shù)時,將會占用端口11與端口3的計數(shù)器,使端口的pwm無法使用。端口10的pwm我們用來控制小車的行駛速度,所以為了避免定時器沖突導(dǎo)致燈光無法調(diào)節(jié),在調(diào)試中將控制燈光的端口改為5,解決了PWM無法控制LED燈光的問題。l 問題2:在控制小車前進(jìn)的使用為了使小車前進(jìn)后退的方向為直線,我們需要通過測速模塊測量到的數(shù)據(jù)來計算pwm達(dá)到小車的差速控制,而編碼器這樣的傳感器是可以測量轉(zhuǎn)速和轉(zhuǎn)角的。如果把左右電機(jī)中編碼器反饋的轉(zhuǎn)速送入Arduino單片控制器中,計算機(jī)就會知道小車不能走直線的真正原因,并實時計算出兩輪的轉(zhuǎn)速差,然后可以設(shè)立一個PID算法,讓轉(zhuǎn)速慢輪子的電機(jī)功率值加大,從而消除車輪的轉(zhuǎn)速差。這就是最簡單的PID控制理論應(yīng)用。在小車外部中斷電平上升沿計數(shù)是為了不計入噪聲干擾脈沖,我們需要設(shè)置第一次中斷與第二次中斷大于5ms計一次有效數(shù),代碼如下:if(millis()timeA5) /millis()獲取當(dāng)前時間減timeA上次中斷時間大于5ms{ a_wheel++。}timeA=millis()。在調(diào)試的過程中左側(cè)電機(jī)的pwm為60右側(cè)的pwm為61時左右輪速度相同,并且當(dāng)左側(cè)輪胎速度大于右側(cè)輪胎的速度1時他們的Pwm為60因此可得到簡單的pid算法公式為:spb=(float)spb+(a_velocityb_velocity)。公式中a_velocity是左電機(jī)的轉(zhuǎn)速;b_velocity是右電機(jī)的轉(zhuǎn)速;spb是右電機(jī)的PWM功率值。左右電機(jī)的轉(zhuǎn)速差乘以比例因子1疊加到上一次PID計算得到的spb,就得到了當(dāng)前右電機(jī)PWM功率值spb。如果左電機(jī)轉(zhuǎn)速a_velocity比右電機(jī)轉(zhuǎn)速b_velocity要低,則從算式中可以看到,會自動減小右電機(jī)功率值spb,通過循環(huán)執(zhí)行Arduino程序中PID算式,以達(dá)到兩電機(jī)轉(zhuǎn)速一致的目的。測試實驗,如果拿小車用手摩擦小車的左輪,左輪的轉(zhuǎn)速變慢,在PID比例算式的作用下,右輪電機(jī)的PWM功率值會變小,以使右輪速度也跟著變慢。這時,再把手移到小車右輪,右輪遇到阻力時,為了保證依然與左輪轉(zhuǎn)速同步,當(dāng)右輪助力解除的一瞬間右輪的速度明顯增加。l 問題3:當(dāng)小車在前進(jìn)及打開靈敏開關(guān)時,小車向前或向后有時會出項一段延遲時間,通過詳細(xì)的查找引起延遲的原因是,單片機(jī)向路由器發(fā)送數(shù)據(jù),由于路由器ttl會回顯發(fā)來的數(shù)據(jù)給單片機(jī),而單片機(jī)為了讀取成為一個字符串要有一段延遲等待的時間,而這段時間的積累會影響小車正常的讀取數(shù)據(jù)以及控制底層硬件。解決上述問題的方式就是通過判斷串口接收的第一個字符是否為指定的字符如果是就進(jìn)行拼接字符串,如果不是清空串口輸入緩沖區(qū)的數(shù)據(jù)。代碼結(jié)構(gòu)如下:Webinfo[0]=()。//讀取第一個字符If(webinfo[0]==’$’){//拼接字符串//判斷控制其他模塊}else{()。//清空串口輸入緩沖區(qū)}l 問題4:調(diào)試中發(fā)現(xiàn)當(dāng)小車接收到向前命令以后,小車行駛一段路程以后自動停止,停止的原因是測試到前方距離小于10cm,然而前方并沒有障礙物。再次通過測距模塊與定時器模塊的分離測試發(fā)現(xiàn)沒有錯,聯(lián)調(diào)以后發(fā)現(xiàn)因為定時器中斷的原因造成測距模塊在測距時測試干擾噪聲脈沖。解決中斷引起的干擾問題,如問題1中車速模塊中斷計數(shù)一樣進(jìn)行2毫秒的定時中斷來測試前方距離。Wifi小車控制通信的另一個主要的設(shè)備就是路由器,在本次設(shè)計中路由器的方面的編程也是不可或缺的,而且在調(diào)試的過程中也存在諸多問題。l 問題1:路由器中調(diào)試中,我們將lua腳本寫入//cgibin目錄下,然后在網(wǎng)頁中進(jìn)行遠(yuǎn)程訪問,但是在訪問的過程中無法顯示內(nèi)容,訪問權(quán)限限制,我們需要通過Putty遠(yuǎn)程連接修改文件訪問權(quán)限chmod +777 lua腳本名,編寫腳本文件是要在文件中加入以下內(nèi)容:!/usr/bin/luaprint [[ContentType: text/plain]]上述內(nèi)容第一行為lua編譯環(huán)境所在位置,print表示lua輸出語句,ContentType: text/plain表示輸出內(nèi)容以文本形式輸出,當(dāng)我們要將串口信息顯示到網(wǎng)頁中的時候要將plain改為html同時網(wǎng)頁中的html語句要寫在“[[]]”中。l 問題2:在路由器啟動的過程中,路由器的串口不能有信息輸入否則會使路由器無法啟動,然而我們在啟動單片機(jī)以后,單片機(jī)就會向路由器發(fā)送信息,這時我們需要判斷路由器是否完全啟動,然后在去啟動單片機(jī)。因此在調(diào)試的過程中我們在啟動項文件中(/etc/)的rc_procd()方法里添加echo “$(basename ${basescript:$initscript})” /dev/ttyATH0 ,然后通過電腦監(jiān)聽路由器串口,重啟路由器我們會發(fā)現(xiàn)軟件的啟動順序,這時確定dnsmasq在路由器啟動完全啟動后的最后啟動項,因此我們要在/ect/()方法中加入:Echo “{s}” /dev/ttyATH0通過上述語句實現(xiàn)路由器發(fā)送啟動信號給單片機(jī),來控制單片機(jī)的啟動。l 問題3 當(dāng)路由器安裝Openwrt以后,通過usb轉(zhuǎn)ttl線連接路由器調(diào)試中我們發(fā)現(xiàn)路由器接收某些收據(jù)會或返回特定的數(shù)據(jù),或者會進(jìn)入超級終端模式,而無法接收來自單片機(jī)的數(shù)據(jù)。因此要實現(xiàn)路由器的串口雙向通信,就得把etc/inittab文件內(nèi)的ttyATH0::askfirst:/bin/ash login這行刪除,禁止通過TTL登錄路由器,而影響數(shù)據(jù)的接收。第6章 總結(jié)通過本次WIFI智能小車的理論學(xué)習(xí)、論文編寫和實物的制作,進(jìn)一步的認(rèn)識到了自身存在的不足。特別是自己在路由器方面知識的欠缺,這使得我在小車在起步制作時路由器部分的處理花費了大量的時間。但通過我在網(wǎng)上不斷的查詢相關(guān)的資料,最終我還是完成了路由器部分的處理。但是我還是不知道其中具體的一些細(xì)節(jié)的原理,比如我不知道在路由器中如何使用socket對視頻流進(jìn)行處理以及對單片機(jī)的內(nèi)部結(jié)構(gòu)不是特別了解。還有在整機(jī)裝配的時候我沒有注意到一些細(xì)節(jié)的地方,這使得我把小車拆裝了多次。要想把事情做好提高效率,這就需要注意學(xué)習(xí)生活工作中做事的細(xì)節(jié),以及對自己知識的擴(kuò)充。同時,通過這次的畢業(yè)設(shè)計,我的各方面能力也得到了大幅度的提高。在知識上:一方面,我系統(tǒng)的總結(jié)了自己的專業(yè)知識,明確了自己今后事業(yè)的發(fā)展方向。另一方面,我如饑似渴的自學(xué)了單片機(jī)及編程方面的知識,并通過自己獨立對軟件的編寫和實物制作,最終完成了整個WIFI智能小車的設(shè)計。在能力上:我通過不斷查閱資料、與師生交流學(xué)習(xí)新知識、在網(wǎng)上查閱相關(guān)資料,然后又將自己沉淀后的知識和經(jīng)驗運(yùn)用到實際設(shè)計理念中,豐富其功能與質(zhì)量。在綜合素質(zhì)上,我雖然遇到很多的挑戰(zhàn)和困難,但從未想過放棄,最終憑借自己百折不饒、勇于鉆研的精神解決了這些技術(shù)難點,當(dāng)然,由于我的知識和能力有限,整個設(shè)計還有很多不足之處有待完善和改進(jìn)。參考文獻(xiàn):[1]. 楊清梅,[M].哈爾濱::4144.[2]. 蔡睿妍. Arduino的原理及應(yīng)用[J]. 電子設(shè)計工程. 2012年16期:20[3]. 周明廣,于云峰,閆杰. 直線舵機(jī)加載臺控制系統(tǒng)建模與設(shè)計[J]. 測控技術(shù). 2011:6[4]. [M].北京::5052.[5]. [M].北京::6567.[6]. [M].北京::121124[7]. [M].北京::3032 [8]. (第三版)[M].北京: 機(jī)械工業(yè)出版社2010:5658[9]. 2014年物聯(lián)網(wǎng)產(chǎn)業(yè)鏈現(xiàn)狀分析[EB/OL]. 產(chǎn)業(yè)洞察研究. 2014[20141212]. [10]. 關(guān)于Arduino [EB/OL].開源硬件知識庫. 2011[20141215]. [11]. Arduino Uno[EB/OL] . 開源硬件知識庫. 2011[20141215]. 致謝本次論文設(shè)計能夠順利的完成。首先,感謝陶銳導(dǎo)師對我確定論題、建立框架以及論文寫作方面的種種指導(dǎo),我才可以更順利地完成論文,而且,使我體會到論文寫作對學(xué)習(xí)能力、研究能力及創(chuàng)新能力有很大幫助。陶老師誨人不倦的育人精神令人崇敬,令我深感作為一名教師的魅力所在,而且,在指導(dǎo)的過程中,令我明白尊重和傾聽他人意見的重要性,使我及時改正了自己的錯誤。其次,感謝計算機(jī)科學(xué)與技術(shù)學(xué)院悉心教學(xué)的全體老師們,只有在扎實的專業(yè)知識基礎(chǔ)上,我才能迅速有效地吸收更廣泛的營銷理論知識,并運(yùn)用于論文中。再次,感謝呼倫貝爾學(xué)院良好的教育,培養(yǎng)了我主動學(xué)習(xí)的能力。而且,學(xué)校創(chuàng)造了十分優(yōu)越的學(xué)習(xí)環(huán)境,我才可以借閱到很多豐富的參考資料,充實我的論文。最后,感謝所有在相關(guān)領(lǐng)域做出寶貴研究的學(xué)者們,是我學(xué)習(xí)和提升的不竭源泉,還有所有為我論文提出寶貴意見的人們,直言不諱的同學(xué)們。在此文中,我可能使用了一些過于直接犀利的表達(dá),或者是提出了一些尚不成熟的想法,如有什么不當(dāng)之處,請各位老師和同學(xué)指正!我致以深深的謝意!附錄1 元器件明細(xì)表名稱型號規(guī)格數(shù)量備注單片機(jī)模塊Arduino Uno R31驅(qū)動模塊L298N模塊1路由器TPLINK WR703N1攝像頭中星微ZC301USB攝像頭1電機(jī)直流電機(jī)2天線外接SMA天線1舵機(jī)模塊SG90舵機(jī)2測距模塊HCSR04超聲波測距模塊1電源模塊12v輸入12v/5v/1電源憶捷PT83(23000mAh)1電容10uF 25v電容4測速模塊U型光感測試模塊(74HC04D)2編碼器20孔編碼器2輪胎直徑6cm輪胎2萬向輪1亞力板2杜邦線若干螺絲螺母若干 附錄2 單片機(jī)部分程序源碼/*計算小車速度方法*/float velocity(int n){ //(n/20)輪子裝的圈數(shù),輪子直徑是65m
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1