沿壁小车设计总结报告
组员:孟
一、问题及解决方案:
1.在起初研究红外发射和接收电路时,我们发现红外接收电路极为灵敏,在室内灯光影响下,就可使输出电压达最大输出电压。
改进措施:
1)在研究过程中我们一开始用一些遮蔽物挡住光线,可是效果并不明
显,即使是电压值有所降低也不能稳定输出。
2)选用橡皮泥封住接收管,只留水平方向的小孔洞接受信号。这个方
法虽然解决了以上问题,但是在接收信号时仍然很不稳定。
3)更换探测手段,我们最终选择了使用光电开关探测车到墙壁的距离。
2.小车只能一个轮子转动。多次模拟,按程序逐句执行发现,初次编写的delay函数出现问题,表现为无限延时。
改进措施:
使用自定义的变量,方便delay设置,在所用范围内防止变量值超出定义类型。改进沿壁程序。采用蛇行沿壁,与墙壁过近则使远墙轮停转,与墙过远则使近墙轮停转。
定义的变量:
typedefunsignedcharuint8;可移植的8位无符号变量
typedefunsignedintuint16;可移植的16位无符号变量
3.单片机有时无法烧录且PORTA和PORTB无法输出高电位。
解决措施:
我们认为电路板可能出现故障,将电路板重新焊接也不能解决。不排除我们的一些制作顺序上的问题或者没有考略好电路保护等等。这个故障很难找到问题所在。我们曾请教实验室的老师,也不能查明电路板的问题。我们这次经过不懈的努力多次尝试才能意外的发现了解决的办法。最后,使用杜邦线在外部连接led后意外的解决了问题,端口正常输出高电位。
4.防卡功能不完善,有时卡死
解决措施:
更改程序设计方案,当小车(左侧沿壁)表现持续左拐或又拐20次(T0定时器产生0.255秒的溢出中断,作为小车周期性的探测和动作的时钟)时后退1s再右拐一次。
5.行驶过程不是很顺畅,几乎成“Z字型”行驶
解决措施:
更改程序设计方案,理由pwm调速,利用两轮的速度差转弯。遇障碍物时,采用左轮正传右轮倒转方式,急速壁障。
二、团队管理心得体会
一个项目完成得是否出色,团队之间的配合是至关重要的。经过一学期的配合,我们认为一个优秀的团队至少应具备以下条件:
1.团队队员之间要相互信任,相互帮助。
团结互助是做成我们项目的根本原因。一项工作交给了某一队员,我们就必须完全相信他。而当有任何一名队员有问题时,大家又要帮助他,只有这样,才能不
断促进团队的进步,按时高质量的完成设计任务。
2.团队分工一定要合理。
比较合理的分工既要考虑到组员的能力和兴趣,又要秉持公平负责的原则。既要保证工作量的大致一致又要确保大家在设计过程能有所学有所获。这是大家能顺利合作,发扬团队精神的基础之一。
3.团队队员之间经常交流
在软件和硬件测试过程中,大家都积极参与共同研究,这样既提高了工作效率又增加了团队的凝聚力,使我们设计过程并没有付出过多的时间和精力,并能获得很多知识、技巧和心得体会。
以上是我们在这一学期的课程设计过程中的一点体会,而我们团队,在不断的磨合中已具备了上述的条件,顺利完成既定目标,并具备了进一步挑战更高难度设计的能力。
三、课程设计心得体会
一开始,我们是想做一个沿壁小车,用自己制作的红外发射接收电路作为传感器,通过从购买小车零件组装起来作为载体,以mage16芯片作为控制中心。但是考虑到红外发射信号极其微弱,必须利用放大电路,通过查阅书籍得知采用LA7224放大芯片可以实现这个功能。电路搭好后,实验效果很不尽如人意。由于LA7224的放大效果太好,只要一有点红外信号,输出就会达到高电平,即使是日光灯照射也是这样。我们一开始是以为电路焊接的有问题,幸亏买元件的时候买了两套,所以就烫下来从新焊接了电路,但是实验效果还是那样,极其灵敏,灵敏的不能使用,为此我们还请教了章教授,章也为我们检查了一下电路,没什么问题。
之后我们更换了漫反射性光电开关。光电开关在30cm以内输出低电平,在30cm以上输出高电平。由于小车沿壁行驶必须让光电开关与墙成45度夹角,所以小车实际域墙的距离只有7cm左右。
小车的控制我们采用两个继电器,通过单片机输出高电平或低电平控制小车电机的开与断。这样,小车就可以实现沿壁行驶,但是程序还是不完美。
参加科技创新大赛时得知,频繁的开关继电器会对电路造成极大的损害。通过学长,我们决定采用h桥电路实现电机的pwm调速和倒转。由于时间紧迫,我们直接采用h桥芯片L298n。L298n既可以驱动两个直流电机,也可以驱动一个四相交流电机,效果非常完美。
连接好电路后,我们的单片机遇到了问题,烧录时显示连接失败,更换单片机也是如此,考虑可能是外部电路对芯片的影响,我们把所有外接电路都烫下来还是无法连接。无奈之中,第二天单片机又可以烧录了,至今不知道是什么原因。即使可以烧录,单片机并没有程序要求的那样输出,反而都输出低电位。从新焊接电路也没有达到预期的效果,我们认为是单片机出现了问题,更换芯片问题还是那样。后来无意中发现,在芯片相应插针上接上杜邦线会解决都低电平的问题,结果正常输出。之后我们有加了一个10cm漫反射型光电开关,以实现小车前方遇到障碍物时壁障的功能。现在小车能沿壁、壁障、倒转、调速、防卡,可以说是一个全能小车!
对于编程。从一开始的方案到最终的作品,我们经过了好几个阶段。通过这几个阶段的学习,我们感觉有很多收获体会。首先,要想编好程,要有主动学习的心态。我们一开始的方案是用红外对管做探测器,通过数模转换处理,实现外界信号的采集、处理。但是,当时我们还没有学到数模转换及中断的内容。这就
要求自己主动学习单片机那些功能的使用及编程。当时,我们不知道中断服务,更别提中断服务程序了。我们就自己找参考书,参照书上例题一点一点编程。虽然最后我们放弃了这一方案,但我们没感到遗憾,因为我们自己学习了相关内容,有自己的收获。其次,理论与实际总是有差距的。每次编完程,烧录单片机中,程序总是出现这样那样的问题。调试程序是一项非常重要的工作。程序能被执行,不仅要求语法没有错误,更重要的是要是单片机做出反应。这就需要一点点的调,一个问题一个问题的解决。单片机往往不是按我们的意愿行事,或者说理论转化到实际中,还有许多具体问题要考虑。理论和现实是有差距的。最后,编程是一项非常仔细的工作。程序中一个语句不恰当往往就会导致整个程序不能正常运行。出现“差之毫厘,谬以千里”的现象。编程过程中一定要仔细认真,考虑周全,否则就会出现运行问题。通过自己实际编程解决实际问题,我们学到了很多东西,体会到将理论转化为实际的困难,我们想这对我们以后的学习会有所帮助。只知道理论是远远不够的,想解决实际问题,必须还要考虑很多的因素。
程序中利用T0定时器对小车的信号采集进行定时,采用T0溢出中断,大约每0.225秒读取一次端口值,使单片机做一次函数处理。利用PWM改变输出电压的占空比,使小车实现变速功能。利用T1输出两路PWM波,分别控制两个电机转速。小车变速靠按键控制,采用INT0外部中断,选择下降沿为触发源,在外部中断服务程序中改变OCRA和OCRB的值达到变速目的。PD0和PD1作为信号输入口,PD0表示离墙距离的信号,过远为1,过近是0。PD1表示前方障碍物的信号,有障碍物为0,没有为1。利用两端口值信号判断外界信息,执行相应动作。
四、项目成员贡献顺序
由于大家都积极的工作,我们的分工亦很合理,大家在各方面亦有学习和相互帮助,我们讨论决定:大家的贡献值均为1/3。
顺序不分先后:孟XX
五、课程改革建议
经过一学期单片机课程的学习,我们喜欢上了这种开放的教育模式。在完成设计任务过程中学习,在团队中相互合作,我们受益匪浅还学到了很多课本上没有的知识。同时我们也提出一些建议,希望老师可以考虑其中的可取之处。
首先,我们认为,这个课程完全可以进一步开放,可以将授课完全取消,改为指导课。此时,老师的任务是解答一些同学们的问题。比如,一个组想做一个设计,老师分析其可行性后,向他们提供所必须学习的知识和资源。知识范围要稍微多些,也鼓励学生们使用其他思路并询问所需相关内容。
其次,直接将实验课与讲授课合并,这样有利于实现上指导课程,而且在有人需要指导时不会妨碍其他组的设计工作。
再次,更改学生互评模式。为防止互相打高分的现象,可以考虑让每年大三的同学给大二的同学评分的模式。
最后,我们建议加强跨年级交流,让高年级同学分享他们的经验教训和技术以达到事半功倍的目的,并使我们的作品一年更比一年好!
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务