开源改变世界

添加了伺服支持(可切换) #153

推推 grbl 3年前 (2023-01-21) 126次浏览

对话

添加了伺服支持(可切换) #153

嗨桑尼

我已经实现了对伺服而不是主轴的支持(对于 EggBot)。#define SPINDLE_IS_SERVO它可以在 config.h 中切换。
这在 cpu_map.h 中定义了 1/1024 (61Hz) 的预分频器和 0.5 到 2.5ms 之间的脉冲持续时间的最小/最大 PWM 值。
在 spindle_control.c 中,我修改了函数 spindle_compute_pwm_value:如果定义了 SPINDLE_IS_SERVO,则不要计算主轴倍率并使用最小 PWM 而不是 stop_spindle。

我已经用 EggBot 和 LaserWeb3 和 4 对其进行了测试。

希望这对你有用。

问候克劳迪奥

添加了伺服支持(可切换) #153
贡献者

@cprezzi:谢谢克劳迪奥!看起来漂亮干净。我会在周末测试它。

添加了伺服支持(可切换) #153
贡献者

@cprezzi: 周末没能解决这个问题,但确实有一个问题。这段代码是你的 eggbot 伺服器特有的吗?如果是这样,需要什么来提供更通用和通用的伺服支持?我对伺服系统及其需求没有任何经验。

添加了伺服支持(可切换) #153

@chamnit看起来它适用于大多数伺服系统,但由于计时器的限制它会相当粗糙。常规伺服系统需要~0.5ms 和~2.5ms 之间的脉冲,每~20ms 重复一次以设置位置

添加了伺服支持(可切换) #153
作者

@chamnit这应该适用于大多数 rc servos。
他们通常接受 0.5 到 2.5ms 的脉冲持续时间和 ~50Hz 的 PWM 频率。我们可以使用 1/1024 的预分频器获得的最接近频率是 61Hz(=16ms 周期)。这在 rc servos 的规格范围内。有关详细信息,请参见:https : //en.wikipedia.org/wiki/Servo_control。

为了限制伺服运动的范围,让用户也定义 PWM 的最小值和最大值可能是有意义的,但这可能需要更多解释(计算示例)。

可选:使用配置参数反转伺服方向可能是一个不错的选择。

添加了伺服支持(可切换) #153

是否有合并更改的时间表?我的 4xidraw(Axidraw-clone,http: //www.thingiverse.com/thing:1444216 )需要它。

添加了伺服支持(可切换) #153
贡献者

@Mad-Onion:我的错。完全忘记了这一点。我很快就会开始。不能说具体什么时候。无论我划掉多少事情,我的春季亲爱的清单似乎都会变长。

添加了伺服支持(可切换) #153

这对于RC电机和ESC作为主轴也很有用,这非常有用并且已经在做。我认为这将是一个很棒的功能。

添加了伺服支持(可切换) #153
科利亚·温德勒 评论了 2017 年 8 月 6 日  

该死的..应该在做完全相同的事情之前检查这里..

我使用了这些值:
min 8 (512us)
max 39 (2497us)
你使用较低数字的任何原因?

你的定义默认是激活的,故意的?
在 spindle_controllonly 底部的变化(spindle_compute_pwm_value)真的很重要,对吗?

?

添加了伺服支持(可切换) #153

嗨,克劳迪娅,你能看一看并告诉我你的想法吗:
#245
Kolja

添加了伺服支持(可切换) #153

@cprezzi是否考虑过在每次更改伺服位置的调用后添加延迟?我看到有时由于高进给和“慢”伺服速度而没有完全绘制线条。

添加了伺服支持(可切换) #153
 评论了 2017 年 8 月 27 日 通过电子邮件
添加了伺服支持(可切换) #153

@cprezzi叉子的伺服方向可以反转吗?

添加了伺服支持(可切换) #153
作者

@neilferreri不幸的是没有。我们只是机械地交换了伺服。

添加了伺服支持(可切换) #153

不幸的是没有。我们只是机械地交换了伺服。

谢谢回复。翻转伺服器现在不是一个选项,所以我必须解决它。
再次感谢。

添加了伺服支持(可切换) #153

+1 对此我很乐意与 ugs cli 一起获得伺服支持。
@cprezzi有没有办法将核心更新合并到您的分支?

添加了伺服支持(可切换) #153

如果有人感兴趣,我已经将 DWiskow 的伺服支持添加到最新版本的 grbl 1.1h
https://github.com/lavolpecheprogramma/grbl-1-1h-servo
它已准备好在 Arduino 上闪烁以进行笔绘图。
非常感谢你们的工作!

添加了伺服支持(可切换) #153
作者

@lavolpecheprogramma

如果有人感兴趣,我已经将 DWiskow 的伺服支持添加到最新版本的 grbl 1.1h
https://github.com/lavolpecheprogramma/grbl-1-1h-servo
它已准备好在 Arduino 上闪烁以进行笔绘图。
非常感谢你们的工作!

你为什么不从 gnea/grbl 的一个分支开始,只是做你的改变?相反,您复制了整个代码,因此没有人可以复制您的代码。这是错误的做法,因为它没有记录原始代码的来源以及您更改的内容。

从叉子开始有很多优点:

  1. 每个人都可以看到代码的来源以及您所做的更改。
  2. 您可以轻松地集成上游存储库中的新功能。
  3. 您可以向原始存储库发出拉取请求,以将您的更改添加到上游存储库中,这样可以帮助社区。
添加了伺服支持(可切换) #153

@cprezzi这说得通。我会努力做到的!
同时,如果您愿意,可以检查此提交lavolpecheprogramma/grbl-1-1h-servo@ 21b4532中分组的更改

非常感谢!

添加了伺服支持(可切换) #153

@cprezzi完成 ;) #811
感谢您的提示!
告诉我你怎么看它;)

添加了伺服支持(可切换) #153

@cprezzi完成 ;) #811
感谢您的提示!
告诉我你怎么看它;)

@lavolpecheprogramma
你是通过 S32 = 0/1 fork 同时使用伺服和激光还是只用于伺服?(是否可以通过 grbl 配置切换 PWM 频率?)

添加了伺服支持(可切换) #153

你好@Piramidowy
伺服仅在 S32 为 0 且您在 config.h 中定义 SPINDLE_IS_SERVO 时工作。
在这种情况下,将计算 PWM 以控制舵机,否则它将是默认舵机。

添加了伺服支持(可切换) #153

经过这么长时间,我们将非常感谢重新设置基准、测试和合并。
在为我的笔式绘图仪找到一个好的 gcode 发送器时,我遇到了很多麻烦。UGS 在 Linux 上崩溃,其他人期待 GRBL 1.1 只有 Lightburn 仍然支持 GRBL 0.9。但那是闭源的。

添加了伺服支持(可切换) #153

@cprezzi我在带有 LaserGRBL 应用程序的 elekslaser 绘图仪上使用您的固件 grbl_v1.1f_Servo.hex。
我想在固件运行时使用参数 $32 激光模式启用从 RC 伺服模式切换到激光模式,反之亦然。您认为可以更改代码以实现这种行为吗?

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

成功合并此拉取请求可能会关闭这些问题。

还没有

12人参加
添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153添加了伺服支持(可切换) #153

喜欢 (0)