单片机-隧道探测系统的设计_第1页
单片机-隧道探测系统的设计_第2页
单片机-隧道探测系统的设计_第3页
单片机-隧道探测系统的设计_第4页
单片机-隧道探测系统的设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

《单片机原理与应用》课程设计报告PAGEPAGE27《单片机原理与应用》课程设计报告题目:隧道探测系统的设计专业:电气工程及其自动化班级:学号:姓名:指导教师:自动化工程系2015年7月1日目录TOC\o"1-1"\h\z\u一、设计目的 1二、设计任务及要求 1三、可供选择的仪器和设备 1四、总体设计 2五、具体步骤 8六、设计小结 23七、相关问题 23八、参考资料 24《单片机原理与应用》课程设计报告PAGE1课程设计题目十六隧道探测系统的设计一、设计目的掌握相应传感器的使用方法。利用宝贝车实验机器人更具体的了解单片机工作原理和应用熟练掌握C语言编程。通过系统整体的概念,设计并实现要求的功能,完成设计报告。掌握正确的单片机调试方法。二、设计任务及要求电路上电后,机器人能够躲避一般障碍物。查阅资料,论述基本原理,并画出相关电路图。论述本次设计中所涉及到的所有相关知识概念及原理,设计相应的电路原理图。根据所提供的设备,正确选择传感器、电阻等相关元件。按照电路原理图搭建电路并进行调试。软件设计流程及描述,并设计和调试源代码。软硬件结合验证,并调试,直到测试正确。给出实验结果并进行分析。回答相关问题设计报告包括以下主要内容:设计目的及要求设计使用的仪器和设备完整的系统设计方案相关知识及原理电路原理图的设计源程序代码设计及描述(要有注释)硬件、软件实验步骤整体设计验证小结参考资料三、可供选择的仪器和设备计算机、AVR系统开发软件;WINAVR编译器、MFILE软件、ISP下载软件、串口软件等;宝贝车机器人(AVR单片机版);光敏电阻传感器,红外线传感器,蜂鸣器,led指示灯等。基本电路器件:试验主板1块,AT89S52芯片1个,ISP下载线1跟,RS232串口线1根,连续旋转伺服马达2套,机器人运动底盘(带后轮)1套,电池盒(带五号电池4节)1个,驱动轮2个,线路板连接柱子4根,盘头螺钉30颗,螺母20颗,沉头螺钉4颗,螺钉4颗,十字螺丝刀1把,尖嘴钳1把,跳线1袋,绿色LED1个,排针一排,,电阻220k4个,电阻470k10个,电阻1k4个,L-1L1红色LED灯2个,1938红外探测器4个,两对IRLED套管,三极管4个,LCD模块一个,一个470Ω电阻;扬声器1个;导线若根。四、总体设计完整的系统设计方案硬件电路设计及描述图4-1红外线导航电路图图4-2光敏电阻电路图图4-3扬声器电路图图4-4指示灯电路图图4-5总电路图图4-6隧道探测系统的接线图首先在宝贝车进入隧道后发出蜂鸣声,在通过隧道的过程中指示灯亮起。同时在宝贝车行走过程中,如果前方有障碍物,红外线感应接收装置接收到红外线遇到障碍物返回信号,对应的PC1,PC0输入为低电平。导航程序需要接受这些输入信息,判断它的意义,调用一系列使宝贝车倒退、旋转并朝不同的方向行走的动作子函数。宝贝车用它的红外光探测障碍物,当遇到障碍物时它会知道。一旦红外光探测到障碍物,红外光接收装置接收到返回的红外光,第六章中的导航程序和子程序将使小车倒退和旋转。然后宝贝车再重新向前行走直到遇到另一个障碍物。宝贝车在通过隧道后指示灯灭。2、软件设计流程及描述图4-7程序流程图1)调零程序:#include<avr/BoeBot.h>#include<avr/usta.h>intmain(void){ usta_Init(); printf("ProgramRunning!");DDRC|=_BV(PC2);//设置PC2为输出口 DDRC|=_BV(PC3);//设置PC3为输出口 while(1) { PORTC|=_BV(PC2);//设置PC2输出高电平delay_nus(1500);//延时1.5ms PORTC&=~_BV(PC2);//设置PC2输出低电平 delay_nms(20);//延时20msPORTC|=_BV(PC3);//设置PC3输出高电平delay_nus(1500);//延时1.5ms PORTC&=~_BV(PC3);//设置PC3输出低电平 delay_nms(20);//延时20ms }}2)源程序代码#include<avr/BoeBot.h>#include<avr/usta.h>intPC0_state(void){ return(PINC&0x01)?1:0;}intmain(void){ usta_Init(); printf("ProgramRunning!"); DDRD|=_BV(PD6)|_BV(PD7);for(uint16_tcounter=1;counter<=6000;counter++)//开始/复位信号 { PORTD|=_BV(PD7); delay_nus(166); PORTD&=~_BV(PD7); delay_nus(166); } intirDetectLeft; while(1) { for(uint16_tcounter=0;counter<38;counter++) { PORTD|=_BV(PD6); delay_nus(13); PORTD&=~_BV(PD6); delay_nus(13); } irDetectLeft=PC0_state(); printf("irDetectLeft=%d\n",irDetectLeft); delay_nms(100); } }3、实验整体验证小车能够在人为设定的障碍物通道里,躲避一般障碍物。在此过程中,需要根据小车的灵敏程度进行调试程序直到成功。基本原理及相关知识如今最热门的产品看起来都有一个共性:无线通信。比如私人用户可以把数据无线传输到便携电脑,我们可以通过遥控自由选择频道。许多远程控制和PDA使用频率低于可见光的红外线进行信号通信。使用一些便宜且应用广泛的部件,AVR微控制器也可以收发红外光信号。不接触探测物体并不需要任何就像机器视觉那样复杂的东西。许多机器人使用雷达(RADAR)或者声纳(SONAR)。一个更简单的系统是使用红外光来照射机器人的路线,然后确定何时有光线从目标反射回来。由于红外远程控制技术的发展,红外线发射器和探测器已经很普及并且价格便宜。我们在宝贝车机器人上建立的红外物体探测系统在许多方面就像汽车的前灯。当汽车前灯的射出的光从障碍物体反射回来时,你的眼睛发现障碍物体,然后你的大脑处理这些信息,并据此控制你的身体引导汽车。宝贝车机器人使用红外线两极管LEDs作为前灯,如图6-1所示。他们发射红外光,在一些情况下,红外线从物体反射从机器人前进的方向折回。宝贝车机器人的眼睛是红外检测器。红外检测器发出信号来表明它们是否检测到从物体反射回的红外线。宝贝车机器人的大脑,AVR微控制器据此做出判断并基于这个传感器的输入控制伺服电机。五、具体步骤硬件实现步骤:1.根据图5-1所示的电路图搭建电路,左侧IR组连接,首先用导线将5V电源与两个检测器连接起来,再用导线把PC0与220欧电阻连接,电阻的另一端连接检测器,检测器的第三端接地。2.用PD6连接1千欧的电阻,再连接光敏二极管,接地。3.右侧IR组连接,PD6连接1千欧的电阻,再接地,PC1链接220欧连接检测器,检测器的一端接5V,另一端接地。图5-1硬件连接图图5-2电路图搭建电路4.所需器件:(1).两个红外检测器(2).两个IRLEDs(3).两对IRLED套管(4).两个220Ω电阻(红-红-棕)(5).两个1kΩ电阻(棕-黑-红)(6)一个光敏电阻(7)一个蜂鸣器软件实现步骤1、制作Makefile文件,打开MFile[WinAVR]编辑器,出现如图5-4所示窗口。图5-4打开MFile[WinAVR]编辑器2、修改主文件名(MainFilename):选择菜单“Makefile->MainFimename…”将打开如图5-3所示的对话筐,将文本框中的main改为12020217,点击“OK”即可。完成图如5-6所示。3、修改MCU(Micro

