主要内容

转动机器人使用液晶按钮按下和显示陀螺仪读数液晶屏幕

这个示例向您展示了如何使用基于ARM cortex的VEX微控制器的万博1manbetxSimul万博1manbetxink编码器支持包来创建一个应用程序,在该应用程序中,一个4轮机器人按用户从LCD屏幕上显示的选项中选择的角度转动。VEX液晶屏显示3个角度值。用户可以通过按相应的LCD按键来选择一个角度或两个或多个角度的组合。因此,机器人按规定的角度逆时针方向旋转。

介绍

万博1manbetxSimul万博1manbetxink Coder Support Package for ARM Cortex-based VEX微控制器的Simulink Coder Support Package烦恼单片机。

在本例中,您将学习如何使用VEX Gyroscope和VEX LCD Display创建一个应用程序,其中机器人按用户选择的角度转动。在这个应用程序中,液晶屏显示三个角度45,90和120对应于左边,中间和右边液晶按钮。用户可以通过按相应的液晶屏按钮来选择三个角度中的任意一个,也可以通过同时按相应的按钮来选择两个或多个角度的组合。4轮机器人沿逆时针方向旋转,直到用户指定的转角完成。为了使机器人转弯,左右电机都有速度输入,使电机向相反的方向旋转。下图说明了这个应用程序。

先决条件

所需的硬件

要运行这个例子,你需要以下硬件:

  • 基于ARM cortex的VEX微控制器

  • VEX偏航率陀螺仪传感器

  • 烦恼液晶显示器

  • 标准直流电机(2)和电机控制器29 (2)

  • 4轮机器人平台

  • 电话电缆

  • 串行y电缆

  • VEXnet手柄和VEXnet按键

  • 7.2 v的电池

  • USB类型A-Male转A-Male线缆

下图是一个带有陀螺仪传感器和液晶显示器的4轮机器人平台,两个直流电机连接在两个轮子上,并连接在VEX微控制器上。

任务1 -硬件连接

1.两个直流电机驱动机器人平台上的左右两组轮子。电机安装在机器人上,电机轴朝外,以便将车轮连接到轴上。将左直流电机和右直流电机分别连接到VEX单片机上的电机引脚4和电机引脚3。使用电动机控制器29连接电机引线和VEX微控制器上的引脚之间的连接。按第4页的描述连接它们猥微控制器和VEXnet操纵杆用户指南。

2.将VEX陀螺仪传感器安装在前面的4轮机器人平台的中心。连接一个3线电缆到陀螺仪,使电缆的黑色线是插入到附近的引脚'B'打印在传感器如下图所示。将3线电缆的另一端插入VEX微控制器的模拟端口1。

3.将VEX液晶显示器安装在4轮机器人平台上。将y串口线的3引脚端插入LCD显示屏,黄色线连接LCD模块的RX口,白色线连接LCD模块的TX口。将串口y线的4引脚端插入VEX微控制器的UART1端口。

4.将电池电源连接到VEX微控制器。

任务2 -建立和下载一个Simulink模型来校准陀螺仪传感万博1manbetx器

在本任务中,您将学习如何使用陀螺仪模块,并校准陀螺仪传感万博1manbetx器,使其读数尽可能准确。

VEX陀螺仪传感器输出受温度、机械振动、电机磁场等外部因素的影响。陀螺仪输出的这种变化称为漂移。陀螺仪值的漂移可以修正,传感器可以校准提供准确的读数使用校准乘数参数的陀螺仪块。for的默认值为196校准乘数用于校准陀螺仪。这个值可能需要为使用的陀螺仪增加或减少,以便读数准确。在本任务中,您将学习如何校准陀螺仪传感器,使其角度输出与机器人的物理转角匹配。4轮机器人在陀螺仪读数的帮助下,逆时针方向旋转90度。基于机器人如何旋转,即超过90度或小于90度,校准乘数参数增加或减少,直到陀螺仪输出角度与机器人所做的物理转角匹配。

open_system (“vexarmcortex_gyrocalibrate”);

1.打开预先配置的模型

2.注意Simulink模型中的以下几点。万博1manbetx

  • 参数的值模拟端口陀螺仪块是根据硬件连接来选择的任务1.的参数校准乘数陀螺仪Block的默认值是196。的参数汽车频道离开汽车块被选择为“4”,为正确的运动块为'3'根据硬件连接任务1.类似地,参数的值UART港口液晶屏被选为'UART1'。

  • 在这个模型中,输出陀螺仪控件的输入液晶屏块。这将导致陀螺仪块输出将显示在LCD显示屏上。的输出陀螺仪逆时针旋转时块体增大,顺时针旋转时块体减小。

  • 的输出陀螺仪块也连接到输入端比较恒定的块的恒定值参数值为“90”。这将执行一个比较,以检查陀螺仪读数是否小于或等于90。的输出比较恒定的只要陀螺仪读数小于或等于90块将为1。

  • 的产物比较恒定的常数块输出作为直流电机的速度输入。当左右电机连接到机器人平台上时,它们的轴向外,为两个电机提供相同符号的速度输入,使它们向相反的方向旋转,使机器人转向。因此,机器人将逆时针方向旋转,直到陀螺仪读数小于等于90。请注意,陀螺仪顺时针旋转时块输出减少。若要使机器人顺时针旋转,请修改参数值操作符到'>='和参数恒定值“-90”比较恒定的阻塞并改变速度输入到直流电机的标志。

