循迹小车课程设计报告

合集下载

智能循迹小车___设计报告

智能循迹小车___设计报告

智能循迹小车___设计报告设计报告:智能循迹小车一、设计背景智能循迹小车是一种能够通过感知地面上的线条进行导航的小型机器人。

循迹小车可以应用于许多领域,如仓库管理、物流配送、家庭服务等。

本设计旨在开发一款功能强大、性能稳定的智能循迹小车,以满足不同领域的需求。

二、设计目标1.实现循迹功能:小车能够准确地识别地面上的线条,并按照线条进行导航。

2.提供远程控制功能:用户可以通过无线遥控器对小车进行控制,包括前进、后退、转向等操作。

3.具备避障功能:小车能够识别和避开遇到的障碍物,确保行驶安全。

4.具备环境感知功能:小车能够感知周围环境,包括温度、湿度、光照等参数,并将数据传输给用户端。

5.高稳定性和可靠性:设计小车的硬件和软件应具备较高的稳定性和可靠性,以保证长时间的工作和使用。

三、设计方案1.硬件设计:(1) 采用Arduino控制器作为主控制单元,与传感器、驱动器等硬件模块进行连接和交互。

(2)使用红外传感器作为循迹传感器,通过检测地面上的线条来实现循迹功能。

(3)使用超声波传感器来检测小车前方的障碍物,以实现避障功能。

(4)添加温湿度传感器和光照传感器,以提供环境感知功能。

(5)将无线模块与控制器连接,以实现远程控制功能。

2.软件设计:(1) 使用Arduino编程语言进行程序设计,编写循迹、避障和远程控制的算法。

(2)设计用户界面,通过无线模块将控制信号发送给小车,实现远程控制。

(3)编写数据传输和处理的程序,将环境感知数据发送到用户端进行显示和分析。

四、实施计划1.硬件搭建:按照设计方案中的硬件模块需求,选购所需元件并进行搭建。

2.软件开发:根据设计方案中的软件设计需求,编写相应的程序并进行测试。

3.功能调试:对小车的循迹、避障、远程控制和环境感知功能进行调试和优化。

4.性能测试:使用不同场景和材料的线条进行测试,验证小车的循迹性能。

5.用户界面开发:设计用户端的界面,并完成与小车的远程控制功能的对接。

智能循迹小车课程设计报告

智能循迹小车课程设计报告

智能循迹小车课程设计报告一、课程设计目标:本次智能循迹小车课程设计的目标是让学生了解智能硬件的基础知识,掌握基本电子元器件的原理及使用方法,学习控制系统的组成和运行原理,并通过实践操作设计出一款功能齐全的智能循迹小车。

二、课程设计内容及步骤:1. 调研与分析——首先要对市面上现有的智能循迹小车进行调研与分析,了解各种类型的循迹小车的特点和优缺点,为后续的设计提供参考。

2. 硬件选型——根据课程设计目标和实际需要,选择合适的主控芯片、电子元器件和传感器等硬件。

3. 原理图设计——根据硬件选型,设计出对应的原理图,并在硬件上进行布局与焊接。

4. 程序设计——先在电路板上测试硬件是否正常,随后进行程序设计,根据传感器的反馈控制小车的运动,让小车能够沿着黑线自动循迹行驶,同时加入避障功能和自动寻迹功能。

5. 调试与优化——完成程序设计后,要对小车进行全面验收测试,发现问题及时解决并优化相关程序。

三、设计思路:本次课程设计基于树莓派电路板,利用循迹模块实现小车的自动循迹和自动寻迹。

同时将超声波模块结合避障算法实现小车的自动避障。

小车的外壳采用3D打印技术制作,操作简单实用。

四、课程设计效果:通过本课程设计,学生们从理论到实践,了解了智能硬件的基础知识,掌握了基本电子元器件的原理及使用方法,学习了控制系统的组成和运行原理。

同时,实践操作过程中,学生们培养了动手能力和实际操作的技能。

通过制作一台智能循迹小车,学生们对智能硬件的认识更加深入,并获得了较高的设计满足感。

五、课程设计展望:智能循迹小车是智能硬件应用领域的一项重要发明,具有广泛的应用前景。

未来,可以将循迹小车应用于快递、物流等行业,实现自动化送货、配送。

同时可以将遥控技术与循迹技术相结合,设计出更加高效、实用的智能循迹小车,推动智能化生产和工作环境。

寻迹小车实验报告

寻迹小车实验报告

自动寻迹小车设计报告一、系统设计1、设计要求(1)自动寻迹小车从安全区域启动。

(2)小车按检测路线运行,自动区分直线轨道和弯路轨道,在弯路处拐弯,实现灵活前进、转弯、等功能2.小车寻迹的原理这里的寻迹是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。

单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。

红外探测器探测距离有限,一般最大不应超15cm。

对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。

3、模块方案根据设计要求,本系统主要由控制器模块、寻迹传感器模块、直流电机及其驱动模块等构成。

控制器模块:控制器模块由AT89C51单片机控制小车的行走。

寻迹传感器模块:寻迹传感器用光电传感器ST188检测线路并反馈给单片机执行。

ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。

检测距离:4--13mm直流电机及其驱动模块:直流电机用L298来驱动。

L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。

用该芯片作为电机驱动,操作方便,稳定性好,性能优良。

4.系统结构框图:二、硬件实现及单元电路设计1、微控制器模块的设计在本次设计中我们采用了AT89C51位主控制器。

它具有智能化,可编程,小型便携等优点。

2.光电传感器:本次试验我们采用了ST188光电传感器,ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。

检测距离:4--13mm。

其连接电路图如下:3.直流电机及其驱动模块在直流电机驱动问题上,我们采用一片L298来驱动直流电机。

智能循迹小车实验报告

智能循迹小车实验报告

智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。

本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。

关键词智能小车单片机红外光对管 STC89C52 L298N 1 绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。

在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。

设计任务与要求采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。

方案设计与方案选择3.1 硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。

3.1.1 单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。

由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。

STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。

其程序和数据存储是分开的。

3.1.2 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。

阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。

方案二:使用光电传感器来采集路面信息。

循迹小车课程设计报告

循迹小车课程设计报告

循迹小车课程设计报告一、课程设计目标。

本课程设计旨在通过循迹小车的设计与制作,培养学生的动手能力、创新意识和团队合作精神,同时提高学生对于电子技术和机械原理的理解与应用能力。

二、课程设计内容。

1. 理论学习,学生将学习循迹小车的基本原理、电子元件的使用方法、以及相关的机械知识。

2. 实践操作,学生将动手制作循迹小车,并学习如何进行程序编写和电路连接。

3. 创新设计,学生将有机会对循迹小车进行改进和创新设计,提高其性能和功能。

三、课程设计步骤。

1. 理论学习阶段。

在这个阶段,学生将学习循迹小车的原理,包括红外线传感器的工作原理、电机驱动原理等。

同时,学生还将学习相关的电子知识,包括电阻、电容、电感等元件的使用方法。

2. 实践操作阶段。

学生将根据所学理论知识,动手制作循迹小车的电路连接,并编写相应的程序。

在这个阶段,学生将学会如何使用焊接工具、编程软件等工具,培养他们的动手能力和实际操作能力。

3. 创新设计阶段。

在完成基本的循迹小车制作后,学生将有机会对其进行改进和创新设计。

他们可以尝试使用不同的传感器、改进电路连接方式,甚至加入遥控功能等。

