(最新整理)智能小车报告_第1页
(最新整理)智能小车报告_第2页
(最新整理)智能小车报告_第3页
(最新整理)智能小车报告_第4页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(完整)智能小车报告(完整)智能小车报告 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)智能小车报告)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)智能小车报告的全部内容。 小型电子产品设计报告题 目 智能小车设计报告 学 院 xxxx 专 业 应用电子技术 班 级 应用电子a班 学 号 xxxxxx 学

2、生姓名 xxx 完成日期 2014年5月24日 摘要 本文介绍了一种基于52单片机的小车寻轨系统.该系统采用3个高灵敏度的单端反射式红外光电对管和红外传感器来实现小车的寻轨功能。并利用单片机产生pwm波,通过控制电机驱动芯片去控制小车速度。测试结果表明,该系统能够平稳跟踪给定的路径.本小车以at89c52低功耗、高性能单片机为检测和控制核心,通过写入的驱动、循迹等程序再连接外围电路来实现小车的启停、智能避障、智能循迹功能.关键词:简易智能小车、at89c52、主板电路、红外探测电路、马达驱动电路引言当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字

3、化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能机器人也就应运而生。同时,在建设以人为本的和谐社会的过程中,智能服务机器人能够完成考古发掘,海底揭密,宇宙探索等危险作业,以保证人身安全。国家中长期科学和技术发展规划纲要一文指出:智能服务机器人是在非结构环境下为人类提供必要服务的多种高技术集成的智能化装备。以服务机器人和危险作业机器人应用需求为重点,研究设计方法、制造工艺、智能控制和应用系统集成等共性基础技术。重点研究低成本的自组织网络,个性化的智能机器人.20062020年,既是国家中长期技术发展计划实现阶段,也是我们最具有活力和最激情洋溢的时段.该

4、智能小车模型是一辆由pcb和车体拼装的小车。所有的机械结构和零部件都安装固定在电路板上。因此完全不需要机械加工,非常适合实验阶段机器人的研制。第 2 页 共 30 页目 录摘要引言1。任务分析42。方案初步设计42.1设计思路42.1。1 机械部分设计42.1。2 电路部分设计42。1.3 软件部分设计52。2总体方案论证与选择53。产品详细设计63。1 硬件设计63.1.1主板电路63。1。2红外探测电路73.1。3马达驱动电路93。2软件设计113。2。1开发工具113。2.2设计思路123。2.3程序124。调试与测试204。1驱动模块的功能测试204。2循迹模块的功能测试204。3主板

5、模块的功能测试214。4软件的功能测试215。总结21附作品图22参考文献22第 4 页 共 30 页1.任务分析 本小车以at89c52低功耗、高性能单片机为检测和控制核心,通过写入的驱动、循迹等程序再连接外围电路来实现小车的启停、智能避障、智能循迹功能.充分运用了c52单片机的功能.论文介绍了智能小车的机械结构和硬件电路的实现方法.在机械结构上采用的是四轮四驱动,为小车的启动和运转提供强劲的动力,四轮式小车的应用范围广,稳定性更优越,底盘空间大,便于安装传感器、驱动电路,循迹电路,使小车外观搭配更为合理美观。 分析整个智能车系统,pcb电路板功能化、模块化。自行设计制作的pcb电路板形状根

6、据车模量身定做,布局走线合理,并根据功能实现了模块化分离,使电路的易用性、稳定性大幅提高,维护和更换也更加容易。在未来的智能车设计中,定会出现更先进的光电传感器,也会出现更先进的技术,使光电车拥有更大的前瞻,采集到更多的赛道信息。随着信息的增加,期待着更先进的技术出现。2.方案初步设计 2.1设计思路2.1.1 机械部分设计:包括智能小车的底盘、驱动模块和循迹模块电路板、传感器等的安装设计,这些设计是非常严格的,它们都得根据元件的需要来设计。2.1.2 电路部分设计: 根据需求设计相应的电路原理图,调试电路板,在检查完硬件连接和完成电路的综合调试后,进入软件设计部分。2.1。3 软件部分设计:

7、 根据需求设计相应的程序流程图,在此基础上编写出程序,并下载到控制小车的芯片中用以控制小车。这个部分的设计也包括三个方面的设计即:电机驱动部分的程序、传感器读入部分和循迹的实现.2.2总体方案论证与选择方案一:基于at89c52单片机,配以其他常用模块电路完成智能小车设计。此方案主要包括以下几个模块:避障模块、黑线检测模块、电机驱动模块、及显示模块。方案总体框图,如图1所示.此方案使用常用单片机at89c52作为主控芯片,at89c52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采

