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