通过这一阶段的设计,学生将培养他们的创新意识和解决问题的能力。

四、课程设计评价。

1. 学生的实际操作能力,通过学生对循迹小车的制作和程序编写,可以评价学生的动手能力和实际操作能力。

2. 学生的创新能力,通过学生对循迹小车的改进和创新设计,可以评价学生的创新意识和解决问题的能力。

3. 学生的团队合作能力,在课程设计过程中,学生需要分工合作,可以评价学生的团队合作能力。

五、课程设计实施建议。

1. 提供足够的实践操作时间,保证学生有充分的时间动手制作循迹小车。

2. 强调创新设计的重要性,鼓励学生尝试不同的设计方案,培养其创新意识。

3. 加强团队合作意识的培养,让学生在课程设计过程中学会分工合作、协调沟通。

六、课程设计总结。

通过本课程设计,学生将不仅仅是学习了循迹小车的制作和原理,更重要的是培养了他们的动手能力、创新意识和团队合作精神。

自动循迹小车设计课程设计报告

自动循迹小车设计课程设计报告

计算机科学与技术学院课程设计报告(2014— 2015学年第2学期)课程名称:自动循迹小车设计班级:电子1202 学号姓名: 0318指导教师:完成时间: 2015年7月7日当今世界,随着计算机技术、控制技术、信息技术的快速发展,工业的生产和管理也都向着自动化、信息化、智能化方向发展。

随着人们生活水平的提高,人们越来越希望全智能化的生活,智能化的东西可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,为工业生产或日常生活提供很大的便利。

在自动化生产线,智能仓库管理及物流配送等领域,当生产现场环境十分恶劣或者许多人工无法完成的搬运或者装卸时,机器人却能够适应这样恶劣的环境,这时候就需要智能循迹小车这样的机器来完成此类任务,基于现场和生活的实际需要,研究智能循迹小车的意义不言而喻。

自动循迹小车就是最简单的智能化产品,通过单片机的控制,能够让其沿着固定的轨道自动行驶,通过对其的扩展,可以充分的应用在工厂自动化、军事领域、仓库管理、自动停车系统、智能玩具或民用服务等诸多领域,例如在自动仓库、码头、搬运、涂装等物流作业部门工作的物流小车就是在此基础上设计出来的。

而且通过对这个课题的学习,通过理论与实践的结合,能够让自己对单片机的了解和应用进一步加深,另外,通过这次的设计,能够大大提高自己的动手能力,也更大的激发自己的兴趣。

国内外的研究概况:国外智能车辆的始于上世纪50年代,它的发展历程大致可以分为以下三个阶段:第一阶段:1954年美国Barrett Electronic公司研究开发出了世界上第一台自主引导车系统,该系统只是一个运行在固定路线上的拖车式运货平台,但它却具有了智能车辆最基本的特征无人驾驶。

第二阶段:从80年代中后期,在欧洲,普罗米修斯项目于1986年开始了在这个领域的探索,在美洲,美国于1995年成立了国家自动高速公路系统联盟,其目标之一就是研究发展智能车辆的可行性,并促进智能车辆技术进入实用化,在亚洲,日本与1996年成立了高速公路先进巡航/辅助驾驶演剧协会,主要目的是研制自动车辆导航的方法,促进日本智能车辆的整体进步。

课程设计循迹小车

课程设计循迹小车

课程设计循迹小车一、教学目标本课程旨在让学生了解和掌握循迹小车的基本原理和制作方法,培养学生的动手能力和创新能力。

知识目标包括:了解循迹小车的工作原理、熟悉常见的电子元件及其功能、掌握基本的电路连接和编程技巧。

技能目标包括:能够独立完成循迹小车的组装、调试和编程,培养学生的动手能力和解决问题的能力。

情感态度价值观目标包括:培养学生对科学的兴趣和好奇心,增强学生的团队合作意识和环保意识。

二、教学内容本课程的教学内容主要包括循迹小车的原理、组成和制作方法。

首先,介绍循迹小车的工作原理,让学生了解其运行机制。

其次,讲解循迹小车的组成,包括电子元件、电路连接和编程等方面。

最后,教授学生如何动手制作循迹小车,培养学生的实际操作能力。

三、教学方法为了提高教学效果,本课程采用多种教学方法相结合的方式。

首先,运用讲授法,向学生讲解循迹小车的基本原理和制作方法。

其次,通过讨论法,引导学生进行思考和交流,提高学生的理解能力。

再次,运用案例分析法,分析实际案例,使学生更好地掌握知识。

最后,利用实验法,让学生亲自动手操作,培养学生的实践能力。

四、教学资源为了支持教学内容的实施,我们将选择和准备以下教学资源。

教材:《循迹小车制作教程》,为学生提供基本的学习资料。

参考书:《电子制作入门》、《编程技巧与应用》等,为学生提供更多的学习参考。

多媒体资料:制作PPT和视频教程,为学生提供直观的学习资源。

实验设备:准备循迹小车制作所需的电子元件、工具和设备,为学生提供实践操作的机会。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多种评估方式。

平时表现方面,将根据学生在课堂上的参与度、提问和回答问题的积极性等给予评分。

作业方面,将根据学生完成作业的质量、创新性和准确性等进行评分。

考试方面,将设置选择题、填空题、简答题和综合分析题等多种题型,全面测试学生对知识的掌握和应用能力。

此外,还将设置实验操作考核,评估学生的动手能力和实验技能。

单片机循迹小车课程设计

单片机循迹小车课程设计

单片机循迹小车课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其编程方法。

2. 学习并掌握循迹小车的工作原理,包括传感器、驱动电路及控制算法。

3. 了解机器人技术中的自动导航与路径跟踪技术。

技能目标:1. 能够运用单片机进行程序编写,实现对循迹小车的控制。

2. 能够独立完成循迹小车的组装和调试,提高动手实践能力。

3. 能够通过小组合作,解决实际问题,培养团队协作能力。

情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,激发创新意识。

2. 培养学生面对问题时的耐心和毅力,形成积极向上的学习态度。

3. 增强学生的环保意识,认识到科技发展对环境保护的重要性。

课程性质:本课程为实践性较强的课程,注重理论知识与实际操作相结合。

学生特点:学生处于好奇心强、动手能力逐渐提高的阶段,对新鲜事物有较高的兴趣。

教学要求:结合学生特点,采用任务驱动法,引导学生自主探究,培养实际操作能力。

在教学过程中,注重理论与实践相结合,确保学生能够学以致用。

通过课程学习,使学生达到预定的学习成果,为后续相关课程打下坚实基础。

二、教学内容- 单片机原理与编程基础:介绍单片机的组成、工作原理,基础编程语法及逻辑控制。

- 传感器原理:讲解循迹传感器的工作原理及其在循迹小车中的应用。

- 驱动电路:阐述电机驱动电路的原理与设计方法。

2. 实践操作:- 循迹小车组装:指导学生按照原理图进行电路连接,完成小车组装。

- 程序编写:教授学生编写单片机程序,实现对循迹小车的控制。

- 调试优化:教授学生如何调试程序,对小车进行性能优化。

3. 教学大纲:- 第一阶段(2课时):介绍单片机原理与编程基础,使学生了解单片机的基本使用方法。

- 第二阶段(2课时):讲解传感器原理与驱动电路,让学生明白循迹小车的工作原理。

- 第三阶段(3课时):指导学生进行循迹小车的组装、编程和调试。

