寻迹小车课程设计报告4

上传人:豆浆 文档编号:25744302 上传时间:2017-12-17 格式:DOC 页数:17 大小:137.38KB
返回 下载 相关 举报
寻迹小车课程设计报告4_第1页
第1页 / 共17页
寻迹小车课程设计报告4_第2页
第2页 / 共17页
寻迹小车课程设计报告4_第3页
第3页 / 共17页
寻迹小车课程设计报告4_第4页
第4页 / 共17页
寻迹小车课程设计报告4_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《寻迹小车课程设计报告4》由会员分享,可在线阅读,更多相关《寻迹小车课程设计报告4(17页珍藏版)》请在金锄头文库上搜索。

1、1电气工程学院单片机原理及应用课程设计专 业: 自动化 设计题目: 寻迹小车设计 班级: 0941 学生姓名: 董玉凯 学号: 14 指导教师: 分院院长: 许建平 教研室主任: 方健 目录2目录第一章 课程设计内容与要求分析 .31.1 课程设计内容 .31.2 课程设计要求分析 .31.2.1 系统单元电路组成 .31.2.2 寻迹小车原理 .41.2.3 电源管理 .41.2.4 电机驱动管理 .4第二章 C 语言编程 .5第三章 软件系统的实现 .93.1 主程序设计 .93.2 程序思路 .9第四章 结论及感想 .10附录 .11参考文献 .17第二章 C 语言编程3第一章 课程设计

2、内容与要求分析1.1 课程设计内容本题目以 STC10F04XE.h 单片机为核心器件。小车完成的主要功能就是能够自主识别赛道上的黑线并根据黑线的位置与距离来实现相应的变速与变向操作。1.2 课程设计要求分析电动车能够自动寻迹,按设定好的轨迹从区域 1 进至区域 3,并在黑线末端停车,小车前进的路线图如 1-1 所示。在区域 1 和区域 3 内,小车缓缓前进,在区域 2 内小车全速前进。当小车未进入任何区域时,小车上的数码显示管显示为 0000,当小车第一次碰见赛道上的黑线时,小车上的显示管显示为 0001;当小车碰到区域 1 与区域 2 的交界,也就是碰见黑线时,小车上的显示管显示为 000

3、2;小车行驶到区域 2 与区域 3 的交界处碰上黑线时,小车上的显示管显示为 0003;小车行驶到区域 3 的末端时,碰上黑线时,小车显示管显示为 0004并停止。小车前段的两个灯全部亮的时候,小车前进;全部灭的时候,小车停止;左侧的灯亮的时候,向左拐;右侧的灯亮时,向右拐。寻迹用的小车前端左右两个光电开关完成,通过调整 RW2 和 RW4 可以改变光电开关的灵敏度。图 1-1 寻迹小车路线1.2.1 系统单元电路组成STC10F04XE 采用宏晶最新第六代加密技术,超强抗干扰,超强抗静电,整机可轻松经过 2 万伏静电测试。速度快,1 个时钟/机器周期,可用低频晶振,大幅降低 EMI。输入/输

4、出口多,最多有 40 个 I/O,复位脚如当 I/O 口使用,可省去外部复位电路。超低功耗。在系统可编程,无需编程器,无需仿真器,可远程升级。内部集成高可靠复位电路,复位脚设置为 I/O 口使用时,复位脚可悬空。寻迹检测原理如图 1-2 所示,由光电开关和比较器组成,漫反射式光电开关能反应反射光的强弱,用比较器进行分辨,从而实现寻迹。电机控制用 L293D 实现,L293D 是电机控制专用芯片,接口简单如图 1-3 所示。用P0.0-P0.5 进行控制。P0.0-EN3 P0.1-IN1 P0.2-IN2 P0.3-IN4 P0.4-IN3 P0.5-EN4传感器信号输入分别为 P0.6-S1

