双剑客技术报告-_第1页
双剑客技术报告-_第2页
双剑客技术报告-_第3页
双剑客技术报告-_第4页
双剑客技术报告-_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

第一届“双基”智能车大赛双剑客组技术报告团队成员:彭俊炜宋章泉吴松时间:2012.11题目:基于STC12C5A6单片机控制智能循迹小车摘要本系统采用STC12C5A60S2单片机为控制中心。实现的功能是:自动循迹关键词:智能小车;红外检测;单片机;直流电机AbstractThissystemuseSTC12C5A60S2MCUasitscore.Thefunctionsare:(1)AutomatictrackingKeyword:Intelligentcar;Infrareddetection;singlechip;DCmotor引言当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能机器人也就应运而生。同时,在建设以人为本的和谐社会的过程中,智能服务机器人能够完成考古发掘,海底揭密,宇宙探索等危险作业,以保证人身安全。《国家中长期科学和技术发展规划纲要》一文指出:智能服务机器人是在非结构环境下为人类提供必要服务的多种高技术集成的智能化装备。以服务机器人和危险作业机器人应用需求为重点,研究设计方法、制造工艺、智能控制和应用系统集成等共性基础技术。重点研究低成本的自组织网络,个性化的智能机器人和人机交互系统、高柔性免受攻击的数据网络和先进的信息安全系统。2006━2020年,既是国家中长期技术发展计划实现阶段,也是我们最具有活力和最激情洋溢的时段。于是,我们两人认识到自己的位置,都对智能小车的研发和制作有着强烈的好奇心,有着共同爱好和理想,想用自己的青春和智慧挥写这段焕发青春活力的乐谱。凭借参加本次大赛的机会,我们能够对单片机系统的开发有进一步的学习和理解。我们的系统主要分为L298N电机驱动模块、红外对管检测模块、稳压模块、单片机控制模块、电压比较器模块。照射下,所产生的电流叫光电流。如果在外电路上接上负载,负载上就获得了电信号,而且这个电信号随着光的变化而相应变化。在测定红外对管是否有用的时候,可以通上电源以后,用手机的摄像头对发射管进行照相,如果能够看到紫色的光,就证明能够正常工作。而接收管得测定方法则可以用万用表进行检测,看每个接收管两端的电压。在实践中遇到的问题有:由于红外对管相当脆弱,所以在为其进行包黑胶带的时候应该注意,不要使其歪掉,并且我们在测定的时候多次遇到红外两管松掉而导致电路不通的情况,所以在测定中应该注意相应的问题。电压比较器LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻,选3-15K)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。遇到的问题:电压比较器遇到的问题可以说是最多的,因为可能之前没有接触这样的东西,所以第一次处理比较麻烦。在实践中,出现了这样的问题。可调电阻选错,由于一开始没有考虑到精密可调电阻和可调电阻的区别,所以一开始使用了可调电阻,可调节率相当低,所以只有从来。电压比较器没起作用,在调节电压比较器的时候,出现的最头疼的事情就是调节可调电阻时,电压不起变化,后来的感觉线路出了问题,但是又找不出来,然后又重来。3.终于有用的时候,但是由于红外对管动一下就会影响电压。所以又给红外管抱了一层衣服。小车图片:附录:小车程序,还不完善。#include<reg52.h>#include<control.h>#include<load.h>#include<us_100.h>sbittest=P0^1;uchartemp;ucharcount1,count2; //速度比率uchari;/*********************************************************************************************/voidT0_init();/*********************************************************************************************/voidInt0_init();/*********************************************************************************************/voidT0_init() //定时器初始化{ TMOD=0x11; TH0=(65536-1)/256; TL0=(65536-1)%256; TR0=1; ET0=1; EA=1;}voidInt0_init() //用外部中断0开启定时器T1用于计时{ IT0=0; //外部中断0设置低电平触发 IE0=1; //外部中断0标志位设置为0 EX0=1; //开外部中断0 TMOD=0x11; //设置定时1用于计时,定时器0用于PWM控制 TH1=0; //清空定时器1 TL1=0; TR1=1; //启动定时器1 ET1=1; //开定时1PX0=0; //设置外部中断0为低优先级}voidmain() //主函数{ T0_init(); Int0_init(); while(1) { Us_transmit(); //超声波发射函数 while(flag==1) //flag=1成功接收,计算并判断障碍物距离 { distance=Us_distance(); if(distance<=0.2) { test=0; } else { test=1; } } temp=Load(); Deal(temp); }}voidtime0()interrupt1{ i++; TH0=(65536-1)/256; TL0=(65536-1)%256; if(i==100) { i=0; IN1=1; IN3=1; } if(i==count1) { IN1=0; } if(i==count2) { IN3=0; } }voidInt0()interrupt0{ TR1=0; //停止定时器1 EX0=0; //关闭外部中断0 high_time=TH1; low_time=TL1; //TH1=0; //TL1=0; //是不是没有设置回波时间限制呢?? flag=1; //成功接收超声波标志 //尝试去掉接收成功标志,发现没有标志则没有反应}#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#definenop_nop_()sbitIN1=P2^0;sbitIN2=P2^1;sbitIN3=P2^2;sbitIN4=P2^3;ucharcount1,count2; //设置占空比,控制左右电机的速度/*********************************************************************************************/voidDeal(uchartemp); //速度选择函数/*********************************************************************************************/voidControl_speed(ucharzuo,ucharyou); //速度控制函数/*********************************************************************************************/voidStop(); //停止前进/*********************************************************************************************/voidDeal(uchartemp){ switch(temp) { case0x40: Control_speed(20,80); break; //0100 case0x20: Control_speed(80,20); break; //0010 case0x60: Control_speed(70,70); break; //0110 case0xc0: Control_speed(10,95); break; //1100 case0x30: Control_speed(95,10); break; //0011 case0xe0: Control_speed(10,95); break; //1110 case0x70: Control_speed(95,10); break; //0111 case0xf0: Control_speed(50,50); break; //1111 case0x00: Control_speed(50,50); break; //0000 default: Stop(); } }voidControl_speed(ucharzuo,ucharyou){ count1=zuo; count2=you; IN2=0; IN4=0;}voidStop(){ IN1=0; IN2=0; IN3=0; IN4=0;}#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint/**********************************************

温馨提示

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

评论

0/150

提交评论