大摘要
自循迹避障小车是行走机器人的一种,这种小车可以适应不同环境,不受温度、湿度、磁场辐射、重力等条件的影响,在人类无法进入或生存的环境中完成人类无法完成的探测任务,适用于国防及民用等多个领域。
循迹避障小车是一项涉及到计算机技术,传感技术,通讯技术,自动控制技术,人工智能技术等相关技术的综合系统。当今的循迹避障小车技术的发展主要有两个特点:第一,应用的领域不断扩大;第二,智能化程度越来越高。它的主要功能是能够自动识别路径,自动控制车速,自动转向等。循迹避障小车是一个具有环境感知能力,规划决策能力的综合体,其主要特点是在复杂的道路情况下能自动的驾驶车辆并沿着预定道路行驶,特别适用于在人类无法工作的环境中工作。作为智能交通系统(ITS)中的一部分,循迹避障小车技术已经渗透到社会各个领域并且成为该领域中的研究热点。
对于循迹避障小车系统来说,它主要由路径识别、角度控制及车速控制等功能模块组成,它是一个集环境感知、规划决策等功能于一体的综合系统。本设计的主要任务是设计和实现基于ATMega128单片机的寻迹避障小车,包括硬件和软件两个部分。硬件电路部分主要包括控制
器、循迹电路、避障电路、电机驱动电路、显示电路、电源电路等。自循迹避障小车的软件平台为ICCAVR开发环境。软件系统包含系统初始化程序、红外传感器循迹程序、超声波避障程序与显示程序等。车前部安装的红外传感器负责釆集道路信号,作为小车的循迹依据;超声波传感器负责测量障碍物和小车之间的距离,作为避障依据。微控制器读取传感器当前状态,从而控制相应的电路,进而控制小车行进的速度和角度,最后实现小车在实验环境中自动循迹避障行驶的功能。黑线是小车跟踪的目标,检测系统检测车的相对路径,然后将此信息输入到单片机,单片机处理此信息后,将控制命令输出到驱动模块,以控制小车的直流减速电机,保证小车平稳地沿预先设定好的路线行驶。同时,超声波模块实时监测跑道上障碍物和小车之间的距离,当距离小于规定值时,小车进入岔道,然后继续沿着黑线前进。
单片机电路:采用ATMega128芯片作为控制单元。ATMega128ATMEL公司的 8位系列单片机,稳定性高,应用广泛。所有I/O端口都具有真正的读-修改-写功能;具有两个独立的预分频器和比较器功能的8位定时器/计数器;具有两个预分频器、比较功能和捕捉功能的16位定时器/计数器;具有独立预分频器的实时时钟计数器;能够产生两路8PWM6路分辨率可编程(116位)的PWM;可以通过SPI实现系统内编程。
TCRT5000循迹模块:采用反射式红外发射接收器作为循迹传感器,由红外传感器完成黑线识别并产生高、低电平信号,经过LM324整形后传送到单片机,单片机通过程序控制驱动模块来控制两个直流电机的工作状态,完成自动循迹。
传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为高电平;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为低电平。
为了对小车实现精确的定位及纠正小车在行走中出现的偏差,检测系统采用8个如图2-8所示的传感器构成检测阵列。8个检测头的排布为5个在前,3个在后,并用数字编号。12工作在黑线上,3456分别在12两边夹住黑线,78则离得相对较远。
电机驱动模块:采用L298N作为电机驱动芯片。L298N具有高电压、大电流、响应频率高的全桥驱动芯片,一片L298N可以控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便,稳定性好,性能优良。L298N的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298N的驱动功率较大,能够
根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。
循迹小车采用2轮驱动以实现直线和曲线运动,在小车的运动过程中需要对2个主动轮的运动方式进行合理安排。在本设计中采用PWM方式进行调速,选用L298N来驱动2个直流减速电机实现运动控制。
PWM调速控制的基本原理是按一个固定频率来接通和断开电源,并根据需要改变一个周期内接通和断开的时间比(占空比)来改变直流电机电枢上电压的“占空比”,从而改变平均电压,控制电机的转速。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。在脉宽调速系统中,当电机通电时其速度增加,电机断电时其速度减低。只要按照一定的规律改变通、断电的时间,即可控制电机转速。在本设计中使用16位定时器3产生两路PWM波(PE4控制A电机,PE5控制B电机),PWM频率为500HzPWM分辨率位数为12位。
直流电机:采用ASLONG JGA25-370直流减速电机。直流减速电机,即齿轮减速电机,是在普通直流电机的基础上,加上配套齿轮减速箱。齿轮减速箱的作用是提供较低的转速,较大的力矩。同时,齿轮箱不同的减速比可以提供不同的转速和力矩。
超声波避障模块:采用超声波测距模块(HC-SR04),利用单片机PC6控制HC-SR04Trig引脚产生一个10us以上的高电平,用单片机外部中断6INT6)检测接收口Echo高电平输出。一有输出则引起外部中断,在外部中断内开定时器0计时,当Echo端口变为低电平时再次触发外部中断6,在中断内停止定时器0计数。最后读出定时器的值,该时间值÷2×超声波传播速度=障碍物和小车的距离。当障碍物与小车的距离小于规定值时,小车在行进中会绕开障碍物,沿着另一条跑道前进。
液晶显示模块:采用HG12232带中文字库的液晶显示屏显示小车运行状态。主要显示小车运行时间,实时运行状况。该液晶屏可以并行传输,也可以串行传输。在这个设计中,考虑到ATMega128有足够的引脚,故采用并行传输。
DS1302时钟模块:DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用DS1302对小车运行时间计时。
电源模块:电机电源由四个串联的1.5V碱性电池作为电源。单片机系统由四个串联的1.5V碱性电池,然后串接一个IN4007,最后用0.1uF电容进行滤波。电机电源和单片机系统电源分
开供电,提高了系统供电稳定性。
步进电机模块:采用减速步进电机28BYJ48,该电机为5线4相制电机,工作电压5V 可以用普通ULN2003芯片驱动。步进角度:5.625 x 1/64(八拍),减速比:1/64。在该设计中采用单四拍工作方式。               
AVR单片机C语言设计:C语言是一种结构化的高级语言,它有可移植性,维护方便,可读性好等特点。相对于汇编语言,在结构复杂的应用场合使用C语言能够大大缩短开发周期,易于维护和移植,甚至有更高的代码效率。而且使用C语言作为编程语言可以跳过复杂的MCU指令集。本设计采用C语言来编译程序。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,软件的设计上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。
ICCAVR编译器:目前支持AVRc语言编译器ide代码编辑的C编译器有ICCAVRIARGUN CCVAVR等。其中ICCAVR是一种符合ANSI标准的C编译工具。它具有代码编译器,C编译器,项目管理器,另外它还有外围设备初始化,在线编程等功能。ICCAVR是一款低成本、高性能的C语言编译器,其包括C编译器和IDE集成编译环境。该编译器支持所有的AVR系列芯片,自动生成对
I/O寄存器操作的I/O指令。其编译器是对通用C编译器的移植,完全支持标准的ANSI C,支持32位的长整数的32位的单精度浮点数计算,支持在线汇编,同时也能和单独的汇编模块进行接口。可以生成用于AVR Studio源代码调试的目标文件。
抗干扰技术:提高系统的可靠性,主要方法有硬件抗干扰和软件抗干扰。本设计中用到的硬件抗干扰:给电机加滤波电路,电容、电感引线尽量短;电路板上每个IC并接一个0.1μF高频电容,以减小IC对电源的影响,并且电容尽量靠近所并联的器件。晶振与单片机引脚尽量靠近,在速度能满足要求的前提下,尽量降低单片机的晶振;所有地线组成环地。本设计中用到的软件抗干扰措施主要有:开关量的软件抗干扰技术、指令冗余技术、软件陷阱技术、“看门狗”技术
设计内容共包括七章:1. 方案设计与论证2. 系统硬件设计3. 系统软件设计、;4. 系统总体调试;5. 系统抗干扰设计;6.技术经济分析;7. 结论。
关键词:ATMega128;循迹;避障;ICCAVR