5、 P0.7-S2第二章 C 语言编程4图 1-2 寻迹检测电路原理图图 1-3 电机驱动原理图1.2.2 寻迹小车原理由于赛道存在黑线,落在黑色区域内的光电开关与比较器收到反射的光线与白色的赛道而不同,进而在管两端产生了不同的电压值,由此来判断路线的走向,并将当前的采集到的一组电压值传递给单片机,进而通过单片机的输出指令来得到相应的控制指令,使小车自动寻迹行走。1.2.3 电源管理系统电源采用 220V 交流电源,对单片机,电动机,比较器等供电。1.2.4 电机驱动管理电机的电源由上可知,由 220V 电源直接供给,输入的信号为 PWM 波,通过输出的 PWM的波的占空比可以达到控制电机转速的

6、效果。第二章 C 语言编程5第二章 C 语言编程在编写程序之前,先安装数据线驱动和 stc-isp-v4.79-setup 软件。以下的 C 语言程序分别是电机测速程序和 PWM 调速程序电机测速程序:#includeSTC10F04XE.h#define uchar unsigned char#define uint unsigned intsbit IN1=P01;sbit IN2=P02;sbit IN3=P04;sbit IN4=P03;sbit en1=P00;sbit en2=P05; void go();void stop();void left();void right();v

7、oid delay_ms(uint t);void main()en1=1;en2=2;while(1)go();delay_ms(1000);stop();delay_ms(1000);left();delay_ms(1000);right();delay_ms(1000);void go()IN1=0;第二章 C 语言编程6IN2=1;IN3=0;IN4=1;void stop()IN1=0;IN2=0;IN3=0;IN4=0;void left() IN1=0;IN2=1;IN3=0;IN4=0;void right() IN1=0;IN2=0;IN3=0;IN4=1;void dela

8、y_ms(uint t)uchar f;while(t-)for(f=1;fpwm1)en1=0;if (flag1=100)flag1=0;if (flag2pwm2)第二章 C 语言编程8en2=0;if (flag2=100)flag2=0;void go()IN1=0;IN2=1;IN3=0;IN4=1;void main()pwm_init();P1=0x00;while(1)go();pwm1=60;pwm2=0;第三章 软件系统的实现9第三章 软件系统的实现3.1 主程序设计单片机系统需要接收路径识别电路的信号,采用某种路径搜索算法进行寻线判断,进而控制舵机和直流驱动电机的工作。

9、小车系统的软件使用 C 语言实现。主体控制框架:模型车采用的控制方法是根据传感器采集到的路况信息,通过计算得到具体的方向偏移量和速度,控制小车的行走状态。3.2 程序思路智能车利用了一字形排布的个传感器来探测道路,并将每个传感器采集到的信息转换成了数字电平。因此个传感器的数据正好构成一个字节,由单片机口读入。由于读入的数据并不方便直接参与控制计算,因此先将该数据集分成类,分别对应于小车不同的位置信息,由 0-15 表示,其中表示引导线位于小车最左侧,7 表示引导线位于小车中部,14 表示引导线位于小车最右侧,15 表示未检测到引导线或其他错误情况。将上面的转换后的数据作为控制计算的反馈输入,与

10、相减即得到小车偏差信息,然后通过增量型 pid 算法计算出舵机的控制信息。将小车偏差信息的微分作为速度 pid 的输入,依然通过增量型 pid 算法得到电机的控制信息。至此小车完成一次控制周期。可以使用一个定时器来作为一路 PWM 波的计时器。先将 I/O 口置位,设定高电平时间及定时器的初值,当定时器产生中断时,再将 I/O 口清零,并设定低电平时间,由此循环即可产生PWM 波。其中,高电平时间有控制计算得出,低电平时间有 PWM 周期减去高电平时间得到。路况信息 数据处理偏转方向车 速第四章 结论及感想10第四章 结论及感想本设计主要用到了单片机的通用 IO 口的读写,定时器,中断等基本功能,通过实际操作进一步掌握了单片机的使用。同时,通过单片机外围电路的设计,更深入学习了单片机在嵌入式系统中的应用。通过实际焊接电路,编写程序,也进一步提高了我的动手能力以及分析解决错误的能力,是我能够更好的将所学知识应用到实际中来。很感想方老师在课设过程中对一些重点处的指点与帮助,通过一次次编程与调试,加强了我对单片机软件的认识,以及增强了对成功的渴望,也增强了我的团队意识与配合能力。附录11附

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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