欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7176|回復: 1
收起左側

自動循跡小車的設計制作(C題)論文

[復制鏈接]
ID:283194 發表于 2018-2-8 21:01 | 顯示全部樓層 |閱讀模式
摘要
本次設計的自動循跡小車是以單片機STC89C52為主控制器。運用接近開關傳感器來進行路徑檢測和速度監測模塊。將檢測數據傳回單片機進行處理,同時,用單片機產生PWM波來控制小車的行進速度,并實時控制小車的行進狀態。另外,在小車還擴展了LCD作為人機交互界面,以便于實時了解小車各監測器的狀態,記錄小車的實時數據。由于本次設計的是自動循跡小車,整個過程無需人工的任何干預,故而沒有進行鍵盤及遙控等的人工操作設備。用傳感器的實時監測和算法的緊密配合來保證小車的順暢來完成任務。

目錄

1 自動循跡小車的設計分析        1
1.1 設計要求        1
1.2 總體設計        1
1.3 方案論證        1
1.3.1 小車主體設計方案        1
1.3.2 電機驅動方案        2
1.3.3 傳感器設計方案        2
1.3.4 顯示模塊設計方案        2
1.4 單片機資源分配        3
2 自動循跡小車硬件設計        3
2.1 理論分析與計算        3
2.2 驅動        3
2.3 信號采集系統        4
2.4 單片機最小系統        4
2.5 蜂鳴器        4
2.6 液晶顯示        4
3 自動循跡小車軟件設計        5
4 功能檢測與調試        5
5 結與展望        6
參考文獻        6
附錄        7
附錄1        7
附錄2        7
附錄3        7
附錄4        7


1 自動循跡小車的設計分析
1.1 設計要求
本次比賽的首要任務是,設計制作一個自動循跡小車,能夠沿著主辦方提供的賽道,在規定的時間內跑完全程。賽道為一根直徑0.6~0.9mm的細鐵絲,發揮部分是在任意直線段鐵絲上放置4個直徑約19mm的鍍鎳鋼芯硬幣(第五套人民幣的1角硬幣),硬幣邊緣緊貼鐵絲。小車路過硬幣時能夠發現并發出聲音提示,盡量減少小車繞跑道跑完一圈運行時間。  
主辦方提供的賽道參考示意圖如附錄1所示。
小車采用一片 TI公司LDC1314或LDC1000電感數字轉換器作為循跡傳感器,在規定的平面跑道自動按順時針方向循跡前進。跑道的標識為一根直徑0.6~0.9mm的細鐵絲,按照附錄1的示意尺寸,用透明膠帶將其貼在跑道上。圖中所有圓弧的半徑均為為20cm±2cm。
1.2 總體設計   
根據大賽要求,設計總流程圖如圖所示。

