主要内容

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

本示例向您展示了如何使用Simulink®Coder™支持包用于基于金宝appARM®Cortex®的金宝appVEX®微控制器来创建一个应用程序,其中一个四轮机器人根据用户从LCD屏幕上显示的选项中选择的角度旋转。VEX液晶屏显示3个角度值。用户可以通过按相应的LCD按钮选择一个角度或两个或多个角度的组合。据此,机器人按规定的角度逆时针方向旋转。

简介

金宝app基于ARM Cort金宝appex-based VEX微控制器的Simulink Coder支持包,使您可以在ARM上创建和运行Simulink模型烦恼单片机。

在本例中,您将学习如何使用VEX陀螺仪和VEX LCD显示器创建一个应用程序,其中机器人按用户选择的角度旋转。在此应用程序中,LCD屏幕显示三个角度为45、90和120,分别对应于左、中、右LCD按钮。用户可以通过按下相应的LCD按钮选择三个角度中的任意一个,也可以通过同时按下相应的按钮选择两个或多个角度的组合。然后,四轮机器人沿逆时针方向转弯,直到完成用户指定的转弯角度。为了使机器人转弯,左电机和右电机都有速度输入,使电机向相反方向旋转。下图演示了这个应用程序。

先决条件

所需的硬件

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

  • ARM Cortex-based VEX微控制器

  • VEX偏航率陀螺仪传感器

  • VEX液晶显示器

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

  • 四轮机器人平台

  • 电话电缆

  • 串行y电缆

  • VEXnet手柄和VEXnet按键

  • 7.2 v的电池

  • USB型a公转a公电缆

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

任务1 -硬件连接

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

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

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

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

任务2 -建立和下载一个Simulink模型来校准陀螺仪传感金宝app器

在本任务中,您将学习如何使用陀螺仪在Simulink模型金宝app中校准陀螺仪传感器,使其读数尽可能准确。

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

open_system (“vexarmcortex_gyrocalibrate”);

1.打开预先配置的模型(vexarmcortex_gyrocalibrate).

2.在Simulink模型中注意以下几点。金宝app

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

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

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

  • 的乘积与常量比较而且常数块输出作为直流电机的速度输入。由于左右电机分别连接在机器人平台上,其轴向外,为左右电机提供相同符号的速度输入,使其向相反方向旋转,从而使机器人转向。因此,机器人将沿逆时针方向旋转,直到陀螺仪读数小于等于90。注意陀螺仪顺时针旋转时块输出减少。若要使机器人顺时针旋转,可改变参数值操作符到'>='和参数恒定值到'-90'与常量比较切断并改变直流电机的速度输入符号。

3.在Simuli金宝appnk模型中,转到建模选择并单击模型设置

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

  • 设置硬件板ARM Cortex-based VEX微控制器。

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

6.点击好吧

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

8.在Simuli金宝appnk模型中,转到硬件选择并单击构建、部署和启动.该模型现在将部署到VEX微控制器上。

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

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

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

12.重复步骤711使用不同的值校准乘数参数,直到陀螺仪读数尽可能接近机器人的物理转弯,在这种情况下是90度。

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

任务3 -建立和下载Simulink模型,使机器人按选定的角度转金宝app弯

在本任务中,您将学习如何使用LCD显示器显示机器人的转弯角度,并通过按下相应的LCD按钮来选择所需的转弯角度。您还将学习如何使用陀螺仪将机器人旋转指定的度数。

open_system (“vexarmcortex_gyro_lcd”);

1.打开预先配置的模型(vexarmcortex_gyro_lcd).

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

3.在Simulink模型中注意以下几点。金宝app

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

  • 这三个的输出液晶显示器按钮属性的输入提供了与三个按钮对应的块Stateflow图表.Stateflow®图表实现了基于使用各种状态按下的按钮来输出转弯角度的逻辑。状态流图的默认输出“角度”为零。它还包括在完成所需的转弯度时将转弯角度重置为零的逻辑。输出转角或重置转角的逻辑实现如下图所示。

看到从状态流开始以了解如何在statflow中实现状态。

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

  • 比较输出乘以a常数值为“30”的块,为直流电机提供速度输入。因此,直流电动机提供了一个非零速度输入,只要陀螺仪读数小于状态流程图输出。由于左右电机分别与机器人平台朝外连接,为左右电机提供相同符号的速度输入,使其向相反方向旋转,从而使机器人转向。

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

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

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

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

4.执行步骤3至8任务2在VEX微控制器上构建和下载这个Simulink模型。金宝app

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