基于ATMEGA16的检测避障智能车剖析

更新时间:2024-05-28 19:59:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

摘要 .................................................................... 1 关键词 .................................................................. 1 Abstract ................................................................ 1 Key words ............................................................... 1 引言 .................................................................... 2 1 系统总体设计 ......................................................... 2 1.1 设计的主要内容 ..................................................... 2 1.2 结构设计 ........................................................... 3 1.3 原理图设计 ......................................................... 3 2 硬件设计 ............................................................. 5 2.1 单片机ATMEGA16的介绍 .............................................. 5 2.2 驱动模块 ........................................................... 6 2.2.1 LM298N简述 ...................................................... 6 2.2.2 PWM调速 ......................................................... 7 2.3 稳压模块 ........................................................... 8 2.4 光电检测模块 ....................................................... 9 2.4.1 与非门74HC00D ................................................... 9 2.4.2 光电对管 ........................................................ 10 2.4.3 模块原理图 ...................................................... 10 3 软件设计 ............................................................ 11 3.1 程序设计软件 ...................................................... 11 3.2 定时与计数 ........................................................ 12 3.2.1 控制寄存器 ...................................................... 12 3.2.2 中断定时器程序 .................................................. 13 3.2.3 PWM输出 ........................................................ 16 3.3 主程序 ............................................................ 16 3.3.1 延时函数 ........................................................ 16 3.3.2 定时器初始化 .................................................... 16 4 设计总结 ............................................................ 17 参考文献: ............................................................. 18 附录A main函数 ....................................................... 19 附录B 小车整体图片 .................................................... 22 致谢 ................................................................... 23

基于ATMEGA16的检测避障智能车

基于ATMEGA16的检测避障智能车

自动化专业 朱立国 指导教师 祝凤金

摘要:随着工业化进程的不断推进,越来越多的检测技术应用煤矿、交通、建筑行业中,避障检测车也不断得到应用。本设计应用是ATMEGA16作为主控芯片,光电对管作为检测部分,减速电机作为驱动部分,避障车能自动沿着正确的路径运动,检测到物体自动避障,从而减少了人为地操控,有利于节约人力,也有效地提高了工作的安全性。 关键词:检测车;ATMEGA16;自动避障

Smart Car of Obstacle Avoidance Based on ATMEGA16

Student majoring in Automation Zhu Liguo

Tutor Zhu Fengjin

Abstract:With the advancement of industrialization, more and more testing technology applied in coal mine, transportation, construction industry, obstacle avoidance checkout automobile has been applied. This design is the ATMEGA16 as the master control chip, photoelectric tube as the detecting part, gear motor as the driving part, obstacle avoidance movement along the correct path automatically, detect objects automatic obstacle avoidance, thereby reducing the artificially controlled, which saves the manpower, has effectively improved the security of the work.

Key words: Check-out car;ATMEGA16;Automatic obstacle avoidance

1

菏泽学院本科课程设计(论文)

引言

自动检测技术应用的范围越来越广,避障智能车也是跟随这样的趋势,在隧道施工、

建筑测量、军事上的无人排爆车、电力建设等都应用到了检测避障技术,智能臂章检测车可以在危险的环境中代替人力施工,可以达到更精确的程度,还代替了人力[1]。 传感技术是现代电子信息技术的关键技术之一。传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制。随着计算机控制技术的普及和发展,智能控制设备和智能仪器仪表在工农业生产和日常生活中的使用越来越普遍。这些应用都具有一个共同的过程和一个共同的特点。共同的过程就是信号的采集、传输和处理过程;共同的特点就是使用传感器完成信号的采集,使用微处理器或单片机(微控制器)完成信号的处理[2]。

通常对智能车的操作实质上可视为对一个多输入、多输出、输入输出关系复杂多变、不确定多干扰源的复杂非线性系统的控制过程。通过对检测车智能化技术的开发和研究,可以提高智能车的控制水平,保障自动检测车行驶的高效、安全、畅通。对智能车的控制系统的研究不断完善,并且加强了驾驶员的操控、视角和感觉的功能,有效地促进了工作的可行性。智能车的主要优点是以电子的手段代替人工的操作,能够在复杂的环境中,依靠数据处理和电气控制,自动做出最优反映,使车辆迅速绕开障碍物。

