嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

这个项目的目的是建造一个“MINI-SUMO”机器人,它能够以自主的方式对抗另一个机器人并将该机器人推出土俵,就像在传统的相扑中一样。此外,它还有两种操作模式: LINE FOLLOWER和REMOTE CONTROL,在这些模式下,机器人能够跟随白色表面上的黑线行走,并且可以通过蓝牙设备进行远程控制。你可以在下面看到有关这三种操作模式的说明视频:

对于机器人的开发,需要四个不同领域的基本知识:电子电路,PCB设计,微控制器和3D建模。然而,没有必要成为专家,在整个项目的开发过程中,将获得必要的技能和知识。整个项目的描述将分为三个主要方面。

1. 电子电路设计

为了设计我们的机器人,我们必须牢记正确开发项目必须满足的不同规范,例如机器人战斗的官方规则,例如,该项目还包括:

  • 最大机器人尺寸(10cm x 10cm,无高度限制)
  • 最大重量:500克
  • 最高预算:50欧元(不包括PCB制造)
  • 一般的START按钮
  • CONTROL:PIC单片机
  • 传感器:近距离/远距离红外和超声波传感器
  • 动作:直流电机
  • 机器人必须在战斗开始前等待5秒(BATTLE MODE)
  • 电源:8.4V,150mAh可充电电池

从上述规格我们可以获得BATTLE MODE机器人; 此外,如果我们想要添加其他两种操作模式,我们需要使用不同的组件(下面是每个组件的简要说明):

微控制器:

微控制器控制机器人的行为。有关此组件的更多详细信息,请参阅“编程环境”部分。为了将PC与微控制器连接并实现机器人的直接编程/调试,模块化连接器以及连接所需的一些组件是必不可少的。

线性稳压器:

为了给我们的机器人供电,我们有一个8.4V和150mA / h的可充电电池。然而,为了给整个信号电路,传感器和微处理器供电,我们需要5V恒压。因此,我们使用了LM7805稳压 此外,该器件能够提供高达1A的电流,因此这足以为我们的电路供电。

获得电压所需的连接如下(C是确保稳定电压的设定数)。

112_398226a8ac600fcf4737b562a9ebcd43098eab68.jpg

21_39a758655bc3d79cf51d46965f2d4814022be39f.jpg

 

 

 

 

图1.线性稳压器

CNY70短距离红外传感器:

这些红外线传感器非常适合黑白检测:它们将在LINE FOLLOWER模式下检测环和黑线的极限。 在这里你可以看到电路:

3_75e918f8dc9a227f4b607a6a9d49a8359ae504fb.jpg

图2. CNY70连接

根据传感器检测到的表面颜色,有两种不同的输出:

- 光表面:晶体管饱和并让电流通过,因此输出为GND(0V)。

- 暗表面:晶体管截止,因此输出为5V。

SHARP远程红外传感器:

为了在MINI-SUMO模式中检测其竞争对手,我们将使用长距离反射传感器。 该设备不需要任何调节,它会根据对手的位置改变输出电压; 最大检测距离约为30cm。

41_b4736fa0236da375fcd7366dcfdb108b2ab982d6.jpg

图3.长距离红外传感器

超声波传感器

为了避免机器人检测到其对手时的故障,我们使用了长距离超声波传感器。

为了检测距离,这些传感器发送一系列反射到表面的脉冲,返回传感器并被接收器捕获。 机器人和表面之间的距离与完成该过程所花费的时间成比例。 如果在一段时间后没有信号,则表示其视野中没有物体。

该设备包含所有调节器电路,因此你可以将其直接连接到微控制器。

5_7d780b3101d87202d381147c258eae5bc1f61634.jpg

图4.超声波传感器

蓝牙模块

该设备与Android应用程序一起,是通过移动设备远程控制机器人必不可少的; 所有这些都将在编程环境一节中解释。 要正确使用该模块,必须将模块的传输引脚Tx与接收PIC(Rx)中数据的引脚以及模块的接收引脚Rx与微控制器的传输引脚(Tx)相连。

直流电机和电机驱动器

选择的电机配有减速器,以降低速度为代价來获得更大的强度。 为了控制这些电机,我们有设备L293D,它使用连接到最大电压电源或地的二极管来决定电机是向前还是向后运行。 在这里,你可以看到电机和驱动器之间的连接。

