1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
这是此次设计的个本文中重点说明设计的思路,和调用程序段的目的。
下面是与转接模块的实物图。
图模块图无线转接模块软件系统设计自动循迹程序设计程序设计流程图如下河北科技师范学院届本科毕业设计开始有无模式切换左右传感器是否同时输出左传感器是否输出右传感器是否输出小车直行退出循迹模式保持当前状态小车左转小车右转图循迹程序流程图循迹模式启动后,小车便会直沿着轨迹行进,直到无线操控切换小车工作模式。
对于特殊的十字交叉轨迹,小车将保持直行。
如果轨迹上出现障碍,则可以切换小车为无线操控模式,避开障碍并回到轨迹后,再切换为循迹模式继续工作。
小车自动循迹功能的实现如上面的流程图所示。
当左边的传感器输出低电平时,表明小车的左方过界,即小车如继续行驶将驶离轨迹。
而要避免此情况发生,此时需要进行左转。
左转时,控制左轮减速行驶,右轮速度不变,便可完成左转。
控制左轮减速是通过对左轮的桥,进行脉冲控制实现。
同理当右传感器输出低电平时,实现小车的右转。
对于十字交叉轨迹,会使小车的左右传感器同时输出低电平,此时保持小车行驶路线就可以通过该轨迹。
下面是自动循迹的循迹部分代码。
河北科技师范学院届本科毕业设计!!!!代码中的为左前方传感器输出端,为右前方传感器输出端,为左后方传感器输出端,为右后方传感器输出端。
第个检测十字交叉轨迹,当同时输出低电平时,保持小车的行进方向。
第二个检测左传感器输出,第三个检测右传感器输出。
由于小车的速度较快,所以使用进行减速控制。
调用的函数和函数分别为左转函数和右转函数。
由于左转和右转使用控制,需要在个死循环中执行,所以对左转函数和右转函数分别添加了如下代码前两行代码是左转函数的,后两行是右转函数的。
是工作模式标志。
表示工作模式为自动循迹模式。
第个语句判定工作模式为自动循迹模式,并且检测右传感器输出是否为。
如果是,则将口置零。
这是因为驱动模块的控制端与口相连,口置零后使小车停止运动。
经过延时后,返回到自动循迹函数,此时右传感器依然输出低电平,小车便会右转。
这设置便避免了左转过多,导致小车右边出界,而原地停止段时间,能让小车有时间判断下步如何行驶。
第二个语句与第个语句相同,只是检测的是左传感器的输出电平。
该方法的缺点是转弯角度固定,当轨迹的弧度与转弯角度差别较大时,小车的循迹会不太稳定。
行驶时容易摇摆不定。
要解决该问题,则应使用步进电机,并添加测速模块,形成个闭环控速系统。
但本次设计因成本和编程问题没有采取该方案,所以小车在循迹时有可能要根据不同弧度的轨迹,进行重新编程来控制脉冲的时序,进而河北科技师范学院届本科毕业设计控制转弯角度。
以实现在任意轨迹上的稳定循迹能力,这是设计中的个缺陷。
自动避障程序设计下面是程序的设计流程图开始有无模式切换左右传感器是否同时输出前方设置距离内是否有障碍小车直行退出避障模式小车右转度图避障程序设计流程图自动避障与自动循迹样,需要受到无线控制,能切换为其他工作模式。
流程中检测循迹传感器输出,是考虑到在避障过程中,除了要检测前方是否有障碍外,还需要检测路面的高低落差是否过大。
由于购买的循迹传感器,检测距离固定为左右,所以循迹传感器离地面非常低。
这也就意味着小车行进时,前方路面不能有高低落差。
而当出现高低落差时,传感器会因距离远而输出低电平,因此可以用来检测前方路面是否有高低落差。
考虑到小车的行驶速度,只要前排或后排的传感器都输出低电平,就停止小车的行进,并退出自动避障模式,由人为手段处理该状况。
之所以没有在检测到该情况时,让小车自动避开前方的高低落差路面。
是因为此时小车以处于路面的边缘,如果原地旋转度,虽然能够避开,但也存在小车旋转时产河北科技师范学院届本科毕业设计生位移,从而掉落的可能。
有些情况不会有太大的影响,但有时会造成小车的损毁,而这是由前方高低落差大小决定的。
但是小车的循迹传感器不能调节检测距离,所以不能区分前方的高低落差大小,因此只好在出现高低落差时,强制停止小车并退出避障模式。
在前两中情形没有发生时,小车的避障模式采取简单的检测前方是否有障碍,障碍物与小车的距离是否在避障距离内。
如果是,则让小车右转度来躲避障碍,并重新检测新方向上的障碍。
否则小车继续直行。
下面是其部分代码的说明。
小车进入避障模式后,用第个语句是检测是否可以在当前位置开启自动避障功能,不能则退出自动避障模式。
之后的循环是控制,并在其中进行检测前方高低落差检测与障碍检测。
其中变量储存测量的距离,单位是厘米,当其不大于时。
表明小车到障碍的距离小于,此时进行右转度处理。
之后的延迟,是由于超声波的发送不能是连续的,需要定的时间间隔。
本模块的推荐是每发送个以上的超声波,所以延迟等待新方向的测距。
而右转度后小车会进入制动状态,如此在等待新轮测距时,也不会因小车移动,使其与障碍的距离不足超声波最小有效距离而导致无法自动避障。
超声波的发送与距离的测量,使用了单片机的定时器和定时器进行时序控制。
其中定时器工作模式为方式,用于测量超声波的往返时间。
定时器工作模式也为方式,用于定时发送超声波。
下面是超声波测距程序说明河北科技师范学院届本科毕业设计!其中的是超声波发送端,通过给其高电平进行发送。
代码中发送个的超声波。
发送完成后开始计时,通过检测端超声波接收端,当超声波发送完成后会自动置为高电平来判断超声波是否返回。
返回后将会变为低电平,此时停止计时,得到的就是超声波的往返时间。
将该时间除以就能得到小车与障碍的距离。
这里运用了公式,计算过程如下距离距离往返时间声速其中时间单位为,长度单位为,速度单位为。
经过公式的换算后得到时间,即。
所以除以后便得到距离。
定时器计时后清零,并当计时溢出后,进入定时中断将端置为低电平。
这是防止距离过远,导致端直处于高电平状态,影响后续的测量效果。
无线操控程序设计程序设计流程图河北科技师范学院届本科毕业设计开始有无模式切换有无新的小车命令保持当前状态退出无线操控模式执行新命令图无线接收流程图开始有无按键按下发送命令图发送程序流程图设计中发送端采取自动重发机制,当接收端没有按时传回应答信号时,发送端便会重发之前的命令。
发送端还外接个键盘,键盘扫描程序来自单片机例。
当有按键按下,扫描出是第几个按键,然后发送对应的命令。
每次发送前,将会清空收发队列,以免有以前未发送命令还存在队列中,干扰当前命令的发送。
接收函数在每个功能函数中都要调用,以此来切换工作模式。
特别地在左转函数本科毕业论文设计自然科学题目智能玩具小车的控制系统设计院系部机电工程学院学生姓名吴博强指导教师王枫职称讲师年月日河北科技师范学院教务处制专业电子信息工程学号河北科技师范学院本科毕业论文设计智能玩具小车的控制系统设计院系部名称机电工程学院专业名称电子信息工程学生姓名吴博强学生学号指导教师王枫年月日河北科技师范学院教务处制学术声明本人呈交的学位论文,是在导师的指导下,进行研究工作所取得的成果,所有数据图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本学位论文的知识产权归属于河北科技师范学院。
本人签名日期指导教师签名日期摘要摘要机器人的研究是项具有良好前景的科研项目,而智能小车的研究可以说是机器人研究的个小入门。
智能小车虽然功能不如机器人的强大,但是其所具备的功能方面是避障无线操控功能,并能够在小车行进过程中进行功能的切换,即能通过遥控器实现小车的工作模式。
这些功能使小车能完成更复杂的工作,具有更大的容错率。
比如在自动循迹时,如果因车速过快,导致小车离开轨迹且不
