嵌入式避障小车设计报告.doc_第1页
嵌入式避障小车设计报告.doc_第2页
嵌入式避障小车设计报告.doc_第3页
嵌入式避障小车设计报告.doc_第4页
嵌入式避障小车设计报告.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

20142015学年第二学期期末考试嵌入式系统原理及应用实践考核项目设计说明书专 业: 电子科学与技术 学 号: 20120510104 姓 名: 游 建 雷 任课教师: 陈 立 刚 2015年 5 月 25 日20142015学年第二学期期末考试嵌入式系统原理及应用实践考核项目设计说明书专 业: 电子科学与技术 学 号: 20120510124 姓 名: 郑旭 任课教师: 陈 立 刚 2015年 5 月 25 日考核项目及要求项目一:上机仿真1考核要点(1) 掌握嵌入式系统原理基本知识;(2) 包括嵌入式最小系统知识,定时器应用,中断应用、接口模块电路应用、PWM及方波的应用;(3) 熟练使用keil编程软件编写各模块电路的调试程序。2仿真要求学生上机综合设计调试,硬件电路及程序设计合理,实现预定的功能。项目二:智能小车硬件电路模块的选型与制作1考核要点(4) 掌握嵌入式系统、电机模块及驱动、避障模块在实际操作中的基本知识;(5) 实验板包括嵌入式最小系统、复位电路、电机驱动模块电路、避障模块电路等的选型与制作;(6) 熟练使用keil编程软件编写各模块电路的调试程序。2作品要求学生自行运用工具进行作品的设计、仿真及演示,达到正确实现、布局合理、美观整洁。项目三:智能小车底盘设计1考核要点(1) 理解电机的工作原理;(2) 了解部分机械机构的设计方法;(3) 掌握智能小车的整体安装方法。2作品要求学生独立设计安装,车身结构美观,布局合理,功能实现。目录一避障小车功能设计说明4二硬件设计 52.1 元器件选择 52.2小车整体架构原理设计处理5三软件设计 83.1功能设计流程图83.2程序设计目录 9四测试与总结 12五实物展示 13基于ARM的避障小车一避障小车功能设计说明基于ARM避障小车是运用STM32F103C8T6为核心芯片、以3个传感器、以及2个L298N电机为基本构架。通过传感器模块精确测距离远近,将模拟电流信号转化成数字信号,通过改变高低电平,向STM32芯片传送高电平1,表示前方无障碍。遇到障碍时,正前方传感器由1变0,表示前方有障碍,通过32芯片驱动电机,两轮反转,向后行驶。当左侧遇到障碍,左侧传感器由1变0,左轮正常行驶,右轮停转,车子向右转。当右侧遇到障碍,右侧传感器由1变0,右轮正常行驶,左轮停转,车子向左转。二硬件设计2.1 元器件选择元件数量STM32F103C8T6芯片1个L298N电机2个小车车轮2个小车底座1个电源模块1个红外传感器3个传感器模块1个万向轮1个杜邦线若干螺丝螺母若干开关1个2.2小车整体架构原理设计处理嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。以ARM内核嵌入式微处理器为中心,具有完全相配接的Flash电路、SDRAM电路、JTAG电路、电源电路、晶振电路、复位信号电路和系统总线扩展等,保证嵌入式微处理器正常运行的系统,可称为嵌入式最小系统。对于一个典型的嵌入式最小系统,以ARM处理器为例,其构成模块及其各部分功能如图1所示,其中ARM微处理器、FLASH和SDRAM模块是嵌入式最小系统的核心部分。使用L298N芯片驱动电机L298N是一个具有高电压大电流的全桥驱动芯片,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用的IO口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比较方便。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,正好符合我们小车两个二相电机的驱动要求。电源电路中使用了大量的去耦电容,用于滤除交流成分,使输出的直流电源更平滑。同时,每个芯片的电源引脚和地之间都连接了这样的去耦电容,以防止电源噪声影响元件正常工作。红外位置传感器,用漫反射式光电开关进行避障。红外线光电开关(光电传感器)属于光电接近开关的简称,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测。漫反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。NorFlash :SST39VF1601是16位宽的存储器,每次读操作可取2字节数据,对于S3C2410A来说相应于半字节对其操作地址最小变化值为0x00000002,因此将S3C2410A的ADDR1引脚与SST39VF1601的A0引脚连接,不用ADDR0引脚,其它地址一次递增连接即可。SDRAM存储器:此32位总线的存储器由两片16位的SDRAM(HY57V561620)组成,使用s3c2410a的Ngcs6片选信号,用U4与数据总线的低16相连,U5与数据总线的高16位相连。SST39VF1601是16位宽的存储器,每次读操作可取2字节数据,对于S3C2410A来说相应于半字节对其操作地址最小变化值为0x00000002,因此将S3C2410A的ADDR1引脚与SST39VF1601的A0引脚连接,不用ADDR0引脚,其它地址一次递增连接即可。*避障电路功能表:传感器避障电路(上升沿动作)待执行命令左 中 左左转信号右转信号0 0 0右转0 0 1右转0 1 0右转0 1 1右转1 0 0左转1 0 1右转1 1 0左转1 1 1前进注解(“0”表示有障碍物;“1”表示无障碍物)三软件设计3.1功能设计流程图双轮倒转右轮转动左轮转动前方障碍物右边障碍物左边障碍物直走有障碍物?直线行走障碍物检测循环系统初始化开始否是 是是否是否否是3.2程序设计附录主函数#include stm32f10x.h #include LED.h#include Key.h#include delay.hint i=0;int main(void) LED_GPIO_Config(); Key_GPIO_Config();while(1) i=Key_Scan(); if(i=0) GPIO_ResetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_ResetBits(GPIOA,GPIO_Pin_7); /前进 GPIO_SetBits(GPIOA,GPIO_Pin_8); if(i=1) GPIO_ResetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_ResetBits(GPIOA,GPIO_Pin_8); /右 GPIO_ResetBits(GPIOA,GPIO_Pin_7); if(i=3) GPIO_ResetBits(GPIOA,GPIO_Pin_6); GPIO_ResetBits(GPIOA,GPIO_Pin_5); /左 GPIO_ResetBits(GPIOA,GPIO_Pin_7); GPIO_SetBits(GPIOA,GPIO_Pin_8); if(i=2) /后 GPIO_ResetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_ResetBits(GPIOA,GPIO_Pin_8); GPIO_SetBits(GPIOA,GPIO_Pin_7); 检测障碍函数#include stm32f10x.h#include Key.h#include delay.hvoid Key_GPIO_Config(void) GPIO_InitTypeDef GPIO_InitStructure;/*开启按键端口(PA0/PA13/PA15)的时钟*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);/*初始化KEY0-GPIOA.13,KEY1-GPIOA.15 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14|GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure);uint8_t Key_Scan(void) if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)=KEY_ON&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)=KEY_ON&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)=KEY_ON) return 2; /后if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)=KEY_ON&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)=KEY_ON) return 1; /右if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)=KEY_ON&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)=KEY_ON) return 2; /后if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)=KEY_ON&GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)=KEY_ON) return 3; /左 if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)=KEY_ON ) /左 PA3 后 PA4 return 1;/右 if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)=KEY_ON ) /前PA2 return 2;/后 if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)=KEY_ON ) /右,PA1 return 3;/左 return 0;/前四测试与总结经过实践测设小车已能够正常运行,且已达到设计标准,并且符合实践要求。在设计过程中采用传感器识别障碍物。但由于存在着一些不可避免干扰因素的影响,如果在加入一定的防干扰装置小车的性能会有更好的实用性和可操作性,此外小车还有些许瑕疵,低廉的电动机价格与其性能息息相关,劣质电机的转速过快导致小车在旋转式不稳,应当配置一个调转速的控制器,来辅助小车进行转向

温馨提示

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

评论

0/150

提交评论