8、用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs51指令系统,片内置通用8位中央处理器和flash存储单元,32个双向i/o口; 256x8bit内部ram;3个16位可编程定时/计数器中断;时钟频率024mhz;2个串行中断,可编程uart串行通道;2个外部中断源,共8个中断源; 2个读写中断口线,3级加密位; 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。方案二:atmega16是基于增强的avr risc结构的低功耗8 位cmos微控制器。配以其他常用模块电路完成智能小车设计.此方案主要包括以下几个模块:避障模块、黑线检测模块、电机驱动模块、及显示模块。方案总体框图,如图2

9、所示。此方案使用atmega16单片机作为主控芯片,16k字节的系统内可编程flash(具有同时读写的能力,即rww),512 字节eeprom,1k 字节sram,32 个通用i/o 口线,32 个通用工作寄存器,用于边界扫描的jtag 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(t/c),片内/外中断,可编程串行usart,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(tqfp 封装) 的adc ,具有片内振荡器的可编程看门狗定时器,一个spi 串行端口,以及六个可以通过软件进行选择的省电模式.鉴于对51单片机知识领域的掌握,选择方案一更好

10、,控制方便,编程简单,且功能易于实现。3.产品详细设计 3.1 硬件设计3。1。1主板电路主板电路原理图主板电路pcb图3.1.2红外探测电路 方案一:用光敏电阻组成光敏探测器.光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱,因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平.这种方案受光照影响很大,不能够稳定的工作。方案二:采用反射式红外发射-接收st168采用反射式红外发射接收器st168,直接用直流电压对发射管进行供电。其优点是可以实现实时控制,而且灵敏度可调,受外界干

11、扰较小。方案三:采用脉冲调制的红外发射接收器在方案二的基础上采用脉冲调制发射.由于环境光干扰主要是直流分量,因此如果采用带有特定交流分量的调制信号,则可在接收端采用相应的手段来大幅减少外界干扰。缺点是实现复杂、成本高。综合分析:由于传感器可以在车体的下部,发射、接收距离地面都很近,外界光对其干扰都很小。因此在基本不影响效果的前提下,为了方便起见,选用反射式红外发射-接收器st168作为循迹检测模块的传感器。循迹电路采用的是st188红外对管,在小车行进的过程中由51机控制发射管发射信号,再将接收回来的信号送入单片机进行分析处理,使小车沿着反射信号的方向前进。红外探测电路原理图红外探测电路pcb

12、图3。1.3马达驱动电路方案一:采用交流电经直流稳压处理后供电 :采用交流电提供直流稳压电源,电流驱动能力及电压稳定性最好,且负载对电源影响也最小.但由于需要电线对小车供电,极大影响了壁障小车行动的灵活性及地形的适应能力。而且壁障小车极易把拖在地上的电线识别为障碍物,人为增加了不必要的障碍.故我们放弃了这一方案。 方案二:采用单一电源供电.电源直接给单片机供电,通过单片机的io口连接到电动机上,这样输出的电压稳定,不会给电路造成损坏。同时也减轻了小车的重量,使小车在启动和停止时的反应时间更短,减小了惯性的影响。其供电也比方案一简单.综上所述,我们选择方案二.电机驱动部分主要采用一片l298n和

13、主控芯片at89c52单片机相连接构成驱动电路。l298n芯片直插式的15个引脚,其中两个使能端ena和enb,两个反馈端sa和sb,四个输入端in1、in2、in3和in4一个接地端gnd,一个vss(5v时性能最好)逻辑电源电压输入端和一个vs功率电源电压输入端.l298n可同时驱动两个电机,最大输出电流为2a,鉴于它的良好性能和价格,选取l298n作为电机驱动芯片,l298n芯片如下图,l298n的四个输出端直接与两个电机相连驱动电机。l298n实物图电机驱动电路原理图电机驱动电路pcb图3.2软件设计3.2.1开发工具我们采用的软件是altium.designer.v6。9。altiu

14、m designer 是原protel软件开发商altium公司推出的一体化的电子产品开发系统,主要运行在windows操作系统。这套软件通过把原理图设计、电路仿真、pcb绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。3.2.2设计思路程序先从看程序开始,然后写了串口程序,在写串口程序过程中也遇到不少问题,最后都找到了解决方法。写出的串口程序可以清晰的在上位机上呈现出摄像头所采集的图像,在这一过程中也遇到许多问题,比如采集得到的是乱码,一些有规律的乱码,仔细查

15、找原因,原来是波特率设置的问题,虽然程序中设定的波特率和上位机的是一致的,但设置为9600和57600的效果却完全不同。另外还是因为没有设置换行,呈现出的是把本来是列上的图像,放到了每一行上,解决方法是,在每一发送结束后,加了一个换行函数。该程序也得到了应用。3.2。3程序include ”reg52。h”sbit led = p10;sbit buzzer = p11;sbit motol1 = p17;sbit motol2 = p12;sbit motor1 = p15;sbit motor2 = p16;sbit ena_l = p13;sbit ena_r = p14;sbit sm