智能车有了这些系统的共同作用,这就相当于给汽车装上了“眼”、“手”和“脚”的机器人。这些装置都装有程序,所以这种检测车能和人一样会“考虑”、“计算”、“前进”,可以自动前进、加速、倒车,自动选择最佳方案,指挥检测车正常、顺利地行驶[3]。

在课程设计的过程中要了解常用芯片的选型,而且要熟悉常用芯片的基本功能,包括芯片的管脚资源,芯片的内部的基本结构,时钟源、寄存器、定时器等。会用编程软件进行程序的设计,本程序是使用了AVR Studio编程软件,程序中使用的是C语言的变形,在单片机引脚定义中必须得定义管脚输入输出类型。再就是熟悉电路的设计,会用Altium Designer实现电路的设计,主板的电路和红外传感器电路板的电路设计。熟悉点击的选型,包括尺寸大小,减速比等。最后要从整体上把车的框架组装起来,调整车的结构达到最优。经过整个过程的学习,了解了模型从理论到实践的过程,真正做到学以致用[4]。

本文的设计使用了电脑,25针串口线,AVR下载器,覆铜板用于做主板电路和红外传感器电路,直流减速电机两个,PVC板制作传感器支架,牛眼(万向轮)两个,铜柱若干,L298N模块,贴片封装的主控芯片ATMEGA16,直插的7805稳压芯片等。软件则是用的AVR Studio编程软件。通过Multisim模拟软件模拟频率震荡输出电路,调节电阻和电容的阻值,来使电路输出达到最佳。

1 系统总体设计

1.1 设计的主要内容

通过ATMEL公司的ATMEGA16芯片作为主控芯片,7805作为稳压芯片,使用74HC00D

2

基于ATMEGA16的检测避障智能车

与非门芯片转换光电对管电压信号,减速比为1:50的减速电机,使用LM298N模块作为减速电机控制器,可以调节电机的PWM的输出。本设计通过光电对管的检测返回电压信号,AVR单片机接收到后通过调用内部子程序输出PWM信号再通过电机驱动模块输出12V的脉冲控制信号,控制左右两个减速电机的转动时间从而调节整体的转向[5]。

启动否1号传感器输出高电平3号5号同时输出高是否2号或4号输出高是是转弯微调(右转)微调(左转)直行

图1-1 系统的检测执行流程图

1.2 结构设计

车的地盘设计成圆形,左右各预留出轮子的空间。结构分上下层,下层是固定两个主动轮(减速电机)和两个从动轮(转向轮),能够使车体360度自由旋转。上层为电路主控板,单片机直接焊接在电路板上,引出导线连接到光电检测模块。一共有五个光电检测模块通过螺栓固定在支架上,前方三个测水平方向的障碍,左右测量垂直方向的障碍,车体的整体高度为9cm。上下层中间放置为12V 3000mA可充放电的锂电池。

图1-2 传感器固定支架

1.3 原理图设计

主板分为双层板,单片机ATMEGA16、稳压芯片7805、LM298N驱动模块在Toplayer层,光电检测模块的信号线在Bottomlayer层[6]。如图:

3

菏泽学院本科课程设计(论文)

图1-3 Toplayer层

图1-4 Bottomlayer层

电路的圆形外轮廓是通过CAD画出后导入到PROTEL中的。在保证电流和信号稳定的

4

基于ATMEGA16的检测避障智能车

情况下线宽采用0.7mm,焊盘采用直径2mm,过孔0.7mm。固定上下层车盘的螺栓孔半径是1.6mm,螺栓高为20mm。

2 硬件设计

2.1 单片机ATMEGA16的介绍

ATMEGA16AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接同运算逻辑单元(ALU) 相连接,能够使一条指令在一个时钟周期内同时访问两个独立的寄存器。

ATMEGA16有如下特点:16K字节的系统内可编程而且具有同时读写的能力Flash,512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内的程序调试与编程,三个具有比较模式的定时器/计数器(T/C),有片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程的看门狗定时器,一个SPI串行通信口,以及六个能够使用软件设置的省电模式。