4. 教材关联:- 教科书第四章:单片机原理与应用。

- 教科书第五章:传感器与自动控制系统。

寻迹小车课程设计报告4

寻迹小车课程设计报告4

单片机原理及应用课程设计专业:自动化设计题目:寻迹小车设计班级:0941 学生姓名:董玉凯学号:14 指导教师:分院院长:许建平教研室主任:方健电气工程学院目录目录第一章课程设计内容与要求分析 (3)1.1课程设计内容 (3)1.2课程设计要求分析 (3)1.2.1系统单元电路组成 (3)1.2.2寻迹小车原理 (4)1.2.3电源管理 (4)1.2.4电机驱动管理 (4)第二章C语言编程 (5)第三章软件系统的实现 (9)3.1主程序设计 (9)3.2 程序思路 (9)第四章结论及感想 (10)附录 (11)参考文献 (17)第一章课程设计内容与要求分析1.1课程设计内容本题目以STC10F04XE.h单片机为核心器件。

小车完成的主要功能就是能够自主识别赛道上的黑线并根据黑线的位置与距离来实现相应的变速与变向操作。

1.2课程设计要求分析电动车能够自动寻迹,按设定好的轨迹从区域1进至区域3,并在黑线末端停车,小车前进的路线图如1-1所示。

在区域1和区域3内,小车缓缓前进,在区域2内小车全速前进。

当小车未进入任何区域时,小车上的数码显示管显示为0000,当小车第一次碰见赛道上的黑线时,小车上的显示管显示为0001;当小车碰到区域1与区域2的交界,也就是碰见黑线时,小车上的显示管显示为0002;小车行驶到区域2与区域3的交界处碰上黑线时,小车上的显示管显示为0003;小车行驶到区域3的末端时,碰上黑线时,小车显示管显示为0004并停止。

小车前段的两个灯全部亮的时候,小车前进;全部灭的时候,小车停止;左侧的灯亮的时候,向左拐;右侧的灯亮时,向右拐。

寻迹用的小车前端左右两个光电开关完成,通过调整RW2和RW4可以改变光电开关的灵敏度。

图1-1寻迹小车路线1.2.1系统单元电路组成STC10F04XE采用宏晶最新第六代加密技术,超强抗干扰,超强抗静电,整机可轻松经过2万伏静电测试。

速度快,1个时钟/机器周期,可用低频晶振,大幅降低EMI。

循迹小车课程设计报告

循迹小车课程设计报告

智能循迹小车设计与制作课程设计报告系别:专业:班级:成员:指导老师:时间:二〇一一年6月30日一、设计目的:1、学会智能电子产品的功能设计与任务分析,能进行小型电子产品方案设计;2、掌握基于51单片机、FPGA模数混合硬件系统设计和程序设计;3、熟悉电子信息类企业项目完整的运作过程及管理规范,培养团队协作能力、沟通能力、创新能力和组织能力。

二、智能循迹小车任务分析这是一种基于STC89C51单片机的小车寻迹系统。

该系统采用两组高灵敏度的光电对管,对路面黑色(白色)轨迹进行检测,并利用单片机产生PWM波,控制小车速度。

测试结果表明,该系统能够平稳跟踪给定的路径。

整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行三、智能循迹小车循迹原理该智能小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。

利用了简单、应用比较普遍的检测方法—发光二极管+光敏电阻。

发光二极管+光敏电阻,即利用光线在不同颜色的物理表面具有不同的反射性质的特点。

在小车行驶过程中不断地向地面发射白光,当白光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。

四、智能循迹小车总体方案整个电路系统分为检测、控制、显示、驱动四个模块。

首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,然后显示小车的运行状态,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。

系统方案方框图如图1所示。

图1 智能小车寻迹系统框图五、智能循迹小车各模块方案1、循迹模块设计方案1:用红外发射管:接收管自己制作光电对管循迹传感器。

红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射出的光线则测出黑线继而输出高电平。

智能循迹小车设计报告(总17页)

智能循迹小车设计报告(总17页)

智能循迹小车设计报告(总17页)一、设计目的本项目旨在设计一款运用机器视觉技术的智能循迹小车,能够自主寻找指定路径并行驶,可用于实现自动化物流等应用场景。

二、设计方案2.1 系统概述本系统基于STM32F103C8T6单片机和PiCamera进行设计。

STM32F103C8T6单片机负责循迹小车的控制和编码器的反馈信息处理,PiCamera则用于实现图像识别和路径规划,两者之间通过串口进行通讯。

2.2 硬件设计2.2.1 循迹模块循迹模块采用红外传感器对黑线进行探测,通过检测黑线与白底的反差判断小车的行驶方向。

本设计采用5个红外传感器,每个传感器分别对应小车行驶时的不同位置,通过对这5个传感器的读取,可以获取小车所在的实际位置和前进方向。

电机驱动模块采用L298N电机驱动模块,通过PWM信号来控制电机的转速和方向。

左右两侧的电机分别接到L298N模块的IN1~IN4引脚,电机转向由模块内部的电路通过PWM 信号控制。

2.2.4 Raspberry PiRaspberry Pi用于图像处理和路径规划。

本设计使用PiCamera进行图像采集,在RPi 上运行OpenCV进行图像处理,识别道路上的黑线,并通过路径规划算法计算出循迹小车当前应该行驶的方向,然后将该方向通过串口传输给STM32单片机进行控制。

本设计的系统结构分为三个层次:传感器驱动层、控制层、应用层。

其中,传感器驱动层实现对循迹小车上的传感器的读取和解析,生成对应的控制指令;控制层对控制指令进行解析和执行,控制小车的运动;应用层实现图像处理和路径规划,将路径信息传输给控制层进行控制。

在应用层,本设计采用基于灰度阈值的图像处理算法,通过寻找图像中的黑色线条,将黑色线条和白色背景分离出来,以便进行路径规划。

路径规划采用最短路径算法,计算出循迹小车当前应该行驶的方向,然后将该方向发送给控制层进行控制。

2.4 可行性分析本设计的硬件设计采用常见的模块化设计,采用Arduino Mega作为基础模块,通过模块之间的串口通信实现对整个系统的控制,扩展性和可维护性良好。

循迹小车课程设计报告

循迹小车课程设计报告

循迹小车课程设计报告
一、概述
本课程是针对中小学电子爱好者,设计一款基于Arduino开发
板的循迹小车。

课程分为两部分,理论学习和实战操作。

二、理论学习
1. 基础知识学习
学习Arduino开发板的基本用法,了解循迹传感器的原理和应用。

2. 循迹算法学习
介绍循迹控制算法,如PID控制,模糊控制等。

3. 电路原理图学习
通过示例电路,学习循迹小车的电路原理,理解各个组件的作
用与连接方式。

三、实战操作
1. 简单循迹小车搭建
学生通过教师提供的视频教程,自行搭建一个简单的循迹小车。

2. 电路焊接操作
学生进行电路焊接操作,提高电路实际操作能力。

3. 循迹小车控制程序编写
学生通过Arduino开发板,编写循迹小车控制程序,实现小车的运动。

四、实施效果
本课程的实施效果如下:
1. 学生提高Arduino开发板的使用能力。

2. 学生通过理论学习,了解循迹控制算法的原理。

3. 学生通过实战操作,提高电路焊接和程序编写能力。

4. 学生通过小车的装配,加深对电子学原理的理解能力。

