红外自动循迹小车讲解.pdf

上传人:tbuqq 文档编号:4705900 上传时间:2019-11-27 格式:PDF 页数:17 大小:616.40KB
返回 下载 相关 举报
红外自动循迹小车讲解.pdf_第1页
第1页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《红外自动循迹小车讲解.pdf》由会员分享,可在线阅读,更多相关《红外自动循迹小车讲解.pdf(17页珍藏版)》请在三一文库上搜索。

1、目 录 目 录 0 摘要: 1 1. 任务及要求 2 1.1 任务 2 2. 系统设计方案 2 2.1 小车循迹原理 2 2.2 控制系统总体设计 2 3. 系统方案 3 3.1 寻迹传感器模块 . 3 3.1.1 红外传感器 ST188简介. 3 3.1.2 比较器 LM324简介. 4 3.1.3 具体电路 . 4 3.1.4 传感器安装 . 5 3.2 控制器模块 5 3.3 电源模块 6 3.4 电机及驱动模块 7 3.4.1 电机. 7 3.4.2 驱动. 7 3.5 自动循迹小车总体设计 8 3.5.1 总体电路图 . 8 3.5.2 系统总体说明 . 10 4. 软件设计 10

2、4.1 PWM控制 10 4.2 总体软件流程图 . 11 4.3 小车循迹流程图 11 4.4 中断程序流程图 12 4.5 单片机测序 13 5参考资料 16 自动循迹小车 1 自动循迹小车 摘要: 本设计是一种基于单片机控制的简易自动寻迹小车系统,包括小车系统构成 软硬件设计方法。小车以AT89C51 为控制核心 , 用单片机产生PWM 波,控制小 车速度。利用红外光电传感器对路面黑色轨迹进行检测, 并将路面检测信号反馈 给单片机。单片机对采集到的信号予以分析判断, 及时控制驱动电机以调整小车 转向, 从而使小车能够沿着黑色轨迹自动行驶, 实现小车自动寻迹的目的。 关键词: 单片机 AT

3、89C51 光电传感器直流电机自动循迹小车 Abstract : This design is a Simple Design of a smart auto-tracking vehicle which based on MSC control.The construction of the car ,and methods of hardware and software design are included. The car use AT89C51 as heart of centrol in this system. Then using PWM waves Produced by

4、MCU to control car speed. By using infraraed sensor to detect the information of black track. The smart vehicle acquires the information and sends t hem to the MSC.Then the MSC analyzes the signals and controls the movements of t he motors. Which make the smart vehicle move along the given black lin

5、e antomaticly. Keywords :infrared sensor ;MSC ;auto-tracking 自动循迹小车 2 1. 任务及要求 1.1 任务 设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑 色车轨迹行驶。系统方案方框图如图1-1 所示。 图 1-1 系统方案方框图 2. 系统设计方案 2.1 小车循迹原理 这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线 的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。通常采取的 方法是红外探测法。 红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的 特点,

6、在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板 时发生漫反射, 反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸 收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依 据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限, 2.2 控制系统总体设计 自动循迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、 电机及驱动模块等部分组成, 控制系统的结构框图如图 2-1 所示。 检测(黑线)驱动电机软件控制控制小车 稳压电 源模块 主控芯片 AT89C51 L298 减速电机 光电传感器 电压比较器 图 2-1控制系统的结构 框图 自动循迹

7、小车 3 1、 主控制电路模块:用AT89C51 单片机、复位电路,时钟电路 2、 红外检测模块:光电传感器ST188,比较器 LM324 3、 电机及驱动模块 : 电机驱动芯片 L298N 、两个直流电机 4、 电源模块:双路开关电源 3. 系统方案 3.1 寻迹传感器模块 ST 系列反射式光电传感器是经常使用的传感器。这个系列的传感器种类齐 全、价格便宜、体积小、使用方便、质量可靠、用途广泛。 我们采用 ST188 作为红外检测传感器。 在黑线检测的测试中, 若检测到白色区域, 发射管发射的红外线没有反射到 接收管,测量接收管的电压为48V ,若检测到黑色区域,接收管接受到发射管 发射的红

8、外线, 电阻发生变化, 所分得的电压也就随之发生变化,测的接收管的 电压为 05V,测试基本满足要求。 判断有无黑线我们用的一块比较器LM324 , 比较基准电压由 30K的变阻器调 节,各个接收管的参数都不一致,每个传感器的比较基准电压也不尽相同,我们 为每个传感器配备了一个变阻器。 3.1.1 红外传感器 ST188简介 含一个反射模块(发光二极管)和一个接收模块(光敏三极管)。通过发射 红外信号,看接收信号变化判断检测物体状态的变化。A、K之间接发光二极管, C、E之间接光敏三极管(二者在电路中均正接,但要串联一定阻值的电阻) 图 3-1 ST188 实物图图 3-2 ST188 管脚图