62_5d4ecab63e13ae0b57b4b3b1d608335c53ca390b.jpg 

图5.驱动程序连接

RBG LED

为了直观地显示机器人的性能,我们将使用RGB LED:蓝色表示我们处于REMOTE CONTROL模式,绿色将用于LINE FOLLOWER模式,红色用于MINI-SUMO模式。 下图所示的电阻是限制LED电压所必需的。 它们已建立大约20mA,所以这是调节电路:

74_5e9a6046f17e2aafc87ea848cd0b899fce5b4317.jpg

图6. RGB LED

压电蜂鸣器

该组件可再现微控制器中编程的音乐,但我们没有足够的时间对其进行编程。 如果你想使用它,你只需要调整脉冲的持续时间,因为每个音符具有不同的频率,因此具有一个周期。

最终,为了能够开发项目,我们需要以下组件:

  • 开/关
  • LM7805线性稳压器
  • 两个红外传感器CNY70位于前方,非常靠近地板
  • 超声波传感器HC-SR04和反射传感器SHARP GP2Y0A41SK0F
  • PIC16F886
  • 一个模块化连接器RJ11
  • 一个蓝牙模块HC-05
  • 一个电机驱动器L293D
  • 两个直流电机,每侧一个
  • 两个RBG LED
  • 压电蜂鸣器
  • 钢球轴承,前面的支撑点
  • 电池连接器
  • 几个电阻和电容

2. PCB设计

设计电路时,必须将它们转换为PCB设计。 我们使用了DesignSpark PCB 8.0软件。 对于这一部分,我们创建了一种具有特定间距,轨道厚度,焊盘样式等的设计技术。然后,在PCB设计考虑之后将元件放置在电路板上,以尝试使不同元件的连接变得容易。 为减少磁道和过孔的数量,顶层用作5V平面,底层用作GND平面。 下图显示了PCB的3D表示。 完整的DesigSpark PCB设计项目已在本文末尾附上。

81_40b27f3fb2a3dbf357d9cf1349efef319ca96061.jpg

图7. PCB设计

 

3. 编程环境

微控制器

该项目中使用的微控制器是PIC16F886。 选择微控制器的主要原因是它具有足够的引脚数,蓝牙的串行连接模块,并具有内部振荡器,可减少连接和错误的数量。

微控制器和不同设备之间的连接如下所示:

93_bb168505595abd895e517331f33062c6d827c509.jpg                              图8. PIC16F886引脚分配

微控制器已使用MPLAB X软件和ICD3作为净化工具进行编程。 程序的语言是C,代码很容易理解程序的开发。 此代码已附在本文末尾。

MINI-SUMO和LINE FOLLOWER模式是自动的,这意味着当选择其中一个选项时,机器人将运行程序并且无法定向其运动。 唯一的可能性是在用户想要时停止它。

手机应用程序

对于蓝牙控件,您需要在移动设备上安装应用程序; 通过此应用程序,您将能够选择发送到机器人的角色,从而选择机器人将执行的任务。 我们选择了应用程序Arduino蓝牙,因为我们认为这是这种控制最舒适的应用程序。 在这里,您可以看到屏幕上有按钮来控制机器人以及手机通过蓝牙发送到我们设备的字符,具体取决于我们按下的按钮。

10_8cced4741d7e43f96e22559d9b633d318f16107f.jpg

图9. Arduino蓝牙接口

在下表中,您可以看到机器人根据从手机中选择的字母执行的任务:

113_9cd3992c71b987c7ebbfa72cb59f9a8b7cf903d3.jpg

 

4. 三维建模

我们设计了一个外壳(通过3D打印机和SolidWorks程序)来实现整个电路,并提供一个位置来定位和保护不同的设备和PCB。 这是3D模型:

122_ebb6606aaf15ff653c40cdc7fc8b0f87ccba1b7e.jpg

图10.外壳3D模型

我们策略性地采用了一些额外的材料,如铅,以调整重量和增加稳定性。 此外,最终设计在地面上设有铝制前板,专为战斗而设计。

 

注释

乍一看,一步一步地创建一个机器人可能看起来很困难,但事实上,你可以在整个项目中学到很多东西。

我希望在阅读完这个记忆之后,你现在感觉到制造自己的机器人的冲动,甚至试图改进本文所述的机器人。

mikeltxo18 还没写个人简介...