設計主要有以下幾個模塊組成:
1.信息采集模塊:信息采集部分是由光電檢測和運算放大模塊組成,光電檢測有循跡檢測和測速檢測兩個部分。將檢測到的信號經運算放大模塊lm324放大整形后送至單片機處理,其核心部分是幾個光電傳感器。
2.控制處理模塊:控制處理模塊是一片STC89C52單片機為核心,單片機將從采集到的信息進行判斷后,按照預定的算法處理,把處理的結果送至電機驅動和液晶顯示模塊,使之做出相應的動作。
3.執行模塊:執行模塊由液晶顯示、電動驅動及電機、蜂鳴器三部分組成。液晶顯示主要是將單片機處理結果進行實時顯示,方便用戶及時了解當前的狀態,電機驅動根據單片機的指令對兩個電機進行動作,使之能夠根據需要作出相應的加速、減速、轉彎、停車等的動作,以達到預期目的,蜂鳴器主要是根據要求在特定的位置作出響應來報告位置。
1.3 方案論證
1.3.1 小車主體設計方案
(1)自己設計小車主體結構
自己設計制造小車主體結構,能夠按照布局設計思路來完成小車主體結構的調整,保證電路部分和機械部分的全面協調,可以合理地安放傳感器,但是自己設計的小車難免會表面粗糙費時費力,最后做出來的成品結果如何沒法保證。
(2)購買玩具小車進行改裝
按照大賽要求,可以用玩具車來改裝加入控制系統來完成既定任務,小車整體布局也比較合理,可以較好地完成任務。但是小車的質量價格參差不齊,小車的電路布局易受到小車主體的限制。
綜合考慮各種利弊,我們決定采用方案二。
1.3.2 電機驅動方案
方案一:直流電機。直流電機采用H型PWM驅動電路驅動,通過改變電機電源電壓的極性來實現直流電機的正反轉。電壓極性的變化和運轉時間的長短由單片機實現,由于電壓調整范圍很難達到很高的精確度,很難達到本系統的精確度。
方案二:步進電機。步進電機具有慣性小、響應頻率高,因此具有瞬間啟動與急速停止的優越特性,與其它驅動元器件相比,有明顯優點;通常不需要反饋就能對位移或速度進行精確控制;輸出的轉角或位移精度高,誤差不會積累,并且因為步進電機是根據脈沖個數決定旋轉角度,單片機只需記下脈沖個數就能計算出電機的旋轉角度,從而計算出小車的行駛距離,省去了距離檢測模塊,簡化了設計。
通過直流電機與步進電機方案的比較,結合制作要求,我們選擇方案二。   
1.3.3 傳感器設計方案
(1)使用接近開關傳感器來采集路面信息
接近開關傳感器由于能以非接觸方式進行檢測,所以不會磨損和損傷檢測對象物。 由于采用無接點輸出方式,因此壽命延長(磁力式除外)采用半導體輸出,對接點的壽命無影響。與光檢測方式不同,它適合在水和油等環境下使用檢測時幾乎不受檢測對象的污漬和油、水等的影響。此外,還包括特氟龍外殼型及耐藥品良好的產品。與接觸式開關相比,可實現高速響應。能對應廣泛的溫度范圍。不受檢測物體顏色的影響對檢測對象的物理性質變化進行檢測,所以幾乎不受表面顏色等的影響。
(2)使用光電傳感器來采集路面信息
使用紅外傳感器最大的優點就是結構簡明,實現方便,成本低廉。免去了繁雜的圖像處理工作,它所獲取的信息是不完全的,只能對路面情況作簡單的判斷,檢測距離有限,而且容易受到諸多擾動的影響,抗干擾能力差,背景光源,器件之間的差異,傳感器高度位置的差異等都將對其造成干擾。
綜合考慮,我們決定選擇方案 (1)
1.3.4 顯示模塊設計方案
(1)LED數碼管顯示
LED數碼管顯示具有亮度高,色彩選擇多的特點,但是數碼管占用I/O接口資源多,控制復雜,功耗大,顯示信息數少且單一。
(2)1602液晶顯示
液晶顯示驅動簡單,易于控制,功耗小,且顯示信息量大,可以直接觀察到小車的位置及速度信息。
綜合考慮,決定用1602液晶顯示作為本次的顯示模塊。
1.4 單片機資源分配
ST89C52單片機是把那些作為控制應用所需的基本內容都集成在一個尺寸有限的集成電路芯片,它由如下功能部件組成,8位微處理器、128字節數據存儲器、8K程序存儲器、P1、P2、P3、P4四個8位并行I/O口、1個全雙工的串行口,具有四種工作方式,可用來進行串行通訊,擴展并行I/O口,甚至與多個單片機相連構成多機系統,片內有2個16位的定時器/計數器,具有四種工作方式,具有5個中斷源,二級中斷優先權及特殊功能計數器,它們都是通過片內單——總線連接而成,其基本結構依舊是CPU加上外圍芯片的傳統結構模式。但對各種功能器件的控制是采用特殊功能寄存器的集中控制方式,為了合理調用單片機資源,對單片機的資源分配如附錄2所示。            
2 自動循跡小車硬件設計
2.1 理論分析與計算
使用柵格圓盤和光電門組成測速系統。當直流電機通過傳動部分帶動柵格圓盤旋轉時,測速光電門獲得一系列脈沖信號。這些脈沖信號通過單片機兩個定時/計數器配合,一個計數,一個定時。計算出單位時間內的脈沖數m,經過單位計算,就可以算得直流電機的旋轉速度。
假設小車每秒走過n個柵格(使用20柵格圓盤),小車輪胎直徑為d cm,那么小車輪胎周長為:C=Π*d cm。
則小車走過的距離即為:L=n/20*C  cm
2.2 驅動
步進電機是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”),它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的。
L298N是SGS公司的產品,內部包含4通道邏輯電路,是一種二相和四相電機的專用驅動器,即內含兩個H橋的高電壓大電流雙橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。其電路原理圖如下圖所示。
2.3 信號采集系統
小車放置一個接近開關傳感器來采集路面信息和小車行駛的距離,循跡傳感器采集到的信息經LM324放大整形后傳給單片機,最終達到控制小車循跡的目的。光電傳感器的信號處理圖見附錄3。