在空闲模时CPU 不工作,而USART、串行接口、A/D 转换器、可擦出的SRAM、T/C、SPI 通信端口和中断还要工作;晶体振荡器在掉电模式时开始停止工作,芯片的功能中只有中断和硬件复位在工作;异步定时器在省电模式下继续运行,用户允许保持一个时间的基准,但其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O 模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。

本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。应用Flash存储区在更新时使Flash区(Boot Flash Memory)的程序能够继续运行,完成了RWW 操作。经过将系统内可编程的Flash以及8位RISC CPU集成在一个芯片内,ATMEGA16 成为一个接口资源丰富的单片机,使得越来越多的嵌入式控制应用在使用时获得了最优的解决方案。

我们平常使用的ATMEGA16 有非常全面的的编程与系统的开发工具,包括:GCC语言、AVR编译器、宏定义汇编、程序调试编程器、软件仿真器、仿真下载器等。

5

菏泽学院本科课程设计(论文)

图2-1 贴片ATMEGA16引脚图

图2-2 ATMEGA16内部逻辑结构图

2.2 驱动模块 2.2.1 LM298N简述

L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。一般封装是15引脚的一

6

基于ATMEGA16的检测避障智能车

种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46V。输出电流可达2.5A,可方便的驱动46V、2A以下的直流电机。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

图2-3 直插L298N引脚图

图2-4 驱动电路原理图

L298有两路电源分别为逻辑电源和动力电源,上图中5V为逻辑电源,12V为动力电源。POWER接入逻辑电源和接入动力电源,PROTB分别为单片机控制两个电机的输入端。 ENA与ENB直接接入5V逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态通过OUT接口[7]。

由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。 2.2.2 PWM调速

调制脉冲宽度是一种软件模拟控制方式,它是根据带荷量的变化来调制晶体管基极或MOS管栅极的偏置,从而实现改变晶体管或MOS管导通时间,实现开关稳压电源输出的改

7

菏泽学院本科课程设计(论文)

变。这种方式能使电源的输出电压在工作条件变化时保持恒定,通过高分辨率计数器的使用,调制方波的占空比用作对一个具体模拟信号的电平进行编码。因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF),因此PWM信号依然是数字的。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

图2-5 PWM调节占空比图

输出PWM时,需要调节t1在周期T中的比例,来提高有效电平的占空比,从而控制电机的速度增加和减少。 2.3 稳压模块

7805是三端稳压集成电路,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端,输出为5V的直流稳压芯片。应用在本设计中是稳压锂电池12V电源到5V,以提供单片机ATMEGA16和光电检测模块所需要的直流电压。三端稳压器中最常应用的是TO-220 和TO-202 两种封装,引脚图:

图2-6 稳压芯片7805引脚图

电路图中7805采用的常规输出的电压的电路,输入端接有极性的电容,输出端接的是无极性的钽电容,有利于消除杂波,稳定电压到5V。

8

基于ATMEGA16的检测避障智能车

图2-7 稳压电路原理图

2.4 光电检测模块 2.4.1 与非门74HC00D

74HC00D是PHILIPS公司的四路两输入与非门数字逻辑电路,共有四路输出。VCC输入是5V直流电压,最低电压是2V,保证了与非门芯片在起振电路中能够持续稳定[8]。引脚图如下:

图2-8 与非门引脚图

图2-9 与非门内部引脚逻辑图

9

菏泽学院本科课程设计(论文)

表2-1 与非门内部电平逻辑

2.4.2 光电对管

光电对管是红外线发射管与光敏接收管,或者红外线接收管,或者红外线接收头配合在一起使用时候的总称。发射管采用直径为5mm的红外发射管,发出波长为940nm。红外接收管为HS0038B红外遥控接收头,类似于接收管,具有单向导电性,因此工作时需加上反向电压,灵敏度高,一般只对红外线有反应,而且有很强的抗光干扰功能。接收头就是在红外线接收管的基础上增加了对微弱信号进行放大的处理的电路,类似开关电路,低电平有效输出[9]。