16、g_1 = p22;sbit data = p21;sbit clk = p20;sbit sens_out = p00;unsigned char count=0;unsigned char speed;unsigned char spd1;unsigned char spd2;unsigned char code tab=0x3f,0x0c,0x5b,0x4f,0x6c,0x67,0x77,0xcd,0x7f,0x6f,0x00;unsigned char tdata4;unsigned int cnt500;bit dp;unsigned char keyboard();unsigned

17、 char tance();void turn_l();void turn_rr();void forward();void turn_r();void turn_ll();void stop();void display();void delay(unsigned int x) unsigned char i;while(x-) for(i=250;i0;i);/*void main(void)unsigned char keyv;unsigned char sens;led=0; buzzer=0;delay(300);led=1; buzzer=1;delay(300);led=0; b

18、uzzer=0;delay(300);led=1; buzzer=1;ena_l=1;ena_r=1;motol1=0;motor1=0;tmod=0x01;th0=0xfc;tl0=0x18;tr0=1;ea=1;et0=1;speed=8;spd1=speed;spd2=speed;tdata0=1;tdata1=2;tdata2=3;tdata3=4;while(1)/按键keyv=keyboard();if(keyv=1)ena_l= !ena_l;ena_r= !ena_r;if(keyv=2)speed+;if(speed14) speed=14;spd1=speed;spd2=s

19、peed;if(keyv=3)if(speed!=0)speed-;spd1=speed;spd2=speed;/显示if(dp=1)display();dp=0;/循轨sens=tance();switch(sens)case 0: forward();break; /0000 0000case 1: turn_rr();break; /0000 0010case 2: forward();break; /0000 0100case 3: turn_r();break; /0000 0110case 4: turn_ll();break; /0000 1000/case 5: keyvalu

20、e=2;break; /0000 1010case 6: turn_l();break; /0000 1100case 7: stop();break; /0000 1110default: break; void int_t0(void)interrupt 1th0=0xfc;tl0=0x18;cnt500+;if(cnt500499)cnt500=0;dp=1;count+;if(count14) count=0;if(countspd1)motol2=1;elsemotol2=0;if(countspd2)motor2=1;elsemotor2=0;/*显示*void display(v

21、oid)unsigned char i,j,temp,tmp1;smg_1=0; for(i=0;i4;i+)temp=tabtdatai; /0000 1100for(j=0;j8;j+)tmp1=temp 0x80; /0000 0000if(tmp1=0x80)data=1;elsedata=0;clk=0;clk=1; temp=temp1;return(tmp3);void turn_l(void)spd2=0;spd1=speed;void turn_rr(void)spd2=speed;spd1=speed5;void forward(void)spd2=speed;spd1=s

22、peed;void turn_r(void)spd2=speed;spd1=0;void turn_ll(void)spd2=speed-5;spd1=speed;void stop(void)ena_l=0;ena_r=0;void turn_ll(void)spd2=speed-5;spd1=speed;void stop(void)ena_l=0;ena_r=0;第 25 页 共 30 页4。调试和测试 仪器名称用途电脑调试及下载程序数字万用表测量各种电路工作情况直流稳压电源提供系统工作电压4.1驱动模块的功能测试驱动模块的调试是能正常的驱动电机的转动。一个电机对应两盏led灯,电机的正

23、反转分别对应一盏led灯亮。led灯能正常的亮灭即表示驱动模块正常.4。2循迹模块的功能测试完成小车循迹的主要器件是三个红外探测,发射管发射出信号后,接收管再将接收到的信号送入单片机进行处理,判断黑线在小车下的位置,从而实现了循迹功能。首先,要调试探测板能否正常工作.经检测,遇黑线对应led灯亮,从而判断探测板无问题。再之后是调整红外探测的灵敏度。确定探测板与跑道的距离,转动可调电阻,从而使三盏led灯在同一高度能灵活亮灭.4。3主板模块的功能测试主模块是连接驱动模块和循迹模块的重要桥梁,也是接受信息和控制的中枢.所以,这部分的调试尤为重要。首先检测的是7805稳压芯片是否正常工作。再就是各个部分的检测,蜂鸣器、led灯、开关、52芯片等是否能正常工作。最后是显示部分的检测。短接电路,看看数码管是否是每一段都是正常点亮。结果只是一些线路未接,硬件无问题,基本功能可以实现。4.4软件的功能测试根据老师讲的程序,分部完成各部的控制程序。电机驱动,两个电机不同速度;数码管显示,显示固定的数;按键控制,停止、启动、加速、减速;探测,转向与速度控制。通过一次次的试跑,不断调整初始速度、小转弯的速度、大转弯的速度、左右转的速度,完成基本的循轨。再在确保能循轨的情况下,加快速度,减少时间,调试出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论