开源改变世界

FR: ulticontroller: 流量调整步骤 #224

推推 grbl 3年前 (2023-02-05) 262次浏览
关闭
jgeerds-zz 打开了这个问题 2012 年 8 月 24 日 · 24条评论
关闭

FR: ulticontroller: 流量调整步骤#224

jgeerds-zz 打开了这个问题 2012 年 8 月 24 日 · 24条评论

评论

FR: ulticontroller: 流量调整步骤 #224

请将 ulticontroller 中的 e 步/流量调整步从 1/100 步更改为 1/10,或者更好的 1/1 步。
为了补偿 ultimaker 上不断变化的直径,即从 2.85 到 2.70,需要在 e 步长中改变大约 50 个单位,并且需要大约 2 个年龄才能达到 1/100 编码器步长。

FR: ulticontroller: 流量调整步骤 #224
作者

没有什么?

FR: ulticontroller: 流量调整步骤 #224

我可能是错的,但这听起来像是您在校准机器(和固件)时所做的事情。

FR: ulticontroller: 流量调整步骤 #224
作者

市场上的许多灯丝直径都有一些变化,调整打印量的最简单方法是流速,在 1/100 步长时会很痛苦。

FR: ulticontroller: 流量调整步骤 #224
贡献者

我通常给这种编码器加上一个简单的惯性,这样慢转=微调,快转=粗调,更快=更粗。

这很容易通过基于时间的惯性来完成。转动编码器向标量 A 添加或减去一个成本常数。然后独立于事件 A 定期添加到要设置的值(如果可能,按时间归一化)。
此外,A 每秒乘以 0.9(例如,这里再次说明,尽可能归一化)。

最好的时间是在有可用的时间自动收报机时,或者至少是在轮询以某种固定的时间间隔发生时。如果它是中断并且没有时间可用,那就更难了

例如,我们在微波炉上看到了这一点(尽管它们通常采用阈值代替,这可能是一种替代方法:每秒的点击次数定义了数量)

FR: ulticontroller: 流量调整步骤 #224

我当然也想看到这个。这也适用于其他事情,例如在床上移动头部。

我在 Ultimaker Google Group 上关于该主题的原始帖子:https ://groups.google.com/forum/?fromgroups=#!topic/ultimaker/8fAUX_wfb9o

FR: ulticontroller: 流量调整步骤 #224
贡献者

我目前正在重新设计所有 LCD 菜单代码,以使其更易于更改并增加灵活性和一致性。

FR: ulticontroller: 流量调整步骤 #224
贡献者

在 2012/11/13 11:22, daid 写道:

我目前正在重新设计所有 LCD 菜单代码,以使其更易于
更改并增加灵活性和一致性。

我认为如果你先说你想
改变什么是一件好事,并且可以在你做之前讨论它。我个人从头开始重写
了三遍。并且知道很多死胡同……

问候,
伯恩哈德

FR: ulticontroller: 流量调整步骤 #224
贡献者

功能性的 我想要的东西和现在的差不多。但是具有更清晰的代码结构。更好地分离菜单逻辑和 LCD 逻辑。我知道你在制作原始代码时遇到的一些麻烦,我和 Joris 有简短的联系。

FR: ulticontroller: 流量调整步骤 #224
贡献者

在 2012/11/13 11:54, daid 写道:

功能性的 我想要的东西和现在的差不多。但是具有
更清晰的代码结构。更好地分离菜单逻辑和 LCD
逻辑。我知道你在制作
原始代码时遇到的一些麻烦,我和 Joris 有简短的联系。

我知道。我相信你。问题是您希望如何获得
更简洁的代码?我不是生气或守卫或任何东西,我真的很想
知道……
我最初有一个很好的类代码方法。它失败了,
因为大多数部分都存储在 RAM 中并导致内存溢出。
此外,我目前正在研究将 LCD 添加到 4pi 固件中。
问候,
伯恩哈德

FR: ulticontroller: 流量调整步骤 #224
贡献者

我还在研究细节。一旦我有一些我足够喜欢的功能,我会尽快通知你。与往常一样,尽量减少 RAM 使用量很重要。而且我没有使用类,因为类会导致“this”指针引用无处不在,这会使代码膨胀很多。

FR: ulticontroller: 流量调整步骤 #224
作者

当你完全重新设计 LCD 菜单时(这是一件好事),你能不能只用流程步骤做这个小修复,作为新菜单完成之前的快速权宜之计?

FR: ulticontroller: 流量调整步骤 #224
贡献者

我可以做一个:

#if DEFAULT_STEPS_PER_E > 100
做整步
#else
做 0.01 步
#endif