五、总结
本课程以实战为主,理论为辅,充分利用学生的动手能力和创造能力,锤炼学生的动手能力和团队合作精神。

在实施中,教师应注意保障学生的安全,严格要求学生的动作规范。

通过开展此
课程,旨在激发学生对电子技术的兴趣,培养学生的科学实验精神。

课程设计报告循迹小车的设计

课程设计报告循迹小车的设计

循迹小车的设计摘要智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。

智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。

该技术已经应用于汽车制造业、仓储业,食品加工业等多个行业。

本设计是基于单片机控制的电动小车,小车能够识别地上黑色轨迹线,实现循迹行走,包括电源模块、单片机模块、循迹模块、电机驱动模块。

其中单片机模块作为控制器模块以STC89C52单片机为控制核心,用单片机产生PWM波,控制小车速度。

利用红外光电传感器RPR220型光电对管对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机。

单片机对采集到的信号进行分析判断,及时控制由芯片L298N驱动的电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。

在此基础利用E18-D80NK 3-80cm可调红外避障传感器进行小车的避障扩展,还选用PT2262/PT2272组成的无线遥控模块对小车进行无线遥控。

本设计不仅给出了硬件设计流程、完整的硬件电路图和控制程序,还用PROTEUS实现了小车电机控制仿真。

关键词:自动循迹;单片机;Proteus仿真Design on Automated Guided VehicleAbstractIntelligent tracking is based on automatic guided robot system, used to make the car line, and choosing the right route. Automated Guided Vehicle is a use of sensor, microcontroller, motor drive and automatic control technology to achieve according to the preset mode, without human management can achieve automatic tracking navigation technology. This technology has been applied in the automobile manufacturing industry, warehousing industry, food processing industry and other industries.The design is based on SCM control electric trolley, trolley can be identified on the black line, achieve the tracking of walking, including driving module power supply module, microcontroller module, tracking module, motor. The MCU module as the controller module with STC89C52 as control core, using microcontroller PWM wave, control car speed. The tube is used for tracing the use of infrared photoelectric sensor RPR220 type photoelectric, and road test signals back to the scm. Analysis and judgment of the collected signal microcontroller, timely control of motor driven by the chip L298N to adjust the car steering, so that the car can travel along the black path automatically, realize the purpose of automatic tracing. Based on E18-D80NK 3-80cm tunable infrared sensors for obstacle avoidance of car obstacle avoidance, also use wireless remote control module composed of PT2262/PT2272 for wireless remote control car.This design not only gives the hardware circuit diagram and program control hardware design flow, complete, we also use PROTEUS to achieve the car motor control simulation.Key words:tracking,microcontroller, Proteus simulation西华大学课程设计目录摘要 (Ⅰ)ABSTRACT (Ⅱ)1 绪论 (1)1.1智能循迹小车概述 (1)1.1.1循迹小车的发展历程回顾 (1)1.1.2 智能循迹分类 (2)1.1.3 智能循迹小车的应用 (3)1.2 智能循迹小车研究中的关键技术 (4)2 自动循迹小车系统方案设计 (5)2.1 自动循迹小车基本原理 (5)2.2 总体方案设计 (5)2.2.1 系统总体方案的设计 (5)2.2.2 方案选择与论证 (5)3 硬件电路的设计 (8)3.1 自动循迹小车硬件设计.................................. 错误!未定义书签。

d21循迹小车课程设计

d21循迹小车课程设计

d21循迹小车课程设计一、课程目标知识目标:1. 学生能理解并掌握循迹小车的基本原理,包括传感器的工作原理和电路连接方式。

2. 学生能描述循迹小车的主要组成部分,如电机、电池、控制板等,并了解它们的功能和作用。

3. 学生能掌握基本的编程知识,通过编写程序控制循迹小车的行驶路径。

技能目标:1. 学生能够运用所学的知识,独立组装和调试循迹小车,确保其正常运行。

2. 学生能够运用编程语言,设计并实现循迹小车的路径跟踪功能。

3. 学生能够通过团队合作,解决循迹小车在运行过程中遇到的问题,提高问题解决能力。

情感态度价值观目标:1. 学生培养对科学技术的兴趣和好奇心,增强学习动力和自信心。

2. 学生在团队合作中学会互相尊重、协作和沟通,培养良好的团队精神和合作意识。

3. 学生能够认识到科技对社会发展的积极作用,激发创新意识和责任感。

课程性质:本课程为实践性较强的科技课程,结合课本知识,通过实际操作和团队合作,培养学生的动手能力、创新意识和问题解决能力。

学生特点:六年级学生具备一定的物理知识和编程基础,对科技产品充满好奇心,善于合作与探究。

教学要求:教师应关注学生的个体差异,提供适当的指导与帮助,确保学生在课程中能够达到预期的学习成果。

同时,注重培养学生的创新思维和实际操作能力,将理论知识与实际应用相结合。

通过课程评估,及时了解学生的学习进度,调整教学策略,提高教学质量。

二、教学内容1. 循迹小车原理介绍:讲解循迹小车的工作原理,包括黑线传感器的作用、信号处理和电机控制的基本知识,关联课本中有关传感器和电路的内容。

2. 小车组装与调试:详细指导学生如何组装循迹小车,包括选择合适的材料、电池和电机,介绍控制板的使用方法,对应课本中关于机器人结构和组装的知识点。

3. 编程控制:教授学生使用编程软件,编写控制循迹小车的基础代码,实现小车沿预设路径行驶,涵盖课本中介绍的编程基础和逻辑控制。

4. 路径设计:指导学生设计循迹小车的路径,包括直线、曲线和复杂的轨迹,结合课本中的几何知识。

循迹小车设计报告

循迹小车设计报告

电子技术课程设计报告学院:专业班级:学生姓名:指导教师:完成时间:成绩:报告一. 设计要求:基本要求:1、控制小车走正方形运动2、能沿直线和沿弧线寻迹行驶,遇停止标志自动停止。

3、能在设定的迷宫中自动走出迷宫扩展功能:1、能显示行驶距离。

2、有避障功能。

设计的作用、目的循迹控制系统的原理是在轮胎打滑时,包括了起跑`过弯`下雨天等等的情况,利用各式各样的方法来降低扭力的输出,让轮胎重新狁得抓地力,进而让车手能够控制赛车,将动力发挥到极限,并增加赛车速度。

而降彽扭力的方法有油门的控制`点火延迟`或是关掉数个气缸的点火或供油系统。

由于传动轮在加速时超过50g,所以降彽惯性秘所需的反应要非常快速,但是利压子油门控制需要30毫秒,反应时间不够快:延迟点火又有耐用的问题:因此现行的循迹系统是利用装置在轮胎处的感应器来侦测轮胎状况,当轮胎打滑时电脑就会降彽引擎输出功率,通常是数个汽缸不点火,或是在供油程式下功夫,让轮胎停止打滑,以降彽车辆因为轮胎打滑所造成的失控状况,进而增加赛车的速度。

不过现在的循迹控制系统可不是那产简单,随着电子技术的进步,现在的电脑可以做出较过去更顺畅的循迹系统,保持在最大靡擦力的边缓,得到最佳的引擎动力运用,以最近Coulthard对这项系统所做的评论为例,他说:循迹控制不止有在慢速弯道中有帮助,在高速弯中也有所助益,系统不只会在打滑的时候做出补偿的动作,就当车辆正开始滑的时就会出现,过去要以时速120MPH半油门方式过的弯,搭载循迹系统之后,可以125MPH全油门方式通过设计的具体实现1.系统概述简单介绍系统设计思路与总体方案的可行性论证,各功能块的划分与组成,全面介绍总体工作过程或工作原理。

