使用代码保护 Rev 10 V5 智能电机 (11W)

这仅适用于 V5 智能电机 (11W) 的 Rev 10。  要了解更多信息,请访问 rev10rma.vex.com

哪些命令需要保护

我们发现了一个可能导致这些电机出现故障的问题。 当电机被命令以高于 11 伏的电压运行,然后另一个命令被发送到电机以相反方向转动时,问题就会出现。 该命令序列会导致电压尖峰,从而损坏电机 PC 板上的组件。

大多数电机命令使用电机的内部控制逻辑,该逻辑不允许电机达到 11 伏的输出功率。 “motor.spinto(...)”和“motor.spinfor(...)”等电机命令使用 PID 来维持速度,并且不允许电机运行在 11 伏以上。 唯一可用于向电机发送特定电压命令的命令是“motor.spin(...)”。 motor.spin() 有多个版本:

电压模式命令示例

 设置电机电压的 motor.spin() 的具体版本是:

C++:

电机 m1 = 电机(PORT1,ratio18_1, false);

m1.spin(正向, commandedVolts, volt);

Python:

m1 = 电机(Ports.PORT1, GearSetting.RATIO_18_1, False)

m1.spin(FORWARD, commandedVolts, VOLT)

保护电压模式命令

采用电压单位的 motor.spin() 版本是唯一可以使电机以 11 伏或以上电压运行的命令。 您需要确保仅将小于 11.0 的值传递给此函数。 例子:

C++
if( commandedVolts >= 11.0) {
commandedVolts = 10.9;
}
else if( commandedVolts <= -11.0) {
commandedVolts = -10.9;
}
m1.spin(正向,commandVolts,伏特);

Python
if( commandedVolts >= 11.0 ):
commandedVolts = 10.9
elif( commandedVolts <= -11.0 ):
commandedVolts = -10.9
m1 。自旋(正向,命令伏特,伏特)

如果您在旋转命令中使用电压单位以外的任何单位,则无需执行此命令值检查。 确保您的 Rev 10 电机永远不会超过 11 伏或更高电压,这样可以防止电机出现故障。 

C++ 命令参考

/**
* @brief 打开电机,并按指定方向旋转。
* @paramdir 电机旋转方向。
*/
voidspin( DirectionTypedir );

/**
* @brief 打开电机并以指定方向和
* 指定速度旋转。
* @paramdir 电机旋转方向。
* @param力度 设置力度大小。
* @param单位 速度值的测量单位。
*/
旋转DirectionTypeDir94 97 VelocityVelocityUnitsUnit Unit
自旋
118 方向类型方向 121
速度,百分比单位单位 ){旋转( 方向, 速度, static_cast<速度单位>(单位) );
}


/**
* @brief 打开电机并以指定方向和指定电压旋转它。
*

* @paramdir 电机旋转方向。
* @param电压 设置电压值。
* @param单位 电压值的测量单位。
*/

无效自旋( 方向类型方向, 电压, 电压单位单位 );

 

Python 命令参考

defspin(self, 方向: DirectionType.DirectionType, *args, **kwargs):
'''### 使用提供的参数旋转电机

#### 参数:
方向:旋转电机的方向,正向或反向
速度(可选):旋转电机使用此速度,如果未提供,将使用 set_velocity 设置的默认
速度。
单位(可选):提供的速度单位,默认为 RPM

#### 返回:
None

#### 示例:
# 旋转电机正转用 set_velocity 设置速度\\
motor1.spin(FORWARD)\n

# 使电机以 50 rpm 的速度向前旋转\\
motor1.spin(FORWARD, 50)\n

# 以负速度旋转,即。向后\\
motor1.spin(FORWARD, -20)\n

# 旋转电机以 100% 速度向前旋转\\
motor1.spin(FORWARD, 100, PERCENT)\n

# 旋转电机以 50 rpm 的速度正转\\
motor1.spin(FORWARD, 50, RPM)\n

# 旋转电机以 360 dps 的速度正转\\
motor1.spin(FORWARD, 360.0, VelocityUnits.DPS)

'''


 



For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: