术语和定义
参考文献
//www.wsdof.com/configurable-mixed-signal.
下载我们的免费GreenPAK软件设计师(1]以打开。gp文件[2],并查看所提出的电路设计。使用GreenPAK开发工具(3.可以在几分钟内将设计冻结到您自己定制的集成电路中。雷竞技电竞平台Dialog Semiconductor提供完整的申请资料库[4],包括设计实例,以及对Dialog IC的功能和模块的解释。
- GreenPAK设计软件,《软件下载及用户指南》,Dialog Semiconductor雷竞技电竞平台
- AN-CM-215迷宫奔跑机器人,绿派克设计文件,Dialog半导体雷竞技电竞平台
- GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体雷竞技电竞平台
- GreenPAK应用笔记,绿派克应用笔记网页,对话半导体雷竞技电竞平台
介绍
解迷宫机器人起源于20世纪70年代。从那时起,IEEE一直在举办被称为“微型老鼠大赛”的迷宫解决竞赛。比赛的目标是设计一个机器人,它能尽快找到迷宫的中点。用于快速解决迷宫的算法通常分为三类;随机搜索,迷宫绘图,和左右墙以下的方法。
这些方法中最有用的是墙壁跟随法。在这种方法中,机器人沿着迷宫的左右侧壁行走。如果出口点与迷宫的外墙相连,机器人就会找到出口。本应用笔记使用正确的墙遵循的方法。
硬件
这个应用程序使用:
- 2个锋利的模拟距离传感器
- 跟踪传感器
- 编码器
- 电动机和电动机驱动器
- 对话框GreenPAK™SLG46531V
- 电压调节器、机器人底盘等。
我们将使用模拟距离传感器来确定距离右墙和前墙。Sharp距离传感器是许多需要精确距离测量的项目的流行选择。这种红外传感器比声纳测距仪更经济,但它提供了比其他红外替代品更好的性能。
传感器的输出电压与测量距离之间存在非线性的逆关系。图中显示了传感器输出与测量距离之间的关系图1.
黑色背景下的白线被设定为目标。我们将使用跟踪传感器来检测白线。跟踪器传感器有5个模拟输出,输出的数据受被测物体的距离和颜色的影响。红外反射率越高(白色)的测点输出值越高,红外反射率越低(黑色)的测点输出值越低。
我们将使用pololu车轮编码器来计算机器人的旅行距离。这一正交编码器板的设计工作与pololu微型金属齿轮电机。它的工作原理是在Pololu 42毫米×19毫米轮毂内放置两个红外反射传感器,测量轮辋上12个齿的运动。
电机驱动电路板(L298N)用于控制电机。INx引脚用于引导电机,ENx引脚用于设置电机的速度。
此外,电压调节器用于降低电压从电池到5 V。
算法描述
这个应用笔记包含了正确的墙壁遵循的方法。这是基于通过选择最正确的可能方向来组织方向优先级。如果机器人检测不到右边的墙,它就向右转。如果机器人检测到右边的墙,而前面没有墙,它就向前走。如果机器人的前面和右边有一堵墙,它就会向左转弯。
需要注意的是,机器人刚向右转后就没有墙可以参考了。
因此,“右转”分三步完成。向前走,右转,向前走。
此外,机器人在前进时必须与墙壁保持一定的距离。这可以通过调整一个电机比另一个更快或更慢来实现。
流程图的最终状态如图所示图10.
设计
的GreenPAK设计由两部分组成。这些都是:
- 距离传感器ASM数据的解释/处理
- 状态和电机输出
远距离传感器数据的解释/处理
解释来自距离传感器的数据是很重要的。机器人的动作是根据距离传感器的输出进行深思熟虑的。由于距离传感器是模拟的,我们将使用acmp。通过将传感器的电压与预定的阈值电压进行比较,确定机器人相对于墙壁的位置。
我们将使用3个acmp;
- 检测前壁(ACMP2)
- 检测右壁(ACMP0)
- 保护右壁距离(ACMP1)
由于ACMP0和ACMP1依赖于相同的距离传感器,因此我们对两个比较器使用相同的IN+源。给ACMP1 25mv的迟滞可以防止信号的恒定变化。
我们可以根据acmp的输出来确定方向信号。如图所示的电路图12描述中概述的流程图图7.
同样,指示机器人相对于右壁位置的电路如图所示图13.
ASM状态和电机输出
这个应用程序利用异步状态机(ASM)来控制机器人。ASM中有8个状态,每个状态有8个输出。输出RAM可用来调整这些输出。各州如下:
- 开始
- 控制
- 离开右边的墙
- 靠近右边的墙
- 向左转
- 移动Forward-1
- 向右转
- 移动Forward-2
这些状态决定了电机驱动器的输出并指导机器人。有3个输出GreenPAK每个马达。两个决定电机的方向,另一个输出决定电机的速度。根据这些输出电机的运动情况如下表所示:
三机一体 |
IN2 |
定义 |
---|---|---|
0 |
0 |
汽车仍掉 |
0 |
1 |
电机顺时针旋转 |
1 |
0 |
电机逆时针旋转 |
1 |
1 |
汽车仍掉 |
脉宽调制 |
定义 |
---|---|
0 |
高速 |
1 |
低速 |
M1-A |
M1-B |
m2 |
M2-B |
运动 |
---|---|---|---|---|
0 |
0 |
0 |
0 |
停止 |
1 |
0 |
0 |
1 |
前进 |
0 |
1 |
1 |
0 |
向后移动 |
1 |
0 |
1 |
0 |
向右转 |
0 |
1 |
0 |
1 |
向左转 |
M1-A |
M1-B |
m2 |
M2-B |
PWMA |
PWMB |
运动 |
---|---|---|---|---|---|---|
1 |
0 |
0 |
1 |
0 |
1 |
靠近右边的墙 |
1 |
0 |
0 |
1 |
1 |
0 |
离开右边的墙 |
ASM输出RAM是从这些表派生出来的。它显示在图14:
除了电机驱动器,还有两个输出。这些输出进入相应的延迟块,使机器人能够移动一定的距离。
这些延迟块的输出也连接到ASM的输入端。
pwm被用来调节电机的速度。ASM被用来确定什么PWM电机将运行。PWMA-S和PWMB-S信号被设置为mux选择位。
结论
在这个项目中,我们使用了对话框GreenPAKSLG46531V创造了一个解迷宫机器人。我们解释来自多个传感器的数据,用GreenPAK然后用电机驱动器驱动电机。一般来说,微处理器用于这类项目,但是GreenPAK与MCU相比,它有几个优点:体积更小,价格更便宜,可以比MCU更快地处理传感器输出。