1.小车控制及驱动单元的选择此部分是整个小车的大脑,是整个小车运行的核心部件,起着控制小车所有运行状态的作用。

通常选用单片机作为小车的核心控制单元,本文以台湾凌阳公司的SPCE061A单片机为例予以介绍。

循迹小车课设报告

循迹小车课设报告

循迹小车课设报告一、引言循迹小车作为自动控制领域的研究热点之一,具有很高的应用价值。

本文旨在介绍循迹小车的设计原理、硬件配置和软件实现,以及实验结果和分析。

二、设计原理循迹小车的设计原理基于反射光线的特性。

通过使用光敏传感器,可以感知地面上的光强度,从而判断小车应该如何行驶。

当地面上的光强度较高时,代表小车离开了黑色轨迹,需要调整方向。

当地面上的光强度较低时,代表小车仍在黑色轨迹上,可以继续沿着当前方向行驶。

三、硬件配置为了实现循迹小车的功能,需要以下硬件配置:1. 电机驱动模块:用于控制小车的速度和方向。

2. 光敏传感器模块:用于感知地面上的光强度。

3. 微控制器:作为控制中心,接收传感器的信号并控制电机驱动模块。

四、软件实现循迹小车的软件实现主要包括以下几个方面:1. 信号采集和处理:通过光敏传感器采集地面上的光强度信号,并对信号进行处理,得到小车应该采取的行动。

2. 控制算法:根据信号处理的结果,通过控制算法计算小车需要调整的方向和速度。

3. 电机控制:将控制算法得到的结果转化为电机的控制信号,控制小车的运动。

五、实验结果和分析在实验中,我们使用了一个简化的迷宫轨迹作为测试场景。

通过对循迹小车的实际测试,我们得到了以下结果和分析:1. 小车能够准确地沿着迷宫轨迹行驶,避免偏离轨迹。

2. 在遇到环形轨迹时,小车能够正确地判断出前进的方向,避免进入死循环。

3. 在遇到多个分支轨迹时,小车能够根据光强度的变化选择正确的分支。

六、总结通过本次循迹小车课设,我们深入了解了循迹小车的设计原理和实现方式。

循迹小车具有广泛的应用前景,可以在工业自动化、智能仓储等领域发挥重要作用。

同时,本次实验也展示了我们团队的合作能力和创新思维。

希望今后能够进一步完善循迹小车的性能,并将其应用于实际生产中。

以上就是本次循迹小车课设报告的内容,通过对循迹小车的设计原理、硬件配置和软件实现的介绍,以及实验结果和分析,我们对循迹小车有了更深入的了解。

循迹小车报告精选全文完整版

循迹小车报告精选全文完整版

可编辑修改精选全文完整版创新制作循迹小车制作报告班级:学号:姓名:一、设计方案路面检测模块电路检测路面信息,区分黑色与白面,并形成相对应的高电平与低电平提供给单片机;单片机对路面循迹模块提供的高低电平进行分析,并形成相应的对策(直行、左转、右转和停止等),并将其转化成对应的电压输出给电机驱动模块;电机驱动模块根据单片机提供的电压信号驱动对应的电机,得到与对策相同的执行动作;电源模块电路为三个模块提供所需要的电。

电路框图如下图所示:电路框图二、路面检测模块工作原理一对光电开光的发射管不停的发射红外光,经过路面发射回来的被接受管接收到。

因为白色路面和黑线对光的反射不同,所以正对白色路面的光电对管的接收管接收到更多的红外光,而正对黑线的光电对管的接收管收到较少的红外光。

经过光电开关的接收电路将接收到红外光的多少转化为正相关的电流大小,并进一步转化成接收电路的输出电压(A点电压)的较小值和较大值。

输出电压的较小值和较大值进一步与一个居中的基准电压分别进行比较,对应比较器的输出端(C点)分别为高电平还是低电平,并进一步输出给单片机,同时对应指示发光管的不亮与亮。

路面循迹模块电路如下图所示:D1路面循迹模块电路三、单片机最小系统单片机最小系统包括了时钟电路和复位电路。

时钟电路为单片机工作提供基本时钟,复位电路用于将单片机内部各电路的状态恢复到初始值。

单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号下严格地按时序进行工作。

时钟电路用于产生单片机工作所需要的时钟信号。

时钟信号的产生是在MCS-51系列单片机内部有一个高增益反相放大器,其输入端引脚为XTAL1,其输出端引脚为XTAL2。

只要在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,就可以构成一个稳定的自己振荡器。

复位电路由一个按键、电解电容和电阻组成,它是使CPU 和系统中的其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。

循迹小车课程设计报告

循迹小车课程设计报告

循迹小车课程设计报告一、课程背景随着科技的不断发展,机器人技术已经成为现代教育中的重要组成部分。

循迹小车作为机器人教育的一种形式,不仅可以帮助学生学习编程和机械原理,还可以培养学生的动手能力和创造力。

因此,设计一门循迹小车课程,对学生的综合素质培养具有重要意义。

二、课程目标1. 帮助学生了解循迹小车的基本原理和结构,掌握循迹小车的工作原理;2. 培养学生的动手能力和团队合作精神;3. 培养学生的创新意识和解决问题的能力;4. 培养学生的编程能力和逻辑思维能力。

三、课程内容1. 循迹小车的基本原理和结构通过讲解循迹小车的基本原理和结构,帮助学生了解循迹小车是如何工作的,包括传感器、电机、控制器等组成部分。

2. 循迹小车的制作与调试学生将分成小组,每个小组制作一辆循迹小车,并进行调试。

通过实际操作,学生将掌握循迹小车的制作过程和调试方法。

3. 循迹小车的编程学生将学习如何为循迹小车编写程序,包括控制小车的前进、后退、转向等动作。

通过编程,学生将提高他们的逻辑思维能力和解决问题的能力。

4. 循迹小车的比赛与应用在课程结束时,学生将参加循迹小车比赛,通过比赛,学生将展示他们的成果,并学会如何改进循迹小车的性能。

同时,学生还将学习循迹小车在实际生活中的应用。

四、课程教学方法1. 理论讲解通过课堂讲解,帮助学生了解循迹小车的基本原理和结构。

2. 实践操作学生将分成小组,进行循迹小车的制作、调试和编程。

通过实践操作,学生将更好地掌握课程内容。

3. 案例分析通过案例分析,引导学生思考循迹小车在实际生活中的应用,并激发学生的创新意识。

4. 比赛演示在课程结束时,学生将参加循迹小车比赛,通过比赛,学生将展示他们的成果,并学会如何改进循迹小车的性能。

五、课程评估1. 学生考核通过学生的课堂表现、课后作业和循迹小车比赛成绩等方面进行评定。

2. 教师评价教师将对学生的课堂表现、实践操作和项目成果进行评价,及时发现问题并给予指导。

循迹小车课程设计报告

循迹小车课程设计报告

循迹小车课程设计报告一、课程设计目的。

循迹小车是一种基于单片机或者其他控制系统的智能车辆,它能够根据预设的轨迹自主行驶。

循迹小车课程设计旨在通过实践操作,让学生深入了解嵌入式系统、传感器、控制算法等相关知识,培养学生的动手能力和创新精神,提高学生的实际应用能力和解决问题的能力。