9、及内部电路 自动循迹小车 4 3.1.2 比较器 LM324简介 LM324 为四运放集成电路, 采用14脚双列直插塑料封装。 内部有四个运算放 大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330V, 或正负双电源 15V15V 工作。 在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线 有无。在电路中, LM324 的一个输入端需接滑动变阻器,通过改变滑动变阻器的 阻值来提供合适的比较电压。 图 3-3 LM324 内部电路图 3-4 集成运放的管脚图 3.1.3 具体电路 通过ST188 检测黑线,输出接收到的信号给LM324 ,接收电压与比较电压比 较后

10、,输出信号变为高低电平,再输入到单片机中,用以判定是否检测到黑线。 图3-5 传感器模块电路图 自动循迹小车 5 3.1.4 传感器安装 在小车具体的循迹行走过程中, 为了能精确测定黑线位置并确定小车行走 的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其 循迹的可靠性。这 4个红外探头的具体位置如图3-6所示。 图3-6 传感器安装图 图中循迹传感器全部在一条直线上。 其中X1与Y1为第一级方向控制传感器, X2与Y2为第二级方向控制传感器, 并且黑线同一边的两个传感器之间的宽度不得 大于黑线的宽度。小车前进时,始终保持( 如图3-6中所示的行走轨迹黑线 ) 在X1 和Y

11、1这两个第一级传感器之间, 当小车偏离黑线时, 第一级传感器就能检测到黑 线,把检测的信号送给小车的处理、控制系统, 控制系统发出信号对小车轨迹予 以纠正。若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行 走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围, 这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。 可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的 可靠性。 3.2 控制器模块 采用 Atmel 公司的 AT89C51 单片机作为主控制器。 它是一个低功耗, 高性 能的 8 位单片机,片内含 32k 空间的可反

12、复擦写100,000 次 Flash 只读存储器, 具有 4K 的随机存取数据存储器( RAM ) ,32 个 I/O 口,2 个 8 位可编程定时计 数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。 时钟电路和复位电路如图 3-7(与单片机构成最小系统) 自动循迹小车 6 1)采用外部时钟,晶振频率为12MHZ 2)采用按键复位 图 3-7 时钟电路和复位电路 3.3 电源模块 电源采用双路开关电源。明伟牌D-30W 双路开关电源。输出( 5V、12V) 。 实物图如图 3-8 所示。 图 3-8 双路开关电源 该开关电源 尺寸为 129X98X38mm,交流输入转换由开关选择,

13、具有过流短路 保护功能,能自冷散热。低价位、高可靠。 输入电压范围 -85 132VAC/175 264VAC ,4763Hz开关选择; 冲击电流 -冷起动电流 15A/115V 30A/230V; 自动循迹小车 7 直流电压可调范围 -额定输出电压的 10% ; 启动、上升、保持时间 -200ms ,100ms,30ms ; 耐压性 - 输入输出间;输入与外壳1.5KVAC ,输出与外壳, 0.5KVAC ,历时 一分钟; 工作温度、湿度 - -10+60,20% 90%RH ; 安全标准 -符合 CE标准; EMC 标准- 符合 CE标准; 连接方法 -7位 9.5mm接线端子; 质量/

14、包装-0.41Kg,45PCS/19.5Kg/1.2CUFT 表 1 型号输出差值范围效率 D-30A 5V,0.5V 4.04A 2% 50mV 72% 12V,0.1 1.0A 3,-7% 100mV 3.4 电机及驱动模块 3.4.1 电机 电机采用直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装 配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速) 齿轮组,可以产生较大扭力。 可选用减速比为 1:74 的直流电机,减速后电机的转速为100r/min 。若车 轮直径为 6cm ,则小车的最大速度可以达到 V=2 r v=2*3.14*0.03*100/60=0.

15、314m/s 能够较好的满足系统的要求。 3.4.2 驱动 驱动模块采用专用芯片L298N 作为电机驱动芯片, L298N 是一个具有高电 压大电流的全桥驱动芯片, 其响应频率高, 一片 L298N可以分别控制两个直流电 机。以下为 L298N的引脚图和输入输出关系表。 自动循迹小车 8 图 3-9 L298N 外部引脚表 2 L298N 输入输出关系 驱动电路的设计如图3-10 所示: 图 3-10 L298N 电机驱动电路 L298N 的 5、7、10、12 四个引脚接到单片机上,通过对单片机的编程就 可实现两个直流电机的PWM 调速控制。 3.5 自动循迹小车总体设计 3.5.1 总体电