3.在Simuli万博1manbetxnk模型中,转到建模选项卡并单击模型设置

4.配置参数页面打开,导航到硬件实现窗格。

  • 设置硬件板基于ARM cortex的VEX微控制器。

5.配置参数页面,导航到解算器窗格,并设置解算器离散(无连续状态)

6.点击好吧

7.在建立模型之前,请确保用USB a - male到a - male电缆将VEX微控制器连接到您的计算机。

8.在Simuli万博1manbetxnk模型中,转到硬件选项卡并单击构建、部署和启动.该模型现在将部署到VEX微控制器中。

9.将USB线缆从VEX微控制器上断开,将VEXnet密钥连接到VEX微控制器上。将机器人放在一张画有直角的纸上,如下图所示。

10.打开猥傀微控制器和手柄,配对猥傀按键。为了正确初始化陀螺仪传感器,打开微控制器后不要移动机器人。一旦配对了VEXnet钥匙,机器人就开始逆时针方向转动。液晶显示器显示输出陀螺仪块。当机器人停止转动时,观察液晶显示屏上显示的数值,测量机器人转动的物理角度。

11.如果机器人所作的物理转角小于从液晶显示屏上观察到的陀螺仪读数,则减小该参数的值校准乘数陀螺仪块。如果机器人所做的物理转角大于陀螺仪所读取的,则增加该参数的值校准乘数

12.重复步骤711有不同的值校准乘数参数直到陀螺仪读数尽可能接近机器人的物理转弯,在本例中为90度。

13.的值校准乘数参数后步骤12就完成了。此值将用于任务3在下面。

任务3 -建立和下载的Simulink模型,以旋转机器人选定的角万博1manbetx度

在本任务中,您将学习如何使用液晶显示器显示机器人的转弯角度,并通过按适当的液晶按钮选择所需的转弯角度。您还将学习如何使用陀螺仪按指定的角度转动机器人。

open_system (“vexarmcortex_gyro_lcd”);

1.打开预先配置的模型

2.双击陀螺仪块在模型中查看其块参数。修改参数值校准乘数获得的任务2

3.注意Simulink模型中的以下几点。万博1manbetx

  • 参数的值模拟端口陀螺仪块是根据硬件连接来选择的任务1.这三个液晶显示器按钮模型中的块的参数值分别为'Left', 'Center'和'Right'按钮.的液晶显示器按钮块和液晶屏块的启用子系统有'UART1'的参数值UART港口按照硬件连接的方式任务1.同样,参数汽车频道离开汽车块被选择为“4”,为正确的运动块为“3”。

  • 这三个的输出液晶显示器按钮对应于三个按钮的块作为输入提供给Stateflow图表.状态流图实现了根据不同状态下按下的按钮输出旋转角度的逻辑。状态流图表的默认输出“Angle”是零。它还包括当所需的转弯度完成时将转弯角度重置为零的逻辑。输出转弯角度或重置转弯角度的逻辑实现如下图所示。

看到从状态流开始来介绍如何在statflow中实现状态。

  • 陀螺仪块输出与输出的“角度”比较Stateflow图使用关系操作符带有“<”操作符的块。默认情况下,比较输出为零,因为默认陀螺仪读数和默认状态流程图输出的值为零。只要‘角度’值非零,陀螺仪读数小于‘角度’值,比较输出为1。比较输出用于以下目的:

  • 比较输出乘以a常数值为“30”的块为直流电机提供速度输入。因此,只要陀螺仪读数小于状态流程图输出,直流电机就提供非零速度输入。当左右电机面向外连接到机器人平台上时,为两个电机提供相同符号的速度输入,使它们向相反的方向旋转,导致机器人转向。

  • 比较输出还用于启用或禁用启用子系统命名为启用子系统显示角度选项使子系统显示选定的角度和陀螺值启用子系统是按启用输入为正值的时间步长执行的子系统。使子系统显示选定的角度和陀螺值在比较输出为1时启用。比较输出使用NOT逻辑运算符进行反转,这个反转的值使子系统能够在比较输出为零时显示角度选项。请参考创建已启用的子系统有关已启用子系统的更多信息。

  • 反向比较输出被用作外部信号来复位陀螺仪块的输出。这导致陀螺仪读数复位时,没有选择的角度通过按下LCD按钮或选择的角度的转弯是完成。

  • 当选择的旋转角度完成时,比较输出从1变到0。方法检测比较值中的此更改检测减少块,其输出作为statflow图的“Control”输入提供。“Control”输入用于返回到statflow图表中的初始默认状态,从而将输出“Angle”重置为零。

  • 复位信号到陀螺仪块和“控制”输入到状态流图作为输入通过单位延迟块来避免代数循环。当块输出依赖于输入值并且输入直接控制输出值时,就会发生代数循环。看到代数循环有关代数循环的详细信息。

4.执行步骤3 ~ 8任务2在VEX单片机上建立并下载这个Simulink模型。万博1manbetx

5.将USB线缆从VEX微控制器上断开,将VEXnet密钥连接到VEX微控制器上。把机器人放在地上。打开猥傀微控制器和手柄,配对猥傀按键。VEXnet密钥配对过程中,请勿移动机器人。一旦配对的VEXnet键,LCD屏幕显示旋转角度选项。按下相应的液晶显示按钮选择所需的角度。然后你会观察到机器人开始转动,一旦指定的转动角度完成,机器人就停止转动。