嵌入式避障小车设计报告材料.doc

上传人:李司机 文档编号:1190253 上传时间:2022-07-20 格式:DOC 页数:17 大小:622.97KB
返回 下载 相关 举报
嵌入式避障小车设计报告材料.doc_第1页
第1页 / 共17页
嵌入式避障小车设计报告材料.doc_第2页
第2页 / 共17页
嵌入式避障小车设计报告材料.doc_第3页
第3页 / 共17页
嵌入式避障小车设计报告材料.doc_第4页
第4页 / 共17页
嵌入式避障小车设计报告材料.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《嵌入式避障小车设计报告材料.doc》由会员分享,可在线阅读,更多相关《嵌入式避障小车设计报告材料.doc(17页珍藏版)》请在三一办公上搜索。

1、嵌入式系统原理与应用实践考核项目设计说明书考核项目与要求项目一:上机仿真1考核要点(1) 掌握嵌入式系统原理根本知识;(2) 包括嵌入式最小系统知识,定时器应用,中断应用、接口模块电路应用、PWM与方波的应用;(3) 熟练使用keil编程软件编写各模块电路的调试程序。2仿真要求学生上机综合设计调试,硬件电路与程序设计合理,实现预定的功能。项目二:智能小车硬件电路模块的选型与制作1考核要点(4) 掌握嵌入式系统、电机模块与驱动、避障模块在实际操作中的根本知识;(5) 实验板包括嵌入式最小系统、复位电路、电机驱动模块电路、避障模块电路等的选型与制作;(6) 熟练使用keil编程软件编写各模块电路的

2、调试程序。2作品要求学生自行运用工具进展作品的设计、仿真与演示,达到正确实现、布局合理、美观整洁。项目三:智能小车底盘设计1考核要点(1) 理解电机的工作原理;(2) 了解局部机械机构的设计方法;(3) 掌握智能小车的整体安装方法。2作品要求学生独立设计安装,车身结构美观,布局合理,功能实现。目录一避障小车功能设计说明4二硬件设计52.1 元器件选择5小车整体架构原理设计处理5三软件设计889四测试与总结12五实物展示13基于ARM的避障小车一避障小车功能设计说明基于ARM避障小车是运用STM32F103C8T6为核心芯片、以3个传感器、以与2个L298N电机为根本构架。通过传感器模块准确测距

3、离远近,将模拟电流信号转化成数字信号,通过改变上下电平,向STM32芯片传送高电平1,表示前方无障碍。遇到障碍时,正前方传感器由1变0,表示前方有障碍,通过32芯片驱动电机,两轮反转,向后行驶。当左侧遇到障碍,左侧传感器由1变0,左轮正常行驶,右轮停转,车子向右转。当右侧遇到障碍,右侧传感器由1变0,右轮正常行驶,左轮停转,车子向左转。二硬件设计2.1 元器件选择元件数量STM32F103C8T6芯片1个L298N电机2个小车车轮2个小车底座1个电源模块1个红外传感器3个传感器模块1个万向轮1个杜邦线假如干螺丝螺母假如干开关1个嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最

4、小化模块配置。以ARM内核嵌入式微处理器为中心,具有完全相配接的Flash电路、SDRAM电路、JTAG电路、电源电路、晶振电路、复位信号电路和系统总线扩展等,保证嵌入式微处理器正常运行的系统,可称为嵌入式最小系统。对于一个典型的嵌入式最小系统,以ARM处理器为例,其构成模块与其各局部功能如图1所示,其中ARM微处理器、FLASH和SDRAM模块是嵌入式最小系统的核心局部。使用L298N芯片驱动电机L298N是一个具有高电压大电流的全桥驱动芯片,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用的IO口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比拟方便。

5、L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,正好符合我们小车两个二相电机的驱动要求。电源电路中使用了大量的去耦电容,用于滤除交流成分,使输出的直流电源更平滑。同时,每个芯片的电源引脚和地之间都连接了这样的去耦电容,以防止电源噪声影响元件正常工作。红外位置传感器,用漫反射式光电开关进展避障。红外线光电开关光电传感器属于光电接近开关的简称,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测。漫反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,将光电开关发射器发射的足够量的光线反射到接收器

6、,于是光电开关就产生了开关信号。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字节数据,对于S3C

7、2410A来说相应于半字节对其操作地址最小变化值为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表示无障碍物三软件设计双轮倒转右轮转动左轮转动前方障碍物右边障碍物左边障碍物直走有障碍物?直线行走障碍物检测循环系统初始化开始否是是是否是否否是主函数#include stm32f10x.

8、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(GPIO

9、A,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_

10、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,ENAB

11、LE);/*初始化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 =

12、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_ReadInputDat

13、aBit(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_

14、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;/前四测试与总结经过实践测设小车已能够正常运行,且已达到设计标准,并且符合实践要求。在设计过程中采用传感器识别障碍物。但由于存在着一些不可防止干扰因素的影响,如果在参加一定的防干扰装置小车的性能会有更好的实用性和可操作

15、性,此外小车还有些许瑕疵,低廉的电动机价格与其性能息息相关,劣质电机的转速过快导致小车在旋转式不稳,应当配置一个调转速的控制器,来辅助小车进展转向。由于是初次设计,理论与实际的结合不是十分的完美,知识的缺乏,导致小车的功能不是十分的完善。但同样锻炼了我们动手实践的能力,设计当中的不足都是通过网络资源来解决的,尤其是各个模块程序的编写。经过屡次的设计与磨合小车的设计在实际应用方面得到了很大的提高,根本满足预期设计的要求。各个模块的组合,表现了机械设计当中的理念,通过这次的实践实验告诉了我们,实践设计不是单一的,理想化的,而是许许多多的组合使其能满足实践要求的实践设计。五实物展示小车的反面设计实物图小车的正面设计实物图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号