关键词:自动寻迹;单片机;光电传感器
1 前言
随的科技的发展,视觉技术中图像处理技术已经相当发达,自主式智能导航系统是视觉的典型应用领域,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。摄像管或CCD是视觉传感器的核心器件,但市场价格价格,体积较大,使用方式不方便,因此在不要求图像识别只需粗略感觉的系统中使用接近传感器是一种非常实用有效的方案。
AGV小车若要实现避障和自动导引功能就需要感知导引线和障碍物,感知导引线相当给AGV小车一个视觉功能。故对AGV小车自动引导的研究已成为必要。智能避障和寻线是智能AGV导引小车系统,采用红外传感器实现小车速度检测,判断出障碍物。本文对智能AGV小车的寻线,避障以及速度的采集进行了研究[1-2]。
2 机械结构方案
车体采用框架式设计,驱动方式采用直流电机驱动。如图1和图2所示。
小车动力由两个直流电机驱动,车体的转向可通过两个直流电机的差速实现,因此小车可围绕车体的中心进行转动,使得车体转弯半径变小,灵活性提高,具有360°的回转功能[2]。
车体表面用钢板铺盖,考虑受力安装的问题,以螺钉连接为主,以便于后期拆装,对无需拆装部位采用焊接的方式连接,并对钢板表面进行防锈喷涂。
3 控制系统总体设计
本文设计的控制系统是让小车延地板上设置的引导线行走,采取的方式是红外探测法,即利用红外线在不同颜色物体表面具有不同的反射性质特点,在小车行驶的过程中不断向地面发射出红外光线,当红外光线遇到其他颜色纸质地板时发生了漫反射,反射光被接收管接收;若遇到黑线时,红外光被吸收,接收管接收不到红外光信号。单片机对是否收到反射回来的信号为依据确定导引线的位置,控制小车的行走路线。
本文设计系统以单片机ATmega16为核心,利用自制的红外传感器识别引导线,ATmega16控制集成H桥芯片驱动两个带减速机构的直流电机,直流电机分别带动左右车轮沿引导线路线行驶。系统结构图如图3所示。
图3 系统结构图
4 系统硬件设计
4.1 单片机设计
本文采用ATmega16芯片作为控制核心,因ATmega16是增强的AVR RISC结构,低功耗8位CMOS微控制器。AVR内核具有32个通用工作寄存器和指令集。寄存器分别与算术逻辑单元(ALU)直接连接,一条指令可在一个周期内同时对两个独立的寄存器进行访问。此结构可大大提升代码效率,并具有比很高的数据吞吐率。控制寄存器位于I/O空间。状态寄存器内有全局中断使能位。每个中断在向量表里都有独立的中断向量。中断优先级与其在向量表中的位置有关,中断向量地址越低,则优先级越高。I/O存储器空间中有64个可直接寻址的地址,可用于作为SPI、CPU外设的控制寄存器,或其他I/O功能[3]。电路如图4所示。
图4 单片机系统原理图
红外探测器主要是由三个光电传感器组合而成,包括一个红外线发射二极管和一个接收器。采用红外管代替可见光可以降低背景光的干扰。发射管发出一定光强的红外信号,光电管接收发射的红外信号。红外线的发送和接收选用ITR9909的对管[4]。当小车在白色的地面行驶时,装在下车上的红外发射管就会发射出红外线信号,经白色物体的反射后,被车上的接收管接收,一旦接收管接收到信号后,光敏三极管就会导通,同时比较器输出低电平;当行驶到黑色引导线时,红外线被黑色物体吸收,接收器接收不到信号,光敏三极管不导通,比较器输出为高电平,从而实现了红外线检测信号的功能。将检测信号送入单片机的I/O接口,当I/O接口收到高电平信号时,说明红外线被地上的引导线吸收了,表明小车当前正处在引导线上;同理,表明小车行驶已偏离引导线。在小车循迹行走过程中,为精确的测定引导线位置并确定小车的行走方向,在下车底盘安装了3对红外探测头,全部位于一条直线上。当小车行走时,始终保持在引导线上,当小车偏离引导线时,一级探测器一旦探测不到引导线,单片机就会按设定的程序发送指令给小车的驱动系统,驱动系统再对小车路径予以纠正。若小车回到了预设轨道上时,小车会继续按此轨道向前行走。如图5所示为寻迹电路原理图。
图5 寻迹电路原理图
4.3 驱动电路设计
本设计中采用基于H型全桥式电路驱动的直流减速电机,此驱动电路可方便实现直流电机的四象限运行,分别对应正转制动、正转、反转、反转制动[5]。
全桥式驱动电路的4只开关管都工作在斩波状态,S1和S2一组,S3、S4为另一组,两组状态互补,一组导通则另一组关断。当S1、S2关断时,S3、S4导通,导通电机两端施加以反向电压,可实现电机的正转或反转制动;当S3、S4关断时,S1、S2导通,电机两端为反向电压,电机反转或正转制动。
当PWM数据发生变化时,则建立“计算电机控制参数”标志,根据PWM的数值和PWM的周期计算出数据。需先根据PWM的值判断出处于哪种模式的驱动。若为“单极性受限PWM驱动”模式,则可根据PWM值和PWM频率计算出前、后半周期的持续时间。然后再根据转动的方向给出电机的输出控制字,若是“双极性可逆PWM驱动”模式,可根据PWM值、转动方向和PWM频率计算出前后半周的持续时间,其前、后半周的电机输出控制字不随转动方向变化,由前、后半周持续时间的比例决定转动方向。如图6所示驱动电路原理图。
图6 驱动电路
5 软件设计
软件设计功能要实现检测引导线路线的走向,并控制小车按引导线行走。
首先系统上电后,进行程序初始化,并延时后启动电机和红外探测模块。在小车运行中,不断的检测引导线来调整小车的前进方向。当小车进入循迹的模式后,开始不停扫描与探测器连接的单片机I/O口,当检测到某个I/O口有输入信号后,进入判断的处理程序。首先判断3个探测器中的哪一个探测到了引导线,若最左边的传感器探测到引导线,则说明小车的左半部分压到了黑线,车身已向右侧偏出,此时应输出高电平使小车向左转;若是右边传感器探测到信号,则小车已向左偏出了轨迹,就应输出低电平使小车向右转。在经过了方向的调整后,回到轨迹上时,小车再继续的向前行走,并继续的探测引导线重复上述动作。当两边的传感器都未检测到引导线,小车将直线行走。如图7所示为软件系统流程图。
图7 软件系统流程图
6 结论
本文所设计的小车控制系统,当小车在行驶过程中可自动实现寻迹行驶,从而达到了设计要求。本寻迹小车的结构简单、重量轻、体积小、功耗低、控制灵活。寻迹小车是智能小车的重要一部分,有着非常广泛的应用前景,但若要达到高度智能化还有很长一段路要走,需要我们坚持不懈的探索和研究。
共0条 [查看全部] 网友评论