已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录绪论21.硬件设计31.1方案选择3(1)主控芯片的选择3(2)驱动电路的选择3(3)传感器的选择4(4)电机的选择4(5)电机控制方式的选择4(6)循迹方案的选择41.2硬件原理图52.软件设计62.1软件流程图62.2软件工作原理介绍63.调试83.1 硬件调试83.2 软件调试84.总结9附录10绪论本设计是一种基于单片机控制的简易自动寻迹小车系统,其研究意义涵盖了工业、生活、勘探以及人类关注的探月工程。设计旨在设计出一款可以自主按照人类预设的轨迹行走(或者完全自主行走)并完成指定任务的小车。从设计的功能要求出发,设计包括小车机械构成设计和控制系统的软硬件设计。我采用简易三轮构架式,用前轮驱动及换向的控制模式。控制系统以STC89C52为控制核心, 用单片机产生PWM波,控制小车速度。利用红外光电传感器对路面黑色轨迹进行检测,并确定小车当前的位置状态,再将路面检测信号反馈给单片机。单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。关键词 : 循迹小车,单片机,红外传感器1.硬件设计1.1方案选择(1)主控芯片的选择图 1 AT89C51最小系统小车采用STC89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下:1、时钟电路:给单片机提供一个外接的12MHz的石英晶振。2、电源电路:给单片机提供5V电源。3、复位电路:在电压达到正常值时给单片机一个复位信号。(2)驱动电路的选择采用L298N直流电机驱动芯片驱动直流电机转动,通过PWM脉宽平滑调速控制直流电机运转。工作电压高,其最高工作电压可达46V,输出电流大,其瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载。(3)传感器的选择本题目中循迹小车需要在跑道上寻找到由黑色胶带形成的路径,根据红外线在白色环境中可反射被接收管接收,而在黑色环境中红外线被吸收无法反射因此接收管无法接收到红外线信号的特性选择红外对管为本题目传感器。(4)电机的选择采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。(5)电机控制方式的选择采用H型桥式驱动电路。直流电机驱动电路使用最广泛的就是H型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。(6)循迹方案的选择在车模前方正中间位置的左右两侧各安装一个红外对管集成模块,当在直道上时两个对管均可接收到。1.2硬件原理图2.软件设计2.1软件流程图开始初始化按键是否按下启动小车左检测到黑线左右都未检测到黑线左右都检测到黑线右检测到黑线直行直行右转左转图 2 小车软件流程图2.2软件工作原理介绍#include #define uint unsigned int#define uchar unsigned char sbit ENA=P27; /*左电机驱动使能*/ sbit ENB=P26; /*右电机驱动使能*/ sbit in1=P25; /*左电机前进*/ sbit in2=P24; /*左电机后退*/ sbit in3=P23; /*右电机前进*/ sbit in4=P22; /*右电机后退*/ sbit senle=P14; /*左传感器*/ sbit senri=P15; /*右传感器*/ void delay_50us(uint t) /*延时函数,大约50us的延时*/ uchar j; for(;t0;t-) for(j=19;j0;j-); void straight() /*小车直线行走函数*/ in1=1;in2=0; delay_50us(50); in1=1;in2=1; delay_50us(20); in3=1;in4=0; delay_50us(50); in3=1;in4=1; delay_50us(20); void turnleft() /*小车左转函数*/ in1=1;in2=0; delay_50us(10); in1=1;in2=1; delay_50us(20); in3=1;in4=0; delay_50us(50); in3=1;in4=1; delay_50us(20); void turnright() /*小车右转函数*/ in1=1;in2=0; delay_50us(50); in1=1;in2=1; delay_50us(20); in3=1;in4=0; delay_50us(10); in3=1;in4=1; delay_50us(20); void main(void) /*主函数*/ ENA=1;ENB=1; while(1) if(senle=1&senri=1)|(senle=0&senri=0) straight(); else if(senle=0&senri=1) turnleft(); else if(senle=1&senri=0) turnright(); 3.调试在硬件电路搭建与软件设计完成之后对其分别进行调试,调试过程与结果如下:3.1 硬件调试第一步,对单片机最小系统进行调试,烧录一个简单程序到单片机,上电后检测对应引脚电平,若与程序一致则没有问题,否则最小系统存在问题(P0口需上拉电阻);第二步,对L298N驱动模块进行调试,将两个直流电机接入驱动电路烧录测试程序(正转、反转、停止)通电后观察电机运行情况,若与程序不符检查L298N各引脚电平并与理论值比较至电机正常运转;第三步,对传感器进行调试,分别将对管放在白色与黑色环境下检测输出端电压,若正常则只需调节电位器改变其灵敏度至当前传感器离地面高度下最佳状态。进过调试后,小车硬件各模块均能正常工作。3.2 软件调试按循迹原理编写程序,烧录至单片机进行软件调试,观察调试结果,若出现弯道冲出跑道或转弯不流畅情况需减小直道时左右电机输入的PWM,增大转弯时左右电机输入PWM的差值。4.总结这次循迹小车课程设计不得不说是个大工程,让我们从中学会了许多东西,特别是分工与合作。从最开始的买元器件,到焊接、调试循迹板,再到FGPA的VHDL程序和C语言程序的编写,都不简单。我们的循迹板在第一次焊接完毕,经过调试后,能正常工作。但是,当我们把它装在小车上让它去跑时,问题就来了,有个灯就不亮了。后来经过检测后,终于又弄好了。然后在写C语言时,主要就是调节小车的速度和转弯时的角度。而最难的是FPGA程序的编写,特别是音乐的编程,真的很复杂,花了我们很多时间才把它写好。而1602液晶的编写,用到了我们没有学过的状态机,经过查找资料后,才弄清楚状态机到底是什
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小鹏汽车工厂新员工岗前培训测试题及答案
- 医学基础理论学习题及答案解析
- 医学进阶之路颅脑手术知识测试题及答案
- 医学知识竞赛题集及答案医学生bi备资料
- 医疗行业秋招面试题及答案收录
- 移动应用开发实战教程附答案集和案例分析
- 医疗场所安全知识考试题库及答案集
- 山东参军心理测试题情绪管理篇答题技巧与答案
- 医生招聘考试题库及答案详解
- 小米面试题中的编程题解析及答案
- 信访维稳工作培训
- 一例化疗后骨髓抑制护理查房
- WPS操作知识考试参考题库及答案
- 制药工程专业生涯规划报告书
- 《国债逆回购》课件
- 胎膜早破的诊断
- 广州专业批发市场概况
- 职业介绍中介服务收费项目和标准表
- 产品过程特殊特性初始清单(示例)
- GB/T 15843.6-2018信息技术安全技术实体鉴别第6部分:采用人工数据传递的机制
- 药物的代谢转化课件
评论
0/150
提交评论