Feature Request: Individual Axes Motor Disable#459
注释
|
步进电机是否在禁用时移动到最近的整步位置? |
|
目前,它转到最接近目标的任何微步。如果步空闲延迟小于 255,将在运动停止后的微秒数发生禁用。 |
|
一种方法是将$StepperIdleTime与新的$StepperIdleMask设置结合起来。一切都会保持不变,除非$StepperIdleTime过期,只有掩码中的轴会禁用。 如果您更改$StepperIdleMask,它将更改禁用的当前状态,因此它可用于按需禁用轴。所有轴都会像当前一样在每次移动时自动重新启用。 优点是对代码的影响较小,性能与传统 Grbl 相似。 |
I do not see how the stepper motor will remain at the nearest micro-step position without power. The motor will attempt to allign poles and fall back to the nearest pole pair ( full-step position ) when power is cut. You can feel this motion when turning the shaft by hand. Around page 5 This should allow the motor to retain its position. |
|
@ithinkido Most of us know how motors work. This is how Grbl currently works. Most people do not set $StepperIdleTime to values other than 255. Some machines with lead screws may hold their position. The previous microstep position is resumed once motion starts again. Some people want to completely disable a motor. This issue is discussing how to do that. 电机类功能是一个单独的主题,可以添加高级功能,如怠速转矩控制和模拟 vref 控制。 |
|
当您完全禁用电机时,位置取决于机器。在某些机器上,它可能移动得很少(如果有的话)。在其他情况下,例如滚珠丝杠 Z 轴,主轴可能会掉落到工件或工作台上。当电机被禁用时,用户通常也很容易手动重新定位,而软件无法知道。 考虑到所有这些,谨慎的假设是,当电机被禁用时,位置不再可靠。 |
|
这有哪些用例? |
|
人们想要手动移动轴。我自己在皮带驱动机器上做过很多次。 I have also used machines with encoders in manual mode with the axes positions updating. |
|
Here is a concrete proposal for how the user interface for motor disable could work. Note that this does not address the details of position management and machine state, it only addresses that command that you use to tell Grbl to initiate the disabling. New $ command: $motor/disable=motor or axis list motor or axis list is a case-insensitive sequence of letters, digits, or the comma (,) character, interpreted as follows: Motor numbers are defined for individual boards; there is no implied correspondence between motor numbers and axes. In most cases, users will disable by axis. Disabling by motor number is provided for unusual cases. Here are some examples: $motor/disable=XZ – 禁用 X 轴和 Z 轴的所有电机 |
|
电机禁用的另一个用例是双电机轴的手动平方。各种用例是特定于机器的,因此很难一概而论。 |


Devt 分支支持发送到每个电机的单独信号以启用/禁用电机。目前,如果有多个信号,它们都会像标准的全局禁用信号一样一起起作用。这只是暂时的,直到有命令来控制它们。
关于这应该如何工作有什么建议吗?如何禁用轴?当一个轴被禁用然后你移动时会发生什么?移动之后会发生什么?它会产生同步丢失警报吗?“步怠速延迟”是如何发挥作用的?
请不要建议 Marlin 或 Reprap 命令。