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

正文內容

基于at89s52單片機的多功能智能小車設計-資料下載頁

2024-09-02 19:03本頁面

【導讀】利用反射式光電傳感器檢測黑線實現小車循跡,利用。跡、尋光和速度測試功能。其中,控制部分采用AT89S52,AT89S52是一款8位單片。機,它的易用性和多功能性受到了廣大使用者的好評。電機驅動采用常用的PWM方。式進行電機的調速控制,小車的速度通過液晶屏來顯示。整個系統(tǒng)的電路結構較簡單,可靠性能高,能滿足各種設計的要求。隨著我國高科技水平的不斷提高和工業(yè)自動化

  

【正文】 D控制器各控制環(huán)節(jié)的作用是這樣的,比例控制 (P控制 )即時成比例地反應控制系統(tǒng)的偏差信號 e(t),積分控制 (I控制 )主要用于消除靜差,微分控制 (D控制 )反應偏差信號的變化趨勢 (變化速率 )。比例控制是對現在誤差的一種校正,積分 控制是對過去誤差的校正,而微分控制是對將來可能的誤差的校正。數字 PID控制算法如圖 44所示 . 圖 44 PID控制算法的簡化示意圖 , …… 式( 41) 或者 …… 式( 42) 式中 u0— 控制量的基值,即 k=0時的控制; u( k) — 第 k個采樣時刻的控制; KP—— 比例放大系數; KI—— 積分放大系數; 。 KD—— 微分放大系數; 。 TS—— 采樣周期5 調試 21 5 調試 調試方法 由于本次實驗需要捍接的電路模塊較多,特別是直流電機驅動模塊,對于電源電流的需要極大,我們先以直插式12V電源開始調試,小車運轉正常。但直 插式電源對于運動的小車是個很大的束縛,極為不方便。所以考慮采用電池供電。市面上常用的有干電池和蓄電池。由于小車相當耗電,9V的干電池用不了多久,就會出現開關器件很難穩(wěn)定地給單片機送正確值的情況。只有當更換新電池或小車剛剛啟動時才會很準確,經過思考,這都是開關元件消耗電量很大的原因,一旦電池電量不足其工作將會萎靡不振,于是我們可充電的蓄電池給小車供電,選擇合適的蓄電池可以很好的滿足小車耗電量大的情況。 在前輪 PWM驅動轉向電路運行中,我們發(fā)現,電機只給一個轉向力,但保持長期轉向時,電機的轉動由于受到強行制動而 處于一種相對靜止的狀態(tài),導致 PWM驅動電路產生大量的熱量,我們既利用軟件使其盡量減少長期單向轉動狀態(tài),又在硬件上,在 PWM驅動板上涂上了一層散熱膠,即使發(fā)熱,也不會燒壞 PWM驅動電路。 在安裝上避障用光電開關之后,其與其它所有開關元件共用同一電源,在運行時發(fā)現三個用于尋跡用的開關元件不能全部正常工作了,據分析,避障用光電開關處接線不牢固,重新接線后工作正常。 在電源開啟后,小車循跡過程中會出現原地打轉的情況。經分析是由于軟件跑飛。經考慮后加了一個看門狗,可以很好的遏制程序跑飛的情況 。 測試結果與分析 本次進行了兩次調試。兩次都是在鋪有黑色硬紙條的軌道上進行。不同的是第一次軌道上沒有設置障礙物,第二次放置了幾個紙箱作為障礙物。每組分別測試了三次。 測試儀器: 12V直流電源 秒表 測試記錄數據如下表 51和 52. 學士學位論文 22 表 51 速度測試 次數 路面狀況 平紙板 水泥地面 有較大褶皺的紙板 1 2 中途因底盤低而停止 3 表 52 循跡避障測試 次數 項目 完成時間( s) 行 駛過程中脫離 軌道次數 躲避障礙物時碰撞次數 1 49 3 1 2 45 0 1 3 42 0 0 *注:小車在因速度過快而脫離軌道后仍能自行返回原軌道,無須人為搬回 。 根據測試結果,可以看出小車循跡避障功能基本實現。結果表明,小車能很好的完成循跡,即使循跡軌道發(fā)生改變也不影響。但避障結果并不是很理想。小車在檢測到障礙物后要經過較長時間的調整才能避開障礙物,這是由于采用的算法不夠理想。本設計采用的算法只適用于一般情況,特殊一些的情況就可能出現避障失敗。這也是本次設計的一個缺陷。在實際調試過程中小車發(fā)生 過程序跑飛的情況,經調整改進程序后,小車運行狀態(tài)穩(wěn)定。能很好的完成沿黑色軌道前進,改變軌道的形狀及轉彎角度,小車仍可以完成循跡任務。并避開障礙物。液晶顯示速度正常。6 結論與展望 23 6 結 論與展望 本系統(tǒng)以設計采用 AT89S52單片機為控制核心,根據所檢測的各種數據結合 PID控制算法實現對電動車的智能控制。利用反射式光電傳感器檢測黑線實現小車循線,利用超聲波傳感器檢測道路上的障礙,控制電動小車的自動避障,光電碼盤實現小車的速度檢測,并通過液晶顯示。具有自動尋跡和尋光功能。整個系統(tǒng)的電路結構較簡單,可靠性能高。實際測試效果較 好。很好的滿足了題目的要求,并在題目的要求基礎上有一定發(fā)揮,增加了尋光和報警提示功能,以及增加速度檢測和顯示,使整個設計更人性化。學士學位論文 24 致 謝 ! 參考文獻 25 參考文獻 [1] Zvi Lanechange maneuvers of autonomous vehicles[J].ASME Journal of DynamicsSystems,Measurement and . [2] 邵貝貝 .單片機嵌入式應用的在線開發(fā)方法 [M].北京 :清華大學出版社 ,. [3] 卓晴 ,黃開勝 ,邵貝貝 .[M].北京 :北京航空航天大學出版社 ,. [4] 高吉祥 .全國大學生電子設計大賽培訓系列教程 [M].電子工業(yè)出版社 ,. [5] 王志良 .競賽機器人制作技術 [M].機械工業(yè)出版社 ,. [6] 程鵬 .自動控制原理 [M].高等教育出版社 . . [7] 劉偉 .傳感器原理及其 適 用技術 [J].電子工業(yè)出版社 ,. [8] 張植寶 .電機原理與應用 [M].化學工業(yè)出版社 ,. [9] 許大中 .電機控制 [M].浙江大學出版社 ,2020 [10] 李華 .MCS51系列單片機實用接口技術 [M].北京 :北京航空航天大學出版社 ,1995. [11] 張義和 .陳敵北 .例說 8051[M].人民郵電出版社 ,. [12] 羅志增 .機器人感覺與多信息融合 [M].機械工業(yè)出版社, 2020. [13] 周堅 .單片機 C語言輕松入門 [M].北京航空航天大學出版社 ,. [14] 李剛 .王艷林 ,孫江宏 .Protel DXP電路設計 [M].清華大學出版社 ,. [15] 魏永廣 .現代傳感技術 [J].東北大學出版社 ,. [16] 李廣弟 ,朱月秀 .冷祖祁 .單片機基礎 [M].北京航空航天大學出版社 ,. [17] 高鵬 .安濤 .protel 99入門與提高 [M]人民郵電出版社 , [18] 樓然苗 .李光飛 .單片機課程設計與指導 [M].北京 :北京航空航天大學出版社 , 學士學位論文 26 附 錄 include define char unsigned char define hint unsigned ftp suit P1_0=P1^0。 suit P1_1=P1^1。 suit P1_2=P1^2。 suit P1_3=P1^3。 suit P1_4=P1^4。 suit P1_5=P1^5。 char a,b,c。 void delay_us(uint time) //微秒延時 {for(。time0。time)。} void delay_ms(uint time) //毫秒延時 { for(。time0。time) delay_us(1000)。 } void port_init() //I/O口初始化 { P1=0x00。 P0=0x00。 } void ex0_init() //中斷初始化 { PX0=1。 EA=1。 IT0=0。 IT1=0。 EX0=1。 EX1=1。 } void pulse() //脈沖驅動 { 附 錄 27 P1_0=1。 delay_us(800)。 P1_0=0。 delay_us(2400)。 } void int0_init() { TMOD=0x01。 TH0=16000/256。 TL0=16000%256。 ET0=0。 TR0=0。 } void forword() //前進 {P1_1=1。P1_2=0。P1_3=1。P1_4=0。} void back() //后退 {P1_1=0。P1_2=1。P1_3=0。P1_4=1。} void left() //原地左轉 {P1_1=0。P1_2=0。P1_3=1。P1_4=0。} void right() //原地右 //轉 {P1_1=1。P1_2=0。P1_3=0。P1_4=0。} void stop() //剎車 {P1_0=0。} void ex1() interrupt 2 using 2{} void int0() interrupt 1 using 1 { TR0=0。 TH0=16000/256。 TL0=16000%256。 TR0=1。 } void main() { port_init()。 ex0_init()。 P1_5=1。 while(1) {switch(P0amp。0x0f) 學士學位論文 28 { case 0x9: {forword()。 pulse()。} break。 case 0x1: case 0x3: case 0x7: case 0xb: {left()。 pulse()。} break。 case 0x8: case 0xc: case 0xe: case 0xd: {right()。 pulse()。} break。 default: {back()。 for(b=6。b0。b) pulse()。} } } } void ex0() interrupt 0 using 0 { EA=0。 P1_5=0。 for(c=25。c0。c) { back()。 pulse()。} for(b=35。b0。b) { left()。 pulse()。 } for(a=35。b0。b) {forword()。 pulse()。 } P1_5=1。 EA=1。
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1