自动往返智能小汽车设计

上传人:飞*** 文档编号:29259730 上传时间:2018-01-23 格式:DOCX 页数:16 大小:964.63KB
返回 下载 相关 举报
自动往返智能小汽车设计_第1页
第1页 / 共16页
自动往返智能小汽车设计_第2页
第2页 / 共16页
自动往返智能小汽车设计_第3页
第3页 / 共16页
自动往返智能小汽车设计_第4页
第4页 / 共16页
自动往返智能小汽车设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《自动往返智能小汽车设计》由会员分享,可在线阅读,更多相关《自动往返智能小汽车设计(16页珍藏版)》请在金锄头文库上搜索。

1、中国海洋大学课程设计报告题目:自动往返智能小汽车设计组员: 院系:信息科学与工程学院班级:2009 级电子信息工程指导老师: 摘要本文介绍的是基于单片机 89S52 控制的自动往返电动小汽车控制系统的硬件和软件设计。该设计采用 89S52 单片机为控制核心,对送入的脉冲信号进行检测分析,利用光电传感器检测道路上的黑线,通过脉宽调制使电机转速能自动调节,从而实现电动小汽车的快慢速行驶,以及自动停车、往返的控制要求。采用的技术主要有:通过编程来控制小车的速度;传感器的有效应用;新型显示芯片的采用。关键词:自动往返电动小汽车;AT89S52 单片机;脉宽调制;光电传感器AbstractThis pa

2、per is based on89S52 single-chip microcomputer controlled electric car from the automatic control system hardware and software design. The design using 89S52MCU as the control core, is sent into a pulse signal detection and analysis, the use of ultrasonic sensors detect obstacles on the road, by a p

3、ulse width modulated so that the motor speed can be adjusted automatically, so as to realize the electric cars automatic low speed, as well as the automatic parking and returning control requirements. Using the technology are: programmed to control the car speed; the effective application of the sen

4、sor; the adoption of the new display chip.Key words: automatic motor-driven car; AT89S52 MCU; pulse width modulation; photoelectric detector目录1.系统概述1.1 设计背景和研究意义1.2 工作原理和技术要求2.系统硬件设计2.1 89S52 单片机硬件结构2.2 方向控制电路2.3 路面黑线检测电路2.4 电机驱动转速电路3.系统软件设计3.1 算法分析3.2 程序代码4.系统测试运行4.1 测试仪器4.2 硬件测试4.3 软件测试5.项目总结一、 系统

5、概述1.1 设计背景和研究意义智能电动小车是一种无人操纵的自动感应调速往返小车。随着全球经济的飞速发展,现代化生产观念日益受到企业的重视,这也为智能小车产业的发展提供了契机。AT89S52 是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。它是第三代单片机的代表,其最主要的技术特点是向外部接口电路扩展,以完善控制功能。外部可接其他功能单元如 A/DPWMPCAWDT计数器的捕获/比较逻辑等。在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。 1.2 工作原

6、理和技术要求本实验设计是基于单片机 89S52 控制的自动往返电动小汽车控制系统的硬件和软件设计。自动往返电动小汽车之所以能够寻迹,主要需要三个模块完成。信号采集模块、控制模块、驱动模块。通过信号采集系统将实际路径信号采集以电信号的形式传递给控制系统,控制系统将采集来的信号进行比较分析计算,并利用驱动模块,控制小车前进。该设计采用 89S52 单片机为控制核心,对送入的脉冲信号进行检测分析,利用光感传感器检测道路上的黑线信息,通过脉宽调制使电机转速能自动调节,从而实现电动小汽车的自动前进、加速,减速行驶,以及自动停车的控制要求。整个系统的电路结构简单,可靠性能高。二、 系统硬件设计一个单片机应

7、用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如 ROM、RAM、I/O、定时器/计数器、中断系统等不能满 足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、 A/D、D/A 转换器等,要设计合适的接口电路。 2.1 AT89S52 单片机硬件结构AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上 Flash 允许程序

8、存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 AT89S52 在众多嵌入式控制应用系统中得到广泛应用。AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S5

9、2具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下, RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。2.2 方向控制电路由于小车自身机械上的精度不高(车轮不足够圆滑、车体结构重心不稳等)和小车在放置跑道

