SDK电机#
SDK提供了几种控制和与电机通信的方法,以及一些可以轻松访问的隐藏方法。
一般解释#
电机控制器#
所有电机端口都由所谓的H桥电机控制器控制,该电路可用于改变输出电压以及电压的标志(负或正)。通过DC的负电压使电机反转,而正电机将使电机前进。SDK电机功率(从-1到1)表示通过电机端口输出的输入电压的乘数。不同的电压通过PWM创建,其中端口快速打开和关闭以创建较低的平均电压。
此外,可以配置电机的零功率行为,即电机在没有施加电源时的行为。在FLOAT模式下,电机控制器简单地关闭,提供最小的附加电阻。在BRAKE模式下,两个电机引线在内部一起短路。由于所有DC有刷电机在轴旋转时都产生电力的固有特性,短路引线会导致反向功率,从而快速停止电机并抵抗外力。
备注
电机控制器使用输入电压,这意味着在13伏电池上,将功率设置为1将产生13伏的输出电压。类似地,在11伏电池上,功率为1将产生11伏的输出电压。
电机编码器#
重要
在处理正交编码器时,没有真正标准化的术语。在这里,我们使用术语“count”和“tick”来表示正交波中的单个上升或下降动作。你可能还会看到一些数据表列出了“pulse”,它可以表示从1个“count”到4个“count”的任何内容。阅读数据表时要小心!
FTC® 编码器使用双线正交格式传输相对编码器信息。在正交格式中,有两根信号线 A 和 B。移动时,A 和 B 产生相距 90 度的方波,即一个方波从另一个方波的一半处开始,到另一个方波的一半处结束。向一个方向移动时,A 线方波领先于 B 线方波,向另一个方向移动时,B 线方波领先于 A 线方波。这两个波通过 XOR 组合产生输出波,其中每个上升和下降动作为一个 “tick”,波速越快,编码器的移动速度越快。
REV集线器通过使用5值“环形缓冲区(ring buffer)”来计算脉冲和速度,该缓冲区每10毫秒添加一个新值。然后使用这5个值来计算当前速度。
警告
建议将正交编码器连接到特殊的硬件解码端口,以允许正确读取它们。扩展集线器包含用于读取正交编码器的特殊硬件,但由于只有其中两个控制器,因此其中两个引脚连接在“软件”中(端口在软件中而不是在硬件中解码)。实际上,这意味着端口0和3,连接到特殊正交端口的两个端口,将始终准确读取。端口1和2连接到不太准确的“软件”端口,这意味着使用高CPR编码器(每转产生超过4000个计数的编码器,例如REV直通孔编码器或Talon SRX编码器),它们可以“失步”和漂移。