第一篇:智能小車嵌入式系統(tǒng)設計分析
前言
智能小車是在動態(tài)不確定環(huán)境下對人工智能的考驗,是以各種工控目的為載體的高科技對抗,是培養(yǎng)信息、自動化領域科技人才的重要手段,同時也是展示高科技水平的生動窗口和促進科技成果實用化和產(chǎn)業(yè)化的有效途徑。智能小車的研究融入了機器人學、機電一體化技術、通訊與計算機技術、視覺與傳感器技術、智能控制與決策等多學科的研究成果,反映出一個國家信息與自動化技術的綜合實力。所以本論文對智能小車的研究意義重大。
-0
一、總體設計方案
1.總體方案
智能小車可在自主行駛和人工控制兩種模式之間切換,并實現(xiàn)自動避障。通過PWM輸出驅動步進電機來實現(xiàn)小車的行駛,改變PWM的周期、占空比、正反則可以實現(xiàn)前進、后退、轉彎、加速、減速等行為。通過紅外探頭檢測前方障礙實現(xiàn)自動避障。外接紅外線接收器,可以通過自制的紅外線遙控來控制小車的行為。
2.平臺選取
EasyARM1138開發(fā)板
開發(fā)板搭載Luminary LM3S1138芯片,為32位ARM Cortex – M3內(nèi)核(ARM v7架構),50Mhz運行頻率。擁有7組GPIO,可配置為輸入、輸出、開漏、弱上拉等模式。4個32位Timer,每個都個拆分為2個獨立子定時器。6路16位PWM,通過CCP管腳能產(chǎn)生高達25Mhz的方波。
自制車架
3456789 SYSCTL_SYSDIV_10);// 分頻結果為20MHz */
TheSysClock = SysCtlClockGet();// 獲取系統(tǒng)時鐘,單位:Hz
}
int main(void){ jtagWait();/* 防止JTAG失效,重要!*/
SystemInit();
IR_Int_Init();
while(1){ if(IR_flag == 1){ IR_flag = 0;for(a = 18;a < 26;a++){ IR_code_8 = IR_code_8 << 1 + IR_code_32[a];}
if(IR_code_8 == 101){ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);// 使能GPIOD端口
GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE , GPIO_PIN_0);// 設置PD0為輸入類型 //forword GPIOPinWrite(GPIO_PORTD_BASE , GPIO_PIN_0 , 0x00);// PD0輸出低電平 }
IR_code_8 = 0;
//switch(IR_code_8)//{ //case /*00000*/101:SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);// 使能GPIOD端口
// GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE , GPIO_PIN_0);
// 設置PD0為輸入類型 //forword //
GPIOPinWrite(GPIO_PORTD_BASE , GPIO_PIN_0 , 0x00);// PD0輸出低電平 //case /*0000*/1101://back //case /*0000*/1000://left //case /*0000*/1010://right //case /*0000*/1001://stop //case /*000*/10100://level_1 //case /*000*/10101://level_2 //case /*000*/10110://level_3 //default : //} //IR_code_8 = 0;} } }
/**************************************************************** ** Function name: GPIO_PORT_F_ISR
消除中斷 不正 if(gap >=10 && gap <=20)//接收數(shù)據(jù)“1” { data = 1;code_flag = 1;} else if(gap >=2 && gap <=8)//接收數(shù)據(jù)“0” { data = 0;code_flag = 1;} else if(gap >=40 && gap <=50)//正常的其實高電平時間 { start_flag = 1;}
if(start_flag
&& //code_flag和start_flag均為1 { IR_code_32[i] = data;i++;
if(I >= 32){ IR_flag = 1;break;} } } } //} GPIOPinIntClear(IR_PORT,ulStatus);//-14 ** Descriptions: 延時100us ** input parameters: 無 ** output parameters: 無 ** Returned value: 無 ** Created by:
張偉杰
** Created Date: 2014.05.18 ****************************************************************/ void Delay_100_us(void){ unsigned ulValue;
SysTickPeriodSet(600);SysTickEnable();do { ulValue = SysTickValueGet();} while(ulValue > 0);
SysTickDisable();}
3.紅外探頭模塊
#include
/* 定義按鍵 */ #define KEY_PORT SYSCTL_PERIPH_GPIOG #define KEY_PIN GPIO_PORTG_BASE , GPIO_PIN_5 #define keyGet()GPIOPinRead(KEY_PIN)
#define IR_PORT SYSCTL_PERIPH_GPIOF #define IR_PIN GPIO_PORTF_BASE , GPIO_PIN_1
// 定義全局的系統(tǒng)時鐘變量
unsigned long TheSysClock = 12000000UL;unsigned IR_flag = 0;unsigned long IR_code_32[32];unsigned long IR_code_8 = 0;unsigned a;
int Time_Get();void Delay_100_us();
/**************************************************************** ** Function name: jtagWait ** Descriptions: 防止JTAG失效,KEY=PG5 ** input parameters: 無 ** output parameters: 無 ** Returned value: 無 ** Created by:
張偉杰
** Created Date: 2014.05.15 ****************************************************************/ void jtagWait(void){ SysCtlPeripheralEnable(KEY_PORT);/*
使能KEY所在的GPIO端口 */ GPIOPinTypeGPIOInput(KEY_PIN);/* 設置KEY所在管腳為輸入 */ if(keyGet()== 0x00){ /* 如果復位時按下KEY,則進入 */ for(;;);/* 死循環(huán),以等待JTAG連接 */ } SysCtlPeripheralDisable(KEY_PORT);/* 禁止KEY所在的GPIO端口 */ }
/**************************************************************** ** Function name: IR_Int_Init ** input parameters: 無 ** output parameters: 無 ** Returned value: 無 ** Created by:
張偉杰
** Created Date: 2014.05.18 ****************************************************************/ void IR_Int_Init(void){ SysCtlPeripheralEnable(IR_PORT);GPIOPinTypeGPIOInput(IR_PIN);GPIOIntTypeSet(IR_PIN,GPIO_LOW_LEVEL);GPIOPinIntEnable(IR_PIN);
IntEnable(INT_GPIOF);IntMasterEnable();}
-***3 SysTickPeriodSet(600);SysTickEnable();do { ulValue = SysTickValueGet();} while(ulValue > 0);
SysTickDisable();}
三、程序調(diào)試
調(diào)試PWM信號時,由于板上晶振為6Mhz,裝載值和匹配值最大為65535,可以設置出需要的周期和占空比。如
TimerLoadSet(TIMER0_BASE , TIMER_BOTH , 60000);TimerMatchSet(TIMER0_BASE , TIMER_A , 6000);則對應的周期為6Mhz / 60K = 100Hz,占空比為0.6K / 6K = 1/10。配置PWM前要先配置GPIO口,定義為PWM輸出,并選擇Timer的輸出模式為16位PWM,經(jīng)過三重配置才能正確輸出PWM信號。紅外接收器解碼過程重點是對紅外碼內(nèi)間隔時間的判斷。調(diào)試紅外碼時應當設當?shù)卦O置flag幫助多個判斷。當引導碼時間參數(shù)符合標準時flag1置1,接收到正確的紅外碼,進入下一步。當用戶碼每個間隔符合標準的時間間隔時flag2置1,表示該一位碼正確,進入一下步。當接收到32位數(shù)據(jù)后flag3置1,表示紅外碼結束,開始進行解碼。解碼部分用case語句進行判斷。紅外碼用數(shù)組儲存,使用的時候會方便一點。例如: for(a = 18;a < 26;a++){ IR_code_8 = IR_code_8 << 1 + IR_code_32[a];} 這樣就可以隨意獲取某幾位碼進行下一步操作。
四、小結
本次課內(nèi)實驗把我?guī)нM了ARM的領域,通過動手編程和小組討論,讓我對項-25
第二篇:智能小車跟隨系統(tǒng)的設計與制作分析
本科畢業(yè)論文(設計)
題目: 智能小車跟隨系統(tǒng)的設計與制作
學院: 物理與電子科學學院
班級:
姓名:
指導教師: 職稱:
完成日期: 年 月 日
智能小車跟隨系統(tǒng)的設計與制作
摘要:
現(xiàn)在,小車跟隨系統(tǒng)正處于研發(fā)與試用階段,它有著多方面的優(yōu)勢:一方面,充分利用現(xiàn)有的道路資源,有效緩解交通阻塞;另一方面,可以大幅提高駕駛的安全性,減少交通事故的發(fā)生。因而推廣和應用小車跟隨系統(tǒng)已經(jīng)成為解決交通問題的一個重要途徑。
本文的主要研究工作是設計和制作智能小車跟隨系統(tǒng),整個系統(tǒng)包括硬件及軟件兩個部分。硬件部分包括控制電路,藍牙通信電路,路徑循跡電路,電源驅動電路,電機驅動電路等。軟件部分主要包括通過編程使得小車按設定路徑實現(xiàn)前進,左拐,右拐,加速,減速,并在小車前進的過程中不斷調(diào)整小車所在位置等功能。
本文是以電動小車為基礎,增加紅外傳感器,藍牙等。利用傳感器來有效地確定小車前進路徑、小車所在位置等信息。單片機接收并處理傳感器所產(chǎn)生的信號并加以一定的算法來判斷兩個小車的狀態(tài)及其相互間距。最后通過藍牙來進行小車間的通信,從而控制兩個小車加、減速度來使得小車間距相對恒定。該智能小車跟隨系統(tǒng)能夠實現(xiàn)的功能有:自動循跡;保持車距;緊急停車等。
關鍵詞:智能小車跟隨系統(tǒng);藍牙通信;單片機;軟件設計
目 錄 引言..............................................................1 1.1 研究背景及意義..............................................1 1.2 智能車輛研究現(xiàn)狀............................................1 1.3 研究內(nèi)容....................................................1 2 功能分析..........................................................2 2.1 主控模塊....................................................2 2.2 循跡模塊....................................................3 2.3 電機驅動模塊................................................3 2.4 電源模塊....................................................3 2.5 通信模塊....................................................3 3 硬件設計..........................................................3 3.1 主控硬件設計................................................4 3.2 循跡硬件的設計..............................................4 3.3 驅動硬件設計................................................5 3.4 電源硬件設計................................................5 3.5 藍牙通信串口硬件設計........................................6 3.6 本章總結....................................................6 4 軟件的設計與實現(xiàn)..................................................6 4.1 概述........................................................6 4.2 軟件的結構設計..............................................7 4.3 主要模塊的實現(xiàn)..............................................8 4.3.1循跡流程圖.............................................8 4.3.2 電機驅動流程圖.........................................9 4.3.3 位置判斷流程圖........................................10 4.3.4 藍牙通信流程圖........................................11 4.4 本章小結...................................................11 5 系統(tǒng)功能測試.....................................................11 5.1 系統(tǒng)功能測試...............................................12 2 5.2 測試結果分析...............................................13 6 結論與展望.......................................................13 6.1 結論.......................................................13 6.2 展望.......................................................13 參考文獻...........................................................14 致謝...............................................................15
1 引言
1.1 研究背景及意義
隨著經(jīng)濟的快速發(fā)展,城市的人口不斷增加,從而城市的交通壓力也越來越大。在中國的一些大中型城市,由于嚴重的堵車問題,上、下班路途中所消耗的時間可能會長達數(shù)個小時。此外,近些年來,交通事故頻繁發(fā)生,這已經(jīng)危害到了許多人的生命和財產(chǎn)。因此,想要解決交通問題已經(jīng)不能僅僅依靠交通管理部門,更需要從科技的角度來解決這一問題。幸運的是,在最近幾年傳感器、單片機技術突飛猛進,受此影響,智能小車跟隨技術正在逐步從可能轉為現(xiàn)實。智能小車跟隨技術是指通過車載傳感系統(tǒng)感知道路環(huán)境,通過現(xiàn)代通信技術使車間進行通信,同時加以一定的算法分析,使得后車緊跟前車行駛。這一特點使得它具有如下優(yōu)點:首先,充分利用道路資源,減少堵車事件發(fā)生的概率。此外,它還能夠在行駛過程中探測可能發(fā)生危險事故,由于計算機有著比人腦更快的反應速度,從而能夠避免交通事故的發(fā)生。1.2 智能車輛研究現(xiàn)狀
智能車輛的發(fā)展過程可以分為以下三個階段:
第一階段:20世紀50年代。在這一時期,人們剛剛開始接觸研究智能車輛。盡管這一時期的智能小車系統(tǒng)僅能在一個固定的軌道上運行,自動化水平比較低,但已經(jīng)符合智能車輛的基本要求。
第二階段:80年代中后期。在這一階段,隨著計算機的應用與傳感器技術的不斷發(fā)展,智能車的研究有了較大的進展,尤其在一些發(fā)達國家,取得了巨大的進步,促使智能車輛不斷深入各個實用領域。
第三階段:90年代至今,智能車輛的研究取得了更快的發(fā)展。尤其是近些年來,隨著各個國家在智能車輛的研究之中投入的人力、財力不斷加大,智能小車的發(fā)展越來越快。如今,智能車輛已經(jīng)不僅僅局限于科學研究和工廠使用,它也不斷地走入了許多人的日常生活中。1.3 研究內(nèi)容
本設計是基本AT89S52單片機的,通過藍牙使兩個智能電動車相互通信來組成智能小車跟隨系統(tǒng)。設計的主要內(nèi)容是對電動車進行硬件電路與軟件的設計。其中硬件電路主要包括控制電路,藍牙通信電路,路徑循跡電路,電源驅動電路,電機驅動電路等。其中,AT89S52單片機作為每個小車的控制核心,控制著電動車的各個模塊正常工作,并通過編程使得小車按照預定路徑實現(xiàn)前進,左拐,右 1 拐,緊急停車,加速,減速等功能。
本設計是以電動小車為基礎,增加紅外傳感器,藍牙等。利用傳感器來有效地確定小車前進路徑、小車所在位置等信息。單片機接收并處理傳感器所產(chǎn)生的信號并加以一定的算法來判斷各個小車的狀態(tài)及其相互間距。最后通過藍牙來進行小車間的通信,從而控制各個小車加、減速度來使得小車間距相對恒定。
綜上所述,本設計中整個系統(tǒng)電路結構簡單,性能相對較高。主要采用如下技術:首先是選擇適當?shù)膫鞲衅?。利用傳感器來實時監(jiān)測小車位置并傳送給單片機,單片機根據(jù)傳感器所傳回的信息來控制小車的兩個電機運轉,實現(xiàn)循跡行走功能。其次,利用藍牙設備在兩個小車之間進行通信,由其中一個小車的單片機來判斷兩小車的相對位置,從而產(chǎn)生控制指令,來改變小車的行駛速度。2 功能分析
根據(jù)設計內(nèi)容的要求,采用基于單片機的控制方式,使用藍牙設備進行通信。圖2-1為系統(tǒng)框圖。
圖2-1 系統(tǒng)框圖
2.1 主控模塊
目前,具有人工智能的電子產(chǎn)品、設備通常采用的控制器都是單片機?,F(xiàn)在市場上的單片機廠商很多,單片機種類也不盡相同,功能更是各具特色。本文設計的是一個相對簡單的控制系統(tǒng),無需采用一些特殊功能的單片機。因此,根據(jù)實際條件,最終選擇在兩輛小車上各搭載一片ATMEL公司的AT89S52芯片作為每個小車的主控器件。圖2-2為AT89S52控制原理圖。
圖2-2 AT89S52控制原理圖
2.2 循跡模塊
循跡裝置類型選擇:采用集成QTI傳感器DM-S53401,它是一種通過光電接收管來探測其下表面反射光強度的傳感器。根據(jù)反射光強度的不同,從而導致傳感器輸出的變化。由于它的體積較小、具有日光過濾器,因而在小車中使用性能較好。
循跡硬件數(shù)目選擇:采用4路QTI傳感器循跡。在小車行駛過程中,根據(jù)軌道的設計,小車會遇到直行或左、右拐彎的路段,因而可以使用中間2路來判斷小車與直行道的相對位置,而用外側2路來判斷小車是否在拐彎路段。因此,4路循跡可以完成任務的要求,且設備數(shù)目最少。2.3 電機驅動模塊
電機選擇:采用直流伺服電機,它主要通過接收脈沖來運轉。相比于步進電機,直流伺服電機有著一定的優(yōu)勢:精度更高,克服了步進電機中的失步問題;高速性能好;抗過載能力強;運行穩(wěn)定;反應時間短;發(fā)熱和噪聲都有著明顯的降低。2.4 電源模塊
電源選擇:采用干電池組加移動電源共同供電,即在采用4節(jié)1.5V干電池通過穩(wěn)壓單元降至5V后給單片機及其他設備(如傳感器、電機等)供電的基礎上,增加一個移動電源同時供電。一方面,可以保證小車電壓穩(wěn)定,設備正常運行而不會斷電。另一方面,也不像蓄電池所占體積那么大,安裝相對容易。2.5 通信模塊
通信設備選擇:采用藍牙裝置進行通信。盡管相比紅外通信,它的成本相對較高。但其有著諸多特有的優(yōu)點:通信距離相對較長,一般在10米左右,且可以轉彎,不用對準。傳輸速度快,且可以加密,更加安全。3 硬件設計
3.1 主控硬件設計
對于每個小車而言,主控電路的核心器件為AT89S52單片機,通過此單片機來控制小車完成預計的功能。其中,小車的啟動、復位、斷電都需要手動開關來控制。由QTI循跡模塊組成的循跡電路進行實時監(jiān)測,不斷判斷小車的位置,并將檢測到的信息發(fā)回給單片機,單片機經(jīng)過運算后,發(fā)送PWM波給電機,從而控制小車速度、啟停、轉彎、直線行駛等。除此之外,兩個小車的單片機還都需要連接一個藍牙設備,用于在兩個單片機之間傳遞信息。系統(tǒng)框圖如圖3-1所示。
圖3-1 主控電路連接圖
3.2 循跡硬件的設計
由于本設計在循跡模塊中采用的是集成的QTI循跡模塊,故循跡裝置內(nèi)部電路無需再重新設計,僅需將集成的QTI循跡模塊正確連入AT89S52單片機中集可。具體電路連接圖見圖3-2。
圖3-2 QTI設備連接圖
3.3 驅動硬件設計
電機選擇:采用直流伺服電機。伺服電機具有如下特點:它在接收到一個PWM波形脈沖時就會旋轉一定的角度,通過不斷接收脈沖就可以使得小車持續(xù)運動。對于本設計所選用的電機而言,當接收到的脈沖是高電平持續(xù)時間為1.5ms而低電平持續(xù)時間是20ms時,電機不發(fā)生轉動;當?shù)碗娖綍r間保持不變,高電平持續(xù)時間越接近1.7ms時,電機順時針轉速越快,在1.7ms時,電機順時針旋轉速度達到最大;反之,高電平持續(xù)時間越接近1.3ms時,電機逆時針轉速越快,在1.3ms時,電機逆時針旋轉速度達到最大。
在小車運行過程中,單片機AT89S52通過P1.1和P1.2口發(fā)送脈沖波形來分別控制左右電機運轉,即將左右電機分別與P1.1和P1.2口相連即可。3.4 電源硬件設計
本系統(tǒng)中的單片機所需的供電電壓為+5V工作電壓,而電路板的設計是采用6-9V的直流電輸入,再通過穩(wěn)壓芯片來為單片機輸入5V的工作電壓。每節(jié)干電池所提供的電壓為1.5V,采用4節(jié)干電池串聯(lián)后可以得到直流電輸入口所要求的最小電壓6V。因此,選擇4節(jié)干電池串聯(lián)后接入單片機的供電口。此外,由 于干電池所供電壓并不穩(wěn)定,容易造成小車傳感器、藍牙等設備的掉電,從而影響小車的正常工作,故再額外通過USB-ISP線將輸出為5V的移動電源連接至小車的ISP下載口即可。3.5 藍牙通信串口硬件設計
本系統(tǒng)中兩輛小車需要在一定情況下進行通信,因而需要使用一個近距離的無線通信裝置。在本設計中,選用藍牙通信裝置HC-05來實現(xiàn)此功能。HC-05的引腳原理圖如如圖3-3所示。
圖3-3 藍牙引腳原理圖
此藍牙在配對成功后的使用方法與串口的使用方法一樣,故同樣是將藍牙接口TXD、RXD分別連至單片機的P3.0、P3.1口,VCC接高電平,GND接地即可正常使用。3.6 本章總結
本章主要分析了小車實現(xiàn)各個功能所需的硬件設備,硬件選擇,硬件設備連接等問題,主要包括主控硬件、循跡硬件、驅動硬件、電源硬件、藍牙硬件等,通過對硬件的分析與設計,為小車能正常運行做好的硬件方面的準備工作。4 軟件的設計與實現(xiàn) 4.1 概述 在基于單片機的系統(tǒng)設計中,除了要對系統(tǒng)硬件進行設計外,還要對系統(tǒng)的軟件進行設計。在本設計之中,大量的執(zhí)行工作需要對程序進行設計,這一工作對于系統(tǒng)而言尤為重要。
在編寫程序時,要注意一下幾點要求: 1.實時性,即軟件反應、執(zhí)行速度快。
2.程序簡練,即要求既要完成目標,又要以最簡潔的方式表述出來。3.程序的靈活性與可拓展性,即程序擁有較強的適應能力,在功能需要拓展時可以方便的修改。
4.可靠性,即在系統(tǒng)運行過程中因為軟件方面的故障而造成的系統(tǒng)錯誤盡可能的少。
此外,在用C語言進行程序設計時,具體步驟如下: 1.明確要求,確定軟件所要實現(xiàn)的功能。2.分析具體問題,建立數(shù)學模型。3.繪制出各個程序模塊的流程圖。
4.將各個程序組合在一起,構成一個完整的程序。最后,在程序設計的過程中,應注意一下幾點要求: 1.各個功能、模塊盡量層次化。2.存儲空間合理,節(jié)省內(nèi)存。
3.軟件流程要合理,軟件布局要清晰。4.2 軟件的結構設計
在本設計中,軟件的結構設計采用了模塊化的結構設計,將整個系統(tǒng)分成五大模塊,包括主程序模塊、循跡程序模塊、電機程序模塊、藍牙通信程序模塊、位置判斷程序模塊等,依次設計系統(tǒng)整體軟件結構和各個模塊的軟件結構,最后再將其匯總成為一個完整系統(tǒng)。系統(tǒng)的軟件結構圖如圖4-1所示。
圖4-1系統(tǒng)軟件結構圖
4.3 主要模塊的實現(xiàn) 4.3.1循跡流程圖
循跡流程圖如圖4-2所示。
圖4-2循跡流程圖
小車在啟動后會直接進入循跡路段,正常直行情況下,有且只有中間兩路QTI裝置(中左與中右)將能夠探測到黑線。而在執(zhí)行前進過程中,會因為一些因素而造成略微偏離軌道,此時,小車的中間兩路QTI裝置可能將會存在其中一路脫離黑線。此時,則應向單片機發(fā)出調(diào)整指令,改變小車的行駛狀態(tài),使其回歸黑線中央行駛。當小車來到拐彎路段時,外部兩個QTI裝置(左與右)將會探測到黑線,表明小車來到拐彎路段,則應向單片機發(fā)出調(diào)整指令,改變小車的行駛狀態(tài),使其完成拐彎任務。而當小車到達定位處時,四路QTI循跡裝置將全部探測到黑線,此時則應向單片機發(fā)出計數(shù)自加指令后使小車繼續(xù)向前行駛。4.3.2 電機驅動流程圖
電機驅動流程圖如4-3所示。
圖4-3電機驅動功能流程圖
在兩個小車進行通信時,按照預期,隨著兩個小車的位置變化,兩個小車的行駛速度也應該隨之變化。在此設計中,整個軌道共有8個定位點。對于小車A,速度變化是從檢測到定位點時開始的,所以小車A的驅動流程圖應從檢測到定位點開始。而對于小車B,速度變化是在中斷中產(chǎn)生的,所以小車B的驅動流程圖應從中斷中開始。此外,本設計的要求是使小車B跟隨小車A行駛,使得小車A 與小車B的距離始終保持在大約等于兩個定位點間的距離。因此,想要確定兩個小車的速度,首先要計算兩個小車距離。本設計是通過計算兩小車共檢測到的定位點數(shù)之差來判斷兩個小車的距離。當兩個小車所探測到的定位點數(shù)相差為1,表示兩車距離適中,驅動電機使兩車都快速行駛;當兩個小車探測到的定位點數(shù)相同,表示兩車距離過近,驅動電機使前車快速行駛而后車慢速行駛,從而拉大兩車間距;而當兩個小車所探測到的定位點數(shù)相差大于1,表示兩車距離過遠,驅動電機使前車慢速行駛而后車快速行駛,以此來縮短兩車距離。另外,前車發(fā)生故障時,應使得后車在與其距離過近時自動停車,防止出現(xiàn)兩車相撞的情況。4.3.3 位置判斷流程圖
位置判斷流程圖如圖4-4所示。
圖4-4 位置判斷流程圖
本設計中,兩個小車需要構成一個協(xié)作的系統(tǒng)平臺,因此,需要不斷地判斷自己的位置。在此設計中,在完整軌道中平均選擇了8個定位點,在小車途經(jīng)這8個定位點時,單片機選擇一個變量來計算小車在行駛過程中所經(jīng)過的總點數(shù),從而來大致判斷小車的所在位置。當計數(shù)達到8時,表示小車已經(jīng)運行了一整圈回到出發(fā)點,故計數(shù)清零。
軌道圖如圖4-5所示。
圖4-5 軌道圖
4.3.4 藍牙通信流程圖
在本設計中,兩個小車要通過相互協(xié)作來構成一個智能小車系統(tǒng),因此,在小車運行過程中,兩小車需要在必要的時刻相互通信并發(fā)送指令。在此系統(tǒng)中,小車A為整個系統(tǒng)的中樞,一切信息要在小車A的單片機中進行運算處理,再將控制命令由小車A發(fā)出。藍牙通信流程圖如圖4-6所示。
圖4-6 藍牙通信流程圖
4.4 本章小結
本章首先介紹了針對軟件設計的要求、過程等注意事項,然后系統(tǒng)的介紹了針對本設計的軟件結構各個模塊的設計方案、思路,并列出了各個主要模塊的設計流程圖。5 系統(tǒng)功能測試
在完成系統(tǒng)的設計與制作后,必須要對所設計的系統(tǒng)進行測試。通過測試,檢測需要單片機所完成的功能是否能夠實現(xiàn)。5.1 系統(tǒng)功能測試
測試過程中,首先依次對各個小車進行單獨的模塊功能測試,然后再進行整個系統(tǒng)的功能測試。即首先分別對小車A、小車B進行單獨循跡功能的測試,查看小車A、B的性能。然后再將小車A、B通過藍牙連接相互通信,測試整個系統(tǒng)的性能。
小車A循跡功能單獨測試,結果如表5-1所示。
表5-1 小車A循跡測試結果
第一圈 第二圈 第三圈 第四圈 第五圈 1 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 6 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成
卡頓
完成 完成 卡頓
完成 完成 完成
卡頓
完成 卡頓
小車B循跡功能單獨測試,結果如表5-2所示。
表5-2 小車B循跡測試結果
第一圈 第二圈 第三圈 第四圈 第五圈 1 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成
卡頓
完成 完成 完成 完成
系統(tǒng)性能測試,結果如表5-3所示。
表5-3 系統(tǒng)功能測試結果
第一圈 第二圈 第三圈 第四圈 第五圈
運行正常 運行正常
小車A在定位點3處連續(xù)探測到2次定位標志,造成出錯
運行正常 運行正常
5.2 測試結果分析
小車A在運行過程中,由于傳感器、電機等設備問題,有時會造成中途卡頓,導致小車無法正常運行,但總體結果基本正確,不影響實驗結果。
小車B與小車A相比,運行較為流暢,基本可以正常運行,很少會出現(xiàn)故障,達到預期目標。
在整個系統(tǒng)協(xié)調(diào)運行時,除了小車偶爾發(fā)生的卡頓意外,基本不會造成其他故障,基本可以達到預期的效果。
總體而言,主要是由于傳感器并不精確,在室內(nèi)光線、太陽光等燈光的影響下,偶爾會導致運行出現(xiàn)故障。但從整體來看,基本功能都可以正常實現(xiàn),不影響觀測結果,系統(tǒng)基本能夠正常運行。6 結論與展望 6.1 結論
在本設計中,A、B兩個小車的控制核心都選用的是AT89S52單片機,這使得小車具有較好的穩(wěn)定性和持續(xù)性。循跡裝置選擇的是體積小、功耗低、應用方便、集成度高的QTI傳感器DM-S53401。電機選擇的是兩輪獨立的直流伺服電機,通過控制兩個輪不同的轉速來改變方向。車間通信選擇的是藍牙通信裝置HC-05,它具有較高的可靠性,可以保證兩車順利的完成通信功能。
在小車運行的過程中,利用QTI傳感器來實時監(jiān)測小車的路面信息,單片機接收并處理傳感器監(jiān)測到的信號,將運動控制指令發(fā)送給電機,使得小車正常行駛。此外,兩個小車還通過藍牙裝置進行車間通信,并根據(jù)兩車的狀態(tài)調(diào)整小車的運動狀況。該系統(tǒng)最終能夠完成的功能有:循跡、變速、保持兩車間距穩(wěn)定、緊急停車。6.2 展望
本智能小車系統(tǒng)最主要的前景是運用到無人駕駛汽車上。一方面,可以通過小車系統(tǒng)的車間通信規(guī)劃行車路徑,充分利用現(xiàn)有的道路資源,提高道路利用率,減少堵車事件的發(fā)生;另一方面,還通過安裝各種傳感器感知路面狀況來避免交通事故的發(fā)生。參考文獻:
[1] 李建忠.單片機原理及應用.第二版,西安電子科技大學出版社,2008.2 [2] 李曉瑩.傳感器與測試技術.高等教育出版社,2005.1 [3] 禹帆.藍牙技術.清華大學出版社,2002年
[4] 楊代強.基于單片機的智能玩具電動車的設計與實現(xiàn).電子科技大學碩士論文,2012.11 [5] 高峰.單片微機應用系統(tǒng)設計及實用技術.北京:機械工業(yè)出版社,2004.4 [6] 劉彩虹.智能小車路徑跟蹤技術的研究.浙江大學碩士論文,2007.6 [7] 碰新榮.基于智能小車平臺的多車協(xié)作研究.上海交通大學碩士論文,2010.2 [8] 譚浩強.MCS-51單片機應用教程.清華大學出版社,2000.5 [9] V.Gradinescu, C.Gorgorin, R.Diaconescu, V.Cristea, L.Iftode.Adaptive traffic lights using car-to-car communication.IEEE Vehicular Technology Conference,2007 [10] Seki K.Applications of DSRC in Japan.ITS Center,Japan Automobile Research Institute,2002
致謝
歷時四個多月的本科畢業(yè)論文即將完成了,心中有著許多感慨。這幾個月來,從最初的選題、查找資料、撰寫開題報告、選擇零件設備、學習軟硬件的使用、測試、撰寫初稿、以及后期的論文修改,無時無處不存在盧教授的幫助和指導,這一幕幕都在我的腦海中留下了深深的印象,這讓我的心中有著無限的感激和感動。
由于考研復試占用了一定的設計論文的時間,所以在開始畢業(yè)設計的時侯時間已經(jīng)有點兒緊張。在回到學校開始做畢業(yè)設計的前兩個月,幾乎每天都呆在實驗室。在此,我非常感謝仝老師提供給我的實驗環(huán)境。如果沒有一個理想的實驗環(huán)境,我的論文和設計根本無法在短短的幾個月內(nèi)完成。
同時,在這一年里,我也查閱了不少的資料,這些資料使我的論文更加完整。所以,非常感謝大同大學圖書館,感謝參考文獻中的每一位作者。
最后,還要感謝我的同學、朋友在我做畢業(yè)設計時為我提供的幫助和支持!
第三篇:基于CMOS的智能小車視覺系統(tǒng)的設計
基于CMOS的智能小車視覺系統(tǒng)的設計
摘要:本文主要介紹了基于CMOS數(shù)字圖像攝像機在智能小車項目中構建視覺系統(tǒng)的應用。首先介紹了智能小車視覺監(jiān)控系統(tǒng)的硬件構成。再敘述了視覺圖像監(jiān)控軟件系統(tǒng),該軟件系統(tǒng)從功能上主要分成六個模塊,整個軟件系統(tǒng)通過六個模塊協(xié)調(diào)工作,共同完成任務。實驗表明,本文所敘述方案設計的有效性和正確性,并具備一定參考和實用價值。
關鍵詞:CMOS;視覺監(jiān)控系統(tǒng);障礙物識別
中圖分類號:S611文獻標識碼:A 文章編號:前言
智能小車,是一個集環(huán)境感知、規(guī)劃決策,自動行駛等功能于一體的綜合系統(tǒng)。智能小車對環(huán)境的感知能力要求智能小車具有環(huán)境感知傳感器,隨著機器視覺理論的發(fā)展以及視覺系統(tǒng)本身具有的優(yōu)勢,視覺傳感器己是最重要的選擇。
智能小車視覺系統(tǒng)的總任務是環(huán)境感知。視覺感知是利用圖像輸入系統(tǒng)加上圖像處理分析系統(tǒng)來完成的。而其最主要和最基本的功能就是視頻圖像的檢測識別和預警,即確定智能小車所觀察各種復雜環(huán)境中是否出現(xiàn)障礙物,并對其安全行駛起到輔助作用。
本文主要針對自主開發(fā)的智能小車,選用新型高集成度的硬件設備,配合以VC++模塊化程序設計的軟件系統(tǒng)進行視覺系統(tǒng)的開發(fā)。智能小車視覺系統(tǒng)硬件的構成2.1 智能小車視覺系統(tǒng)硬件設計思想
智能小車的視覺系統(tǒng)是要為智能小車開發(fā)具有類似人類視覺能力。
智能小車視覺系統(tǒng)是模仿人類的視覺系統(tǒng)進行搭建。是以計算機為中心,由視覺傳感器、圖像采集卡等構成。
2.2 硬件選用
根據(jù)智能小車的自身特點,要求其視覺系統(tǒng)平臺的搭建滿足體積小、重量輕、功耗小、高適應性、成像速度快、可靠傳輸性強、性價比高等特點。經(jīng)過綜合考慮本實驗選用MVC1000SA數(shù)字攝像機,并同時選配LM12JCM的光學鏡頭。
MVC1000SA 數(shù)字攝像機是由CMOS數(shù)字圖像傳感器芯片、芯片外圍電路及集成的顯示控制器的圖像采集卡構成。通過Gigabit Ethernet數(shù)字接口,連接于計算機的千兆網(wǎng)卡和計算機進行數(shù)據(jù)的通信。
2.3 其他配件
智能小車動力采用36V直流充電電瓶,MVC1000SA數(shù)字圖像攝像機使用12V直流供電。因此需要設計專門的攝像機供電電源。
在要求輸出電壓是固定標準值,且技術要求不是很高的穩(wěn)壓電源時,可選擇三端固定輸出電壓式集成穩(wěn)壓器,本次設計選擇W78XX系列集成穩(wěn)壓器得到正電壓的輸出。7812,7824.是常用的固定正輸出電壓的集成穩(wěn)壓器,輸出電壓分別為+24V和+12V,最大輸出電流為1A。它內(nèi)部含有限流保護、過熱保護和過壓保護電路,采用噪聲低、溫度漂移小的基準電壓源,工作穩(wěn)定可靠。
3智能小車視覺系統(tǒng)軟件設計
3.1 圖像處理顏色空間模型的建立
由攝像機獲取智能小車前方目標圖像,因彩色圖像能夠反映更多的空間信息,本系統(tǒng)采用HSI顏色空間模型進行圖像分析與識別,但由于COMS攝像機采集的圖像是RGB格式,所以需要把RGB模型轉換為HSI顏色模型,然后再進行相關的圖像處理??s短其響應時間,更有利于對智能小車的實時控制。兩者轉換公式如下:
3.2 軟件設計的主要功能模塊
智能小車視覺系統(tǒng),主要完成對小車行進時攝像機所拍攝到實時圖像的進行采集、實時顯示、圖像avi存儲及對視野內(nèi)是否有障礙物出現(xiàn)的進行分析判斷,對判斷出現(xiàn)的障礙物圖像信息進行圖片形式存儲以備后續(xù)的圖像分析使用。并將判斷結果傳送到智能小車控制總系統(tǒng)中,配合智能小車上安裝的紅外線測距傳感器、超聲波測距傳感器等多種傳感器進行信息分析處理,并依據(jù)對其處理結果對下位機發(fā)出指令,控制智能小車電機驅動器等執(zhí)行裝置,共同完成智能小車的避障。
(1)實時采集顯示模塊:
智能小車圖像實時采集在硬件上是通過攝像機完成的,將安裝在智能小車前端攝像機所拍攝到周圍環(huán)境的圖像傳輸顯示到視覺監(jiān)控軟件平臺上。在小車行駛過程中,這些圖像實時的反映了智能小車和周圍環(huán)境的關系。本模塊主要功能為打開設備,檢查設備是否正常連接;打開圖像實時采集,在軟件顯示屏上顯示實時圖像;可設置顯示幀率;關閉實時顯示,關閉設備,退出程序。
(2)障礙物判斷存圖模塊:
本模塊運行時打開判斷采集模式;可設置全屏模式障礙物識別;可設置區(qū)域模式障礙物識別;可設置判定障礙物的參數(shù);可設置存圖路徑及存圖格式。本實驗中根據(jù)智能小車運行的特點:無固定場景,無指定路線等。本文提出了在非固定場景復雜背景下選用適用于彩色分割的HSI顏色模型,利用了受周圍整體環(huán)境影響較小,但對視野內(nèi)障礙物變化較明顯的H分量對障礙物進行判斷預警,提高了對視野內(nèi)障礙物判斷的實時性。
(3)通信預警模塊:
智能小車視覺監(jiān)控軟件與上位機組態(tài)軟件共用一臺處理器,故處理器的性能將受到很大的制約。當障礙物判斷模塊判斷出障礙物出現(xiàn)時進行存圖。此時激發(fā)預警模塊,將存圖的數(shù)目顯示在監(jiān)控軟件工作狀態(tài)欄內(nèi)。同時把信息寫入可控日志中。上位機通過定時掃描讀取日志,獲取信息,完成軟件間的通訊。
(4)AVI圖像錄制模塊:
試驗中錄制的AVI文件中的數(shù)據(jù)流只包含視頻流。通過設置默認對實時捕捉的頻率為每秒15幀。通過錄制視頻對話框,及視頻文件保存對話框進行視頻保存設置。保存模塊采用MPEG-4基于對象的壓縮解碼技術進行智能小車運動過程視頻信息的保存。
(5)工作狀態(tài)顯示模塊:
在整個系統(tǒng)運行過程中需要隨時顯示采集狀態(tài)以及所連接設備的狀態(tài)等,這樣可以使用戶只需通過屏幕就可以了解系統(tǒng)狀態(tài),而不需要再分散注意力再去關注其它因素。本模塊顯示使用攝像機的硬件信息;顯示采集顯示狀態(tài);判斷存圖狀態(tài);顯示當前存圖數(shù)量。
(6)顯示圖像管理模塊:
顯示圖像管理模塊主要完成的是顯示參數(shù)的設置。主要完成白平衡調(diào)節(jié);圖像采集參數(shù)調(diào)節(jié);圖像顯示比例調(diào)節(jié)。
3.3 軟件界面設計分布
實驗軟件系統(tǒng)采用基于MFC文檔的模塊化程序設計。采用VC++來進行圖像編程的主要原因是,VC++在程序運行的效率、內(nèi)存使用的可控性和編程的靈活性上具有優(yōu)勢。圖像處理需要進行大量的圖像數(shù)據(jù)運算,經(jīng)常使用復雜、費時的算法,因此圖像處理程序的運行效率非常重要。VC++代碼被編譯成匯編語言,可以直接在處理器上運行,效率很高。
圖1 軟件界面結論
本文對智能小車視覺系統(tǒng)進行了硬件方面和軟件方面進行設計,由此可以得出如下結論:
1)運用MVC1000SA-GE30攝像機,利用其低能耗、高速處理能力且安裝操作簡單方便。
2)提出了在非固定場景復雜背景下選用適用于彩色分割的HSI顏色模型,利用變化較明顯的H分量對障礙物進行判斷預警,提高了對視野內(nèi)障礙物識別的實時性。
3)視覺監(jiān)控軟件系統(tǒng)基于Window,操作簡便,界面友好。
參考文獻:
[1]張廣軍.機器視覺[M].北京.科學出版社,2005.[2]??ǎ溃?圖像處理、分析[M].北京.清華大學出版社,2009.作者:林靜(1982-)碩士
注:文章內(nèi)所有公式及圖表請用PDF形式查看。
第四篇:智能小車設計報告
機器人控制技術
實驗設計報告書
題
目:基于STC89C52的智能小車的設計 姓
名:李如發(fā) 學
號:073321032 專
業(yè):電氣工程及其自動化 指導老師:李東京 設計時間:2010年 6 月
目
錄
1.引 言..............................................1 1.1.設計意義......................................1 1.2.系統(tǒng)功能要求..................................1 1.3.本組成員所做的工作............................1 2.方案設計...........................................1 3.硬件設計...........................................2 4.軟件設計...........................................7 5.系統(tǒng)調(diào)試...........................................7 6.設計總結...........................................8 7.附 錄A;源程序.....................................8 8.附 錄B;作品實物圖片...............................10 9.參考文獻..........................................11
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
基于STC89C52的智能小車的設計
1.引 言
1.1.設計意義
本智能小車的設計,首先針對大學所有學習的知識是一個很好的回顧和總結。此智能小車是基于單片機所設計的,具有自動尋跡能力,在實際的很多方面有應用。當我們進一步的改進機器人系統(tǒng)時,可實現(xiàn)更重要的功能,如可設計出自動撲火機器人等。1.2.系統(tǒng)功能要求
此智能小車是基于STC89C52設計的具有自動尋跡能力的小車。系統(tǒng)可實現(xiàn)跟隨黑色引導線行走的能力,在行駛過程中,并能用測速傳感器和光電碼盤對小車速度實現(xiàn)實時監(jiān)測。小車在行駛過程中并能實現(xiàn)播放美妙的音樂。1.3.本組成員所做的工作
本組成員有李如發(fā),汪航,黃建安,韓文龍,羅瑩,明菲菲,鄒珊,江銳,邵進。
李如發(fā):驅動 073321032 汪航: 電源 073522036 黃建安:最小統(tǒng) 073521013 韓文龍:源程序 073522007 羅瑩: 傳感器 073522038 明飛菲:調(diào)試 073522012 鄒芬 : 數(shù)碼顯示 073521025 邵琎 : 焊接 073522017 江銳 : 蜂鳴器 073522032
2.方案設計
智能小車主要分為傳感器部分,最小系統(tǒng)部分,電機驅動部分,電源部分。根據(jù)功能要求,提出合理的設計方案,畫出方案方框圖,并對系統(tǒng)工作原理進行闡述。
原理,本系統(tǒng)的重要部分是傳感器,它對整個小車的定位起到很重要的作用,由傳感器檢測黑線的位置,其中黑線對光能吸收,白線對光反射。利用此原
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
理將紅外線傳感器采集到的信號轉換為數(shù)字信號并送入單片機,單片機根據(jù)收到的信號實時的控制小車的方向??刂菩≤嚨姆较蛑饕沁\用pwm原理來控制電機的平均電壓,從而來控制電機的轉速,實現(xiàn)小車對黑線的實時跟蹤。
3.硬件設計
硬件設計各模塊電路圖及原理描述 傳感器模塊
方案1:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。
但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此我們考慮其他更加穩(wěn)定的方案。
方案2:用RPR220型光電對管。RPR220是一種一體化反射型光電探測器,其發(fā)射器是一個砷化鎵紅外發(fā)光二極管,而接收器是一個高靈敏度,硅平面光電三極管。
方案3:用紅外發(fā)射管和接收管自己制作光電對管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線,當發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測出黑線繼而輸出高電平。我們選擇了此方案。
傳感器是整個系統(tǒng)的眼睛,這部分主要運用紅外線傳感器采集信號送給單片機處理。由于黑色車道對紅外線傳感器發(fā)出的光有吸收能力,白色地方對發(fā)出的光反射,從而當傳感器在不同的地方產(chǎn)生不同的信號,傳送個單片機。單片機根據(jù)采集的信號做出實時的處理。
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
最小系統(tǒng)
最小系統(tǒng)是整個系統(tǒng)的心臟,我們采用的是AT89C52芯片。
80C52單片機是把那些作為控制應用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上[2]。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲器、程序存儲器、并行I/O口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結構依舊是CPU加上外圍芯片的傳統(tǒng)結構模式。但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。
驅動模塊
方案1:采用專用芯片L298N作為電機驅動芯片。L298N是一個具有高電壓大電流的全橋驅動芯片,它相應頻率高,一片L298N可以分別控制兩個直流
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
電機,而且還帶有控制使能端。用該芯片作為電機驅動,操作方便,穩(wěn)定性好,性能優(yōu)良。
方案2:對于直流電機用分立元件構成驅動電路。由分立元件構成電機驅動電路,結構簡單,價格低廉,在實際應用中應用廣泛。但是這種電路工作性能不夠穩(wěn)定。
因此我們選用了方案1。
由于最小系統(tǒng)和電機驅動部分的電壓幅值不一樣,而且電機是感性負載,在制動時可能反饋電流,因此要在最小系統(tǒng)和驅動模塊之間采用光電隔離,所以用到了光電隔離芯片,TPL521-4
由于光耦芯片的引腳不夠所以在之后采用了一片反相器74HCT14,反相器圖如下
L298是雙H橋高電壓大電流功率集成電路,直接采用TTL邏輯電平控制,可用來驅動繼電器、線圈、直流電動機、步進電動機等電感性負載。它的驅動電壓可達46V,直流電流總和可達4A。其內(nèi)部具有2個完全相同的PWM功率放大回路。由L298構成的PWM功率放大器的工作形式為單極可逆模式。12個H橋的下側橋晶體管發(fā)射極連在一起,其輸出腳(1和15)用來連接電流檢測電阻。第9腳接邏輯控制部分的電源,常用+5V,第4腳為電機驅動電源,本系統(tǒng)中為40V,第5,7,10,12腳輸入標準TTL邏輯電平,用來控制H橋的開和關,16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
第6,II腳則為使能控制端。當Vs=40V時,最高輸出電壓可達35V,連續(xù)電流可達2A。
L298可驅動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電動機,本實驗裝置我們選用驅動兩臺電動機。5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的停轉。電動 機的轉速由單片機調(diào)節(jié)PWM信號的占空比來實現(xiàn)。
L298驅動電路圖
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
PWM調(diào)速器的硬件組成
在整個PWM調(diào)速器中,CPU既是運算處理中心,又是控制中心,是最關鍵的器件。本系統(tǒng)中選用與MCS-51系列完全兼容的AT89C52單片機,它是一種低功耗、高性能、CMOS八位微處理器。片內(nèi)具有8K字節(jié)的在線可重復編程快擦快寫程序存儲器,128x8位內(nèi)部RAM,AT89C52可構成真正的單片機最小應用系統(tǒng),縮小系統(tǒng)體積,提高系統(tǒng)可靠性,降低系統(tǒng)成本。
電源模塊
電源中我們采用LM7805穩(wěn)壓芯片將12v直流電源穩(wěn)壓成5v直流源。方案1: 采用10節(jié)1.5V干電池供電,電壓達到15V,經(jīng)7812穩(wěn)壓后給支流電機供電,然后將12V電壓再次降壓、穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。但干電池電量有限,使用大量的干電池給系統(tǒng)調(diào)試帶來很大的不便,因此,我們放棄了這種方案。
方案2:采用3節(jié)4.2V可充電式鋰電池串聯(lián)共12.6V給直流電機供電,經(jīng)過7812的電壓變換后給支流電機供電,然后將12V電壓再次降壓、穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。鋰電池的電量比較足,并且可以充電,重復利用,因此,這種方案比較可行。但鋰電池的價格過于昂貴,使用鋰電池會大大超出我們的預算,因此,我們放棄了這種方案。
方案3:采用12V蓄電池為直流電機供電,將12V電壓降壓、穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。蓄電池具有較強的電流驅動能力以及穩(wěn)定的電壓輸出性能。雖然蓄電池的體積過于龐大,在小型電動車上使用極為不方便,但由于我們的車體設計時留出了足夠的空間,并且蓄電池的價格比較低。因此我們選擇了此方案。下:
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
4.軟件設計
程序流程圖
5.系統(tǒng)調(diào)試
本系統(tǒng)的設計是首先完成每一小部分的設計,因此我們在沒完成一個模塊時就回檢測調(diào)試該模塊。在初次調(diào)試時我們采用的電源是又單片機開發(fā)板所帶的的電源來調(diào)試的。調(diào)試過程中我們就發(fā)現(xiàn)了很重要的問題,由于對本設計的很多模塊的沒有共同的接地使得很多模塊無法工作,我們的解決辦法是12v的直流源穩(wěn)壓來供給所以的模塊,然后將所以的模塊連接共同的地。在驅動模塊的調(diào)試中發(fā)現(xiàn)當光耦芯片給定信號時對lm298的輸出沒有反應。我們在檢驗時發(fā)現(xiàn)是由于在光耦芯片后部焊接沒有焊好,出現(xiàn)了虛焊。在重新焊接好后,芯片正常工作。分
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
塊調(diào)試傳感器時,我們將傳感器導通,用黑色物體將傳感器發(fā)射部分蓋住檢測輸出,在將黑色物體移開,再檢測輸出。
6.設計總結
本文是關于基于單片機的智能小車的設計,在共同的努力下,各部分的設計均成功,在調(diào)試過程中都無誤。本次設計最終實現(xiàn)了直流電機的動態(tài)調(diào)壓,電源正常輸出供電,數(shù)碼管動態(tài)顯示數(shù)據(jù),蜂鳴器播放美妙的音樂,小車實現(xiàn)簡單的轉彎功能。由于本次設計中尚存在些缺陷和對尋跡程序編寫困難,實現(xiàn)的功能不是很完美,但要求的所有功能基本實現(xiàn)。
本次設計中,從中的體會很多
1、本次的設計可以說設計到大學所學到的所有專業(yè)知識,是對大學所學知識的一個整體的回顧。
2、在設計中,不能一氣呵成,因為所有的電路圖都是自己設計的,圖中尚存在不足,所以要反復的琢磨和修改。
3、設計中要注意對每焊完一部分,都要獨立的進行檢查調(diào)試,及時的發(fā)現(xiàn)錯誤,及時的修改
4、本次最重要的收獲是從中我們看到了團隊合作的重要性,任何事都不是一個人所能完成的,需要大家的共同努力才能獲得最后的成功。
7.附 錄A;源程序
源程序代碼(主要語句要有注釋)。循跡的程序 #include
sbit R=P2^0;//右邊傳感器 sbit L=P2^1;//左邊傳感器 sbit RM1=P1^1;sbit RM2=P1^2;//右邊電機 sbit LM1=P1^3;sbit LM2=P1^4;//左邊電機 void main(){
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
while(1)
{
if((L==1)&&(R==1))//小車前進 {
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
}
else if((L==1)&&(R==0))//小車右偏
{
RM1=1;
RM2=0;
LM1=0;
LM2=1;
//左邊的電機停止轉動,右邊的電機轉動,這樣就實現(xiàn)了左轉
delay(10);
}
else if((L==0)&&(R==1))//小車左偏
{
RM1=0;
RM2=1;
LM1=1;
LM2=0;
//右邊的電機停止轉動,左邊的電機轉動,這樣就實現(xiàn)了右轉
delay(10);}
else if((L==0)&&(R==0))//小車停車
{
RM1=0;
RM2=1;
LM1=0;
LM2=1;delay(5);
}
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
else
//左右兩個電機同時啟動,直線前進
{
RM1=1;
RM2=0;
LM1=1;
LM2=0;
}
}
delay(10);
}
void delay(uint z)
{
uint a,b;for(a=z;a>0;a--)for(b=120;b>0;b--);}
8.附 錄B;作品實物圖片
16×16點陣LED室內(nèi)電子顯示屏的設計
單片機原理及應用課程設計
9.參考文獻
[1] Mark Nelson著.瀟湘工作室譯.串行通信開發(fā)指南[M].中國水利水電出版社,2002.[2] 王宜懷.單片機原理及其嵌入式應用教程[M].北京希望電子出版社,2002.[3] 張毅剛.單片機原理及應用.高等教育出版社,2009 [4] 康華光.電子技術基礎(模擬部分).高等教育出版社.2006
第五篇:智能小車設計報告
智能小車設計報告
魏旭峰、孔凡明、陳夢洋
(河北科技大學 電氣信息學院)摘要:
AT89S52單片機是一款八位單片機,他的易用性和多功能性受到了廣大使用者的好評。該設計是結合科研項目而確定的設計類課題。本系統(tǒng)以設計題目的要求為目的,采用89S52單片機為控制核心,利用紅外線傳感器檢測道路上的黑線,控制電動小汽車的自動尋路,快慢速行駛。整個系統(tǒng)的電路結構簡單,可靠性能高。實驗測試結果滿足要求,本文著重介紹了該系統(tǒng)的硬件設計方法及測試結果分析。
采用的技術主要有:
通過編程來控制小車的速度及方向; 傳感器的有效應用; 1602液晶顯示的應用;
關鍵詞: 89S52單片機、光電檢測器、PWM調(diào)速、電動小車
第一章 方案設計與論證
一 供電系統(tǒng)
二 光電檢測系統(tǒng)
三 單片機最小應用系統(tǒng)設計
四 液晶顯示1602的應用
五 電機驅動
第二章 軟件設計
第二章 方案設計與論證
根據(jù)要求,小車應在規(guī)定的賽道上行駛,賽道中央黑線寬為25MM,確定如下方案: 在現(xiàn)有玩具電動車的基礎上,加裝光電檢測器,實現(xiàn)對電動車的位置的實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,然后由單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對電動車的轉向和速度的智能控制.這種方案能實現(xiàn)對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。
一 供電系統(tǒng)
本模塊使用LM2940芯片輸出+5V的電壓,為89S52單片機光電檢測電路供電,采用LM1117可控變壓芯片輸出+6V電壓為舵機供電.而電機則由單片機來控制,當單片機輸出的電壓不同時,電機的轉速不同,以此來達到控制小車速度的目的.電路如圖:
二 光電檢測系統(tǒng)
本模塊采用七對紅外線發(fā)射和接收對管,來檢測小車前方黑線位置和模擬車站停車位置.發(fā)射管發(fā)射管出紅外線,當對管正下方為白色跑道時,發(fā)射管發(fā)射出去的紅外線會被反射回來, 接收因接收到紅外線而導通,兩端電壓為零,當對管正下方為黑色線時,黑線將吸收紅外線,接收管因接收不到紅外線而無法導通,兩端電壓為+4V左右,將接收管端電壓與一個給定電壓經(jīng)LM324比較后輸出0和+5V兩固定個值,當對管正下方為白色時輸出+5V電壓,當對管正下方為黑線時輸出0V,輸出的電壓交給單片機,以此來確定黑線的位置.電路如圖:
三 單片機最小應用系統(tǒng)設計
89S52單片機是本系統(tǒng)的核心所在,自動尋跡和調(diào)速都是它控制, 七對光電對管經(jīng)比較器輸出的電壓輸入單片機,單片機根據(jù)電壓的高低來判斷黑線位置,進而調(diào)整速度和方向,電路如下:
四 舵機的應用
舵機是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前在高檔遙控玩具,如航模,包括飛機模型,潛艇模型;遙控機器人中已經(jīng)使用得比較普遍。舵機是一種俗稱,其實是一種伺服馬達。
其工作原理是:單片機放的控制信號由接收機的通道進入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。
舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms范圍內(nèi)的角度控制脈沖部分。
五 電機驅動
電機驅動電路是根據(jù)單片機的控制型號來控制電機的轉動的,電路如下:
第二章 軟件設計 #include
#define uchar unsigned char//宏定義 uchar duoj,dianj,time0=0,time1=0,L=0,e=30;void timer0()interrupt 1 //定時器零 控制舵機 { time0++;
if(time0==duoj)moto=0;if(time0==80){ time0=0;
moto=1;} TH0=(65536-313)/256;TL0=(65536-313)%256;} void timer1()interrupt 3 ///定時器一 控制電機 { time1++;if(time1==dianj)in1=1;if(time1==80){
time1=0;
in1=0;} TH1=(65536-340)/256;TL1=(65536-340)%256;}
void main()/////主函數(shù)開始 { TMOD=0x11;TH0=(65536-313)/256;TL0=(65536-313)%256;TH1=(65536-340)/256;TL1=(65536-340)%256;EA=1;ET0=1;
ET1=1;in1=0;moto=1;TR0=1;TR1=1;while(1)//////檢測黑線位置
{
while(1)
{
if(P1==0xff){duoj=8;dianj=55;break;} 全白時緩進
if(L1==0){duoj=10;dianj=37;L=1;break;} //L1
if(L7==0){duoj=6;dianj=37;L=7;break;} //L7
if(L2==0){duoj=10;dianj=22;L=2;break;} //L2
if(L6==0){duoj=6;dianj=22;L=6;break;} //L6
//
if(L3==0){duoj=9;dianj=27;L=3;break;} //L3
if(L5==0){duoj=7;dianj=27;L=5;break;}
//L5
if(L4==0){duoj=8;dianj=70;L=4;break;}
//l4
//else {duoj=8;dianj=17;break;}
}
while(P1==0xff)當檢測不到信號時保持最后的狀態(tài)
{
switch(L)
{
case 1:duoj=10;dianj=39;break;
case 2:duoj=10;dianj=22;break;
// case 3:duoj=9;dianj=25;break;
// case 4:duoj=8;dianj=70;break;
// case 5:duoj=7;dianj=25;break;
case 6:duoj=6;dianj=22;break;
case 7:duoj=6;dianj=39;break;
}
} } }////////主函數(shù)結束