10、时位置的不准确,均会引起小车在前进时偏离跑道的中心线而冲向左右挡板,与挡板发生摩擦,使小车减速甚至停车,影响正常行驶。图 2.1 AT89S52 引脚图 为此,我们在小车的四角安装触控开关,设计方向控制电路(此电路不许单片机控制)使小车撞到挡板后自动转向并继续向前行驶。图 2.2 方向控制电路该设计中使用了 4 个双刀双掷开关,分别安装在小车的左前、右前、左后、右后四个方位,并将开关控制触角延长。当开关 S1 或 S3 撞到挡板时,转向电机正转,车头左拐,驶离挡板;当开关 S2 或 S4 撞到挡板时,转向电机反转,车头右拐,驶离挡板。2.3 路面黑线检测电路该路面黑线检测电路由光电传感器接受路

11、面黑线信号,传给单片机,经过AT89S52 单片机处理,P0.1 和 P0.2 输出控制电动机的转向及转速。路面黑线检测电路传感器采用光电传感器,安装在车尾的底部。在白色区域时,光电传感器输出为高电平;而在黑色区域时,光电传感器输出为低电平。光电传感器经过一个非门后,连到单片机的 P3.2。因此当单片机检测到 P3.2的电平产生下降沿时,单片机能够判断出小车经过黑线并调用相应的子程序。黑线检测电路如下图(图 1.3) ; 图 2.3 路面黑线检测电路2.4 电机驱动转速电路采用脉宽调制(PWM)控制方式。由于 PWM 调速系统的开关频率较高,经过电驱电感的滤波作用后可获得平稳的直流电源,低速特

12、性较好。同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频宽,开关器件只工作在开关状态,主电路损耗小,系统效率高。电动机驱动转速采用继电器组成的 PWM 电路,采用单片机控制 PWM 电路工作在占空比可调的开关状态,以精确地调整电动机转速。当 =10 时,三0.10.2极管 1 导通,三极管 2 截止,继电器 1 契合,继电器 2 没契合,电流从左向右流过电动机,电机正向转动,小车向前行驶;当 =01 时,继电器 2 契0.10.2合,继电器 1 没契合,电流从右向左流过电动机,电动机反向转向,小车倒车行驶。 图 2.4 电动机驱动转速三、 系统软件设计3.1 系统软件流

13、程本系统中,通过 p3.2 口的外部中断机制接受传感器传来的外部信号,以确定小车处于某种状态,根据不同的状态,从 p1.0、p1.1 两个端口输出相应的控制信号来控制小车正确的运行。设置 count 变量统计小车经过的黑线数量,来确定小车的状态,小车完成一个往返后变量清零。其中经过第一条、第二条线时全速前进,第三条时开始减速,第四条时恢复原速度,经过第五条时开始刹车减速,第六条时停车,并等 10 秒后开始返回,并在相应的位置进行同样的加速、减速处理。小车在前进时,通过调用相应的过程处理子程序来控制小车的运行状态。为防止小车在经过黑线时产生多次中断以干扰小车运行结果,在产生一个中断后,屏蔽中断的

14、产生,在经过黑线后再使能中断。3.2 程序代码如下:#include#includesbit p10=P10;/定义端口sbit p11=P11;int count=0;/黑线统计变量void test_blackcount(void) interrupt 0 using 0/中断处理EX0=0;count+=1;void delay(int n)/延时子程序int i,j;for(i=0;in;i+)for(j=0;j5000;j+)_nop_();void fullspeed()/加速前进子程序IE0=0;EX0=1;p10=1;p11=0;void ufullspeed()/返回时加速程

15、序IE0=0;EX0=1;p10=1;p11=1;void limitspeed()/限速子程序IE0=0;EX0=1;while(count=3)p10=0;p11=0;delay(2);p10=1;p11=0;delay(2);while(count=10)p10=0;p11=1;delay(2);p10=1;p11=1;delay(2);void brake()/刹车程序IE0=0;EX0=1;while(count=5)p10=0;p11=0;delay(2);p10=1;p11=0;delay(2);while(count=12)p10=0;p11=1;delay(2);p10=1;

16、p11=1;delay(2);void stop()IE0=0;EX0=1;p10=0;p11=0;delay(300); ufullspeed();count=7;void ustop()IE0=0;EX0=1;p10=0;p11=0;delay(300); fullspeed();count=0;void main()SP=60;/初始化IE=0X81;PX0=1;IT0=1;count=0;p10=0;p11=0;delay(100);/延时后加速前进进入循环p10=1;p11=0;while(1)switch(count)case 0:case 1:case 2:case 3:limitspeed();break;case 4:fullspeed()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号