二、课程设计内容。

1. 理论学习,学生首先需要学习循迹小车的原理和相关知识,包括单片机控制、传感器原理、电路设计等内容。

2. 硬件搭建,学生需要动手搭建循迹小车的硬件系统,包括安装电机、传感器、控制模块等。

3. 程序设计,学生需要学习编程语言,编写循迹小车的控制程序,实现小车的自主行驶和避障功能。

4. 实际操作,学生需要进行实际操作,调试循迹小车,测试程序的稳定性和准确性,发现问题并解决问题。

5. 创新设计,学生可以在课程设计的基础上进行创新,如增加避障传感器、优化控制算法等,提高循迹小车的性能。

三、课程设计方法。

1. 理论与实践相结合,课程设计注重理论知识的学习,同时也注重实际操作,让学生通过动手实践加深对知识的理解。

2. 个性化指导,针对不同学生的学习能力和兴趣爱好,采取个性化指导,引导学生在课程设计中发挥自己的特长和创造力。

3. 团队合作,课程设计可以以小组形式进行,让学生在团队中相互合作,共同完成循迹小车的设计与调试。

4. 开放性实验,课程设计可以设置一定的开放性,鼓励学生进行自主设计与改进,提高学生的创新意识和实践能力。

四、课程设计效果。

通过循迹小车课程设计,学生可以全面掌握嵌入式系统、传感器、控制算法等知识,提高动手能力和创新精神。

学生可以在实践操作中培养解决问题的能力,提高实际应用能力。

同时,课程设计也可以激发学生的学习兴趣,激发学生对技术创新的热情,为学生未来的发展奠定良好的基础。

五、课程设计展望。

循迹小车课程设计是一门具有挑战性和创新性的课程,未来可以进一步拓展课程内容,引入更多新颖的技术和理念,如人工智能、自动驾驶等,让学生在课程设计中接触到更多前沿的科技知识,激发学生的创新潜能,培养更多高素质的人才。

红外循迹小车设计报告

红外循迹小车设计报告
20xx
红外循迹小车设计报告
1 项目背景与目标 3 软件系统设计 5 总结与展望
-
2 硬件系统设计
4
系统测试与优化
1 项目背景与目标
项目背景与目标
随着机器人技术的不断 发展,自主循迹小车已 成为研究热点之一
其中,利用红外传感器 进行路径识别的循迹小 车具有较高的准确性和 稳定性,因此具有广泛 的应用前景
系统测试与优化
系统优化
在系统测试过程中,我们也发现 了一些问题,如对复杂路径的识 别精度、对不同光照条件的适应 性等。针对这些问题,我们提出 了优化方案,包括改进传感器安 装位置和角度、调整PID控制参 数、增加环境光补偿等功能。优 化后的系统性能得到了进一步提 升
5
总结与展望
总结与展望
本设计成功实现了一款基于红外传感器 的循迹小车,能够准确糊控制理论,小车具备良好的鲁棒 性和适应性。测试结果表明,本设计的
硬件系统设计
电路设计
电路设计主要包括电机驱动电路 、红外传感器接口电路、控制器 电源电路等部分。其中,电机驱 动电路采用L298N芯片,实现电 机的正反转和调速控制;红外传 感器接口电路将传感器输出信号 转换为数字信号输入到控制器中 ;控制器电源电路将锂电池电压 转换为控制器和电机所需的电压
3 软件系统设计
的需求
-
XXX
感谢各位观看
xxxxxxxxx
演讲人:XXX 时间:20XX年XX月XX日
软件系统设计
系统流程
系统流程包括初始化、循迹和调整三个部分 。初始化部分主要完成硬件初始化、路径预 设等操作;循迹部分根据传感器检测结果和 预设路径信息,控制电机转动,实现小车自 动循迹;调整部分根据实际行驶轨迹进行参 数调整,以适应不同环境下的路径跟踪
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能循迹小车设计与制作课程设计报告系别:专业:班级:成员:指导老师:时间:二〇一一年6月30日一、设计目的:1、学会智能电子产品的功能设计与任务分析,能进行小型电子产品方案设计;2、掌握基于51单片机、FPGA模数混合硬件系统设计和程序设计;3、熟悉电子信息类企业项目完整的运作过程及管理规范,培养团队协作能力、沟通能力、创新能力和组织能力。

二、智能循迹小车任务分析这是一种基于STC89C51单片机的小车寻迹系统。

该系统采用两组高灵敏度的光电对管,对路面黑色(白色)轨迹进行检测,并利用单片机产生PWM波,控制小车速度。

测试结果表明,该系统能够平稳跟踪给定的路径。

整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行三、智能循迹小车循迹原理该智能小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。

利用了简单、应用比较普遍的检测方法—发光二极管+光敏电阻。

发光二极管+光敏电阻,即利用光线在不同颜色的物理表面具有不同的反射性质的特点。

在小车行驶过程中不断地向地面发射白光,当白光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。

四、智能循迹小车总体方案整个电路系统分为检测、控制、显示、驱动四个模块。

首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,然后显示小车的运行状态,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。

系统方案方框图如图1所示。

图1 智能小车寻迹系统框图五、智能循迹小车各模块方案1、循迹模块设计方案1:用红外发射管:接收管自己制作光电对管循迹传感器。

红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射出的光线则测出黑线继而输出高电平。

这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。

方案2:发光二极管+光敏电阻组成光敏探测器,光敏电阻的阻值可以根跟随周围环境光线的变化而变化。

当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。

因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。

将阻值的变化值经过比较器就可以输出高低电平。

该方案虽然有明显的光线的车前但灵敏度好。

因此我们采用这种方案。

如理图如下:R61限制发射二极管的电流,发射管的电流和发射功率成正比,但受其极限输入正向电流50mA的影响,用R1=150的电阻作为限流电阻,Vcc=5V 作为电源电压,测试发现发射功率完全能满足检测需要;可变电阻RP61可限制接收电路的电流,一方面保护接收红外管;另一方面可调节检测电路的灵敏度。

因为传感器输出端得到的是模拟电压信号,所以在输出端增加了比较器,先将LM339输出电压与2.5V进行比较,再送给单片机处理和控制。

传感器的安装正确选择检测方法和传感器件是决定循迹效果的重要因素,而且正确的器件安装方法也是循迹电路好坏的一个重要因素。

从简单、方便、可靠等角度出发,同时在底盘装设5个光敏二极管,进行两级方向纠正控制,将大大提高其循迹的可靠性,具体位置分布如图3所示。

图3 光敏电阻的分布图图中循迹传感器全部在一条直线上。

其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。

