基于ARM 的智能尋跡小車
《基于ARM 的智能尋跡小車》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于ARM 的智能尋跡小車(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 天津職業(yè)技術(shù)師范大學(xué) Tianjin University of Technology and Education 畢 業(yè) 設(shè) 計(jì) 專 業(yè): 班級(jí)學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 二○一二 年 六 月 天津職業(yè)技術(shù)師范大學(xué)本科生畢業(yè)設(shè)計(jì) 基于ARM的智能尋跡小車 The Design and Implem
2、entation of ARM-based Tracing Car 專業(yè)班級(jí): 學(xué)生姓名: 指導(dǎo)教師: 系 別: 2012年6月 摘 要 自動(dòng)尋跡車AGV (Automatic Guided Vehicle)是以微控制器為控制核心、蓄電池為動(dòng)力、裝有非接觸導(dǎo)引裝置的無(wú)人駕駛自動(dòng)導(dǎo)引運(yùn)載車,其自動(dòng)作業(yè)的基本功能是導(dǎo)向行駛、認(rèn)址停準(zhǔn)和移交載荷。作為當(dāng)代物流處理自動(dòng)化的有效手段和柔性制造系統(tǒng)的關(guān)鍵設(shè)備,AGV已經(jīng)得到了越來(lái)越廣泛的應(yīng)用,對(duì)AGV的研究也具有十分重要的理論意義和現(xiàn)實(shí)意義。 本文對(duì)基于A
3、RM的自動(dòng)尋跡小車進(jìn)行設(shè)計(jì),通過(guò)反射式光電傳感器ST198或ST188來(lái)檢測(cè)黑線,并把信號(hào)傳給微控制器,進(jìn)入相關(guān)控制程序,控制電機(jī)的轉(zhuǎn)向來(lái)尋跡;接近終點(diǎn)時(shí),檢測(cè)到黑線停止。本設(shè)計(jì)選取NXP(Philips公司)推出的基于ARM7TDMI核的ARM2132作為微控制器,以ZLG(周立功)的EasyARM2131為開(kāi)發(fā)板,選擇容易操作的SM-202A為步進(jìn)電機(jī)驅(qū)動(dòng)芯片,及驅(qū)動(dòng)力足夠大的直流電機(jī)作為驅(qū)動(dòng)器,電源由電池供給,組成一個(gè)完全獨(dú)立的基于ARM的尋跡小車系統(tǒng)。 本文在硬件設(shè)計(jì)的基礎(chǔ)上,介紹了ARM的編譯平臺(tái)ADS V1.2、Keil,仿真器平臺(tái)Protues 7.0等軟件系統(tǒng)。通過(guò)軟件和硬件
4、的相結(jié)合實(shí)現(xiàn)相應(yīng)功能。 關(guān)鍵詞:AGV;反射式光電傳感器;EasyARM2131;直流電機(jī) ABSTRACT AGV (Automatic Guided Vehicle) is the unmanned driver automatic guided vehicle; its control center is the microcontroller; its driving power is storage battery, and its basic function of automatic acti
5、on is guided driving, recognizing the address, stopping precisely and unloading. As the valid measure of contemporary logistics processing automation and the key equipment of flexible manufacture system, the AGV has already got more and more extensive application, so that the research on AGV has ver
6、y important theory meaning and realistic meaning. This article is based on the ARM target homing mark car; examines the heavy line through reflection type photoelectric sensor ST198 or ST188; passes to the signal the microprocessor; enters the dependent program; and controls the electrical machin
7、ery to change seeks the mark. The microprocessor is NXP (Philips Corporation) based on ARM7TDMI nucleus ARM2131, EasyARM2131 made by ZLG is chosen as the development board; SM-202A easy to operate is chosen as the step-by-steps motor-driven chip, the driving influence enough achievement step-by-ste
8、ps the electrical machinery; the power is sourced by the battery supplies; and the car system is made. It is introduced that ARM translation platform ADS V1.2, simulator platform Protues 7.0, and operation. The function is realized by hardware and software. Key word: AGV; Reflection type
9、 photoelectric sensor;EasyARM2131;DC motor I 目 錄 1 引言 1 2 ARM與智能車 2 2.1 ARM 2 2.2 智能車 7 2.2.1 AGV的主要系統(tǒng)構(gòu)成 8 2.2.2 AGV-AGV地面(上位)控制系統(tǒng) 9 2.2.3 AGV-AGV車載(單機(jī))控制系統(tǒng) 9 3 系統(tǒng)硬件設(shè)計(jì) 11 3.1 直流電機(jī)模塊 11 3.2 電源模塊 12 3.3 尋跡蔽障紅外對(duì)管模塊處 13 3.3.1 紅外對(duì)管的概述 13 3.3.2 紅外對(duì)管的應(yīng)用 13
10、3.3.3 紅外線接收頭 17 4 系統(tǒng)程序設(shè)計(jì) 21 4.1 主程序流程圖 21 4.2 模塊程序設(shè)計(jì)流程圖 22 4.2.1 尋跡模塊 22 4.2.2 避障模塊 22 5 系統(tǒng)調(diào)試 24 5.1 硬件調(diào)試 24 5.1.1 靜態(tài)調(diào)試 24 5.1.2 聯(lián)機(jī)調(diào)試 24 5.2 軟件調(diào)試 25 5.3 系統(tǒng)調(diào)試 25 結(jié) 論 27 參考文獻(xiàn) 28 致 謝 29 附錄I 電路原理圖 30 附錄II 控制源程序 31 天津職業(yè)技術(shù)師范大學(xué)2012屆本科生畢業(yè)設(shè)計(jì) 1 引言 自第一臺(tái)工業(yè)機(jī)器人誕生以來(lái),機(jī)器人的發(fā)展已經(jīng)遍及機(jī)械、電子
11、、冶金、交通、宇航、國(guó)防等領(lǐng)域。近年來(lái)機(jī)器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們?cè)诓粩嗵接?、改造、認(rèn)識(shí)自然的過(guò)程中,制造能替代人勞動(dòng)的機(jī)器一直是人類的夢(mèng)想。隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來(lái)越受人關(guān)注。全國(guó)電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國(guó)各高校也都很重視該題目的研究。本設(shè)計(jì)就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的準(zhǔn)備。本題目是結(jié)合科研項(xiàng)目而確定的設(shè)計(jì)類課題。設(shè)計(jì)的智能電動(dòng)小車具有自動(dòng)尋跡、避障功能。 智能車要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給小車一個(gè)視覺(jué)功能。避障控制系統(tǒng)是基于自動(dòng)導(dǎo)引小車(
12、AVG—auto-guide vehicle)系統(tǒng),基于它的智能小車實(shí)現(xiàn)自動(dòng)識(shí)別路線,判斷并自動(dòng)避開(kāi)障礙,選擇正確的行進(jìn)路線。使用傳感器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動(dòng)作。確定如下方案:在現(xiàn)有玩具電動(dòng)車的基礎(chǔ)上,加裝光電、紅外線、實(shí)現(xiàn)對(duì)電動(dòng)車的速度、位置、運(yùn)行狀況的實(shí)時(shí)測(cè)量,并將測(cè)量數(shù)據(jù)傳送至MCU(ARM)進(jìn)行處理,然后由MCU根據(jù)所檢測(cè)的各種數(shù)據(jù)實(shí)現(xiàn)對(duì)電動(dòng)車的智能控制。 該智能小車可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測(cè)部分、執(zhí)行部分、CPU。智能車要實(shí)現(xiàn)自動(dòng)避障功能,還可以擴(kuò)展循跡等功能,感知導(dǎo)引線和障礙物。可以實(shí)現(xiàn)小車自動(dòng)識(shí)別路線,選擇正確的行進(jìn)路線,并檢測(cè)
13、到障礙物自動(dòng)躲避?;谏鲜鲆?,傳感檢測(cè)部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價(jià)廉物美的紅外反射式傳感器來(lái)充當(dāng)。智能小車的執(zhí)行部分,是由直流電機(jī)來(lái)充當(dāng)?shù)?,主要控制小車的行進(jìn)方向和速度。MCU驅(qū)動(dòng)直流電機(jī)一般有兩種方案:第一,勿需占用ARM資源,直接選擇有PWM功能的MCU,這樣可以實(shí)現(xiàn)精確調(diào)速;第二,可以由軟件模擬PWM輸出調(diào)制,需要占用MCU資源,難以精確調(diào)速,但MCU選擇余地較大??紤]到實(shí)際情況,本文選擇第二種方案。MCU使用ARM Cortex-M3,配合軟件編程實(shí)現(xiàn)。本設(shè)計(jì)采用ARM Cortex-M系列中Cortex-M3
14、。以M3為控制核心,利用紅外線傳感器檢測(cè)道路上的障礙,控制電動(dòng)小汽車的自動(dòng)避障,以及自動(dòng)停車,并可以自動(dòng)記錄時(shí)間、里程和速度,自動(dòng)尋跡。 30 天津職業(yè)技術(shù)師范大學(xué)2012屆本科生畢業(yè)設(shè)計(jì) 2 ARM與智能車 2.1 ARM ARM處理器是世界上最流行的嵌入式處理器,廣泛應(yīng)用于個(gè)人通信等嵌入式領(lǐng)域。在嵌入式領(lǐng)域,8位處理器已經(jīng)不再勝任一些復(fù)雜的應(yīng)用,比如GUI,TCP/IP,F(xiàn)ILESYSTEM等,而ARM芯片憑借強(qiáng)大的處理能力和極低的功耗,非常適合這些場(chǎng)合。所以現(xiàn)在越來(lái)越多的公司在產(chǎn)品選型的時(shí)候考慮到使用ARM處理器,現(xiàn)在全世界嵌入式處理器的品種已經(jīng)超過(guò)1000多種,流行的體
15、系結(jié)構(gòu)多達(dá)30多個(gè),嵌入式處理器的尋址空間也從64KB到2GB不等,其處理速度可以從0.1MIPS~2000MIPS等。一般來(lái)說(shuō)可以把嵌入式處理器分成以下4類: MCU(Micro Controller Unit)嵌入式微控制器,如:?jiǎn)纹瑱C(jī)、ARM; MPU(Micro Processor Unit)嵌入式微處理器; 嵌入式DSP處理器(Digital Signal Processor); 嵌入式片上系統(tǒng)(SOC)。 8位的單片機(jī)將被ARM所取代,且ARM的優(yōu)勢(shì)也將趕上DSP。DSP的優(yōu)點(diǎn)在于其并行性和高速的乘法運(yùn)算性能,其主要應(yīng)用在通信、電機(jī)控制、圖象處理、
16、硬盤控制等領(lǐng)域。但是ARM9的處理速度已經(jīng)達(dá)到了1.1MIPS/MHz,時(shí)鐘可以達(dá)到233MHz。而新出的ARM10可以達(dá)到700MHz。在處理速度上已經(jīng)可以和DSP抗衡了。在開(kāi)發(fā)成本上,ARM遠(yuǎn)遠(yuǎn)低于DSP。在生產(chǎn)成本上,ARM的價(jià)格也低于DSP。在開(kāi)發(fā)難度上ARM低于DSP,因?yàn)?ARM的編程要靈活得多。在接口上,許多ARM芯片都內(nèi)置了多個(gè)USB口、串口。有些還內(nèi)置了集成音頻接口和LCD控制器(可以達(dá)到彩色)。有些ARM芯片有PWM輸出,可以取代DSP在電機(jī)控制等方面的應(yīng)用。有些ARM還具備實(shí)時(shí)鐘功能[1]。Altera出了內(nèi)置FPGA的ARM,這可以取代DSP在通信方面的應(yīng)用。有些ARM
17、內(nèi)置DMA控制器,可以取代DSP在硬盤行業(yè)的地位。連通信行業(yè)在國(guó)內(nèi)占領(lǐng)先地位的華為和中興都已經(jīng)購(gòu)買ARM核了??梢?jiàn)ARM在DSP的傳統(tǒng)行業(yè)已經(jīng)是步步為贏了。 本系統(tǒng)采用意法半導(dǎo)體(ST)公司的STM32系列微處理器。STM32系列32位閃存微控制器使用來(lái)自ARM公司具有突破性的Cortex-M3內(nèi)核,該內(nèi)核是專門設(shè)計(jì)與滿足集高性能、低功耗、實(shí)時(shí)應(yīng)用、具有競(jìng)爭(zhēng)性價(jià)格于一體的嵌入式領(lǐng)域的要求。 STM32系列微控制器采用32位的ARM Cortex-M3內(nèi)核,主要特點(diǎn)如下: (1) 最高工作頻率為72MHz; (2) 具有單周期硬件乘法器和除法器; (3) 32K
18、b~128Kb閃存程序存儲(chǔ)器,6Kb至20Kb的SRAM; (4) 多重自舉功能; (5) 2.0至3.6伏供電和I/O管腳; (6) 上電/斷電復(fù)位(POR/PDR )、可編程電壓監(jiān)測(cè)器(PVD)、掉電監(jiān)測(cè)器; (7) 內(nèi)嵌4~16MHz高速晶體振蕩器; (8) 內(nèi)嵌經(jīng)出廠調(diào)校的8MHz的RC振蕩器; (9) 內(nèi)嵌40KHz的RC振蕩器; (10) 內(nèi)嵌PLL為CPU提供時(shí)鐘; (11) 2個(gè)12位模數(shù)轉(zhuǎn)換器,1μs轉(zhuǎn)換時(shí)間(16通道); (12) 串行線調(diào)試(SW
19、D)和JTAG接口; (13) 7通道DMA控制器,支持的外設(shè):定時(shí)器、ADC、 SPI、I2C和USART; (14) 所有I/O口可以映像到16個(gè)外部中斷。 STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3內(nèi)核。按性能分成兩個(gè)不同的系列:STM32F103“增強(qiáng)型”系列和STM32F101“基本型”系列。增強(qiáng)型系列時(shí)鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時(shí)鐘頻率為36MHz,以16位產(chǎn)品的價(jià)格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個(gè)系列都內(nèi)置32K到128K的閃存,不同的
20、是SRAM的最大容量和外設(shè)接口的組合。時(shí)鐘頻率72MHz時(shí),從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,相當(dāng)于0.5mA/MHz。 STM32F101xC、STM32F101xD和STM32F101xE基本型系列使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為36MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)512K字節(jié)的閃存和48K字節(jié)的SRAM),豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè)。所有型號(hào)的器件都包含1個(gè)12位的ADC、4個(gè)通用16位定時(shí)器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:多達(dá)2個(gè)I2C接口、3個(gè)SPI接口、和5個(gè)USART接口。 STM32
21、F101xx大容量基本型系列工作于-40℃至+85℃的溫度范圍,供電電壓2.0V至3.6V,一系列的省電模式保證低功耗應(yīng)用的要求。 STM32F101xx大容量基本型系列產(chǎn)品提供包括從64腳至144腳的3種不同封裝形式;根據(jù)不同的封裝形式,器件中的外設(shè)配置不盡相同。下面給出了該系列產(chǎn)品中所有外設(shè)的基本介紹。 STM32的整體結(jié)構(gòu)框圖如圖2-1。 圖2-1整體結(jié)構(gòu)框圖 本系統(tǒng)使用的Cortex-M3是一個(gè)32位的內(nèi)核,在傳統(tǒng)的單片機(jī)領(lǐng)域中,有一些不同于通用32位CPU應(yīng)用的要求。 它的優(yōu)勢(shì)有: 1、先進(jìn)的內(nèi)核結(jié)構(gòu):ARM最新的、架構(gòu)先進(jìn)的Cortex-M3內(nèi)核; 2、優(yōu)秀
22、的功耗控制:高效率的動(dòng)態(tài)耗電機(jī)制;性能出眾而且功能創(chuàng)新的片上外設(shè); 3、高度的集成整合:電源監(jiān)控器、上電復(fù)位等; STM32固件函數(shù)庫(kù); 主要模塊包括時(shí)鐘發(fā)生器、實(shí)時(shí)時(shí)鐘RTC、中斷、DMA控制器、A/D轉(zhuǎn)換器、TIM定時(shí)器、USART模塊等。這里重點(diǎn)介紹復(fù)位和時(shí)鐘控制模塊、內(nèi)置“看門狗”模塊。 STM32共有3種形式的復(fù)位:系統(tǒng)復(fù)位、電源復(fù)位和備份區(qū)復(fù)位。 系統(tǒng)復(fù)位將復(fù)位除時(shí)鐘控制寄存器(CSR)中的復(fù)位標(biāo)志和備份區(qū)域的寄存器外所有的寄存器。通常,系統(tǒng)復(fù)位由外部復(fù)位、看門狗復(fù)位、軟件復(fù)位和低功耗管理復(fù)位信號(hào)觸發(fā)。電源復(fù)位由上電/掉電復(fù)位(POR/PDR復(fù)位)觸發(fā)。發(fā)生電源復(fù)位后,
23、除備份區(qū)域外的所有寄存器均復(fù)位。 備份區(qū)域由主電源和備用電池供電。當(dāng)供電正常時(shí),備份區(qū)域僅由其控制寄存器(RCC_BDCR)的BDRST位觸發(fā)軟件復(fù)位。當(dāng)主電源和備用電池均不供電時(shí),其中一個(gè)電源的突然上電也會(huì)引起備份區(qū)域的復(fù)位。STM32的系統(tǒng)時(shí)鐘可來(lái)自3個(gè)不同的時(shí)鐘源:HIS振蕩器時(shí)鐘、HSE振蕩器時(shí)鐘、PLL時(shí)鐘。每個(gè)時(shí)鐘源都可以在不需要時(shí)關(guān)閉,以降低系統(tǒng)整體功耗。外部設(shè)備還具有下面兩個(gè)二級(jí)時(shí)鐘源: 32kHz的低速內(nèi)部RC振蕩器(LSI_RC)用來(lái)驅(qū)動(dòng)獨(dú)立的看門狗和選擇性的驅(qū)動(dòng)用于從停止/待機(jī)模式自動(dòng)喚醒的RTC; 32.768kHz的低速外部晶振(LSE)來(lái)選擇性驅(qū)動(dòng)實(shí)時(shí)時(shí)鐘RT
24、C。 HSE時(shí)鐘為高速外部時(shí)鐘信號(hào),既可以通過(guò)控制器的OSC_IN和OSC_OUT引腳跨接4~ 16MHz的無(wú)源晶體振蕩器,也可以只通過(guò)OSC_IN接入一個(gè)最高為25MHz占空比為50%的外部時(shí)鐘信號(hào)。HSE是否穩(wěn)定靠時(shí)鐘控制寄存器(RCC_CR)中的HSERDY標(biāo)志位指示。啟動(dòng)時(shí),時(shí)鐘直至硬件置位該位后才能釋放。HSE振蕩器也可以通過(guò)控制寄存器RCC_CR中的HSEON位來(lái)打開(kāi)或禁用。 HIS時(shí)鐘信號(hào)由控制器內(nèi)部的RC振蕩產(chǎn)生,頻率為8MHz,既可作為系統(tǒng)時(shí)鐘,也可以2分頻后作為PLL的輸入。HIS時(shí)鐘不需要任何外圍器件即可實(shí)現(xiàn),不過(guò)其頻率精度較低,需要校驗(yàn)。系統(tǒng)復(fù)位后,出廠的校驗(yàn)值會(huì)裝
25、載到時(shí)鐘控制寄存器(RCC_CR )的HSICAL[7:0]位中。與HSE類似,HIS在RCC_CR寄存器中也有HISRDY標(biāo)志位指示其是否穩(wěn)定。同時(shí),也有HISON位來(lái)控制HIS的打開(kāi)或禁用。微控制器的內(nèi)部有PLL可將HIS時(shí)鐘或HSE時(shí)鐘倍頻。PLL在使用前必須配置好,當(dāng)PLL啟動(dòng)之后,配置好的參數(shù)將不能被修改。 LSE振蕩器是一個(gè)32.768kHz的低速外部晶體,它是實(shí)時(shí)時(shí)鐘的高精度專用時(shí)鐘源。通過(guò)設(shè)置備份區(qū)域控制寄存器(RCC BDCR)的 LSEON位可以打開(kāi)或禁用LSE。同時(shí),在RCC _BDCR寄存器中也有LSERDY標(biāo)志可以指示LSE晶體是否穩(wěn)定。LSI RC振蕩器是一個(gè)低功
26、耗的時(shí)鐘源,可以為獨(dú)立看門狗(IWDG)和自動(dòng)喚醒單元(AWU)運(yùn)行在停止和待機(jī)模式時(shí)提供時(shí)鐘。它可以通過(guò)設(shè)置控制/狀態(tài)寄存器(RCC_CSR)的LSION位來(lái)打開(kāi)或者禁用。與LSE類似,RCC_CSR寄存器中也有一個(gè)LSIRDY位指示LSI是否穩(wěn)定。系統(tǒng)復(fù)位后,HIS振蕩器被選擇為系統(tǒng)時(shí)鐘。更改系統(tǒng)時(shí)鐘的選擇必須遵循“先設(shè)置,后切換”的原則,即當(dāng)一個(gè)時(shí)鐘被選擇為系統(tǒng)時(shí)鐘時(shí),它必須處于準(zhǔn)備好的狀態(tài)。如果尚未準(zhǔn)備好,那么切換必須等待時(shí)鐘準(zhǔn)備好才能進(jìn)行。 STM32處理器內(nèi)置2個(gè)看門狗,這兩個(gè)看門狗(獨(dú)立看門狗和窗口看門狗)可用來(lái)檢測(cè)和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定的超時(shí)值時(shí),觸發(fā)一
27、個(gè)中斷或產(chǎn)生系統(tǒng)復(fù)位。 兩者適用情況:獨(dú)立看門狗(IWDG)最適合應(yīng)用于那些需要看門狗作為一個(gè)在主程序之外,能夠完全獨(dú)立工作,并且對(duì)時(shí)間精度要求較低的場(chǎng)合。窗口看門狗(WWDG)最適合那些要求看門狗在精確計(jì)時(shí)窗口起作用的應(yīng)用程序。 1、獨(dú)立看門狗(IWDG) 獨(dú)立看門狗(IWDG)由專用的32kHz的低速時(shí)鐘為驅(qū)動(dòng);因此,即使主時(shí)鐘發(fā)生故障它也仍然有效。窗口看門狗由從APB1時(shí)鐘分頻后得到的時(shí)鐘驅(qū)動(dòng),通過(guò)可配置的時(shí)間窗口來(lái)檢測(cè)應(yīng)用程序非正常的過(guò)遲或過(guò)早的行為。 在鍵寄存器(IWDG_KR)中寫(xiě)入0xCCCC,開(kāi)始啟用獨(dú)立看門狗;此時(shí)計(jì)數(shù)器開(kāi)始從其復(fù)位值0xFFF 遞減計(jì)數(shù)。當(dāng)計(jì)數(shù)器計(jì)數(shù)
28、到末尾0x000 時(shí),會(huì)產(chǎn)生一個(gè)復(fù)位信號(hào)(IWDG_RESET)。無(wú)論何時(shí),只要鍵寄存器IWDG_KR 中被寫(xiě)入0xAAAA, IWDG_RLR中的值就會(huì)被重新加載到計(jì)數(shù)器中從而避免產(chǎn)生看門狗復(fù)位。 2、窗口看門狗(WWDG) 窗口看門狗通常被用來(lái)監(jiān)測(cè)由外部干擾或不可預(yù)見(jiàn)的邏輯條件造成的應(yīng)用程序背離正常的運(yùn)行序列而產(chǎn)生的軟件故障。除非遞減計(jì)數(shù)器的值在T6 位變成0 前被刷新,此看門狗電路在達(dá)到可編程的時(shí)間周期時(shí),會(huì)產(chǎn)生一個(gè)MCU 復(fù)位。在遞減計(jì)數(shù)器達(dá)到窗口寄存器值之前,如果遞減計(jì)數(shù)器值的第7 位(在控制寄存器中)被刷新, 那么也將產(chǎn)生一個(gè)MCU 復(fù)位。這表明遞減計(jì)數(shù)器需要在一個(gè)有限的窗口中
29、被刷新。 主要特性: ● 可編程的自動(dòng)運(yùn)行遞減計(jì)數(shù)器 ● 條件復(fù)位 ? 當(dāng)遞減計(jì)數(shù)器的值小于 0x40,(若看門狗被啟動(dòng))則產(chǎn)生復(fù)位。 ? 當(dāng)遞減計(jì)數(shù)器在窗口外被重新裝載,(若看門狗被啟動(dòng))則產(chǎn)生復(fù)位。 ● 如果啟動(dòng)了看門狗,且允許中斷,當(dāng)遞減計(jì)數(shù)器等于0x40 時(shí)產(chǎn)生早期喚醒中斷(EWI),它可以被用于重裝載計(jì)數(shù)器以避免WWDG 復(fù)位。 功能: 如果看門狗被啟動(dòng)(WWDG_CR 寄存器中的WDGA 位被置1),并且當(dāng)7 位(T[6:0])遞減計(jì)數(shù)器從0x40 翻轉(zhuǎn)到0x3F(T6 位清零)時(shí),則產(chǎn)生一個(gè)復(fù)位。如果軟件在計(jì)數(shù)器值大于窗口寄存器中的值時(shí)重新裝載計(jì)數(shù)器,將產(chǎn)生一個(gè)復(fù)
30、位。正常情況下,WWDG從設(shè)置的計(jì)數(shù)值遞減到窗口寄存器的值(這個(gè)要被儲(chǔ)存在WWDG_CR 寄存器中的值必須在0xFF 和0xC0 之間)時(shí),會(huì)產(chǎn)生一個(gè)中斷,應(yīng)在中斷程序中對(duì)WWDG_CR寄存器進(jìn)行寫(xiě)操作,以防止MCU發(fā)生復(fù)位[2]。 圖2-2智能小車整體設(shè)計(jì)結(jié)構(gòu) 2.2 智能車 AGV(Automated Guided Vehicles)又名自動(dòng)導(dǎo)航車,無(wú)人搬運(yùn)車,激光導(dǎo)航車。最早出現(xiàn)與20世紀(jì)70年代。指裝備有電磁或光學(xué)等自動(dòng)導(dǎo)引裝置,能夠沿規(guī)定的導(dǎo)引路徑行駛,具有安全保護(hù)以及各種移載功能的運(yùn)輸車,其顯著特點(diǎn)的是無(wú)人駕駛,AGV上裝備有自動(dòng)導(dǎo)
31、向系統(tǒng),可以保障系統(tǒng)在不需要人工引航的情況下就能夠沿預(yù)定的路線自動(dòng)行駛,將貨物或物料自動(dòng)從起始點(diǎn)運(yùn)送到目的地。一般可透過(guò)電腦來(lái)控制其行進(jìn)路線以及行為,或利用電磁軌道(electromagnetic path-following system)來(lái)設(shè)立其行進(jìn)路線,電磁軌道粘貼于地板上,無(wú)人搬運(yùn)車則依循電磁軌道所帶來(lái)的信號(hào)進(jìn)行移動(dòng)與動(dòng)作。目前,在企業(yè)的物流系統(tǒng)和離散制造的裝配系統(tǒng)中已經(jīng)起著非常重要的作用。它以電池為動(dòng)力,裝備有電磁或光學(xué)等自動(dòng)導(dǎo)航裝置,能夠獨(dú)立自動(dòng)尋址,并通過(guò)計(jì)算機(jī)系統(tǒng)控制完成無(wú)人駕駛及作業(yè)[3]。 圖2-3 AGV基本組成架構(gòu) 2.2.1 AGV的主要系統(tǒng)構(gòu)成 A
32、GV系統(tǒng)的控制是通過(guò)物流上位調(diào)度系統(tǒng)、AGV地面控制系統(tǒng)及AGV車載控制系統(tǒng)三者之間的相互協(xié)作完成的,AGV系統(tǒng)的硬件結(jié)構(gòu)和AGV系統(tǒng)的軟件結(jié)構(gòu)曾有國(guó)外專家對(duì)AGV控制系統(tǒng)需解決的主要問(wèn)題做了恰當(dāng)?shù)谋扔鳎篧here am I? (我在哪里?)Where am I going?(我要去哪里?) How can I get there?(我怎么去?),這三個(gè)問(wèn)題歸納起來(lái)分別就是AGV控制系統(tǒng)中的三個(gè)主要技術(shù):AGV的導(dǎo)航(Navigation),AGV的路徑規(guī)劃(Layout designing),AGV的導(dǎo)引控制(Guidance)。為了能夠解決好這些問(wèn)題,AGV系統(tǒng)的構(gòu)成也必然復(fù)雜: AGV
33、控制系統(tǒng)分為地面(上位)控制系統(tǒng)、車載(單機(jī))控制系統(tǒng)及導(dǎo)航/導(dǎo)引系統(tǒng),其中,地面控制系統(tǒng)指AGV系統(tǒng)的固定設(shè)備,主要負(fù)責(zé)任務(wù)分配,車輛調(diào)度,路徑(線)管理,交通管理,自動(dòng)充電等功能;車載控制系統(tǒng)在收到上位系統(tǒng)的指令后,負(fù)責(zé)AGV的導(dǎo)航計(jì)算,導(dǎo)引實(shí)現(xiàn),車輛行走,裝卸操作等功能;導(dǎo)航/導(dǎo)引系統(tǒng)為AGV單機(jī)提供系統(tǒng)絕對(duì)或相對(duì)位置及航向。 AGV系統(tǒng)是一套復(fù)雜的控制系統(tǒng),加之不同項(xiàng)目對(duì)系統(tǒng)的要求不同,更增加了系統(tǒng)的復(fù)雜性,因此,系統(tǒng)在軟件配置上設(shè)計(jì)了一套支持AGV項(xiàng)目從路徑規(guī)劃、流程設(shè)計(jì)、系統(tǒng)仿真(Simulation)到項(xiàng)目實(shí)施全過(guò)程的解決方案。上位系統(tǒng)提供了可靈活定義AGV系統(tǒng)流程的工具,可
34、根據(jù)用戶的實(shí)際需求來(lái)規(guī)劃或修改路徑或系統(tǒng)流程;而下位系統(tǒng)也提供了可供用戶定義不同AGV功能的編程語(yǔ)言。 2.2.2 AGV-AGV地面(上位)控制系統(tǒng) AGV地面控制系統(tǒng)(Stationary System)即AGV上位控制系統(tǒng),是AGV系統(tǒng)的核心。其主要功能是對(duì)AGV系統(tǒng)(AGVS)中的多臺(tái)AGV單機(jī)進(jìn)行任務(wù)分配,車輛管理,交通管理,通訊管理等[4]。 任務(wù)管理:任務(wù)管理類似計(jì)算機(jī)操作系統(tǒng)的進(jìn)程管理,它提供對(duì)AGV地面控制程序的解釋執(zhí)行環(huán)境;提供根據(jù)任務(wù)優(yōu)先級(jí)和啟動(dòng)時(shí)間的調(diào)度運(yùn)行;提供對(duì)任務(wù)的各種操作如啟動(dòng)、停止、取消等。 車輛管理:車輛管理是AGV管理的核心模塊,它根據(jù)物料搬運(yùn)
35、任務(wù)的請(qǐng)求,分配調(diào)度AGV執(zhí)行任務(wù),根據(jù)AGV行走時(shí)間最短原則,計(jì)算AGV的最短行走路徑,并控制指揮AGV的行走過(guò)程,及時(shí)下達(dá)裝卸貨和充電命令。 交通管理:根據(jù)AGV的物理尺寸大小、運(yùn)行狀態(tài)和路徑狀況,提供AGV互相自動(dòng)避讓的措施,同時(shí)避免車輛互相等待的死鎖方法和出現(xiàn)死鎖的解除方法;AGV的交通管理主要有行走段分配和死鎖報(bào)告功能。 通訊管理:通信管理提供AGV地面控制系統(tǒng)與AGV單機(jī)、地面監(jiān)控系統(tǒng)、地面IO設(shè)備、車輛仿真系統(tǒng)及上位計(jì)算機(jī)的通信功能。和AGV間的通信使用無(wú)線電通信方式,需要建立一個(gè)無(wú)線網(wǎng)絡(luò),AGV只和地面系統(tǒng)進(jìn)行雙向通信,AGV間不進(jìn)行通信,地面控制系統(tǒng)采用輪詢方式和多臺(tái)
36、AGV通信;與地面監(jiān)控系統(tǒng)、車輛仿真系統(tǒng)、上位計(jì)算機(jī)的通信使用TCP/IP通信。 車輛驅(qū)動(dòng):小車驅(qū)動(dòng)負(fù)責(zé)AGV狀態(tài)的采集,并向交通管理發(fā)出行走段的允許請(qǐng)求,同時(shí)把確認(rèn)段下發(fā)AGV[5]。 2.2.3 AGV-AGV車載(單機(jī))控制系統(tǒng) AGV車載控制系統(tǒng)(Onboard System),即AGV單機(jī)控制系統(tǒng),在收到上位系統(tǒng)的指令后,負(fù)責(zé)AGV單機(jī)的導(dǎo)航,導(dǎo)引,路徑選擇,車輛驅(qū)動(dòng),裝卸操作等功能。 導(dǎo)航(Navigation):AGV單機(jī)通過(guò)自身裝備的導(dǎo)航器件測(cè)量并計(jì)算出所在全局坐標(biāo)中的位置和航向。 導(dǎo)引(Guidance):AGV單機(jī)根據(jù)目前的位置、航向及預(yù)先設(shè)定的理論軌跡來(lái)
37、計(jì)算下個(gè)周期的速度值和轉(zhuǎn)向角度值即,AGV運(yùn)動(dòng)的命令值。 路徑選擇(Searching):AGV單機(jī)根據(jù)上位系統(tǒng)的指令,通過(guò)計(jì)算,預(yù)先選擇即將運(yùn)行的路徑,并將結(jié)果報(bào)送上位控制系統(tǒng),能否運(yùn)行由上位系統(tǒng)根據(jù)其它AGV所在的位置統(tǒng)一調(diào)配。AGV單機(jī)行走的路徑是根據(jù)實(shí)際工作條件設(shè)計(jì)的,它有若干“段”(Segment)組成。每一“段”都指明了該段的起始點(diǎn)、終止點(diǎn),以及AGV在該段的行駛速度和轉(zhuǎn)向等信息。 車輛驅(qū)動(dòng)(Driving):AGV單機(jī)根據(jù)導(dǎo)引(Guidance)的計(jì)算結(jié)果和路徑選擇信息,通過(guò)伺服器件控制車輛運(yùn)行。 AGV小結(jié): 首先,給大家兩個(gè)英文單詞Navigation(導(dǎo)航),Gui
38、dance(導(dǎo)引),這兩個(gè)單詞的意思是不一樣的。導(dǎo)航是指確定自身的位置及航向;而導(dǎo)引是根據(jù)目前的位置、航向及理論軌跡來(lái)計(jì)算下個(gè)周期的速度值和轉(zhuǎn)向角度值。有了這個(gè)概念后,我們分析一下磁帶導(dǎo)引、電磁導(dǎo)引或其它形式的“有線”導(dǎo)引。他們都只能稱為導(dǎo)引,而不叫導(dǎo)航。因?yàn)椋@些導(dǎo)引方式只需AGV的相對(duì)位置,而與全局坐標(biāo)無(wú)關(guān)!這也是為什么這類導(dǎo)引的AGV相對(duì)簡(jiǎn)單的原因:不需要復(fù)雜的導(dǎo)航計(jì)算(Dead-reckoning),甚至不需要導(dǎo)引計(jì)算,只需根據(jù)傳感器的差分信號(hào)進(jìn)行簡(jiǎn)單的轉(zhuǎn)向控制。建議朋友們,不再說(shuō)磁導(dǎo)航,而是叫磁帶導(dǎo)引(Magnetic Tape Guidance)和電磁導(dǎo)引也稱線導(dǎo)(Wire Gui
39、dance)[6]。 AGV的導(dǎo)航/導(dǎo)引技術(shù)多種多樣,不同的場(chǎng)合可采用不同的導(dǎo)引技術(shù)。單一的導(dǎo)引技術(shù)無(wú)法覆蓋所有的應(yīng)用:例如在有叉車行駛的場(chǎng)合我們就不宜選用磁帶導(dǎo)引,可選用將導(dǎo)引線埋入地下的電磁導(dǎo)引;在由于工藝需要,路徑需要經(jīng)常變化的場(chǎng)合,可考慮激光導(dǎo)引[7];在路徑復(fù)雜的場(chǎng)合應(yīng)盡量考慮“無(wú)線”方式(激光,陀螺),因?yàn)椤坝芯€”模式,只能是真正地理意義上的“路”,而“無(wú)線”模式的路徑是虛擬的,可以重疊,交叉,可以亂得像一團(tuán)麻,而即使這樣,AGV的運(yùn)行在系統(tǒng)的調(diào)度下也是有序的,路徑的選擇也是最優(yōu)的,所謂“條條大路通羅馬”。AGV就能像汽車一樣,在受到前方車輛阻擋時(shí)還能夠找到其它的路徑,從而提升A
40、GV系統(tǒng)的作業(yè)效率[8]。 天津職業(yè)技術(shù)師范大學(xué)2012屆本科生畢業(yè)設(shè)計(jì) 3 系統(tǒng)硬件設(shè)計(jì) 智能小車采用前輪驅(qū)動(dòng),前輪左右兩邊各用一個(gè)直流電機(jī)驅(qū)動(dòng),調(diào)制后面兩個(gè)輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的,后輪是萬(wàn)象輪,起支撐的作用。將循跡光電對(duì)管分別裝在車體下的左右。當(dāng)車身下左邊的傳感器檢測(cè)到黑線時(shí),主控芯片控制左輪電機(jī)停止,車向左修正,當(dāng)車身下右邊傳感器檢測(cè)到黑線時(shí),主控芯片控制右輪電機(jī)停止,車向右修正。 避障的原理和循線一樣,在車身右邊裝一個(gè)光電對(duì)管,當(dāng)其檢測(cè)到障礙物時(shí),主控芯片給出信號(hào)報(bào)警并控制車子倒退,轉(zhuǎn)向,從而避開(kāi)障礙物。本模塊主要是對(duì)
41、采集信號(hào)進(jìn)行分析,同時(shí)給出PWM波控制點(diǎn)擊速度,起停。以及再檢測(cè)到障礙主動(dòng)蔽障等作用。 圖3-1 系統(tǒng)原理框圖 3.1 直流電機(jī)模塊 本設(shè)計(jì)是利用ARM 來(lái)作為MCU來(lái)控制直流電機(jī),直流電動(dòng)機(jī)帶動(dòng)齒輪組,來(lái)決定小車左右輪的轉(zhuǎn)與否和轉(zhuǎn)的快慢。通過(guò)設(shè)置PWM波的占空比來(lái)控制直流電機(jī)的轉(zhuǎn)速,占空比越大,轉(zhuǎn)速越快,越小轉(zhuǎn)速越低[9]。 模塊運(yùn)用框圖如圖3-2所示。 MCU (ARM) 直流電機(jī) 檢測(cè)信號(hào) 圖3-2系統(tǒng)模塊原理框圖 3.2 電源模塊 本設(shè)計(jì)用的光敏器件是個(gè)紅外對(duì)管。紅外對(duì)管是紅外線發(fā)射管與光敏接收管,或者紅外線接收管,或者紅外線接
42、收頭。紅外對(duì)管與半導(dǎo)體二極管在結(jié)構(gòu)上是類似的,其管芯是一個(gè)具有光敏特征的PN結(jié),具有單向?qū)щ娦裕虼斯ぷ鲿r(shí)需加上反向電壓。如圖3-3所示。 工作原理: 當(dāng)有紅外線光照時(shí),攜帶能量的紅外線光子進(jìn)入PN結(jié)后,把能量傳給共價(jià)鍵上的束縛電子,使部分電子掙脫共價(jià)鍵,從而產(chǎn)生電子---空穴對(duì)(簡(jiǎn)稱:光生載流子)。它們?cè)诜聪螂妷鹤饔孟聟⒓悠七\(yùn)動(dòng),使反向電流明顯變大,光的強(qiáng)度越大,反向電流也越大。這種特性稱為“光電導(dǎo)”。 圖3-3 AD電壓測(cè)量模塊 3.3 尋跡蔽障紅外對(duì)管模塊處 3.3.1 紅外對(duì)管的概述 圖3-4紅外線接收頭 紅外對(duì)管特征[10]: 紅外線接收管是將紅外線光
43、信號(hào)變成電信號(hào)的半導(dǎo)體器件,它的核心部件是一個(gè)特殊材料的PN結(jié),和普通二極管相比,在結(jié)構(gòu)上采取了大的改變,紅外線接收管為了更多更大面積的接受入射光線,PN結(jié)面積盡量做的比較大,電極面積盡量減小,而且PN結(jié)的結(jié)深很淺,一般小于1微米。紅外線接收二極管是在反向電壓作用之下工作的。沒(méi)有光照時(shí),反向電流很?。ㄒ话阈∮?.1微安),稱為暗電流。 紅外對(duì)管分類: 紅外線接收管有兩種,一種是光電二極管,另一種是光電三極管。光電二極管就是將光信號(hào)轉(zhuǎn)化為電信號(hào),光電三極管在將光信號(hào)轉(zhuǎn)化為電信號(hào)的同時(shí),也把電流放大了。因此,光電三極管也分為兩種,分別別是NPN型和PNP型。 紅外對(duì)管作用[1
44、1]: 紅外接收管的作用是進(jìn)行光電轉(zhuǎn)換,在光控、紅外線遙控、光探測(cè)、光纖通信、光電耦合等方面有廣泛的應(yīng)用。 3.3.2 紅外對(duì)管的應(yīng)用 1、AD采樣實(shí)現(xiàn)避障功能[12] 圖3-5蔽障功能電路圖 針對(duì)一些紅外接收管容易收到可見(jiàn)光的影響,從而改變其阻值,容易造成系統(tǒng)的誤判,可以考慮采用上面的電路。100-100K歐姆,是紅外接收管在不同光線條件下(市內(nèi)-陽(yáng)光直射)的阻值的大小。在正常的光線下通過(guò)IOA0口A/D采集到一個(gè)電壓值作為一個(gè)參考電壓。 當(dāng)隨著光線變化時(shí),IOA0口讀進(jìn)來(lái)的電壓值也就發(fā)生變化,這個(gè)使用通過(guò)IOA4、IOA5、IOA6、IOA7
45、依次選通,選擇最接近參考值的電壓作為判斷電壓。 該電路可以避免可見(jiàn)光帶來(lái)的干擾,檢測(cè)障礙物的距離在0-15cm。效果不錯(cuò),缺點(diǎn)是引用占用IO口較多,操作較為復(fù)雜。 2、 直流驅(qū)動(dòng)避障電路 圖3-6直流驅(qū)動(dòng)尋跡蔽障圖 直流驅(qū)動(dòng)紅外探測(cè)器電路的設(shè)計(jì)與參數(shù)計(jì)算電路如圖所示。W1和R1及V1構(gòu)成簡(jiǎn)單直流發(fā)光二極管驅(qū)動(dòng)電路,調(diào)節(jié)W1可以改變發(fā)光管的發(fā)光光強(qiáng),從而調(diào)節(jié)探測(cè)距離,NE555及其外圍原件構(gòu)成施密特觸發(fā)器,其觸發(fā)電平可通過(guò)W2控制,接收管V2和電阻R2構(gòu)成光電檢測(cè)電路。通過(guò)NE555第3腳輸出的TTL電平可以直接驅(qū)動(dòng)單片機(jī)I/O口[13]。 由于555輸出信號(hào)為TTL電平,單片
46、機(jī)檢測(cè)方便。缺點(diǎn)是容易受可見(jiàn)光干擾。 3、交流調(diào)制驅(qū)動(dòng)避障電路 圖3-7交流調(diào)制驅(qū)動(dòng)避障電路 LM567及其外圍芯片構(gòu)成音頻檢頻器,其檢頻頻率f0由R4、C5決定。其中f0為檢頻頻率,當(dāng)R4=10K,C5=222時(shí),f0=41KHz。這一震蕩信號(hào)經(jīng)過(guò)V3擴(kuò)流后,驅(qū)動(dòng)發(fā)光管,這樣處理后可以保證發(fā)光頻率與檢頻頻率嚴(yán)格一致使LM567的輸出僅與光強(qiáng)有關(guān)。。為進(jìn)一步提升探測(cè)距離,我們還設(shè)立了一級(jí)交流放大器,其增益約為240倍,雖然這樣大的放大倍數(shù)放大器的線性和穩(wěn)定性會(huì)較差,但對(duì)于頻率檢測(cè)不會(huì)造成太大的影響[14]。 4、液滴檢測(cè)電路 圖3-8液滴檢測(cè)電路 無(wú)液滴落下時(shí),接收管與
47、發(fā)射管正對(duì),接收管接收到的光強(qiáng)較強(qiáng),有液滴滴下時(shí),下落中的水滴對(duì)紅外光有較強(qiáng)的漫反射、吸收及一定的散射作用,導(dǎo)致接收光強(qiáng)的較大改變,接受光接收到的信號(hào)經(jīng)一級(jí)施密特觸發(fā)器,送單片機(jī)的中端口,據(jù)此就可以正確的談測(cè)出液滴的滴落。 解決了因液體透明而使得發(fā)射不明顯的問(wèn)題。 紅外循跡電路采用反射接收原理配置了反射式紅外線光電傳感器。該傳感器包括一個(gè)紅外發(fā)光二極管、一個(gè)紅外光敏三極管及其上拉電阻[15]。紅外發(fā)光二極管發(fā)射一定強(qiáng)度的紅外線照射物體,紅外光敏三極管在接收到反射回來(lái)的紅外線后導(dǎo)通,發(fā)出一個(gè)電平跳變信號(hào)。 此套紅外光電傳感器固定在底盤前沿,貼近地面。正常行駛時(shí),發(fā)射管發(fā)射紅外光照射地面,
48、光線經(jīng)白紙反射后被接收管接收,輸出高電平信號(hào);電動(dòng)車經(jīng)過(guò)黑線時(shí),發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號(hào)后送微控制器處理,判斷執(zhí)行哪一種預(yù)先編制的程序來(lái)控制小車的行駛狀態(tài)。前進(jìn)時(shí),驅(qū)動(dòng)輪直流電機(jī)正轉(zhuǎn),進(jìn)入減速區(qū)時(shí),由微控制器控制進(jìn)行PWM變頻調(diào)速,通過(guò)軟件改變脈沖調(diào)制波形的占空比,實(shí)現(xiàn)調(diào)速[15]。 圖3-9電動(dòng)車的光電檢測(cè)電路 小車循跡原理是小車在畫(huà)有黑線的白紙 “路面”上行駛,由于黑線和白紙對(duì)光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來(lái)判斷“道路”—黑線。筆者在該模塊中利用了簡(jiǎn)單、應(yīng)用也比較普遍的檢測(cè)方法——紅外探測(cè)法。 當(dāng)小車在白色地面行駛時(shí)
49、,裝在車下的紅外發(fā)射管發(fā)射紅外線信號(hào),經(jīng)白色反射后,被接收管接收,一旦接收管接收到信號(hào),那么圖3-3中電三極管將導(dǎo)通,輸出低電平,經(jīng)LM324電壓比較器送MCU控制。當(dāng)小車行駛到黑色引導(dǎo)線時(shí),紅外線信號(hào)被黑色吸收后,光電三極管截止,輸出高電平,從而實(shí)現(xiàn)了通過(guò)紅外線檢測(cè)信號(hào)的功能。將檢測(cè)到的信號(hào)送到單片機(jī)I/O口,當(dāng)I/O口檢測(cè)到的信號(hào)為高電平時(shí),表明紅外光被地上的黑色引導(dǎo)線吸收了,表明小車處在黑色的引導(dǎo)線上;同理,當(dāng)I/O口檢測(cè)到的信號(hào)為低電平時(shí),表明小車行駛在白色地面上。即當(dāng)小車底部的某邊紅外線收發(fā)對(duì)管遇到黑帶時(shí)輸入電平為高電平,反之為低電平。 為了保證小車沿黑線行駛,采用了兩個(gè)檢測(cè)器并行
50、排列,左右方向都可以進(jìn)行控制,控制精度得以提高。在小車行走過(guò)程中,結(jié)合查詢方式,通過(guò)程序控制小車行走軌跡。如果左方向偏離黑線,則右側(cè)的探頭就會(huì)檢測(cè)到黑線,把信號(hào)傳送到MCU,進(jìn)行處理校正。控制其向右轉(zhuǎn);如果右方向偏離黑線,則左側(cè)的探頭就會(huì)檢測(cè)到黑線,把信號(hào)傳送到MCU,進(jìn)行處理校正??刂破湎蜃筠D(zhuǎn)。從而保證小車沿黑線行駛。 電路中的可調(diào)電阻可調(diào)節(jié)靈敏度,以滿足小車在不同光度的環(huán)境中能夠?qū)ほE。由于接收對(duì)管裝在車底,發(fā)射距離的遠(yuǎn)近較難控制,調(diào)節(jié)可調(diào)電阻,靈敏度不高,因此采用在對(duì)管上套塑料管,屏蔽外界光的影響,靈敏度將大幅提升。在該電路中,加比較器LM324的目的是使模擬量轉(zhuǎn)化為開(kāi)關(guān)量,便于處理[1
51、6]。 3.3.3 紅外線接收頭 圖3-10紅外線接頭 采用小型設(shè)計(jì)、內(nèi)屏蔽模塊封裝,可以做紅外線解碼實(shí)驗(yàn),紅外線遙控器等等。配合遙控器完成遙控解碼及紅外遙控實(shí)驗(yàn)。在紅外遙控系統(tǒng)中作為接收元件廣泛應(yīng)用于1、視聽(tīng)器材(如VCD、DVD、DVB、TV等) 2、家庭器材(如冷氣機(jī),電風(fēng)扇、電燈等)3、紅外線搖控(如玩具等) 金屬封裝紅外線接收管,適用于各類光電轉(zhuǎn)換的自控儀器,傳感器.各類光電檢測(cè)器的信號(hào)光源.根據(jù)驅(qū)動(dòng)方式可獲得穩(wěn)定光.脈沖光,緩變光.常用于控制,報(bào)警等方面.持點(diǎn);采用反射功能的結(jié)構(gòu)形式,光功率較強(qiáng),低驅(qū)動(dòng)電壓,易與晶體管電路匹配.結(jié)構(gòu)堅(jiān)固耐震.可靠性高.金屬玻璃封裝
52、器件,耐磨耐溫性好. 接收器對(duì)外只有3個(gè)引腳:Out、GND、Vcc與單片機(jī)接口非常方便,如圖7所示。 ① 脈沖信號(hào)輸出接,直接接單片機(jī)的IO 口。 ?、?GND接系統(tǒng)的地線(0V); ③ Vcc接系統(tǒng)的電源正極(+5V); 四、紅外線探測(cè)法檢測(cè)信號(hào) 紅外探測(cè)法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。在小車行駛過(guò)程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時(shí)發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號(hào),再通過(guò)LM324作比較器來(lái)采集高低電平,從而實(shí)現(xiàn)信號(hào)的檢測(cè)。避障亦是此原理。電路圖如
53、圖3-11。 市面上有很多紅外傳感器,在這里我選用TCRT5000型光電對(duì)管。 圖3-11循跡原理圖 此套紅外光電傳感器固定在底盤前沿,貼近地面。正常行駛時(shí),發(fā)射管發(fā)射紅外光照射地面,光線經(jīng)白紙反射后被接收管接收,輸出高電平信號(hào);電動(dòng)車經(jīng)過(guò)黑線時(shí),發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號(hào)后送MCU處理,判斷執(zhí)行哪一種預(yù)先編制的程序來(lái)控制玩具車的行駛狀態(tài)。前進(jìn)時(shí),驅(qū)動(dòng)輪直流電機(jī)正轉(zhuǎn),進(jìn)入減速區(qū)時(shí),由單片機(jī)控制進(jìn)行PWM變頻調(diào)速,通過(guò)軟件改變脈沖調(diào)寬波形的占空比,實(shí)現(xiàn)調(diào)速。最后經(jīng)反接制動(dòng)實(shí)現(xiàn)停車。前行與倒車控制電路的核心是橋式電路和繼電器。電橋上設(shè)置有兩組
54、開(kāi)關(guān),一組常閉,另一組常開(kāi)[17]。 3-12電動(dòng)車的方向檢測(cè)電路(a) 3-13電動(dòng)車的方向檢測(cè)電路(b) 電橋一端接電源,另一端接了一個(gè)三極管。三極管導(dǎo)通時(shí),電橋通過(guò)三極管接地,電機(jī)電樞中有電流通過(guò);三極管截止時(shí),電橋浮空,電機(jī)電樞中沒(méi)有電流通過(guò)。系統(tǒng)通過(guò)電橋的輸出端為轉(zhuǎn)向電機(jī)供電。通過(guò)對(duì)繼電器開(kāi)閉的控制即可控制電機(jī)的開(kāi)斷和轉(zhuǎn)速方向進(jìn)而達(dá)到控制智能車前行與倒車的目的,實(shí)現(xiàn)隨動(dòng)控制系統(tǒng)的糾偏功能。前行與倒車控制電路所示。 3-14前行與倒車控制電路
55、 4 系統(tǒng)程序設(shè)計(jì) 系統(tǒng)軟件設(shè)計(jì)說(shuō)明 本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑循跡子程序、蔽障字程序、中斷子程序顯示子程序﹑控制電機(jī)速度子程序﹑算法子程序構(gòu)成[17]。 4.1 主程序流程圖 圖4-1主程序框圖 4.2 模塊程序設(shè)計(jì)流程圖 在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)外,大量的工作就是如何根據(jù)每個(gè)生產(chǎn)對(duì)象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)控制系統(tǒng)設(shè)計(jì)中占重要地位。在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過(guò)程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。所謂“模塊”,實(shí)質(zhì)上就是所完成一定功能,相對(duì)獨(dú)立的程序段,這種程序設(shè)計(jì)方法叫模塊程序設(shè)計(jì)法[18]。
56、模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是: 1、單個(gè)模塊比起一個(gè)完整的程序易編寫(xiě)及調(diào)試; 2、模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用; 3、模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。 4.2.1 尋跡模塊 循跡框圖: 圖4-2 循跡框圖 循跡程序:(見(jiàn)附錄) 4.2.2 避障模塊 避障框圖: 圖4-3 避障框圖 避障程序:(見(jiàn)附錄) 5 系統(tǒng)調(diào)試 根據(jù)方案設(shè)計(jì)要求,調(diào)試過(guò)程共分三大部分,硬件調(diào)試,軟件調(diào)試,軟件和硬件聯(lián)調(diào)(即系統(tǒng)調(diào)試)。電路按模塊逐個(gè)調(diào)試,各模塊調(diào)試通過(guò)后再聯(lián)調(diào)。程序先在最小系統(tǒng)板調(diào)試,
57、通過(guò)后再軟硬聯(lián)調(diào)[19]。 5.1 硬件調(diào)試 5.1.1 靜態(tài)調(diào)試 線路的檢查:通過(guò)目測(cè)和使用萬(wàn)用表,檢查線路連接的正確性,有無(wú)斷路或短路,有無(wú)虛焊的存在等。檢查各主要元器件是否因?yàn)楹附佣鴵p壞,比如數(shù)碼管等。 核對(duì)元件:檢察元件是否安裝正確,有無(wú)損壞等。 檢查電源系統(tǒng):在加入集成電路之前,應(yīng)檢查加入電源的品質(zhì),包括電源的電壓以及負(fù)載能力等。只有當(dāng)電源滿足要求后,才能加上所有的元器件進(jìn)行上電調(diào)試。 5.1.2 聯(lián)機(jī)調(diào)試 雖然經(jīng)過(guò)了靜態(tài)測(cè)試,但仍有不少的硬件故障要在軟硬件聯(lián)機(jī)調(diào)試中才能發(fā)現(xiàn)。所以聯(lián)機(jī)調(diào)試很有必要,具體操作如下: 測(cè)試晶振電路和復(fù)位電路:這是單片機(jī)應(yīng)用系統(tǒng)工作的最基本
58、的條件,可用示波器或邏輯筆進(jìn)行檢查。 測(cè)試存儲(chǔ)器:將數(shù)據(jù)寫(xiě)入存儲(chǔ)單元并讀回比較,寫(xiě)入與讀出的數(shù)據(jù)如果是一致的則表示存儲(chǔ)單元能正常工作,否則有短路,斷路或器件損壞的情況。 測(cè)試I/O口和I/O設(shè)備:編寫(xiě)簡(jiǎn)單的測(cè)試程序,單獨(dú)支持某一I/O口和與之相連的I/O設(shè)備,如果能自如的支配或控制,則表明I/O通道的工作正常。 將通過(guò)以上的檢測(cè),如果各個(gè)測(cè)試環(huán)節(jié),如果最終各環(huán)節(jié)都正常,那么硬件測(cè)試應(yīng)該沒(méi)問(wèn)題了。 5.2 軟件調(diào)試 程序模塊編寫(xiě)完成后,首先通過(guò)匯編和編譯。有些開(kāi)發(fā)軟件的功能比較強(qiáng),能夠模仿ARM的運(yùn)行模式,直接在pc機(jī)上就可以調(diào)試編寫(xiě)的軟件。對(duì)于大多數(shù)情況,還是需要把程序裝入ARM系統(tǒng)
59、中進(jìn)行聯(lián)機(jī)調(diào)試。直到每一個(gè)程序模塊調(diào)試成功[19]。 本設(shè)計(jì)中用ARM編程軟件ADS1.2進(jìn)行編寫(xiě)程序(匯編語(yǔ)言和C語(yǔ)言),對(duì)其中的部分電路進(jìn)行仿真,ADS1.2編譯器把匯編語(yǔ)言編寫(xiě)的源程序與ADS1.2內(nèi)涵的庫(kù)函數(shù)裝配在一起,通過(guò)編譯器編譯生成目標(biāo)文件。利用下載軟件將程序代碼下載到目標(biāo)芯片中。 1.小車的測(cè)試調(diào)試步棸: 對(duì)于小車的整體來(lái)說(shuō)測(cè)試要按照模塊來(lái)進(jìn)行,一般我認(rèn)為應(yīng)分為以下幾個(gè)步驟: ①首先測(cè)試電源的工作情況,各個(gè)模塊能否得到良好供電。 ②紅外對(duì)管安裝完成后按照第三章中的方法依次測(cè)試每個(gè)光電管的電壓變化情況,完成后根據(jù)測(cè)試數(shù)據(jù)調(diào)節(jié)電位器選擇合適的參考電壓然后依次測(cè)量比較器或運(yùn)
60、放的輸出端有無(wú)根據(jù)檢測(cè)到黑線的情況產(chǎn)生相應(yīng)的電平變化,若沒(méi)有則檢查相應(yīng)的電路和元件好壞,測(cè)試成功后進(jìn)行下一步。 ③檢查ARM能否正常的燒寫(xiě)程序和工作。 ④用ARM產(chǎn)生不同占空比的信號(hào)控制直流電機(jī)進(jìn)行轉(zhuǎn)角測(cè)試,找出小車轉(zhuǎn)向的參考點(diǎn)和對(duì)應(yīng)的PWM設(shè)置參數(shù)。 ⑤測(cè)試前電機(jī)的工作情況并試驗(yàn)在不同頻率和占空比的情況下電機(jī)的驅(qū)動(dòng)能力。 ⑥將外紅對(duì)管和直流電機(jī)聯(lián)合,編寫(xiě)程序測(cè)試轉(zhuǎn)向情況。 ⑦編寫(xiě)測(cè)試程序讓小車初步運(yùn)行。 ⑧反復(fù)測(cè)試各參數(shù)變化對(duì)小車的影響,找出最有效的配置。 ⑨對(duì)小車運(yùn)行過(guò)程中各種可能出現(xiàn)的情況進(jìn)行測(cè)試,發(fā)現(xiàn)問(wèn)題、找出解決方法。 ⑩整理數(shù)據(jù),優(yōu)化算法和程序設(shè)計(jì)。 5.3 系統(tǒng)
61、調(diào)試 焊接完所有模塊后,就要對(duì)系統(tǒng)的靜態(tài)測(cè)試,就是對(duì)組成系統(tǒng)的各個(gè)模塊分別進(jìn)行功能測(cè)試,使其實(shí)現(xiàn)預(yù)定功能。 在對(duì)各個(gè)模塊調(diào)試完畢之后,再對(duì)整個(gè)系統(tǒng)進(jìn)行整機(jī)聯(lián)調(diào)。連接好電源,注意正負(fù)極性,連接好所有的I/O口,編寫(xiě)簡(jiǎn)單的測(cè)試程序,單獨(dú)支持某一I/O口和與之相連的I/O設(shè)備,如果能自如的支配或控制,則表明I/O通道的工作正常。通過(guò)以上的檢測(cè),如果各個(gè)測(cè)試環(huán)節(jié),如果最終各環(huán)節(jié)都正常,那么硬件測(cè)試應(yīng)該沒(méi)問(wèn)題了。 程序模塊編寫(xiě)完成后,首先通過(guò)匯編和編譯。有些開(kāi)發(fā)軟件的功能比較強(qiáng),能夠模仿ARM的運(yùn)行模式,直接在pc機(jī)上就可以調(diào)試編寫(xiě)的軟件。對(duì)于大多數(shù)情況,還是需要把程序裝入單片機(jī)系統(tǒng)中進(jìn)行聯(lián)機(jī)調(diào)試
62、。直到每一個(gè)程序模塊調(diào)試成功。 當(dāng)硬件調(diào)試和軟件模塊調(diào)試之后,就可以進(jìn)行系統(tǒng)調(diào)試。在系統(tǒng)調(diào)試時(shí),應(yīng)將全部硬件電路都接上,應(yīng)用程序模塊也都組合好,進(jìn)行全系統(tǒng)軟硬件調(diào)試。系統(tǒng)調(diào)試的任務(wù)是排除軟硬件中的殘留錯(cuò)誤。使整個(gè)系統(tǒng)能夠完成預(yù)定的工作任務(wù),達(dá)到要求的技術(shù)性能指標(biāo)。 參考文獻(xiàn) 結(jié) 論 本文介紹了AGV的基本理念,在討論了循跡、避障等功能模塊的原理后,討論并確定了本系統(tǒng)的各項(xiàng)功能模塊的所用期間。進(jìn)而對(duì)相關(guān)模塊的具體電路進(jìn)行了設(shè)計(jì)。最后編寫(xiě)了系統(tǒng)的軟件程序,完成了設(shè)計(jì)之初的功能要求。主要成果有: 1、選用了功能強(qiáng)大的Cortex-M3微控制器作為自動(dòng)導(dǎo)航車的控制器,能良好的處理檢
63、測(cè)數(shù)據(jù),更為以后的系統(tǒng)擴(kuò)展提供了空間。 2、采用反射式紅外線光電傳感器作為循跡器件,硬件上三點(diǎn)并列的設(shè)計(jì)輔以檢測(cè)程序,能準(zhǔn)確的實(shí)現(xiàn)循跡功能。 3、設(shè)計(jì)了帶有“看門狗”技術(shù)的軟件程序,保證了系統(tǒng)的良好運(yùn)行。 4、設(shè)計(jì)裝配出了自動(dòng)導(dǎo)航車實(shí)物。 有待改進(jìn)的地方: 隨著科技進(jìn)步和技術(shù)的發(fā)展,AGV的應(yīng)用必將更加廣泛,AGV的發(fā)展方向是規(guī)?;椭悄芑栽龠M(jìn)一步研究要將群體通信和網(wǎng)絡(luò)管理加入其中。AGV系統(tǒng)在技術(shù)上日趨成熟.其自身的運(yùn)行速度、載重量、轉(zhuǎn)彎半徑、停車定位精度等技術(shù)指標(biāo)不斷提高,導(dǎo)向方式更加靈活,系統(tǒng)優(yōu)化調(diào)度技術(shù)更加完善,應(yīng)用領(lǐng)域也在不斷拓寬。在今后研究中單一的導(dǎo)航已不能夠
64、滿足提高導(dǎo)航與跟蹤控制的精度,應(yīng)采用多信息融合方法,以提高自動(dòng)引導(dǎo)車運(yùn)行的狀態(tài)測(cè)定精度,從而提高自動(dòng)引導(dǎo)車的導(dǎo)航與跟蹤控制精度。為了提高AGV的可靠性和穩(wěn)定性,在實(shí)際運(yùn)用中CPU應(yīng)采用工控機(jī),直流電機(jī)應(yīng)改為伺服電機(jī)。 AGV作為物流處理自動(dòng)化的有效手段,在我國(guó)有著廣闊的應(yīng)用前景。因此投入必要的人力、物力、財(cái)力,研制出適度柔性化、高可靠性、低成本的AGV系統(tǒng),必將帶來(lái)一定的經(jīng)濟(jì)效益和社會(huì)效益。 參考文獻(xiàn) [1] 葉著. 磁導(dǎo)式AGV控制系統(tǒng)設(shè)計(jì)與研究.武漢:武漢理工大學(xué),2006. [2]王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā).北京:清華大學(xué)出版社,2004. [3]宋長(zhǎng)
65、會(huì).移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)與研究. 哈爾濱:哈爾濱工程大學(xué),2006. [4]龔根華.輪式移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)與研究. 北京:北京航空航天大學(xué),2004. [5]李磊,葉濤,譚民等.移動(dòng)機(jī)器人技術(shù)研究現(xiàn)狀與未來(lái).機(jī)器人.2002. [6] Satoshi Hoshino, Jun Ota, Akiko Shinozaki, Hideki Hashimoto. Improved design methodology for an existing automated transportation system with automated guided vehicles in a se
66、aport container terminal. 2007, 21(3):3-5 [7]周立功.ARM嵌入式系統(tǒng)實(shí)驗(yàn)教程.北京:北京航空航天大學(xué)出版社,2004. [8]周立功 張華.深入淺出ARM7—LPC213x/214x北京航空航天大學(xué)出版社,2009. [9]李玲娟.多細(xì)分兩相混合式步進(jìn)電機(jī)驅(qū)動(dòng)器的研制.西北工業(yè)大學(xué),2004 [10]刁奉麗.二相混合式步進(jìn)電機(jī)微步驅(qū)動(dòng)技術(shù)的研究與實(shí)現(xiàn),西安理工大學(xué),2006. [11]楊和平,周旋,童軍.步進(jìn)電機(jī)的特點(diǎn)及應(yīng)用.黑龍江科技信息,2007. [12]韓利虎.淺談步進(jìn)電機(jī)的基本原理.內(nèi)蒙古石油化工, 2007,11:240. [13] 徐淦卿,陳玨,程?hào)|杰.紅外物理與技術(shù).第1版,西安:西安電子科技大學(xué)出版社,1989. [14] 張建奇,方小平.紅外物理.第1版.西安:西安電子科技大學(xué)出版社,2004. [15] 王宗陪.步進(jìn)電動(dòng)機(jī)的發(fā)展及建議.微電機(jī),2004,37(4) [16] 孔祥東.多細(xì)分三相混合式步進(jìn)電機(jī)驅(qū)動(dòng)器研究及實(shí)現(xiàn).大連理工大學(xué),2005. [17] 黃智偉、稅夢(mèng)玲 全國(guó)大學(xué)生電子
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案