红外避障小车课程设计

 

  • 设计目的

机器人综合课程设计的设计目的是通过实践操作和理论学习,培养学生对机器人领域的兴趣和实践能力,提高学生的创新意识和解决问题的能力,同时也是为了推动机器人技术的发展和应用。在课程设计中,学生将学习机器人的基本构成、控制原理、编程方法等知识,参与机器人的设计、制作和编程,并通过实验验证机器人的功能和性能。此外,机器人综合课程设计还可以帮助学生培养团队合作和沟通能力,提高他们的综合素质和竞争力。

机器人综合课程设计是机器人专业极其重要的实践性教学环节。其目的是在相关先修课程学习后,根据不同的应用需求提供的几种典型机器人系统(选择其中一种),开展相应的设计、建模、运动仿真及控制实验,使学生进一步巩固机械设计、机械原理等基础知识,以及机电系统控制、传感与测试技术、机器人学等专业知识,并结合实际的机器人系统,将所学知识应用于实际应用场景,培养和锻炼学生综合运用专业基础、专业技术知识解决工程实际问题的能力。机器人综合课程设计I主要是设计智能小车——在小车载体上搭载功能负载,成为能完成特定功能的移动智能系统。

课程设计应强调能力培养为主,在独立完成设计任务的同时,还要注意其他几方面 能力的培养与提高,如独立工作能力与创造力;综合运用专业及基础知识的能力,解决实际工程技术问题的能力;查阅图书资料、产品手册和各种工具书的能力; 书写技术报 告和编制技术资料的能力。

  • 设计任务及要求

2.1设计任务

主要任务包括以下内容:

1、硬件设计:设计小车的外形结构,包括车身、轮子、电机、电池等;选择适合的传感器,如红外传感器等。

2、完成电子元器件的线路连接设计

3、软件设计:编写控制小车运动的程序,包括避障、巡航等功能。

4、算法设计:通过分析传感器数据,设计有效的避障算法,使小车能够自主避开障碍物。

5、系统集成:将硬件、软件、算法等融合到一个系统中,实现小车的智能控制和自主运动。

2.2设计要求

本次课程设计报告的设计要求如下:

1、小车置于起始位置启动后,开始前进。

2、小车行进中检测到障碍物的情况下采取以下两种行动之一: 左右转弯避开、停 下并以一定形式提示。

3、小车运行一定距离或时间后,能自动停下。

4、精度高:小车需要能够准确地检测障碍物,并能够快速地做出反应。

5、稳定性好:小车需要能够在复杂的环境中稳定运行,不易出现故障。

6、可靠性强:小车需要能够长时间稳定运行,不易出现意外情况。

7、易用性好:小车需要易于操作和维护,方便用户使用。

8、扩展性强:小车需要具备一定的扩展性,可以根据用户需求进行定制和升级。

三、整体功能概述

3.1红外避障功能

智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的作用。将三个红外线光电传感器分别装在车体的左中右,当车的左边的传感器检测到障碍物时,主控芯片控制右轮电机停止左轮转动,车向右方转向,当车的右边传感器检测到障碍物时,主控芯片控制左轮电机停止转动,车向左方转向,当前面有障碍物时规定车右转。于此同时测定速度并显示,在避障小车前进的同时从LCD点阵液晶显示器上显示小车当时速度。在小车左转或右转时在显示器上显示出左或右。

3.2避障器原理

该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~80cm,工作电压为3.3V-5V。

该传感器的探测距离可以通过电位器调节、具有千扰小,便于装配、使用方便等特点,可以广泛应用于机器人避障、避降小车、流水线计数及黑白线循迹等众多场合,模块参数说明

  1. 当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离2~80cm,检测角度35°,检测距高可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距高减少。
  2. 传感器主动红外线反射探测,因此日标的反射率和形状是探测距离的关键,
  3. 传感器模块输出端口0UT可直接与单片机10口连接即可,也可以直接驱动一中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。个5V继电器;连接方式:vcc-vcc;gnd-gnd:out-104、比较器采用LM393,工作稳定;
  4. 可采用3-5V直流电源对模块进行供电,当电源接通时,红色电源指示灯点亮;
  5. 具有3mm的螺丝孔,便于固定、安装;7、电路板尺寸:3.1CM*1.5CM8、每个模块在发货已经将阅值比较电压通过电位器调节好,非特殊情况,请勿随意调节电位器,

四、硬件设计

如下图所示,是本次设计智能小车的电路框图。以AT89S51为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源,以便能正常工作。

uploading.4e448015.gif正在上传…重新上传取消

4.1避障电路

4.1.1障碍物探测方案的选择

方案一:脉冲调制的反射式红外线发射接受器。由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再品均电流不变的情况下,顺势电流很大(50—100mA),则大大提高了信噪比。并且其反应灵敏,外围电路也很简单。它的优点是消除了外界光线的干扰提高了灵敏度。