小车前进时,始终保持(如图3中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。

第二级方向探测器实际是第一级的后备保护,它的存在是考虑到小车由于惯性过大会依旧偏离轨道,再次对小车的运动进行纠正,从而提高了小车循迹的可靠性。

2、控制模块设计此部分是整个小车运行的核心部件,起着控制小车所有的运行状态作用。

控制方法很多,大部分都采用单片机控制。

这里选择了ATMEL公司的AT89C52作为控制芯片,在芯片体积小、集成度高、可靠性好、容量足够、驱动能力强、运用方便、经济廉价。

3、电机驱动模块从单片机输出信号功率很弱,即使在没有其它外在负载是也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。

根据驱动功率大小以及连接电路的简单化要求选择L298为直流电机驱动芯片。

电路图如下:4、FPGA系统软件设计原理图:4.1寻迹模块寻迹板送过来的4路检测信号送到FPGA板,FPGA将此4路信号送出至4个LED灯显示状态(检测至黑线亮,否则灭);同时将此4路信号送到单片机。

显示模块及要求(采用1602)小车启动:小车启动时,显示“Start”。

小车左拐:小车左拐时,显示“Left”。

小车右拐:小车右拐时,显示“Right”。

小车前进:小车前进时,显示“Running”。

小车后退:小车后退时,显示“Back”。

停车:小车停车时,显示“Stop”。

4.2提示音模块(1)小车启动小车启动前发出3声“嘟、嘟、嘟”的声音,提示音结束后,FPGA发出一个启动信号给单片机,从而启动小车。

(2)停车小车停车时,FPGA播放一首音乐,音乐播放结束即表示小车完成了任务。

4.3 FPGA设计总原理图如下:5、单片机控制模块5.1 启动小车小车在接收到FPGA送过来的启动指令后,读取寻迹信号,根据寻迹信号确定小车的运行状态,将小车的运行状态送至FPGA,同时根据相应算法,驱动小车的左右电机前进。

由于其实跑道与正常跑道有一段路程不好处理,所以需要冲一段路程才能使跑到正常轨道。

5.2 正常前进当寻迹板中间两个传感器检测到黑线,小车都正常前进。

5.3 左拐弯当最左端的两个传感器同时检测到黑线,或只有一个检测到黑线时,右端其它传感器检测到白色时,小车应左拐弯。

但是根据跑道要求,当循迹板第一次检测到全黑时,小车应左转。

5.4 右拐弯当最右端的两个传感器检同时测到黑线,或只有一个检测到黑线时,左端其它传感器检测到白色时,小车应右拐弯。

5.5 后退当4个传感器都检测到白色,小车后退。

5.6 停车当4个传感器同时第六次检测到黑线,小车停车。

小车停车后,发出一个停车标志信号送给FPGA,使FPGA播放音乐。

5.7中断模块5.8 电机控制模块5.9 小车速度的PWM调制PWM基本原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。

在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。

通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。

六、心得体会这次循迹小车课程设计不得不说是个大工程,让我们从中学会了许多东西,特别是分工与合作。

从最开始的买元器件,到焊接、调试循迹板,再到FGPA的VHDL程序和C语言程序的编写,都不简单。

我们的循迹板在第一次焊接完毕,经过调试后,能正常工作。

但是,当我们把它装在小车上让它去跑时,问题就来了,有个灯就不亮了。

后来经过检测后,终于又弄好了。

然后在写C 语言时,主要就是调节小车的速度和转弯时的角度。

而最难的是FPGA程序的编写,特别是音乐的编程,真的很复杂,花了我们很多时间才把它写好。

而1602液晶的编写,用到了我们没有学过的状态机,经过查找资料后,才弄清楚状态机到底是什么回事。

由于这次课程设计的工作量很大,所以我们组这次的分工非常明确。

一个人写C语言程序,一个人写VHDL程序,一个人负责循迹板的焊接与调试,还有一个负责资料的收集和报告的书写。

最后,经过我们组的分工协作,终于把循迹小车的制作完成了。

这次课程设计,收获最大的,还是告诉了我们要主动去学习新的知识。

附录一:循迹板原理图附录二:单片机C 语言程序#include<reg52.h>/*********************第一部分 ***************************************/ //以下是点击驱动芯片 L298 管脚位声明sbit PWM1=P1^0; //电机使能端sbit PWM2=P1^1;sbit IN1=P1^2; //电机控制端sbit IN2=P1^3;sbit IN3=P1^4;sbit IN4=P1^5;sbit start=P0^0; //小车启动信号sbit stop=P0^1; //小车停止信号sbit RP1=P2^3; //此处是传感器管脚位声明sbit RP2=P2^2;sbit RP3=P2^1;sbit RP4=P2^0;int count1,count2; //用于中断计数//延时函数,延时z秒void delay(int z){int x,y;for(x=z;x>0;x--)for(y=124;y>0;y--);}/*********************第二部分电机控制子函数****************************/void forward1()//电机 1 前进{IN1=0;IN2=1;}void forward2()//电机 2 前进{IN3=0;IN4=1;}void back1()//电机 1 后退{IN1=1;IN2=0;}void back2()//电机 2 后退{IN3=1;IN4=0;}/***************电机的速度控制用PWM调速************************/ void speed(int cnt1,int sd1,int cnt2,int sd2){if(cnt1<sd1) //电机1 PWM调速PWM1=1;elsePWM1=0;if(cnt2<sd2) //电机2 PWM调速PWM2=1;elsePWM2=0;}/***************电机的前进、左转、右转控制************************/ void turn(int cnt1,int sd1,int cnt2,int sd2){forward1();forward2();speed(cnt1,sd1,cnt2,sd2);}/***************电机的后退控制************************/void back(int cnt1,int sd1,int cnt2,int sd2){back1();back2();speed(cnt1,sd1,cnt2,sd2);}/*********************第三部分主函数****************************/void main(){int num=0;stop=0;TMOD=0x01; //中断模式设置EA=1;TH0=(65536-1000)/256; //定时1msTL0=(65536-1000)%256;ET0=1;TR0=1;start=1; //给FPGA发送START信号delay(3000); //等待FPGA发送循迹信号delay(3000);等待FPGA发送循迹信号start=0;turn(count1,250,count2,250); //使小车冲上黑色轨道delay(350); //延时等待小车冲上黑色轨道while(1){if(RP1==1&&RP2==1&&RP3==1&&RP4==1)back(count1,50,count2,50); // 1111 当四个LED检测到黑线时,小车后退if(RP1==1&&RP2==0&&RP3==0&&RP4==1)turn(count1,200,count2,200); //1001 当第二三格LED检测到黑线时,小车前进if(RP1==0&&RP2==1&&RP3==1&&RP4==0)turn(count1,150,count2,150); // 0110 当第一、三个LED检测到黑线时,小车减速前进/**********************小车左转*****************************/if(RP1==0&&RP2==1&&RP3==1&&RP4==1)turn(count1,0,count2,150); // 0111 当最右边的LED检测到黑线时,小车左转if(RP1==1&&RP2==0&&RP3==1&&RP4==1)turn(count1,80,count2,150); // 1011 当第二个LED检测到黑线时,小车偏左转if(RP1==0&&RP2==0&&RP3==1&&RP4==1)turn(count1,0,count2,100); // 0011 当第一、二个LED检测到黑线时,小车左转if(RP1==0&&RP2==0&&RP3==0&&RP4==1)turn(count1,0,count2,200); // 0001 当第一、二、三个LED检测到黑线时,小车左大转/***********************小车右转*******************************/if(RP1==1&&RP2==1&&RP3==0&&RP4==1)turn(count1,150,count2,80); // 1101 当第三个LED检测到黑线时,小车偏右转if(RP1==1&&RP2==1&&RP3==1&&RP4==0)turn(count1,180,count2,0); // 1110 当第四个LED检测到黑线时,小车右转if(RP1==1&&RP2==1&&RP3==0&&RP4==0)turn(count1,100,count2,0); //1100 当第三四格LED检测到黑线时,小车右转if(RP1==1&&RP2==0&&RP3==0&&RP4==0)turn(count1,200,count2,0); // 1000 当第二、三、四个LED检测到黑线时,小车右大转/**************小车检测到全黑情况的处理----停车与左转----*************/if(RP1==0&&RP2==0&&RP3==0&&RP4==0){if(num==0){back1(); // 0000 当四个LED第一次检测到黑线时,左轮后退,右轮前进小车左转forward2();delay(100); //延时100ms,等待小车转过弯道}if(num>0 && num<6){turn(count1,200,count2,200);// 0000 当四个LED再次检测到黑线的次数小于6次时,// 即到达斑马线时小车前进速度大于后退速度}if(num>=6){PWM1=0;PWM2=0; //当四个LED第六次检测到黑线时,小车停止stop=1; //发送停止信号给FPGA,使FPGA播放音乐}num++;}}}/*********第四部分中断服务函数 *******************************/void time0()interrupt 1{TH0=(65536-1000)/256;//定时1msTL0=(65536-1000)%256;count1++;count2++;if(count1>=500)//周期是 500mscount1=0;if(count2>=500)//周期是 500mscount2=0;}附录三:FPGA的1602液晶VHDL程序library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;--------------------------------------------------------------------------entity LCD1602c isport(CLK,RST : in std_logic; --状态机时钟信号,同时也是液晶时钟信号,其周期应该满足液晶数据的建立时间flag_start,flag_stop:in std_logic; --开始和停止信号,使液晶显示start和stop 并伴随音乐text1:in std_logic_vector(3 downto 0);--将FPGA检测到的数据传给单片机speaker:in std_logic; --音乐的输入端,开始和停止时才播放音乐dududu:in std_logic ; --开vector(3 downto 0); --寻迹板的四路信号输入--始的时候响3次嘟嘟声text1_out:out std_logic_vector(3 downto 0); --将寻迹板的四路信号不做处理直接从FPGA输出给单片机led:out std_logic_vector(5 downto 0);--设置寻迹板的四路信号对应的四个led灯代表其寻迹状态后两个表示开始和停止LCD_EN,LCD_RS,LCD_RW : out std_logic;--使能信号、寄存器选择信号液晶读写信号LCD_Data : out std_logic_vector(7 downto 0) ;--液晶数据信号speaker_out:out std_logic); --音乐输出end LCD1602c;--------------------------------------------------------------------------architecture Behavioral of LCD1602c istype state is (set_cls,set_func,set_DisCon,set_InMode,set_ddram,write_ddram,set_delay); --状态机,7种状态signal C_ST :state; --定义状态信号type ram1 is array(0 to 9) of std_logic_vector(7 downto 0); --type ram2 is array(0 to 9) of std_logic_vector(7 downto 0);type ram3 is array(0 to 9) of std_logic_vector(7 downto 0);type ram4 is array(0 to 9) of std_logic_vector(7 downto 0);type ram5 is array(0 to 9) of std_logic_vector(7 downto 0);type ram6 is array(0 to 9) of std_logic_vector(7 downto 0);constanttextram1:ram1:=(x"80",x"80",x"62",x"61",x"63",x"6B",x"80",x"80",x"80",x"80");--backconstanttextram2:ram2:=(x"74",x"75",x"72",x"6E",x"80",x"72",x"69",x"67",x"68",x"74"); --turn rightconstanttextram3:ram3:=(x"61",x"64",x"76",x"61",x"6E",x"63",x"65",x"80",x"80",x"80"); --advanceconstanttextram4:ram4:=(x"74",x"75",x"72",x"6E",x"80",x"6C",x"65",x"66",x"74",x"80"); --turn leftconstanttextram5:ram5:=(x"80",x"73",x"74",x"61",x"72",x"74",x"80",x"80",x"80",x"80"); --startconstanttextram6:ram6:=(x"80",x"73",x"74",x"6F",x"70",x"80",x"80",x"80",x"80",x"80"); --stopsignal CLK1 : std_logic; --signal cnt1: std_logic_vector(3 downto 0);signal a:std_logic_vector(5 downto 0);--检测信号和开始及停止信号共六位信号-------------------------------------------------------------------------begina<=text1&flag_start&flag_stop;text1_out<=text1;--将四路寻迹板的信号不作处理直接输出给单片机LCD_EN <= CLK ; --LCD_RW <= '0' ; --process(CLK)variable n2:integer range 0 to 499; --常整常量用于从0到500计数分频,可以不要这个进程因为不要循环显示beginif rising_edge(CLK) then --当时钟上升沿到来时if n2<499 thenn2:=n2+1;elsen2:=0; Clk1<=not Clk1;--end if;end if;end process;------------------------------------------------------------------------------PROCESS (CLK,RST)variable cnt1: std_logic_vector(3 downto 0);--32BEGINif RST='0' then C_ST<=set_cls; LCD_RS<='0'; LCD_RW<='0';--rw=0是写操作LCD_Data<="00000001"; cnt1:="0000";--清屏指令0x01elsif (CLK'event AND CLK ='1') THENCASE C_ST IS --判断状态WHEN set_cls => --清屏状态LCD_RS<='0'; LCD_RW<='0'; LCD_Data<="00000001"; --清屏指令0X01C_ST <= set_func; --将功能设置状态给c_st信号WHEN set_func => --功能设置0 0 1 DL N F * * DL:高电平时为8位总线,低电平时为4位总线--N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符LCD_RS<='0'; LCD_RW<='0'; LCD_Data<="00111000";--cnt1<="00000"; --0x38,表示8位宽度,2行C_ST <=set_DisCon;when set_discon=> --显示开关控制LCD_RS<='0'; LCD_RW<='0'; LCD_Data<="00001100"; --0x0C,表示开显示,关光标,关闪烁C_ST<=set_InMode;when set_InMode=> --设置输入方式LCD_RS<='0'; LCD_RW<='0'; LCD_Data<="00000110";--0x06,AC+1(左移),不移位C_ST<=set_ddram;when set_ddram=>LCD_RS<='0'; LCD_RW<='0';if cnt1<"1001" then cnt1:=cnt1+1; --else cnt1:="0000"; end if; --if cnt1<="1001" then LCD_Data<="10000100"+cnt1; --LCD1602第一行首地址80H+00Hend if;C_ST<=write_ddram;when write_ddram=>LCD_RS<='1'; LCD_RW<='0'; --if a="111001" then LCD_Data<=textram2(conv_integer(cnt1));led<="111000"; --向右elsif a="110001" then LCD_Data<=textram2(conv_integer(cnt1));led<="011100";--向右elsif a="011101" then LCD_Data<=textram4(conv_integer(cnt1));led<="001100";--向左elsif a="001101" then LCD_Data<=textram4(conv_integer(cnt1));led<="110000";--向左elsif a="100101" then LCD_Data<=textram3(conv_integer(cnt1));led<="011000"; --前进elsif a="111101" then LCD_Data<=textram1(conv_integer(cnt1));led<="111100";--后退elsif a="100111" then LCD_Data<=textram5(conv_integer(cnt1));led<="011010";--开始elsif a="000001" then LCD_Data<=textram6(conv_integer(cnt1));led<="111101";--结束end if;C_ST<=set_delay;when set_delay=>LCD_RS<='0'; LCD_RW<='0'; LCD_Data<="00000000"; --C_ST<=set_func; --回到功能设置状态,一直循环下去when others => null;END CASE;END IF;END PROCESS;process(a)begincase(a)iswhen"100110" => speaker_out<=dududu;when"000001"=> speaker_out<=speaker;when others =>speaker_out<='1';end case;end process;end Behavioral;附录五小车实物。

相关文档
最新文档