16、路图 自动循迹小车 9 图 3-11 总体电路图 P 1 .0 P 1 .1 P 1 .2 P 1 . 3 C 1 3 3 u F C 2 3 3 u F C 3 1 u F X T A L 2 1 8 X T A L 1 1 9 A L E 3 0 E A 3 1 P S E N 2 9 R S T 9 P 0 . 0 /A D 0 3 9 P 0 . 1 /A D 1 3 8 P 0 . 2 /A D 2 3 7 P 0 . 3 /A D 3 3 6 P 0 . 4 /A D 4 3 5 P 0 . 5 /A D 5 3 4 P 0 . 6 /A D 6 3 3 P 0 . 7 /A D

17、7 3 2 P 1 .0 1 P 1 .1 2 P 1 .2 3 P 1 .3 4 P 1 .4 5 P 1 .5 6 P 1 .6 7 P 1 .7 8 P 3 .0 /R X D 1 0 P 3 .1 /T X D 1 1 P 3 .2 /I N T 0 1 2 P 3 .3 /I N T 1 1 3 P 3 .4 /T 0 1 4 P 3 . 7 /R D 1 7 P 3 . 6 /W R 1 6 P 3 .5 /T 1 1 5 P 2 . 7 /A 1 5 2 8 P 2 .0 /A 8 2 1 P 2 .1 /A 9 2 2 P 2 . 2 /A 1 0 2 3 P 2 . 3 /A

18、 1 1 2 4 P 2 . 4 /A 1 2 2 5 P 2 . 5 /A 1 3 2 6 P 2 . 6 /A 1 4 2 7 U 1 A T 8 9 C 5 1 X 1 C R Y S T A L R 1 1 k IN 1 5 IN 2 7 E N A 6 O U T 1 2 O U T 2 3 E N B 1 1 O U T 3 1 3 O U T 4 1 4 IN 3 1 0 IN 4 1 2 S E N S A 1 S E N S B 1 5 G N D8 V S 4 V C C 9 U 2 L 2 9 8 + 1 2 V C 4 0 . 1 u F C 5 0 . 1 u F C

19、 6 1 n F D 5 L E D - R E D D 8 L E D -R E D 43 12 U 5 S T 1 8 8 R 2 2 2 0 R 3 1 0 k 32 1 411 U 6 :A L M 3 2 4 43 12 U 9 S T 1 8 8 R 4 2 2 0 R 5 1 0 k 56 7 411 U 6 :B L M 3 2 4 43 12 U 7 S T 1 8 8 R 6 2 2 0 R 7 1 0 k 1 09 8 411 U 6 : C L M 3 2 4 43 12 U 8 S T 1 8 8 R 8 2 2 0 R 9 1 0 k 1 2 1 3 1 4 411

20、 U 6 : D L M 3 2 4 R S E N 1 R S E N 2 L S E N 1 L S E N 2 左 车 轮 右 车 轮 自动循迹小车 10 3.5.2 系统总体说明 如图 3-11 所示,当光电传感器开始接受信号,通过比较器将信号传如单片 机中。小车进入寻迹模式,即开始不停地扫描与探测器连接的单片I/O 口,一 旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送 给电动机从而纠正小车的状态。 单片机采用 T0定时计数器,通过来产生 PWM 波, 控制电机转速。 4. 软件设计 4.1 PWM控制 本系统采用 PWM来调节直流电机的速度。 PWM是通过

21、控制固定电压的直流电源 开关频率 , 从而改变负载两端的电压, 进而达到控制要求的一种电压调整方法。 PWM可以应用在许多方面 , 如电机调速、温度控制、压力控制等。 在PWM驱动控制的调整系统中 , 按一个固定的频率来接通和断开电源, 并根据 需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上 电压的“占空比”来改变平均电压的大小, 从而控制电动机的转速。因此,PWM 又 被称为“开关驱动装置”。 在脉冲作用下 , 当电机通电时 , 速度增加;电机断电时 , 速度逐渐减少。只要 按一定规律 , 改变通、断电的时间 , 即可让电机转速得到控制。 本系统中通过控制 51单片机

22、的定时器 T0的初值, 从而可以实现 P0.4 和 P0.5 输出口输出不同占空比的脉冲波形。定时计数器若干时间(比如0.1ms)中断一 次, 就使 P0.4 或 P0.5 产生一个高电平或低电平。将直流电机的速度分为100 个等级 , 因此一个周期就有个100 脉冲, 周期为 100 个脉冲的时间。速度等级对 应一个周期的高电平脉冲的个数。 占空比为高电平脉冲个数占一个周期总脉冲个 数的百分数。 一个周期加在电机两端的电压为脉冲高电压乘以占空比。占空比越 大, 加在电机两端的电压越大 , 电机转动越快。电机的平均速度等于在一定的占 空比下电机的最大速度乘以占空比。 当我们改变占空比时 , 就

