




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能循迹小车的设计与实现(北京邮电大学,北京市 100876)摘要:本实验通过设计焊接电路板然后利用单片机编程并控制基本电路实现一个自动循迹行走的机器人。机器人能够自动按指定路线运行,并且实现灵活前进、转弯、倒退、停车等功能,另外还可以自动记录和显示时间、里程和速度等信息。关键词:智能车;单片机;C语言编程;集成电路;自动控制中图分类号: O0213 文献标识码:AIntelligent tracking car design and implementation(BUPT,BeiJing 100876,China)Abstract: In this study, the welding circuit board design and control using microcontroller programming and basic circuit to implement an auto tracking walking robots. Robot can automatically run at a specified route, and flexible forward, turn, reverse, parking and other functions, also can automatically record and display time, distance and speed information.Keywords: intelligent car; SCM; C programming language; IC; Automatic Control 随着单片机等微型计算机的发展,智能控制技术不仅相应地开拓出了更为广阔的发展空间并且越来越被大量重视利用起来。本实验为智能控制的一个简单基础的应用,让我们提前认识感受一下智能控制的奇妙之处,同时动手DIY自己的程序,控制自己焊接好的小车顺畅的通过预先画好的赛道。1实习任务与要求本实验的任务与要求是在给定的12天时间内设计一个自动循迹行走的机器人。机器人能够自动按指定路线行驶,并且实现前进、转弯、倒退、停车等基本功能,还可以现自动记录和显示时间、里程和速度等高级功能。2设计思路与详细实现过程2.1设计思路小车主要分两部分组成,即硬件电路部分和实现所需功能而必备的程序。对于硬件部分,按照所给定的电路原理图和焊接的实物图将所需的元器件仔细焊接到印刷电路板上。焊好之后对电路进行简单的通电调试,确保硬件部分的正常无误;对于软件部分,先对小车输入最简单的测试程序,测试小车能否按照要求前进后退,如果成功则开始编写自动循迹所需的程序。将编译好的程序输入小车,将小车放在赛道上进行尝试。若不能按要求循迹,继续调源程序,直到小车能按要求自动循迹。2.2详细实现过程2.2.1小车基本电路的焊接与调试第一步:将电器元件按照实习教程所罗列的焊接顺序仔细焊接;第二步:焊好后对照焊接实物图,检查是否出现明显的焊接错误;第三步:检查无误后将芯片、驱动模块和USB下载模块插好;第四步:测量VCC与GND之间是否短路;第五步:在电脑上安装好驱动程序,插上USB线,按下自锁开关观察能否检测到小车;第六步:下载测试程序,观察指示灯是否亮,小车是否前进后退,若都没有检查电路焊接。2,2,2程序的编写第一步:熟悉单片机STC90C52RC的编译环境KeilC51;第二步:对测试程序进行改造,使小车能够加速或转弯;第三步:按照赛道的路况对小车进行传感器、驱动电机的控制部分用C语言编程;第四步:将编译好的程序烧入单片机,拿到赛道上测试小车;第五步:重复“三”、“四”两步直到小车在赛道上顺畅行驶。3具体工作我个人在本次实践中与队友刘懿锋合作。我的任务主要是实验进度的详细安排,硬件的焊接与调试,程序的辅助设计调试,小车的赛道适应性调校。其余的事项一部分由队友负责,一部分由我们两个共同完成。4实现功能与测试数据4.1实现功能小车能在赛道上自动顺畅地行驶,实现灵活的转弯、前进加速等必备功能。除此之外,小车的数码管还能正确地显示数字,左右转弯时的指示灯也能在合适的时间点亮或闪烁。4.2测试数据对程序改造前测试小车跑两圈用时29.62秒; 对程序改造后小车在赛道上跑两圈用时为22.3秒;最后参加决赛时的最好成绩是20.38秒,拿了第一名。5问题与解决办法问题一:小车的测试程序烧入以后前进后退不能走直线解决办法:微调左右车轮或者装上传感器在赛道上调测问题二:输入程序后发现小车在赛道上不能动,但拿起来能动解决办法:调节传感器的离地高度,直到最佳问题三:小车在赛道上能循迹但速度太慢解决办法:通过调整时延函数调整控制电机的调制脉宽占空比问题四:速度太快又会冲出赛道解决办法:将转弯情况的判断增加,并使转弯的幅度适当调大问题五:直线行走时左右摇摆,影响速度解决办法:将后轮适当固定即可有效避免6心得体会与总结6.1心得体会首先,这是一次既有趣又有挑战性的实践。这次实践给我留下了深刻的印象,作为以后的美好回忆。通过这次实验,我个人在焊接技术上又得到了一个较大的提升,掌握了快速高质量的手动焊接技术。对于基本的电子电路知识,我个人又有了一个较为深入的认识。但这都不是最重要的。最关键的是我在这次实践中学不仅到了很多诸如单片机,单片机的C编程,传感器的应用等新知识,而且学到了如何快速高效地学习新东西的能力。这次实验中有太多东西需要我们自己去尝试去挑战,当然也离不开与队友的默契合作。虽然实践的过程中遇到了太多困难,但只要仔细考虑一下,与队友慢慢琢磨琢磨都能将其解决掉。还有就是作为一个工程性的项目,最主要的还是实践,通过动动手将自己的想法如实展现出来,尽管途中会遇到各种坎坷与困难,因为工程本身就要解决实际问题!6.2总结在本次设计中,我学到了很多没有接触到的电子知识,使我的知识有了进一步提升,这次的实践,对我今后的继续学习是受益匪浅的,特别是老师们的精心指导,以及同学和队友的耐心帮助。正是这些正能量的外部环境加上我们自己的努力与进取,我们最终取得了可喜的成绩。同时我觉得这次实践对我的态度也是一次磨练,在我今后的学习中能发扬我做这次实践的这种精神,互相帮助,做事细心细致。在此,我也感谢电路中心实验室的老师在实践中对我们的指导和帮助,以及你们的辛勤付出,十分感谢!参考文献1电子工程学院电路中心.电子工艺实习教程M.北京.北京邮电大学出版社.2013.2杨国田.51单片机使用C语言程序设计M.北京.中国电力出版社.2009.3周国雄.单片机应用系统精讲M.北京.中国铁道出版社.2011.附:部分源程序#include#include #define uchar unsigned char#define uint unsigned int#define t 1uchar code seg_data = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;/09的段码表,0x00灭符uchar data disp_buf7 = 0x00,0x00,0x00,0x00,0x00,0x00,0x00;/显示缓冲区sbit IN1=P10;/电机控制端 sbit IN2=P11; sbit IN3=P14; sbit IN4=P15; sbit LED1=P26;sbit LED2=P27;sbit ENA=P12;sbit ENB=P13;double i;sbit start=P00; /小车启动信号sbit stop=P01; /小车停止信号sbit S1=P32; /此处是传感器 管脚位声明sbit S2=P33;sbit S3=P34;sbit S4=P35;sbit S5=P36;uint count1,count2; /用于中断计数/*以下是延时函数*/void Delay(uint z) /延时程序,z是形式参数 uint i, j;for(i=z;i0;i-) / i=z,即延时z, z由实际参数传入一个值for(j=7;j0;j-); /此处分号不可少/*以下是显示函数*/display() P0=seg_data0; /显示毫秒十位 P2=0xfe; /开个位显示(开第1只数码管) Delay(t);/延时10ms P0=seg_data1; /显示毫秒百位 P2=0xfd;/开十位显示(开第2只数码管) Delay(t);/延时10ms P0=seg_data2; /显示秒个位 P2=0xfb; /开百位显示(开第3只数码管) Delay(t);/延时10ms P0=seg_data3; /显示秒十位 P2=0xf7;/开个位显示(开第4只数码管) Delay(t);/延时10ms P0=seg_data4; /显示分个位 P2=0xef; /开十位显示(开第5只数码管) Delay(t);/延时10ms P0=seg_data5; /显示分十位 P2=0xdf;/开个位显示(开第6只数码管) Delay(t);/延时10ms P2=0xff; /*第二部分 电机控制子函数*/qianjin()LED1=1;LED2=1;IN1=0;IN2=1;IN3=1;IN4=0;Delay(3);IN1=0;IN2=0;IN3=0;IN4=0;/Delay(1);tingzhi() IN1=0;IN2=0;IN3=0;IN4=0;/Delay(1);zuozhuan()LED1=0;LED2=1; IN1=0;IN2=1;Delay(1); IN3=1;IN4=1;/Delay(2);/IN1=1;IN2=1;/Delay(1);youzhuan()LED1=1;LED2=0; IN3=1;IN4=0;Delay(1); IN1=1;IN2=1;/Delay(2); /IN3=1;IN4=1;/Delay(1); dazuozhuan() LED1=0;LED2=1; IN1=0;IN2=1;IN3=0;IN4=1;/Delay(1); /IN3=1;IN4=1;/Delay(1);/IN1=1;IN2=1;/Delay(1);dayouzhuan() LED1=1;LED2=0; IN1=1;IN2=0;IN3=1;IN4=0;/Delay(1); /IN1=1;IN2=1;/Delay(1);/IN3=1;IN4=1;/Delay(1); /*第三部分 主函数*/void main()while(1) display(); /*-switch-*/ if(S5=0&S1=1&S2=1&S3=1&S4=1) youzhuan(); /10111111 左一 else if(S5=1&S4=0&S1=1&S2=1&S3=1) youzhuan(); /10011111 左一和左二 else if(S5=0&S4=0&S3=1&S2=1&S1=1) youzhuan(); else if(S5=1&S4=0&S3=0&S2=1&S1=1)北京邮电大学实习报告实习名称电子工艺实习学 院学生姓名班 级学 号实习时间7月1日到7月12日实习地点实习内容1日到2日:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025火电电力职业鉴定试卷完整版附答案详解
- 2025年法考资格测试题库及答案
- 飞行营地建设项目可行性分析报告(参考)
- 医院旧楼改造工程建议书(范文模板)
- 城区城乡供水一体化工程建议书(参考范文)
- 高分子功能性膜材料项目可行性研究报告
- 工伤事故赔偿协议书
- 公司各岗位工作职责
- 担保业的一封公开信
- 餐饮服务合同
- 知识题库-人社劳动知识竞赛测试题及答案(十一)
- 2024年四川省南充市道鑫双语学校小升初必考题语文检测卷含答案
- 《政治学概论》教学课件(总)
- 2024年昆山国创投资集团有限公司招聘笔试参考题库附带答案详解
- 【真题】2023年淮安市中考道德与法治试卷(含答案解析)
- 中国慢性肾脏病患者高血压管理指南(2023年版)解读
- 工业污水处理厂项目经济效益和社会效益分析报告
- 2024春苏教版《亮点给力大试卷》 数学四年级下册(全册有答案)
- TXMSSAL 0092-2023 豆奶规范规程
- 刺五加胶囊在冠心病康复期的应用评价
- 学校幼儿园食品安全培训课件
评论
0/150
提交评论