方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通知单片机前方有障碍物,如则通知单片机可以向前行驶。市场上很多红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且能避免电路的复杂性

由以上两种方案比较可知。方案二要比方案一优势大,市场上很多红外观点探头也都基于这个原理。其电路简单,工作可靠,性能比较稳定。从而避免了电路的复杂性,因此我先用方案二作为小车的监测系统。

避障电路采用漫反射式光电开关进行避障。光电开关是集发射头和接收头于一体的检测开关,其工作原理是根据发射头发出的光束,被障碍物反射,接收头据此做出判断是否有障碍物。当有光线反射回来时,输出低电平;当没有光线反射回来时,输出高电平。单片机根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由于接收管输出TTL电平,有利于单片机对信号的处理。

4.1.2光电开关工作原理:

光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。光电开关在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。

uploading.4e448015.gif正在上传…重新上传取消

 

uploading.4e448015.gif正在上传…重新上传取消4.1.3避障电路

 

 

 

避障电路功能表:

传感器

避障电路输出(上升沿动作)

待执行命令

左转信号(P2.1)

右转信号(P2.0)

0

0

0

 

右转

0

0

1

 

右转

0

1

0

 

右转

0

1

1

 

右转

1

0

0

 

左转

1

0

1

 

右转

1

1

0

 

左转

1

1

1

 

 

前进

注解(“0”表示有障碍物;  “1”表示无障碍物)

4.2单片机电路

本设计的主控芯片选择AT89S51,负责检测传感器的状态并向电机驱动电路发出动作命令。复位电路采用手动复位。

单片机电路如下:

uploading.4e448015.gif正在上传…重新上传取消

 

4.3电机转速控制电路

由555时基电路构成多谐振荡器提供一个 PWM信号,通过控制该信号的占空比来实现电机调速。

阻容元件的取值初步定为图中所示。

uploading.4e448015.gif正在上传…重新上传取消

多谐振荡器如下:

其中占空比:

q=(R1+Rx1)/(R1+R2+Rx)

周期:T=(R1+R2+Rx)Cln2

 

 

4.4电源电路

本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,则需要LM7805稳压芯片。L7805能提供300至500mA的电流,足以满足芯片供电的要求。虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。 

 

uploading.4e448015.gif正在上传…重新上传取消电源电路拟定为:

4.5电机驱动电路

市场上用很多种类的小电压直流电动机,很方便的选择到。主要有普通电动机、和步进电动机。

方案一:采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。其转换灵敏度比较高。正转、反转控制灵活。但是步进电机的价格比较昂贵,对于我们的现状相差太远。

方案二:采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、方便。调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。

由于普通直流电机价格适宜,更易于购买,并且电路相对简单,因此采用直流电机作为动力源

本设计采用差分放大驱动使电机正反转从而做到前进,左转右转。采用四个大功率晶体管组成H桥式电路,四个大功率晶体管分为两组,交替导通和截止,用单片机控制使之工作在开关状态,进而控制电机的运行。该控制电路由于四个大功率晶体管只工作在饱和与截止状态下,效率非常高,并且大功率晶体管开关的速度很快,稳定性也极强,是一种广泛采用的电路。

采用与门对两电机进行选择控制,从而实现前进、左转、右转。

驱动电路原路框图如下:

uploading.4e448015.gif正在上传…重新上传取消

 

uploading.4e448015.gif正在上传…重新上传取消

电路图如下:

 

uploading.4e448015.gif正在上传…重新上传取消注释:将圆盘12等分半径2CM,周长4*pi .用程序设定1S内采集到的脉冲数可以转化为速度。

单位时间内前进距离为S ,则:速度V大小为S。

驱动状态表:

注解:(“0”代表低电平    “1”代表高电平)

 

电机驱动电路功能表

 

 

 

输入

小车状态

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

1

1

1

1

1

0

前进

1

1

1

1

0

0

停止

1

0

0

0

1

1

左转

0

1

0

0

1

1

右转

五、软件设计

5.1主程序流程图

uploading.4e448015.gif正在上传…重新上传取消

5.2软件流程设计

红外避障小车软件流程设计可以分为以下几个模块:传感器数据处理、路径规划、运动控制和通信。将这些模块分为几个主要步骤,并逐一进行说明。

1. 传感器数据处理

首先,小车上的红外传感器(如红外发射器和接收器)会将所检测到的障碍物信号发送给处理器。处理器将对这些信号进行预处理,例如滤波、去噪等,以提高数据质量。处理后的数据将作为后续步骤的输入。

2. 路径规划