23、可以得到不同的电 机平均速度 , 从而达到调速的目的。 精确地讲 , 平均速度与占空比并不是严格的 线性关系 , 在一般的应用中 , 可以将其近似地看成线性关系。 自动循迹小车 11 4.2 总体软件流程图 小车进入寻迹模式后,即开始不停地扫描与探测器连接的单片I/O 口,一 旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送 给电动机从而纠正小车的状态。软件的主程序流程图如图4-1 所示: 4.3 小车循迹流程图 小车进入循迹模式后, 即开始不停地扫描与探测器连接的单片机I/O 口,一 旦检测到某个 I/O 口有信号,即进入判断处理程序, 先确定 4 个探测器中的哪一

24、个探测到了黑线, 如果左面第一级传感器或者左面第二级传感器探测到黑线,即 小车左半部分压到黑线, 车身向右偏出, 此时应使小车向左转; 如果是右面第一 级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线, 小车向左 系统初始化 任务计数器归零 是否完成全部 任务? 循迹子函数 是否完成本次 任务? 结束 开始 N Y N Y 图 4-1 主程序流程图 自动循迹小车 12 偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续向前行走, 并继续探测黑线重复上述动作。循迹流程图如图4-2 所示 由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互 配合。第二级通常是在超

25、出第一级的控制范围的情况下发生作用,它也是最后一 层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大 于第一级,即Turn_left2 Turn_left1,Turn_right2 Turn_right1 (其中 Turn_left2,Turn_left1, Turn_right2 , Turn_right1为小车转向力度,其大 小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。 4.4 中断程序流程图 这里利用的是 51 单片机的 T0 定时计数器,从而让单片机P0口的 P0.4 和 P0.5 引脚输出占空比不同的方波, 然后经驱动芯片放大后控制直流电

26、机。定时 图 4-2 循迹流程图 启动循迹模式 探测黑线 是否检测到黑 线 判断处理程序 向左转 Turn _left2 向左转 Turn _left1 向右转 Turn_ right1 向右转 Turn_ Lright2 继续前进 N Y 自动循迹小车 13 计数器若干时间(比如0.1ms)比如中断一次 , 就使 P0.4 或 P0.5 产生一个高电 平或低电平。中断程序流程图如图4-3 所示 4.5 单片机测序 #include #define uchar unsigned char #define uint unsigned int unsigned char zkb1=0 ; /* 左

27、边电机的占空比 */ unsigned char zkb2=0 ; /* 右边电机的占空比 */ unsigned char t=0; /* 定时器中断计数器 */ sbit RSEN1=P10; sbit RSEN2=P11; sbit LSEN1=P12; sbit LSEN2=P13; sbit IN1=P00; sbit IN2=P01; sbit IN3=P02; 定时器赋初值 技术变量赋值 t=0 计数值t=100) t=0; /*直行*/ void qianjin() zkb1=30; zkb2=30; /*左转函数 1*/ void turn_left1() zkb1=0; z

28、kb2=50; /*左转函数 2*/ void turn_left2() zkb1=0; zkb2=60; 自动循迹小车 15 /*右转函数 1*/ void turn_right1() zkb1=50; zkb2=0; /*右转函数 2*/ void turn_right2() zkb1=60; zkb2=0; /*循迹函数 */ void xunji() uchar flag; if(RSEN1=1) /*直行*/ else if(RSEN1=0) /*左偏 1,右转 1*/ else if(RSEN1=0) /*左偏 2,右转 2*/ else if(RSEN1=1) /*右偏 1,左转

29、 1*/ else if(RSEN1=1) /*右偏 2,左转 2*/ switch (flag) case 0:qianjin(); break; case 1:turn_right1(); break; case 2:turn_right2(); break; case 3:turn_left1(); break; case 4:turn_left2(); break; default: break; /*主程序 */ void main() init(); zkb1=30; zkb2=30; while(1) IN1=1; /*给电机加电启动 */ 自动循迹小车 16 IN2=0; IN

30、3=1; IN4=0; ENA=1; ENB=1; while(1) xunji(); /*寻迹*/ 5参考资料 1 宋健,姜军生 ,赵文亮 . 基于单片机的直流电动机PWM 调速系统 J . 农机化 研究,2006 , (1) :102 - 103. 2 边春元 李文涛 江杰 杜平等;C51 单片机典型模块设计与应用; 机械工业出 版社; 2008.4 3 李华. MCS- 51 系列单片机实用接口技术M . 北京: 航空航天大学出版社 , 2003 4 楼然苗.51 单片机设计实例 M . 北京: 航空航天大学出版社 ,2005.8 5 王晶, 翁显耀 , 梁业宗自动寻迹小车的传感器模块设计. 武汉理工大学自动 化学院湖北武汉 6 刘迎春. 传感器原理设计与应用 M . 长沙: 国防科技大学出版社 ,1992.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1