2.4 單片機最小系統
單片機采用了ST89C52,該芯片的應用電路與其他51單片機完全一樣,介于小車各部分功能均為模塊實現,所以,將單片機最小系統布好后,其余各I/O口用排針引出。單片最小系統由復位電路、電源和時鐘電路等組成。復位電路包括手動復位和自動上電復位,按鍵手動復位有電平方式和脈沖方式兩種。其中,按鍵電平復位是通過使復位端經電阻與VCC電源接通而實現的。而按鍵脈沖復位則是利用RC微分電路產生的正脈沖來實現的。自動上電復位,是指計算機加電瞬間,要在RST引腳出現大于2個機器周期的正脈沖,使單片機進入復位狀態。其單片機最小系統原理圖如圖所示。

2.5 蜂鳴器
蜂鳴器用于小車位置指示,用三極管驅動,由單片機P2.0口控制,小車遇到硬幣后,單片機給蜂鳴器一個方波信號,蜂鳴器鳴叫提示。
2.6 液晶顯示
液晶由單片機控制,實時顯示小車形式的時間和路程,電路圖如下。
3 自動循跡小車軟件設計
軟件設計是實現小車智能運轉的關鍵所在,本系統軟件包括主程序、檢測循跡函數和控制函數。
主程序主要完成系統初始化、按鍵檢測即子程序調用等功能,檢測循跡函數負責穩定地判斷各種信息,將信息值返回,以便主函數或別的函數調用處理,其流程圖見圖。控制函數主要負責小車的狀態控制,根據傳感器返回的信息準確地判定小車所處的位置,并作出相應的響應。其流程圖如下所示。

4 功能檢測與調試
對小車的整體來說其測試按照模塊來進行,分為以下幾個步驟:
① 首先測試電源的工作情況,各個模塊能否得到良好供電。
② 檢查單片機能否正常的燒寫程序和工作。
③ 測試后輪電機的工作情況,并試驗電機的驅動能力。
④ 編寫程序控制小車運行,完成前進、后退一定距離,轉90度等功能。
⑤ 反復測試各參數變化 對小車的影響,找出最有效的配置。
⑥ 對小車運行過程中各種可能出現的情況測試,發現問題,找出解決方法。
⑦ 整理數據,優化程序設計。
1、對小車直走位置測試 (用米尺測試)
測量次數        A設定值(cm)        B實際值(cm)        差值(cm)
1        90        91        1
2        90        90        0
3        90        91        1
2、預設置點與液晶顯示坐標的測試
        X坐標(cm)        Y坐標(cm)