路径规划模块负责在已知地图上找到一条最优路径,使得小车能够安全地避开障碍物。路径规划算法通常包括启发式搜索、遗传算法、模拟退火等。路径规划模块将从处理器接收传感器数据,并根据障碍物信息和小车当前位置计算出合适的转向角度和速度,以实现避障。

3. 运动控制

运动控制模块负责根据路径规划结果控制小车的运动。这包括电机驱动、电机调速和车轮转向等。运动控制模块将根据规划好的路径,计算出电机的指令,并发送给相应的执行器(如步进电机或直流电机)。

4. 通信模块

通信模块负责将小车的状态信息发送给上位机或其他设备,以实现实时监控和远程控制。通信模块可以采用无线通信技术(如蓝牙、Wi-Fi或LoRa)或有线通信技术(如USB或串口)。通信模块还需要处理来自上位机的控制命令,并将其发送给运动控制模块。

在设计红外避障小车软件流程时,可以根据实际需求和难度,将这些模块划分为若干个子模块,以便于模块化开发和维护。同时,为了提高系统的稳定性和响应速度,建议采用多线程或异步编程技术。

六、实物调试

红外避障小车是一种可以通过红外传感器感知前方障碍物并自动改变行驶路径的小型机器人。在实物调试阶段,需要关注以下几个方面:

1. 硬件连接与检查:

确保所有硬件组件(如马达、红外传感器、电池等)已正确连接并按照说明书进行安装。检查所有连接线是否紧固,以避免信号干扰。

2. 电池充电:

确保电池已充满电。根据设备说明书,了解充电时间和电池容量,以确保小车在运行过程中有足够的电力。

3. 软件编程与调试:

根据所使用的控制系统(如Arduino、Raspberry Pi、MicroPython等),编写相应的程序代码。在调试阶段,需要根据实际环境测试小车的避障功能。可以设置不同的障碍物位置,观察小车的反应,并通过调整程序中的参数(如避障距离、检测时间等)来优化性能。

4. 无线通信调试:

如果小车支持无线通信(如蓝牙、Wi-Fi等),需要确保通信链路正常。可以通过连接另一个设备(如手机、平板电脑等),使用相应的软件(如Arduino IDE、Raspberry Pi Studio等)进行调试。

5. 外观与性能优化:

检查小车的外观和结构,确保其稳定性和耐用性。在实际环境中测试小车,观察其运行稳定性、速度、灵敏度等方面的表现,根据需要进行优化。

6. 安全测试:

在调试阶段,需要确保小车在各种环境下都能安全运行。可以在室内、室外不同场景下进行测试,观察小车在不同光线、温度、湿度等条件下的表现。如有需要,可以对小车的硬件或软件进行调整。

在完成实物调试后,红外避障小车应具备在实际环境中避开障碍物、自动行驶的能力。请注意,不同的硬件和软件实现可能会影响小车的性能和稳定性,因此在实际应用中需要根据具体情况进行调整和优化。

七、课程设计小结与心得

在红外避障小车课程设计过程中,我可以学到很多关于硬件设计、软件编程和项目管理的知识。以下是一些课程设计心得与小结:

1. 硬件设计:

了解了常用的传感器和执行器,如红外传感器、马达、舵机等。

学会了如何选择合适的元件,如电阻、电容、电感等,以满足项目需求。

掌握了基本的电路连接和调试方法,如焊接、调试工具的使用等。

了解了电气安全知识,如防止触电、短路等。

2. 软件编程:

学会了使用51单片机的常用编程语言,如C语言。

掌握了中断处理、定时器、串口通信等功能的使用方法。

学会了如何编写和调试程序,以实现所需的功能。

了解了代码优化和注释的重要性,以提高代码的可读性和可维护性。

3. 项目管理:

学会了如何制定项目计划,分配任务,并确保项目按时完成。

了解了团队协作的重要性,如何与其他同学共同完成项目。

学会了如何应对项目中的问题和挑战,如调试硬件、编写程序等。

培养了耐心、细心和责任心,以确保项目的质量和安全。

4. 应用领域拓展:

了解了红外避障技术在自动驾驶、机器人、物联网等领域的应用。

为以后的学习和工作打下了基础,可以将所学知识应用于其他相关项目。

提高了解决实际问题的能力,培养了创新思维和实践能力。

总之,基于51单片机的红外避障小车课程设计是一个非常有趣且有益的实践项目。通过这个项目,我们不仅学到了很多关于硬件和软件的知识,还提高了项目管理和团队协作能力。希望今后能够继续学习和实践,将所学知识应用于更多实际项目中。

本文提出了一种经济实用的智能小车设计方法,给出了从硬件电路设计到软件设计的一系列步骤。采用了直流电机作为执行元件,E3F系列光电开关作为检测元件,AT89S51单片机作为主控芯片,完成了小车避障功能的实现。与此同时应用LCD显示状态,本设计不仅对于了解单片机的结构、电路设计及控制功能有一定的帮助,还有益于诱发学习单片机的兴趣。

