探测路面黑线的基本原理.doc_第1页
探测路面黑线的基本原理.doc_第2页
探测路面黑线的基本原理.doc_第3页
探测路面黑线的基本原理.doc_第4页
探测路面黑线的基本原理.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制小车行走的路迹。下面几种可行的方案是根据本原理设计的:方案一:采用普通的发光二极管及光敏电阻组成的发射接收方案,如图1-1所示。其工作原理:当无光照时,光敏电阻呈现高阻状态,又分压公式可知,电阻R2无压降三极管截止,三极管的集电极输出高电平;反之,当有光照的时候,光敏电阻接收到反射的光,其阻值下降,由分压公式,R2有压降三极管导通,输出低电平,利用高低电平可以判断控制小车的形程和方向。本方案能达到基本的控制要求,但是它的缺点在于容易受到外界光线的干扰,不易于控制小车的行迹,损坏了信号采集的效果。主要是因为可见光的反射效果跟地表的平坦程度、材料的反射情况有关直接影响到检测效果。1-1发光二极管及光敏电阻组成的发射接收方案方案二:脉冲调制的反射式红外发射接收器。由于采用该有交流分量的调制信号,侧可大幅度减少外界干扰;另外红外发射接收管的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再平均电流不变的情况下,瞬时电流很大(50100mA),则大大提高了信噪比。并且其反应灵敏,外围电路也很简单。如图1-2所示。它的优点是消除了外界光线的干扰提高了灵敏度,制作比较简单。1-2脉冲调制的反射式红外发射接收方案由以上两种方案比较可知。方案二要比方案一优势大,市场上很多红外观点探头也都基于这个原理。其电路简单,工作可靠,性能比较稳定。从而避免了电路的复杂性,因此我先用方案二作为小车的监测系统。2电动机的选择市场上用很多种类的小电压直流电动机,很方便的选择到。主要有普通电动机、和步进电动机。方案一:采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。其转换灵敏度比较高。正转、反转控制灵活。但是步进电机的价格比较昂贵,对于我们的现状相差太远。方案二:采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、方便。调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。由于普通直流电机价格适宜,更易于购买,并且电路相对简单,因此建议采用直流电机作为动力源。3电动机驱动方案的选择方案一:采用电路网络或数字电位器调整电动机的分压,从而达到调整速度目的。但是组织网络只能是先有极调速,而数字电阻的元器件价格比较昂贵,且可能存在于干扰。更主要的问题在于一般电动机的电阻比较小丹电流很大,分压不仅会降低效率,而且实现很困难。方案二:采用继电器对电动机的开关控制,通过控制开关的切换速度实现对小车的速度进行调整。这个电路的优点是电路较为简单,缺点是继电器的响应时间长,易于损坏,寿命较短、可靠性小。方案三:采用四个大功率晶体管组成H桥式电路,四个大功率晶体管分为两组,交替导通和截止,用单片机控制使之工作在开关状态,进而控制电机的运行。该控制电路由于四个大功率晶体管只工作在饱和与截止状态下,效率非常高,并且大功率晶体管开关的速度很快,稳定性也极强,是一种广泛采用的电路。由以上三种方案,我们选择了四个大功率晶体管组成H桥式电路的293集成芯片如图1-3所示运用方便简单,软件也简单。1-3 L293集成芯片4障碍物探测方案的选择方案一:脉冲调制的反射式红外线发射接受器。由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再品均电流不变的情况下,顺势电流很大(50100mA),则大大提高了信噪比。并且其反应灵敏,外围电路也很简单。如图1-2所示。它的优点是消除了外界光线的干扰提高了灵敏度。方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通知单片机前方有障碍物,如则通知单片机可以向前行驶。市场上很多红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且能避免电路的复杂性我们在这里采用的和寻迹传感器相同的电路,也就是第一种方案如图1-2所示。因为第二种方案超声波传感器价格比较昂贵。5供电方案的选择方案一:采用两个电源供电,将电动机驱动电源与电片机以及其周边电路电源完全隔离,利用光电耦合器传输信号。这样可以使电动机驱动所造成的干扰彻底消除,提高了系统的稳定性,但是多一组电池,增加了小车的重量,同时也增加了小车的惯性,消弱因为电动机的控制性能,降低了灵敏度。方案二:采用单一电源供电。电源直接给电动机供电,因电动机起动瞬间电流较大,会造成电源电压波动,因而控制与检测部分电路通过集成稳压块供电,将电压稳定在一定数值范围内,以免有波动电压造成电路的损毁,其供电也比方案一简单。我们在选用的时候,根据自己的经济情况采用了第二种方案,并且选取的是二手手机电池,作为供电电源。我们用两节手机电池,输出8伏然后,经1117(如图1-4所示),稳压之后为总电路供电。a) b)1-4 a) A1117芯片实物图;b) A1117构成的供电原理图6控制核心CPU的选择方案一:市场上流通很多种类的单片机,在一般性能上都可以达到要求,例如AT89C51、AT89C52等都可以用于控制小车,唯一缺点在于不能在线下载,造成了不便的烦恼,下载器,AT系列单片机价钱比较贵。不利于小资本实验。方案二:STC系列单片机价钱容易接受,可以在线下载,下载器也比较容易购买到,方便携带应用。例如,STC89C51 其可以用于控制小车,性能功能上要比AT系列突出,因此,我选择了第二种方案,作为控制核心,以便控制小车。如图1-5所示。1-5STC89C51引脚图通过以上各部分方案比较,我们选择STC89C51作为控制核心器件、脉冲调制的反射式红外发射接收器作为寻迹和蔽障器件、采用普通直流电机来驱动小车、采用四个大功率晶体管组成H桥式电路驱动直流电机、采用CA358E运算放大器作为传感器核心部件、采用单一电源供电为整个系统供电。整个系统我们做了细心的比较、与现实情况相联系起来,最终选取的。二、硬件设计如下图1-6所示,是本次设计智能小车的电路框图。以STC89C51为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源,以便能正常工作。1-6智能小车的电路框图1CPU中央处理器的设计STC89C51是40脚的集成芯片如下图1-7所示。可以在线下载,减少了插拔芯片的工作。图1-7-1,是本芯片部分管脚的说明框图。根据我们设计的电路的要求,为了保证芯片和电路能正常的工作,选择了12.0000MHz晶振,和两个30pF的电容作为中央处理理器的时间标准,这样就保证了正常的工作时序。如图1-7-2所示。本芯片的40和20脚分别是接五伏电源的正负极,在接入电源之前,40脚处并接了103和10微法的电容以保证电路能正常工作,防止从电源外界来的干扰,以免造成死机。这样芯片就能正常地工作了。为了便于下载另外外接了一个4芯的下载口如图1-7-2所示,下载口的1和2脚分别接于单片机的TXD和RXD管脚,下载口的3和4脚分别接正五伏和地。本次设计,所用到芯片的管脚是P1和P2口,P1.0主要是为传感器发送脉冲调制信号,P1.1P1.6控制电机驱动芯片293,P2.0P2.3是接受从传感器发送来的信号。P2.4是寻迹和蔽障的切换口。具体内容请参照总的电路原理图(1-主要功能是控制电机和传感器,处理从传感器发送来的信号。 1-7 STC89C51引脚图,以及晶振连接图1-7-1部分引脚说明1-7-2单片机基本连接图2寻迹、避障检测设计与实现工作原理寻迹和避障所用的的传感器电路如下图1-8所示。其工作原理:V1三极管的基极通过从单片机P1.0口发送的的脉冲调制信号,控制发光二极管发送信号。当接收二极管D2接收到发送来的信号,立刻导通去给由C1、R6组成的微分电路充电,这样便给运算放大器同相端传输信号,运算放大器度信号进行放大后送入第二个运算放大器组成的比较器,进行调制电平以便单片机所能接受。控制V3导通输出低电平让单片机处理信号并控制其它电路。反之,无光照时,输出高电平。对其进行调试时,可以通过,改变R2电阻的阻值来改变其灵敏度,或者改变R4、R5、R6、的阻值去控制传感器的灵敏度。寻迹应用当检测到黑线时,红外光敏二极管接收到反射回来红外光,其输出立即发生高低点平转换,该信号经放大器放大后送到单片机进行分析处理。然后将处理后的结果发送到电机驱动模块,进行校正。为了保证小车沿黑线行驶,采用了两个检测器进行并行排列,左右方向都可以进行控制,控制精度得以提高。在小车行走过程中,诺向左方向偏离黑线,则右侧的探头就会检测到黑线,把信号传送到单片机。进行处理校正。控制其向右转,反之,向左转。避障的应用避障与寻迹的设计原理是相同的,区别在于传感器的灵敏度不同,蔽障的灵敏度要比寻迹的灵敏度高,只要小车前方有障碍物,红外线通过障碍物反射到光敏管,传感器输出低点平,发送到单片机进行处理,然后单片机处理后去控制小车运行和方向。 1-8 传感器电路图传感器中的运放我们在这里选择的是CA358E运算放大器,一般情况下可以运用到本次设计当中。在性能上虽然比258运算放大器略有缺点。但可以满足我们的要求。如下图1-8-1所示。CA358E简介CA358E芯片是8脚DIP封装形式,有两组运算放大器组成,5伏供电如图1-8-1所示1脚是第一个运算放大器的输出端,2和3 脚分别是第一个运算放大1-8-1 CA358E引脚图器的反相输入和同相输入,第4脚是地线接口,5和6脚是第二个运算放大器的同相输入和反相输入,第7脚是第二个运算放大器的输出端,8脚是正5伏输入端。 3电动机驱动电路设计与实现293集成芯片由四大功率管组成H桥式电路。是十六脚封装的直流电机驱动电路芯片,能够同时驱动两个直流电机。图1-9-1是293的逻辑关系图表,根据1-9和1-9-1,我们可以使用293集成芯片了。使用原理293的使用非常简单,如图1-9所示,管脚1、2、7、9、10、15是用来控制电机动、停的关键,是由单片机的P1.1、P1.2、P1.3、P1.4、P1.5、P1.6控制的。前三个管脚是用来控制第一个电机,后三个是用来控制第二个电机的。当使能端1或9脚接收到单片机发送的高电平时,芯片就可以由2、7或10、15脚分别控制两个电机正反转。如果,2、7同时为高或低电平时电机停止运转。只要这两个管脚电平不同电机就可以运转,10、15两个管脚同2、7一样。293芯片的输出分别是3、6脚和11、14脚。其余的4、5、12、13是接地用的,VSS、VS分别接5V、8V。四大功率管分为两组,交替到通截止,以保证小车完成前进和后退、左、右转弯等运行动作。原理图如1-9-2所示。是具体的电路连接图,各个管脚都有标注,电机分别连接在out1、out2和out3、out4其余分别于单片机和电源部分连接。 1-9、293芯片图 1-9-1、293逻辑图1-9-2293基本连接图5电源部分的设计电源采用了两块手机电池供电,之后通过470uF和104滤波之后经1117整流后再次经47uF电容滤波输出平稳的5伏电压。如下图1-10所示。1-10 5V电源图如图1-11所示,是本次设计的整体电路原理图,本电路是由四个同样的传感器电路、电源部分、控制部分(单片机)、电机驱动四大部分组成。三、软件设计硬件设计焊接完毕后,进行调试无误,根据老师基本的要求和自己的发挥,联系硬件结构进行编程,运算。在编程之前首先将程序框图编写出来。然后根据程序框图和硬件电路进行编程调试,如下图所示分别是总程序框图、寻迹子程序框图、避障子程序框图。程序编写的同时,必须根硬件相联系起来,负责达不到原想的效果。编完一段的下载到芯片上去进行软硬件调试,调试到与原本效果相同为止 。 下面是部分程序,因为篇幅的关系只将部分程序载入,仅供参考。主程序框图 寻迹子程序 避障子程序程序全文:;- 系列单片机 -;*;* 自定义头文件区 *;*CLK EQUP1.0 ; 脉冲为传感器提供脉冲ENA EQUP1.1 ; 293第一个使能端INA1 EQUP1.2 ; 293第一个输入INA2 EQUP1.3 ; 293第二个输入ENB EQUP1.4 ; 293第二个使能端INB1 EQUP1.5 ; 293第三个输入INB2 EQUP1.6 ; 293第四个输入LBZ EQUP2.2 ; 左避障RBZ EQUP2.3 ; 右避障 LXJ EQUP2.0 ; 左寻迹RXJ EQUP2.1 ; 右寻迹;*;* 入口向量区 *;* ORG0000H ; 系统复位 LJMP GAA01 ; ORG000BH ; T0定时器中断() LJMP GAC01 ; ;*;* 主程序区 *;* ORG0060HGAA01:CLR P2.5 ;寻迹与蔽障传感器切换开关,0为寻迹 SETB P2.6 ;指示灯,亮为寻迹,灭为蔽障 SETB P2.4 ;蔽障寻迹开关,0为蔽障 MOVR2,#022H ;R2、R3、R4是寻迹定时器 MOVR3,#0FFH MOVR4,#0FFH MOVR5,#30H MOVSP,#5FH ; 堆栈指针 MOVAUXR,#01H ; 内寄存器,关ALE MOVTMOD,#01H MOVIE,#082H CLR P2.5 SETB TR0 JNB P2.4,BZ ;判断是寻迹还是蔽障 LCALL YS2 JNB P2.4,BZ LCALL XHH ;寻迹子程序 LCALL FXXJ0 ;反向 LCALL TZ ;停止 LCALL UU ;前进 LCALL FXXJ0 LCALL TZ LCALL UU MOVR2,#022H ;R2、R3、R4是寻迹定时器 MOVR3,#0FFH MOVR4,#02H LCALL XHH LCALL YHD ;右换道 MOVR2,#02H ;R2、R3、R4是寻迹定时器 MOVR3,#01FH MOVR4,#02H LCALL XHH ;寻迹 LCALL FXXJ1 ;反向 LCALL TZ LCALL UU LCALL FXXJ1 LCALL TZ LCALL UU MOVR2,#021H MOVR3,#0FFH LCALL XHH ;寻迹 LCALL ZHD ;左换道 MOVR2,#031H MOVR3,#0FFH LCALL XHH LCALL FXXJ0 ;左反向 LCALL TZ LCALL UU LCALL FXXJ0 LCALL TZ LCALL UU MOVR2,#031H MOVR3,#0FFH LCALL XHH LCALL JSDY MOVR2,#021H MOVR3,#0FFH LCALL QJ ;前进 LCALL TZ JB P2.4,$BZ : SETB P2.5 ;蔽障 CLR P2.6 JB P2.4,GAA12 LCALL YS1 JB P2.4,GAA12 LJMP BZZGAA12:LJMP GAA01BZZ: MOVR4,#00H SETB CGAA22:JB P2.4,GAA12 MOVR2,#02FH MOVR3,#02FH LJMP GAA021GAA021: JB LBZ,GAA23;=HT1: LCALL DD LCALL YS2 LCALL YS2 LCALL YS2 LCALL RR3 LCALL YS2 JNB RBZ,HT1 LCALL YS2 JNB RBZ,HT1 LCALL RR2 JNB RBZ,HT1 LCALL YS2 JNB RBZ,HT1 LCALL YS2 JNB RBZ,HT1 DJNZ R2,GAA021 LJMP GAA22GAA23:JB RBZ,GAA24HT: LCALL DD LCALL YS2 LCALL YS2 LCALL LL3 LCALL YS2 JNB LBZ,HT; LCALL YS2 JNB LBZ,HT; LCALL LL2 JNB LBZ,HT; LCALL YS2 JNB LBZ,HT; LCALL YS2 JNB LBZ,HT; DJNZ R3,GAA23 LJMP GAA22GAA24:JB RXJ,GAA25 LCALL UU LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL FXXJ LJMP GAA22GAA25:LCALL UU;=GAA112: JNB LBZ,GAA113 MOVR4,#00H LJMP GAA22BJ : JC GAA112 SETB C LCALL FXXJN LJMP GAA22GAA113: JB RBZ,HHH INC R4 CJNE R4,#02H,BJ LJMP GAA112;=HHH: LJMP GAA22 中断服务程序区 ;=寻迹子程序=GAA02:JB LBZ,GAA03 LCALL RR1 LJMP GAA02GAA03:JB RBZ,GAA04 LCALL LL1 LJMP GAA02GAA04:JNB LXJ,GAA05 LCALL LL1 LJMP GAA02GAA05:JNB RXJ,GAA06 LCALL RR1 LJMP GAA02GAA06:LCALL UU RET;=寻迹正=XHH: LCALL GAA02 LCALL GAA02 JNB P2.4,BZ1 LCALL GAA02 JNB P2.4,BZ1 DJNZ R2,XHH DJNZ R3,XHH DJNZ R4,XHH LJMP FXFX: RETBZ1 : LJMP BZ;=前进=QJ : LCALL UU JNB P2.4,BZ5 LCALL UU JNB P2.4,BZ5 DJNZ R2,QJ DJNZ R3,QJ DJNZ R4,QJ RETBZ5 : LJMP BZGAC01:MOVTH0,#0EDH; 中断服务程序(T0) MOVTL0,#000H CPL CLK RETI;= 子程序区 ;+ 延时子程序 +YS: MOVR6,#010HYS0: MOVR7,#0FFHYS1: DJNZ R7,YS1 DJNZ R6,YS0 RET;+ 前进子程序 +UU: SETB INA1 CLR INA2 SETB INB1 CLR INB2 SETB ENA SETB ENB RET;+ 后退子程序 +DD: CLR INA1 SETB INA2 CLR INB1 SETB INB2 SETB ENA SETB ENB RET;+ 左转1子程序 +LL1: SETB INA1 SETB INA2 SETB INB1 CLR INB2 SETB ENA SETB ENB RET;+ 左转2子程序 +LL2: CLR INA1 SETB INA2 SETB INB1 SETB INB2 SETB ENA SETB ENB RET;+ 左转3子程序 +LL3: CLR INA1 SETB INA2 SETB INB1 CLR INB2 SETB ENA SETB ENB RET;+ 右转1子程序 +RR1: SETB INA1 CLR INA2 SETB INB1 SETB INB2 SETB ENA SETB ENB RET;+ 右转2子程序 +RR2: SETB INA1 SETB INA2 CLR INB1 SETB INB2 SETB ENA SETB ENB RET;+ 右转3子程序 +RR3: SETB INA1 CLR INA2 CLR INB1 SETB INB2 SETB ENA SETB ENB RET;=右换道子程序区=YHD: LCALL RR1 LCALL YS2 LCALL TZ LCALL YS2 LCALL RR1 LCALL YS2 LCALL YS2 RET;=左换道程序=ZHD:LCALLLL1 LCALL YS2 LCALL TZ LCALL YS2 LCALL LL1 LCALL YS2 LCALL YS2 RET;=左反向=FXXJ0:LCALL LL1 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2LCALL YS2 LCALL YS2 RET;=右反向=FXXJ1:LCALL RR1 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 RET;=90度右旋转=JSDY :LCALLYS2 LCALL YS2 LCALL YS2 LCALL YS2 RET;=90度左旋转=JSDZ :LCALLRR3 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 RET;=蔽障转向子程序=FXXJN:LCALL DD LCALL YS2 LCALL YS2 LCALL YS2 LCALL RR1 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 LCALL YS2 RET;=蔽障判断前方是否有障碍=FXXJ: LCALL RR1 LCALL YS2 LCALL YS2 LCALL YS2 LCALL LL1 LCALL YS2 LCALL YS2 LCALL YS2 JB LBZ,FH LCALL YS2 LCALL YS2 LCALL YS2 JB RBZ,FH LJMP FXXJFH: RET;=停止程序=TZ : CLR ENA CLR ENB CLR INA1 CLR INA2 CLR INB1 CLR INB2 RET;=延时子程序=YS2 : MOV 50H ,#0FFHYY1 : MOV 51H ,#0FFHJ3 : DJNZ 51H ,J3 DJNZ 50H ,YY1 RETEND ; 结束四、具体测试情况1小车寻迹测试我的小车在轨道上自动行驶,沿着黑线轨迹前进,当行驶了两圈之后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论