工作原理:由振荡回路产生的脉冲调制信号经发射电路后,由发光二级管发射出光信号脉冲。当测到物体进入接收物体可工作的范围时,被反射回来的光信号脉冲进入二极管。并在接收二极管电路中将光信号脉冲解调为电脉冲信号,再经正向放大器放大和滤波整形,然后用数字积分或RC高通滤波排除干扰,最后经过程序触发驱动器输出与非门控制信号。

2.4.3 模块原理图

电路的原理基于与非门与电容组合成的并联电路的充放电过程,产生38K赫兹的波,作为红外发发射的载波,接收头只接收这个频率的载波。电路接收一端的接收头是接收到脉冲信号后输出低电平[10]。

图2-10 红外发射电路原理图

图中有CMOSB和CMOSD两个与非门,通过与非门和电容的充放电能够实现电路的自起振。当4点位高电平时,11引脚为低电平,而B引脚为高电平,这时C1充电,当电容C1充满时,A点为高电平,4为低电平,电容C1只能通过B-C-4放电。放完电后,11引脚为高而B引脚为低,电路接着给电容C反向充电,等到到充满电后,A点为低电平,4为高电平,电容通过B-C-A放电,等放完电后A点为低电平,从而使11引脚输出低电平,

10

基于ATMEGA16的检测避障智能车

通过这个过程的反复进行,Port口就有脉冲输出,调节R1、R2和R3三个电阻的大小,实现38KHz的载波输出[11]。

图2-11 红外模块电路原理图

3 软件设计

3.1 程序设计软件

编程软件是用ATMEL公司的AVR Studio集成开发环境(IDE) ,包括了AVR Assembler编译器、AVR Studio调试、AVR Prog串行下载、并行下载功能和JTAG ICE自动仿真器等功能。软件汇集了汇编编译语言、仿真软件、程序下载、硬件仿真等基本功能,通过和其他的语言编译器配合使用即可完成高级语言的产品开发调试。其中I/O口的View目录窗口可以查看内部寄存器和四个I/O口的位变化。

图3-1 AVR Studio编程软件

下载软件是AVR_fighter,需要安装USBASP串口驱动。当下载是,特别注意熔丝位的设置,CKSEL3-CKSEL0四位是确定选取片内RC振荡器的频率,此时选取的是片内1MHz

11

菏泽学院本科课程设计(论文)

晶振。

图3-2 AVR_fighter下载软件

3.2 定时与计数 3.2.1 控制寄存器

程序中使用的定时器/计数器分为两个8位的定时器和16位定时器。其中TCCR0是8位的控制寄存器,TCNTO是8位的寄存器。通过 T/C 寄存器可以直接对计数器的 8 位数据进行读写访问。对 TCNT0 寄存器的写访问将在下一个时钟阻止比较匹配。在计数器运行的过程中修改TCNT0的数值有可能丢失一次TCNT0 和OCR0的比较匹配,其中CS02-CS01可以选择T/C的时钟源[12]。

图3-3 TCCRO控制寄存器

图3-4 时钟源配置图

12

基于ATMEGA16的检测避障智能车

TCCR1B是16位控制寄存器B。TCNT1H与TCNT1L组成了T/C1的数据寄存器TCNT1。通过它们可以直接对定时器/计数器单元的 16 位计数器进行读写访问。为保证 CPU 对高字节与低字节的同时读写,必须使用一个8位临时高字节寄存器 TEMP。“ 访问 16 位寄存器 ”在计数器运行期间修改TCNT1的内容有可能丢失一次TCNT1与OCR1x的比较匹配操作。写TCNT1寄存器将在下一个定时器周期阻塞比较匹配。其中CS12-CS10可以控制选择时钟源,配置方式与8位定时器相同,选择使用外部时钟源后,即使T1引脚被定义为输出,其 1 引脚上的逻辑信号电平变化仍然会驱动T/C1计数。

图3-5 TCCR1B控制器

采用终端屏蔽寄存器TIMSK作为定时器的软件开关,方便了对定时器和计数器的控制。TOIE1是T/C1溢出中断使能,当该位被设为“1”,且状态寄存器中的I位被设为“1”时,T/C1的溢出中断使能。一旦TIFR上的 TOV1 置位, CPU 即开始执行T/C1溢出中断服务程序。

图3-6 TIMSK屏蔽寄存器