参考文献

[1]嵇萍.基于单片机的自动避障小车设计[J]苏州市职业大学学报,2013,(1):33-35.

[2]冷雪锋.基于PID的STM32智能小车机器人的设计[J].自动化技术与应用,2016,第35卷(11):122-127.

[3]马巧梅.基于51单片机的汽车预警系统的设计与实现*[J].自动化技术与应用,2017,第36卷(11):121-124.

[4]代德丹,王勐,李怡.智能避障小车[J].电子世界,2017,(20):111-112.

[5]胡海.基于单片机的自适应避障小车的设计[J].微型电脑应用,2017,第33卷(4):45-47.

 

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Arduino红外避障小车是一种基于Arduino开发板和红外线传感器技术的智能小车。它可以通过红外线传感器来检测车体前方的障碍物,并根据检测结果来控制小车的行驶方向,从而实现避障功能。 下面是一个简单的Arduino红外避障小车的制作步骤: 1. 准备材料:Arduino开发板、电机驱动模块、直流电机、红外线传感器、车轮、电源等。 2. 连接电路:将电机驱动模块和Arduino开发板通过杜邦线连接起来,将直流电机和车轮连接到电机驱动模块上,将红外线传感器连接到Arduino开发板上。 3. 编写代码:在Arduino开发环境中编写代码,通过读取红外线传感器的数据,控制小车的运动方向,实现避障功能。 4. 调试测试:将小车放置在测试场地上,进行调试和测试,不断优化程序,直至达到预期效果。 总之,通过Arduino开发板和红外线传感器技术,制作一个红外避障小车并不难,适合初学者进行学习和实践。 ### 回答2: Arduino红外避障小车是一种基于Arduino控制板制作的智能小车,它通过红外传感器来检测周围环境,实现避开障碍物的功能。 小车的核心部分是一个Arduino板,它作为控制中心,接收传感器的信号并根据程序进行相应操作。红外传感器是小车的感知器,它可以发射红外光束,并检测光束是否被障碍物反射,从而判断是否有障碍物靠近。根据传感器的数据,Arduino板会做出避障的决策,通过马达或电机来改变小车的方向,避免与障碍物发生碰撞。 在编写程序时,首先需要配置Arduino开发环境,并用语言类似于C++编写代码。代码的基本逻辑是:读取红外传感器的数值,当数值达到或超过设定的阈值时,判断为有障碍物,根据障碍物的方位决定转向的方式。例如,在前方有障碍物时,小车需要停下来或者转向避免碰撞。 制作这款小车的材料和部件还包括电机、轮子、蓝牙模块或遥控器等。电机和轮子用来驱动小车前进、后退和转动,蓝牙模块或遥控器可以实现远程操控的功能。这样,不仅可以通过编写程序实现自动避障的功能,还可以通过蓝牙或遥控器手动控制小车的运动。 总结来说,Arduino红外避障小车是一种具有智能避障功能的小车,通过红外传感器来感知周围环境,根据传感器数据做出相应决策并控制马达或电机实现小车的运动。它是学习和实践Arduino编程与电子技术的理想项目。 ### 回答3: Arduino红外避障小车是一种基于Arduino开发板的智能小车,具有自动避障功能。小车主要由Arduino控制模块、电机驱动模块、红外传感器和小车底盘等部分组成。 红外避障小车工作原理是通过红外传感器感知前方的障碍物,并根据检测到的信号控制小车的行进方向,实现自动避障红外传感器接收到红外光线反射回来的信号后,将信号转换为电信号传递给Arduino控制模块。Arduino根据输入的电信号判断是否存在障碍物,如果有障碍物则通过电机驱动模块控制小车停下或改变行进方向,从而避免撞击到障碍物。 红外避障小车的制作过程主要包括以下几个步骤: 1. 硬件准备:准备一块Arduino开发板、电机驱动模块、红外传感器、电池、杜邦线等,并搭建小车底盘。 2. 硬件连接:将Arduino与电机驱动模块、红外传感器等连接起来。确保电机可以通过电机驱动模块进行控制,并且红外传感器可以接收到反射的红外信号。 3. 编程:使用Arduino开发环境编写代码,根据红外传感器的输入信号控制电机驱动模块,实现小车的自动避障功能。可以根据需要调整传感器的灵敏度和小车的运动逻辑。 4. 调试与测试:将编写好的代码上传到Arduino开发板上,通过电池供电启动小车,并观察小车在遇到障碍物时是否能够自动避开。 红外避障小车具有简单、实用的特点,可以用于室内或室外的自动避障任务。它能够帮助我们理解和掌握基础的电子和编程知识,并能应用于更复杂的智能机器人或自动化系统中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值