ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:85.38KB ,
资源ID:746626      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/746626.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(遥控智能小车课程设计教学内容.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

遥控智能小车课程设计教学内容.docx

1、遥控智能小车课程设计教学内容遥控智能小车(课程设计) 嵌入式系统原理 课程设计说明书题 目: 遥控智能小车 院 (系): 计算机与电子系 专业班级: 电子科学与技术0902班 * * * * 学 号: * * * * * 20 11 年 12 月 30 日至20 12 年 1 月 13 日华中科技大学武昌分校制 嵌入式系统原理 课程设计任务书一、设计题目遥控智能小车二、设计主要内容(1)广泛查找文献资料,认真研究,反复论证,精心设计技术方案。(2)严格遵守各项纪律,勤奋学习,认真思考,敢于挑战困难并勇于创新。(3)较为深入的掌握ARM处理器的体系结构、指令系统、编程方法,初步了解ARM应用系统

2、的软硬件开发方法及手段,较熟练地掌握ARM处理器几种重要的片内外设(定时器、PLL、I2C、RTC等)的基本原理及编程方法,初步掌握ARM处理器外围电路的扩展方法。(4)在现有车模的基础上,以嵌入式ARM微处理器构成小车控制核心,同时加装声光电、红外线、超声波传感器、LED显示等外围设备,实现对小车的速度、位置、运行状况的实时测量,并将测量数据传送至处理器进行处理,然后由处理器根据所检测的各种数据实现对电动车的智能控制;(5)设计的智能小车应该能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车。并有相应的声光电设备发出相关的提示或警示信息。(6)遥控方式可

3、自选,系统通过遥控器可以控制小车的行驶方向、速度、起停等运行状态,要求要达到一定的控制精度、距离及范围,小车行驶速度应达到3m/s以上。(7)分析结果,独立撰写设计总结报告陈述自己的观点,格式应严格遵守学校规范。内容尽量翔实,其中必须要有自己独立的见解和认识。三、原始资料硬件资源:四驱小车车模、STM32系统板、用于ARM处理器的JTAG仿真器、PC机Pentium100以上。设计指导书:STM32系统板配套光盘四、要求的设计成果(1)在现有车模的基础上,以嵌入式ARM微处理器构成小车控制核心,同时加装声光电、红外线、超声波传感器、LED显示等外围设备,实现对小车的速度、位置、运行状况的实时测

4、量,并将测量数据传送至处理器进行处理,然后由处理器根据所检测的各种数据实现对电动车的智能控制。(2)撰写课程设计说明书,要求简洁、通顺,格式规范,设计方案正确,实现技术路线明确,论述内容完整、清楚、规范,数据、资料真实可靠,软件程序运行良好。(3)要求有完整的电路设计原理图及软件源代码。五、进程安排(1)第 1 天:任务布置及相关知识讲解(2)第2-3天:资料查阅与方案制定(3)第4-8天:硬件设计、程序编制与调试阶段(4)第 9 天:撰写设计报告(5)第 10 天:答辩与考核阶段六、主要参考资料1 田泽. 嵌入式系统开发与应用实验教程. 北京航空航天工业大学出版社,2005.2 郭荣佐,王霖

5、. 嵌入式系统原理.北京航空航天大学出版社,.2008.3 周根林.嵌入式系统原理与应用.南京大学出版社, 2006.4 谭浩强. C语言程序设计(第2版).清华大学出版社,20085 丁峰. ARM系统开发从实践到提高. 中国电力出版社,2007.6 游雨云. 单片机PWM信号控制智能小车的实现方法.技术与市场, 2009,(12)7 袁新娜,余红英,超声波传感器在智能小车避障系统中的应用. 大众商务教育版(民办教育研究),2009,(8)指导教师(签名): 20 年 月 日1. 总体思想 12. 电机驱动 22.1 简介 22.2 具体实现 22.3 功能函数设计 23 遥控系统 73.1

6、 遥控器简介 73.2 接收探头与解码 73.3 红外控制 84. 超声波 124.1 简介 124.2 超声波测距具体实现 124.3 超声波程序设计 125. 红外寻迹 145.1 反射式红外传感器 145.2 具体实现方法 145.3 寻迹程序设计 156. 总结 171.总体思想图 1.1 设计全局图本次课程设计,我们小组采用stm32作为主控芯片,L298N模块作为电机驱动芯片。在小车车头放置三个反射式红外传感器,由于红外光易于被黑线吸收,利用这个原理,来检测黑线,当检测到黑线时,发射出去的红外光被吸收,红外传感器接受不到反射信号,通过输出信号反馈给STM32,产生中断,作出相应的调

7、整,详细介绍见下文第12页。车头部分采用一个US-100超声波模块,用于检测前方障碍物,我们小组设置的安全距离为25cm,当小车与前方障碍之间的距离小于25cm时,小车蜂鸣器报警,stm32控制电机,作出相应的调整。关于超声波工作详情,请见下文第11页。小车尾部安装一枚HS0038红外接收探头,配合一块遥控器,实现遥控小车的功能。我们小组选用的遥控器编码为NEC协议。红外遥控功能详情,请见下文第7页。我们在小车的车身上放置一块3.2寸TFT液晶显示器。用于显示时间,车速。车速通过霍尔元件测得。2.电机驱动2.1简介电机运转需要大电流,而stm32驱动能力达不到电机正常运转的要求,故我们小组采用

8、L298N模块驱动电机,L298N拥有4个输入端口,由stm32直接输入,4个输出端,可以驱动两个直流电机。 stm32输出端口的电平变换,可以控制电机的方向。PWM脉宽调制信号,可以控制电机的转速。实现加速减速的功能。2.2 具体实现通过stm32的PA0,PA1,根据TIM2产生的不同占空比的PWM波,控制电机的速度,以及正反转。PA3,PA4控制小车前轮,前轮采用舵机控制,在转向方面,不能大幅度转弯,所以,在小车转弯上,我们采用转一段时间,然后倒退一段距离,然后再转,如此反复几次。通过这种方式实现小车的900C转弯。2.3 功能函数设计1.void Front() GPIOD-BRR =

9、 0X03; GPIOA_Conf(); /配置A端口 GPIOA-BRR = 0x0f;GPIOA-BSRR = 0X01; 调用这个函数,实现小车全速向前形式。PD端口的D0,D1位,是控制小车后面两个尾灯。当小车前进时,尾灯关闭。2.void Back() GPIOD-BSRR = 0x03;GPIOA_Conf();GPIOA-BRR = 0x0f;GPIOA-BSRR = 0X02;调用这个函数,实现小车全速后退。同时开启车身后面的尾灯。 3 . void LeftSlideFront() GPIOD-BSRR = 0X01; GPIOD-BRR = 0X02; GPIOA-BRR

10、= 0X04; GPIOA-BSRR = 0X08; Time_Configuration(350,0,500,7199); 调用此函数,实现小车前进,左转弯。同时开启尾部左边的尾灯,关闭右边的尾灯。Time_Configuration(350,0,500,7199)为占空比调制函数。通过输入不同的值,改变电机的转速。4.void Time_Configuration(uint16_t CCR1_Val,uint16_t CCR2_Val,uint16_t periodValue,uint16_t PrescalerValue) /*开启TM2定时器时钟*/RCC_APB1PeriphCloc

11、kCmd(RCC_APB1Periph_TIM2, ENABLE); /*TIM2定时器复用管脚PA0,PA1,PA2,PA3*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); /*配置定时器时基*/ TIM_TimeBaseStructure.TIM_Period =

12、 periodValue; TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /*配置定时器各通道情况*/ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStru

13、cture.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = CCR1_Val; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM2, &TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

14、 TIM_OCInitStructure.TIM_Pulse = CCR2_Val; TIM_OC2Init(TIM2, &TIM_OCInitStructure); TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM2, ENABLE); TIM_Cmd(TIM2, ENABLE); PWM脉宽调制波形输出,是stm32定时器功能的一大亮点,以往8位单片机输出PWM波形,均为模拟,或者借助外围芯片,而stm32内部定时器,实现了精确的PWM波形直接输出。上面功能函数,为TIM2定时器的配置情况。

15、我在使用时,开启了TIM2定时器的通道1和通道2。分别为PA0,PA1,这两个端口控制小车的后轮电机。由于前轮为舵机。所以,没有采用PWM波形。而是直接给高低电平调整小车的方向。stm32定时器采用预分频处理,即将系统时钟分频后给定时器,这个预分频值,由传入的参数PrescalerValue决定。系统时钟为72MHz,设分频后的频率为F,则:F = 72MHz/(PrescalerValue+1)定时器的计数周期为传入参数periodValue的值决定。PWM占空比值由传入参数CCR1_Val和CCR2_Val决定,分别控制PA0,PA1的占空比值。占空比 = CCR1_Val/periodValue。4. void LeftSlideBehind() GPIOD-BSRR = 0X01; GPIOD-BRR = 0X02; GPIOA-BRR = 0X04; GPIOA-BSRR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1