评论
一个想法:拥有 steps/mm 可以在 伯恩哈德 2013 年 11 月 17 日星期日上午 6:21,whosawhatsis notifications@github.com写道:
|
但是浮点乘法与整数(定点)除法相比如何呢? 在 2013 年 11 月 16 日星期六晚上 9:33,Bernhard Kubicek 写道:
|
即使在那里,定点乘法也比定点 伯恩哈德 2013 年 11 月 17 日星期日上午 6:35,whosawhatsis notifications@github.com写道:
|
我也在想,marlin 的定点实现基本上是在 伯恩哈德 在 2013 年 11 月 17 日星期日上午 6:39,Bernhard Kubicek <
|
我一直在做很多数学运算,我希望有人在我尝试替换主要配置变量和重写 Marlin 的深层部分之前检查我的结论,只是为了提交一个充其量会引起争议的拉取请求。
最近,在无数次向 演示为什么英制螺纹对 Z 轴来说不是一个好主意时,因为它迫使您选择带有几个额外小数位的层高以避免舍入错误(对于某些螺纹,您受到以下事实的严重限制大多数选项都有非终止小数),我试图计算 Z 轴的正确步数/毫米设置,并意识到该值本身有一个非终止小数,因此在固件编译之前会出现舍入错误. 我继续计算并意识到这对所有英制螺纹都是正确的,因为公制转换使 127 成为单位/步长值的质因数,而它的倒数(或除 2 或 5 以外的任何其他质因数)是一个不终止的小数. 某些公制音高(如 M4x)也是如此。7 和 M10x1.5。如果 Deltabots 的皮带间距或皮带轮齿数的质因数不是 2 或 5,它们也会遇到同样的问题。
我得出的结论是,固件以单位/步而不是步/单位存储和使用变量更好。除非我们将单位减少到微米(或更好,纳米),这意味着所有这些值都将是小数,但这意味着它们应该都是终止小数,并且它们应该更适合定点计算。这些数字不会那么漂亮,但是可以通过要求用户提供螺杆/皮带螺距、螺杆启动/滑轮齿、电机(本机)步数/转和微步比的单独值,并计算单位/步数来减轻这种情况它们在预处理器中的价值(无论如何我认为这是个好主意)。
想法?