基于单片机的智能小车毕业论文好内容摘要:

、 V3 导通,向地面以及前方实时发射红外信号,当遇到白色墙或路面时,红外信号经白色路面有较强发射,这时红外接收探头 V V V4 刚好接收到红外信号,使得这些探头导通,将低电平送给 、 、 让单片机进行判断处理。 路面检测模块分为小车寻黑线的检测和前方是否有障碍物的检测两部分。 寻迹模块 所谓 寻 迹,就是我们建立一条 画画有弯曲黑线 的 白纸 跑道, 该智 利用红外线在不同颜色的物理表面具有不同的反射性质的特点。 在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外基于单片机的智能小车的设计 15 光被吸收,则小车上的接收管接收不到信号。 黑线要有一定宽度,应该是大于两红外线发射探头的距离, 如图 所 示。 图 小车前方探头实物 这里的红外线发射探头为前端向下伸出的透明的探头,所以黑色跑道宽度应该至少大于两透明探头的距离,才能保证小车正常运行。 小车放在黑色跑道上时,打开电源时,小车前端向下伸出的红外线发射探头发射红外线,如果小车在黑线上,小车发出的红外线 就遇到黑色时,不产生反射。 当左边稍微跑出黑色跑道时,发出的红外线就会遇到白色而产生反射,这时旁边的黑色接收探头接收到反射信号,从而使接收探头导通。 原理图如下图所示,当 D2 接收到红外信号时,会使 产生一个低电平,进而送给单 片机进行处理,单片机接收到来至左侧的接收头给的低电平时,给予小车右转操作;同理,当小车右边跑出黑线时,右侧探头识别之后会给小车低电平,提示小车应该进行左转操作。 这样就完成了整个小车的寻迹功能。 基于单片机的智能小车的设计 16 智能防撞报警 模块 智能防撞报警是现代智能小车的一个非常有研究价值的课题,十分有现实意义。 智能小车能够自识别前方是否有障碍物。 如果有则自动调节小车的运动轨迹来成功避免撞到障碍物所带来的损失,同时在遇到障碍物时,能够提示报警,以提示主人应注意安全。 将小车放置在空旷的路面上,小车的前端两探头 感应前面是否有障碍 物,与此同时,朝下的四个探头也会同时接收来自地面路况的信息,当小车运行到悬崖边上时,小车上面主控芯片单片机就会接收到此时的路况信息,进而去改变小车的运行路径。 同时发出报警信号。 报警模块硬件图如图 所示。 图 防撞探头实物 当前面有障碍物时,单片机分析之后送给 一个高电平信号,使得三极管 V1 导通,从而引起 SB1 蜂鸣器导通,发出报警信号。 当前方无障碍物时,另一个红外接收探头则接收不到由发射头发射出来的红外信号,当前方遇到障碍物时,发射头 发出去的红外信号基于单片机的智能小车的设计 17 被前方障碍物反射回来,此时刚好被接受探头接收,探头接收到信号时,将会使其中一个管脚变为低电平,再传送给单片机;同理小车在判断前方是否有悬崖时也一样,当前方没有出现悬崖时,小车朝下的探头发出去的红外信号就会经路面反射,而且只要小车在路面上行驶,那么红外信号就会一直被反射进而被接收,也就会使得单片机与红外接收探头其中一脚相连的管脚一直至 0,当前面遇到悬崖时,红外信号发射出去之后,由于 红外接收头的接收距离有限,就会检测不到有传回的红外信号,此时就会给单片机一个高电平,单片机识别之后便会做出相应的修 正动作,并给蜂鸣器一个信号,使得蜂鸣器出现报警提示。 3 系统软件设计与实现 在系统软件设计时,我们将 所有的模块程序嵌入到遥控器中 ,这种嵌入式 主要是为了便于控制,且不占 CPU,因为遥控模块、寻迹模块、以及避障模块等都同时用到了实时检测扫描,这样不仅占用CPU,而且多个程序一块运行还会产生冲突。 各个模块衔接 如图 所示。 遥控器输入 单片机解码 电机控制(前进后退左右转) 黑线寻迹 防 撞报警 基于单片机的智能小车的设计 18 图 程序模块连接 遥控器发送红外信号时,开启单片机外部中断 0,主程序进入中断函数,进行解码。 解码处理完成之后,将遥 控信息反馈给主程序,主程序对比遥控器输入值之后进入相应模块执行相关操作,各模块最终会处理是由电机驱动来完成的,所以在图 中最终箭头是指向电机控制模块的。 程序框图如图 所 示 初始化检测红外遥控信号是收到红外遥控信号否对红外信号进行解码执行相关功能 图 整体程序框图 基于单片机的智能小车的设计 19 红外遥控解码的实现 整个控制程序都嵌入到了遥控模块这一单元里边,所以红外遥控的解码是贯穿整个设计的主线,起到了整个系统入口的作用。 当遥控器上按下按键时, 1 脚收到遥控器发送的红外脉冲信号并解码出脉宽波形,同时使单片机产生中断,并开启定时器、脉冲个数计数。 记录出每来一 个脉冲的时间和脉冲总个数,等到一帧的数据发送完成之后,单片机结束计数,并关闭定时器。 之后进入判断阶段,首先判断这一帧数据中的脉冲个数,如果脉冲个数大于 31 个则将数据丢弃,如果刚好则判断接收的脉冲是 0 还是 1,接收完之后将这些数据保存起来,再来比对数据的对错,首先比对前导码是否正确,也就是看一下当前遥控器是不是与小车匹配的遥控器,如果都正确之后再来将码值存起来。 主程序用一个 swich 函数来对相应码值进行对应函数的调用就可以了,比如按下了上键,则调用前进函数来完成 小车前进动作。 如图 所示 基于单片机的智能小车的设计 20 图 解码程序框图 初始化 中断 口是否有遥控信号输入 是否有 抖动 进入解码 计数脉冲个数同时计数单个脉冲宽度 脉冲个数是否为32 个 数据解码并判断数据码和数据反码取非之后是否 相等 执行相关模块 否 是 是 否 是 否 是 否 基于单片机的智能小车的设计 21 电机驱动 从宏观上讲,电机驱动在小车运行中占据主导,也是小车接收到命令之后的最终输出,任何一个模块所执行命令的外在表现。 电机驱动包括驱动电机前进、后退、左转、右转以及暂停功能 ,这些功能不仅仅只是遥控器按下上下左右 之后才执行,而是每一个模块都会有执行电机驱动模块的操作,所以在设计程序时,最优设计应该是将这些前进、后退、左右转向单独编译成一个函数块,每一个子模块的运行就只需调用这些函数就可完成。 这样做就 节省了很大的程序空间。 举个例子,在编写前进函数时,为了满足小车前进功能,只需将 — 赋值 1010 就可完成,其他左转右转只是改变相应— 的码值则可实现。 当然为了使得更准确,可以添加一下延时函数在内部,以避免操作太快给电机带了的 损坏。 小车寻迹 在主程序中只要检测到遥控器上按下了寻迹功能键之后,主程序直接调用寻迹函数,来实现寻迹功能。 这里介绍一下寻迹模块编写的一些思路。 要实现寻迹就必须清楚寻迹原理,在前面的技术介绍中,已经介绍了他的原理。 这里不做过多说明, 以免冗余。 寻迹函数 的编写是一个实时扫描单片机管脚 , 管脚代表左方探头传回的信息, 代表右边探头传回的信号。 当左方探头跑出黑线时,会给 至 0,单片机检测到 为 0 时,便调用右转向函数,来完成右侧转功能,当右方探头跑出黑线时,同样会使 至 0,这时再调用左转向函数来调节小车的位置。 图 为小车寻迹模块的程序流程图 基于单片机的智能小车的设计 22 图 寻迹程序流程图 小车防撞报警 主人命令开启防撞功能 时,小车主程序调用防撞报警函数,在防撞报警函数打开时进入实时检测 脚,当前方遇到悬崖或障碍物时,小车内部防撞函数调用电机驱动函数来调节小车行经来避免掉入悬崖或撞击障碍物 ,并触发报警信号引起报警。 图 为防撞报警模块的程序流程图。 初始化 探头跑出黑线了吗 哪边探头有输入 前进 后退 右转 左转 是 否 左 左右均有 右 基于单片机的智能小车的设计 23 图 防撞报警程序流程图 初始化 前方有悬崖或障碍物吗 前进 后退 并报警 左转 并报警 是 否 基于单片机的智能小车的设计 24 4 小车系统原理图 硬件电路总设计图如图 所示 图 硬件电路原理图 1 2 3 4 5 6ABCD654321DCBARST9R X D / P 3 .010I N T 0/ P 12I N T 1/ P 13T 0/ P 14T 1/ P 15EA/VPP31XTAL119P / A D 039P / A D 138P / A D 237P A D 336P / A D 435P / A D 534P / A D 633P / A D 732P 1P 2P 3P 4P 5P 6P 7P 8P / A 821P / A 922P / A 1 023P / A 1 124P / A 1 225P / A 1 326P / A 1 427P / A 1 528A L E / P R O G30T X D / P 3. 111W R / P 16R D / P 3 .717P S E N29XTAL218VCC40I C 1A T 89 S 52R X 1110KR X 1210KR X 1310KR X 1410KR X 1510KR X 1610KR X 1710KR 18560R 16560R 19560R 20560R 21560R 22560R 23560R X 1810KR 25560D1D2D5D6D7 D3D4D88 17 26 35 4I C 3 L G 91 108 17 26 35 4I C 4 L G 91 10C2104C3104MM1MM2V380 5 0R6 KR41MR547KR315 0 KR115KB1V185 5 0V285 5 0 S B 1R 14220R7560R2220R L 1D2R2560D1Z1a bcdefgDPAA12345678910S M 1R8560R7560R 13560R 12560R 11560R 10560R9560R415KR3220R515KR6220R815KR1220V1 V6 V3V2 V5 V4123IRS2R 2410KS1R 1710KC730PC830PC610 u FR 1510KC510 u FV C C基于单片机的智能小车的设计 25 最终 主板 PCB 图 前板 PCB 基于单片机的智能小车的设计 26 5 系统调试 把原理图画、最终 PCB 画好之后再根据实验室现有的实验条件进行制版,并一并把所有元器件焊接上,在焊接时应注意以下几点: ○ 1 、电解电容容有正负极之分,长正短负; ○ 2 、二极管有正负极之分,长正短负; ○ 3 、话筒有正负之分,负极与外壳相连; ○ 4 、蜂鸣器有正负之分,长正短负; ○ 5 、三极管按照电路板封装焊接; ○ 6 、集成电路即芯片,安装时要注意缺口对应(缺口对应位置和封装对应位置要一致)。 (缺口在芯片或芯片底座的一端); ○ 7 、数码管焊接时注意数码管上的小数点要与电路板封装上的小数点对应; ○ 8 、 每个电机都需要焊接瓷片电容 104。 焊接完之后,还需对小车各个模块进行调试,以确保硬件的完好。 遥控发送接收调试。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。