采用TIFR作为中断标志寄存器,TOV1是T/C1溢出标志该位的设置与T/C1的工作方式有关。工作于普通模式和CTC模式时,T/C1溢出时TOV1置位。对工作在其它模式下的TOV1标志位置位。

图3-7 TIFR中断标志寄存器

3.2.2 中断定时器程序

SIG_OVERFLOW1是定时器/计数器1中断,在使用时还必须在定义头文件,宏 INTERRUPT的用法与SIGNAL类似,区别在于SIGNAL 执行时全局中断触发位被清除、其他中断被禁止,INTERRUPT执行时全局中断触发位被置位、其他中断可嵌套执行。 SIGNAL(SIG_OVERFLOW1) {

switch(flag) {

case 1:

13

菏泽学院本科课程设计(论文)

switch(num) { } num++;

case 1:

PORTB|=_BV(0);

PORTB|=_BV(1); TCNT1H=pwm1/256; TCNT1L=pwm1%6;

break; case 2:

PORTB&=~_BV(1);

PORTB|=_BV(0);

TCNT1H=(60000-pwm1)/256; TCNT1L=(60000-pwm1)%6;

break; case 3:

PORTB|=_BV(2);

PORTB|=_BV(3); TCNT1H=pwm2/256; TCNT1L=pwm2%6;

break; case 4:

PORTB&=~_BV(3);

PORTB|=_BV(2);

TCNT1H=(60000-pwm2)/256; TCNT1L=(60000-pwm2)%6; num=0;

break;

default: num=1;

break;

case 2: //右转弯PWM调速程序

switch(num) {

case 1:

14

基于ATMEGA16的检测避障智能车

}

}

}

PORTB|=_BV(0);

TCNT1H=-pwm1/256; TCNT1L=-pwm1%6;

break; case 2:

PORTB&=~_BV(0);

TCNT1H=-(60000-pwm1)/256; TCNT1L=-(60000-pwm1)%6;

break; case 3:

PORTB|=_BV(2); TCNT1H=-pwm2/256; TCNT1L=-pwm2%6;

break; case 4:

PORTB&=~_BV(2);

TCNT1H=-(60000-pwm2)/256; TCNT1L=-(60000-pwm2)%6; num=0;

break;

default: num=1;

num++; break;

default: flag=0;

SIGNAL(SIG_OVERFLOW0) {

TCNT0=155;//100us溢出一次 yuannum++;

if(yuannum>100) //10ms计一次数 {

yuannum=0;

15

菏泽学院本科课程设计(论文)

}

}

yuanjishu++;

3.2.3 PWM输出

十六位的寄存器对应实际的十进制数位65535,这里为了方便计算用了60000,需要使用的值经过取整和取余后分别放到TCNT1H和TCNT1L高低两位。TCNT1H=pwm1/256和TCNT1L=pwm1%6这两句程序代表了在给pwm1赋值的这段时间里,有PORTB|=_BV(0)这句程序,把单片机B口的第0管脚置高。TCNT1H=(60000-pwm1)/256和

TCNT1L=(60000-pwm1)%6;这两句程序是(60000-pwm1)这段时间里,通过程序PORTB&=~_BV(0)将第0管脚置低,从而控制了高低电平的输出。 3.3 主程序 3.3.1 延时函数 void delay(uint z) { }

3.3.2 定时器初始化 void T1_init() {

TCCR1B|=_BV(CS10); TCNT1H=(50000-100)/256; TCNT1L=(50000-100)%6; }

16