坐標設定值        100        80        60        40        20        30        50        70        90        110
坐標實際值        104.3        83.4        61.7        41.3        20.3        30.6        52.1        71.8        93.2        114.3
差   值        4.3        3.4        1.7        1.3        0.3        0.6        2.1        1.8        3.2        4.3
定位誤差        4.30%        4.25%        2.83%        3.25%        1.50%        2.00%        4.20%        2.57%        3.56%        3.90%
經過多次調試,本系統能夠基本滿足設計要求,能夠較快較平穩的沿路面按要求行駛。
5 結與展望
經過四天三夜的共同努力,我們奮斗過,拼搏過,也失望過,但我們不曾放棄過,終于我們看到了成果,感受到了成功的喜悅!經過電路設計,焊接調試,程序設計聯調,最終完成了整個規定的設計過程,感謝全國大學生電子設計大賽的組委會給了我們這樣一次難得的鍛煉的機會,同時也深深地感謝幾位辛勤指導我們工作和學習的老師!通過這次大學生電子設計大賽讓我們感受到了實踐出成果的喜悅,也深深地體會到理論聯系實際的重要性。由于時間不足以及客觀多方面的困難,小車在設計中難免還存在不足的地方,希望老師們提出寶貴的意見。在本次大賽中,我們將自己大學幾年來所學的知識,能夠學習致用,開括了我們的制作能力,激發了我們的創新思維,培養了我們勇于面對困難克服困難的堅強意志和不懈努力的精神,更增強了我們團隊合作的能力,感受到知識的海洋是無盡的,需要我們去探索,去深入研究。
參考文獻
[1]邢增平. Protel99SE設計專家指導. 中國鐵道出版社,2004年
[2]康華光. 電子技術基礎數字電路部分,高等教育車版社,2005年
[3]凌陽科技大學計劃. 電子競賽文集. 凌陽科技大學計劃資料
[4]黃志偉. 全國大學生電子設計競賽訓練教程. 北京:電子工業出版社
[5]趙健領.  51系列單片機開發寶典.  北京,電子工業出版社,2007年
[6]郭天祥.51單片機C語言教程.北京:電子工業出版社, 2009年
[7]祁偉,楊婷. 單片機C51程序設計教程與實驗. 北京:航天航空出版社,2006

附錄
附錄1.主辦方提供的賽道參考示意圖

附錄2

附錄3


附錄4 部分軟件程序
#include <reg52.h>             //包含52系統頭文件
#include "bst_car.h"         //包含bst_car.h智能小車頭文件
unsigned char pwm_val_left  =0;//變量定義
unsigned char pwm_val_right =0;
unsigned char push_val_left =0;// 左電機占空比N/20 //速度調節變量 0-20。。。0最小, unsigned char push_val_right=0;// 右電機占空比N/20
bit Right_PWM_ON=1;                   //右電機PWM開關
bit Left_PWM_ON =1;                           //左電機PWM開關
//主函數
void main(void)
{        
    P1=0X00;    //關電機        
    Key scan();        //按鍵啟動檢測
        delay(1000);//1s后啟動*/

        TMOD=0X01;
    TH0= 0XFC;  //1ms定時
    TL0= 0X66;
    TR0= 1;
    ET0= 1;
        EA = 1;            //開總中斷
        while(1)        //無限循環
        {
            //有信號為0  沒有信號為1
        if(Left_1_led==1&&Right_1_led==1)
            run();   //調用前進函數
        else
                {                          
                    if(Left_1_led==1&&Right_1_led==0)            //左邊檢測到黑線
                        {
                             left run();                       //調用小車左轉函數
                        }                           
                        if(Right_1_led==1&&Left_1_led==0)                //右邊檢測到黑線
                        {         
                                 Right run();                   //調用小車右轉函數
                    }
                }         
         }
}


回復

使用道具 舉報

ID:339982 發表于 2018-5-28 17:48 | 顯示全部樓層
有沒有詳細的程序代碼和需要的材料啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表