FR: ulticontroller: 流量调整步骤 #224
贡献者

我建议将其替换为“流量覆盖”百分比。我会在每次点击时调整 0.5% 吗?

-乔恩

从我的iPhone发送

2012 年 11 月 13 日凌晨 5:55,daid notifications@github.com写道:

我可以做一个:

#if DEFAULT_STEPS_PER_E > 100
做整步
#else
做 0.01 步
#endif


直接回复此电子邮件或在 GitHub 上查看。

FR: ulticontroller: 流量调整步骤 #224
作者

是的,半个百分点的步骤是可以接受的

FR: ulticontroller: 流量调整步骤 #224
贡献者

目前有一个“extrudemultiply”,它是以整数百分比完成的,你可以用“M221 Sxxx”设置它,我们可以把它绑定到流菜单项上吗?

FR: ulticontroller: 流量调整步骤 #224
贡献者

不,因为它不一样。流量只是细丝厚度校正,
而不是构建速度校正。

伯恩哈德

在 2012 年 11 月 14 日星期三上午 10:52,daid notifications@github.com写道:

目前有一个“extrudemultiply”以整数
百分比完成,你可以用“M221 Sxxx”设置它,我们可以将它绑定到
流菜单项吗?


直接回复此电子邮件或在 GitHub 上查看它 https://github.com/ErikZalm/Marlin/issues/224#issuecomment-10360568。

FR: ulticontroller: 流量调整步骤 #224
贡献者

M221 不是 M220 伯纳德。

FR: ulticontroller: 流量调整步骤 #224
作者

我认为 M221 和修改 E 步或多或少是等效的,回缩速度以及系统如何通过 M220 对速度变化做出反应可能会有细微差别,但总体而言我认为这些可以忽略不计。

那么是的,我们可以通过百分比进行流量控制吗?

FR: ulticontroller: 流量调整步骤 #224
作者

大卫:关于这个问题的修复,甚至是新的 LCD 菜单代码,有什么消息吗?

FR: ulticontroller: 流量调整步骤 #224
贡献者

首先是好消息,我的新菜单代码正在运行,非常好。它感觉更一致,并且有一些错误修复(比如你在 SD 菜单中移动太快而导致混乱的问题)
更多好消息,我目前正在 Ultimaker HQ 的一些 Ultimakers 上测试它。
更好的消息是,我已经开始合并我为清理代码所做的一些更改,以准备我的其他更改。

现在,对于“坏”消息。我还更改了温度测量代码以将其清理干净。而我的新 LCD 代码取决于此。但是温度测量是一段非常关键的代码,所以我想测试很多,因为它也是安全关键的。

好消息是,它准备支持更多显示类型,例如图形 LCD。由于“视觉”实现和菜单结构是分开的。自定义也更容易,例如,准备菜单如下所示:

    START_MENU();
    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
    MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
    MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
    //MENU_ITEM(gcode, MSG_SET_ORIGIN, PSTR("G92 X0 Y0 Z0"));
    MENU_ITEM(function, MSG_PREHEAT_PLA, lcd_preheat_pla);
    MENU_ITEM(function, MSG_PREHEAT_ABS, lcd_preheat_abs);
    MENU_ITEM(gcode, MSG_COOLDOWN, PSTR("M104 S0\nM140 S0"));
    MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu);
    END_MENU();

或者另一个例子,配置一些设置:

    MENU_ITEM_EDIT(float3, MSG_VMAX MSG_X, &max_feedrate[X_AXIS], 1, 999);
    MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Y, &max_feedrate[Y_AXIS], 1, 999);
    MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Z, &max_feedrate[Z_AXIS], 1, 999);
    MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &max_feedrate[E_AXIS], 1, 999);

如果您愿意,我可以将此代码的副本发送给您。我相信它可以毫无问题地工作。但可以肯定的是,我正在尽可能小的步骤中合并它。但是有 2 个大的合并传入,第一个是新的温度代码。然后是新的LCD代码。

FR: ulticontroller: 流量调整步骤 #224
贡献者

哦,是的,它以百分比调整流量,“停止 SD 打印”立即生效,而不是等待一段时间。

FR: ulticontroller: 流量调整步骤 #224
贡献者

gcode:添加 M81 以在打印机具有自杀模式时关闭打印机的不错功能

FR: ulticontroller: 流量调整步骤 #224
贡献者

自杀模式的问题是当前代码不确定您是否拥有它。许多主板设置为其定义了一个引脚,但这并不意味着它实际上已在其余硬件上实现。

但是您可以使用这个新代码轻松地自己添加它。