uint i,j; for(i=0;i

for(j=0;j<800;j++) //延时500us asm(\ asm(\ asm(\ asm(\ asm(\}

{

sei();

基于ATMEGA16的检测避障智能车

void T0_init() { }

TCCR0|=_BV(CS01); TCNT0=0; sei();

4 设计总结

通过毕业论文的设计,了解了关于检测技术、智能控制等理论知识,认识到由于微电子技术、计算机技术、通信技术及网络技术的迅速发展,对电量的检测技术相应地得到提高,自动化检测技术与人们的生产、生活密切相关,也是自动化领域的重要组成部分,尤其实在自动控制中。

智能车的设计包含了硬件和软件的设计,车底盘和车轮以及传感器的支架的制作使用了小型的铣床,AVR的控制电路、传感器的电路设计使用了PROTEL,编程软件使用了AVR Studio,下载器使用基于ATMEGA 8芯片的可编程的下载板。锻炼了自己的理论知识整合的能力和动手设计的能力,结合了专业课的知识,是理论知识联系到了实际的实物设计。

17

菏泽学院本科课程设计(论文)

参考文献:

[1] 李瑜芳.传感器原理及其应用[M].成都:电子科技大学出版社,2008:2-10

[2] Jon S.Wilson .传感器技术手册[M].林龙信,邓彬等译.北京:人民邮电出版社,2009:24 [3] 徐科军.传感器与检测技术 [M].3版.电子工业出版社,2011:9-1. [4] 刘迎春.传感器原理设计与应用[M].长沙:国防科技大学出版社,1997:23

[5] 吴荣芳,黄伟庆,刘冀伟. 基于16位单片机的智能循线和避障机器人设计 [J].国外电子测量技

术,2007,4:28.

[6] 丘关源.电路 [M].5版.高等教育出版社,2011:5-1.

[7] 童诗白,华成英.模拟电子技术基础 [M].4版.高等教育出版社,2005:4-2. [8] 阎石.数字电子技术基础 [M].5版.高等教育出版社,2006:5-1.

[9] 刘毅敏,史作峰.编码信息红外发射与接收器 [J].微计算机信息,2007,14:93. [10] 彭军.传感器与检测技术[M].西安:西安电子科技大学出版社,2003:48-49 [11] 王煜东.传感器应用电路400例[M].北京:中国电力出版社,2008:154-155 [12] 周兴华. AVR单片机C语言高级编程设计 [M].2版.中国电力出版社,2011:5-1.

18

基于ATMEGA16的检测避障智能车

附录A main函数 int main() {

T0_init(); T1_init(); qidong(); qdzzhuan(); while(quanju==1) { }

while(quanju==2) { }

while(quanju==3) //开始通过两块挡板 { }

while(quanju==4) { }

while(quanju==5) { }

while(quanju==6) //到达跑道左上角 { }

while(quanju==7) //检测到达跑道左下角,左转 {

19

guanjiaoinit();

zhixing_jiasu();

chufahou_zhixing();

dangban_jiance();

dangban_first();

first_youzhuan();

dangban_zuozhuan();

菏泽学院本科课程设计(论文)

}

zuojiaozhuanwan();

while(quanju==8) //检测到达跑道左下角,左转 { }

while(quanju==9) //检测到达跑道左下角,左转 { } { }

while(quanju==11) { }

while(quanju==12) //圆盘内检测 { }

while(quanju==13)//冲出圆盘 { }

while(quanju==14)//驶向出发区 {

TIMSK|=_BV(TOIE1); flag=1; pwm2=10000;// pwm1=10000;//

while(PINA&(1<

20

jiasu_zhixing();

zuoxiajiao();

while(quanju==10) //直行向圆盘

zhixing_yuan();

heixian_youzhuan();

yuanpan();

chuyuanpan(); break;

基于ATMEGA16的检测避障智能车

}

}

}

pwm2=2000; pwm1=59000;

while(PINA&_BV(PA0))//左边下方检测 { }

while((!(PINA&_BV(PA1)))||((!(PINA&(1<

stop();

TIMSK&=~_BV(TOIE1); quanju=15; break; pwm1=2000; pwm2=59000;

21

菏泽学院本科课程设计(论文)

附录B 小车整体图片

22

基于ATMEGA16的检测避障智能车

致谢

本研究及学位论文是在我的导师祝凤金的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,祝老师都始终给予我细心的指导和不懈的支持。三年的实验室学习过程中,祝老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向祝老师致以诚挚的谢意和崇高的敬意。

在此,我还要感谢在一起愉快的度过大学生活的自动化各位兄弟姐妹和各位任课老师,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。同时还要感谢任国军老师,作为自动化的班主任,他在我们身上投入了很多精力,给我们提供了良好的学习环境和班级气氛。

谨以此感谢蒋震机电工程学院的院长、主任、老师和同学们的支持,谢谢!

23

本文来源:https://www.bwwdw.com/article/ox37.html

Top