Controller

Unit)type:选择菜单“Makefile->MCUtype->ATmega->ATmega8”即可。如图5-7和5-8所示4、修改编程器类型:选择菜单“Makefile->Programmer->stk200”即可。如图5-9和5-10所示图5-5主文件名修改对话框图5-6主文件名修改对话框完成图图5-7修改MCU之后的界面图5-8修改MCU之后的界面完成图图5-9修改编程器类型之后的界面图5-10修改编程器类型之后的界面的完成图5、修改编程端口:选择菜单“Makefile->port->lpt1即可”。如图5-11和5-12所示图5-11修改编程端口之后的界面图5-12修改编程端口之后的界面的完成图6、选择菜单“File->Saveas”将文件保存在源程序所在的目录即可。如图5-13所示。图5-13文件保存在源程序所在的目录7、输入源程序并保存,文件名为:“12020217.c”。如图5-14显示。图5-14保存文件名为:“12020217.c”8、打开WINAVR软件,“File””New””Project”如图5-15和5-16所示图5-15图5-16下载程序,编译源程序:选择ProgrammersNotepad[WinAVR]的菜单“Tools->Makeall”,当源程序中没有错误时,将如图5-17,5-18,5-19,5-20显示。图5-17下载程序图5-18编译源程序10、在桌面上点击图标——>选择相关文件“12020217.hex”——>打开,如图5-21所示。图5-21选择相关文件11、把宝贝车和电脑连接好,点击宝贝车上的复位并把电源开到1档——>编程——>点击编程,在完成次数上显示1即可,如图5-22所示。图5-22宝贝车和电脑连接与编程设计整体验证宝贝车与PC机连接把程序链接完成之后,将宝贝车放在如上图所示的障碍物处,小车根据触须装置能够躲避障碍,在此过程中,根据小车的灵敏程度进行调试程序直到成功。调试程序宝贝车前右行走:#include<avr/BoeBot.h>#include<avr/usta.h>intPC0_state(void){ return(PINC&0x01)?1:0;}intPC1_state(void){ return(PINC&0x02)?1:0;}voidForward(void){ PORTC|=_BV(PC3); delay_nus(1700);PORTC&=~_BV(PC3); PORTC|=_BV(PC2); delay_nus(1300); PORTC&=~_BV(PC2); delay_nms(20);}voidLeft_Turn(void){for(uint16_ti=1;i<=26;i++) { PORTC|=_BV(PC3); delay_nus(1300);PORTC&=~_BV(PC3); PORTC|=_BV(PC2); delay_nus(1300); PORTC&=~_BV(PC2); delay_nms(20); }}voidRight_Turn(void){for(uint16_ti=1;i<=26;i++) { PORTC|=_BV(PC3); delay_nus(1700);PORTC&=~_BV(PC3); PORTC|=_BV(PC2); delay_nus(1700); PORTC&=~_BV(PC2); delay_nms(20); }}voidBackward(void){for(uint16_ti=1;i<=65;i++) { PORTC|=_BV(PC3); delay_nus(1300);PORTC&=~_BV(PC3); PORTC|=_BV(PC2); delay_nus(1700); PORTC&=~_BV(PC2); delay_nms(20); }}intmain(void){ usta_Init(); printf("ProgramRunning!"); DDRD|=_BV(PD7)|_BV(PD2)|_BV(PD3); DDRC|=_BV(PC2)|_BV(PC3); for(uint16_tcounter=1;counter<=6000;counter++)//开始/复位信号 { PORTD|=_BV(PD7); delay_nus(166); PORTD&=~_BV(PD7); delay_nus(166); } while(1) { if((PC0_state()==0)&&(PC1_state()==0)) { PORTD=0x0c; Backward();//向后 Left_Turn();//向左 Left_Turn();//向左 } elseif(PC0_state()==0) { PORTD=0x04; Backward();//向后 Right_Turn();//向右 }elseif(PC1_state()==0) { PORTD=0x08; Backward();//向后 Left_Turn();//向左 } else { PORTD=0x00; Forward();//向前 } }} 六、设计小结通过本次课程设计,结合ATmega系列单片机原理及应用和宝贝车机器人相关的知识,对利用红外线导航躲避障碍物进行了设计,更加明确了红外线导航系统的原理。本次课程设计调试终端显示时并不成功,进行一系列的检查:检查电路的搭建是否正确;宝贝车程序是否无误;排查了触须是否能正常触发,最终达到预期效果。在实验中遇到的主要问题在程序的编写与调试,尤其是宝贝车在运行时探测灯光干扰的问题。宝贝车机器使用光敏电阻作为感测隧道装置,当小车进入隧道时,对应的LED灯亮,蜂鸣器响。从而AVR控制器据此作出判断。本次课程设计调试终端显示时并不成功,进行一系列的检查:检查电路的搭建是否正确;宝贝车程序是否无误,最终达到预期效果。最后感谢老师的耐心指导。七、相关问题1.为什么要制作Makefile文件呢?答:因为任何一个源文件包含的只是运用C语言写成的语句,这些语句命令并不能直接被CPU(即我们的AVR单片机)识别。它必须先被编译成.obj文件(我们称之为目标文件)然后生成.hex文件(我们称之为可执行文件)才能被CPU识别,生成.hex文件是要经过一个很复杂的定义与编程过程。但是我们现在只需先通过WinAVR中的MFile编辑器软件修改几个参数由系统自动生成每个源文件的Makefile文件,就能轻松搞定。Makefile文件中包含包括编译生成.hex文件时所须的全部指令(有兴趣的朋友可以参考生成的Makefile文件)。它通常以文件名Makefile保存在源程序所在的目录中。编译时系统将自动调用Makefile文件来生成.hex文件以及其他的一些必要文件。2..机器人红外线探测器如何导航?答:我们在宝贝车机器人上建立的红外物体探测系统在许多方面就像汽车的前灯。当汽车前灯的射出的光从障碍物体反射回来时,你的眼睛发现障碍物体,然后你的大脑处理这些信息,并据此控制你的身体引导汽车。宝贝车机器人使用红外线两极管LEDs作为前灯,他们发射红外光,在一些情况下,红外线从物体反射从机器人前进的方向折回。宝贝车机器人的眼睛是红外检测器。红外检测器发出信号来表明它们是否检测到从物体反射回的红外线。宝贝车机器人的大脑,AVR微控制器据此做出判断并基于这个传感器的输入控制伺服电机,进而控制单片机左转,右转,前进或后退。八、参考资料[1]李栋,赵春雷.AVR单片机实验指导书.天津:理工大学中环信息学院自动化工程系,2012.11,50-56[2]海涛.ATmega系列单片机原理及应用C语言教程.北京:机械工业出版社,2008.1基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于MSP430单片机的远程抄表系统及智能网络水表的设计基于MSP430单片机

温馨提示

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

评论

0/150

提交评论