评论
|
所有与时间相关的东西都是用16MHz时钟完成的。使用20MHz时钟时,速度稍高。我会看看我是否可以对此进行更正。这也是其他时间相关的东西,如停留时间的情况。温度采样等。 速度查找表是通过脚本和手动编辑生成的。 |
|
感谢Erik,不确定Arduino构建是否支持F_CPU,但这是AVR通过Makefile传递CPU频率的方式。 |
|
如果你能解决这个问题就太好了!在我的GEN 7上使用马林的那一刻,我切换到16 MHz,因为我担心在20 MHz下运行它可能会有一些副作用 |
|
您需要为此修复stepper.cpp。F_CPU是在Arduino环境中定义的,因此您可以使用它。 或者,你的饲料率将是20%以上,你可能只是生活。 |
|
planner.cpp中乘数8.388608背后的故事是什么? planner.cpp:块->加速度_速率=(长)((浮点)块->加速度_st * 8.388608); 这看起来很像旧的8.388608 MHz时钟频率上使用的一些旧的ATmega的。 |
|
这是一个神奇的常数。 2^24 /200万 2000000是计时器频率。对于20MHz版本,这一点应有所更改 魔术常数应为2^24 /(2000000 / 8) |
我在哪里可以找到剧本? 此外,这些表中是否存在除时钟以外的任何依赖项? 谢谢 |
|
生成查找表的程序源代码可在此处下载。 http://dl.dropbox.com/u/10560922/make_lt.c 不能保证它在其他设置下工作正常。 |
|
我只是提交了一个拉取请求(https://github.com/ErikZalm/Marlin/pull/106),请求一些补丁,以使更改F_CPU变得更容易。 |
|
bgamari,我还没有看到你的拉请求的变化,所以我道歉,如果你抓住这个特定的项目:加速度被预先缩放,使得步进器中断在计算速率=初始_速率+加速度 *(时间_滴答>>24)时使用中断定时器时间_滴答到秒的正确转换。 该预调整与24沿着>>假设步进器中断所用的基频。 请注意,这不是底层CPU的时钟速度。 然而,如果您试图阐明对定时器频率所做的一些假设,那么您可能也想阐明这一点。 |
|
我已经将我的Melzi升级到20MHz(包括Arduino引导加载程序和板添加),我看到步进控制的问题。当命令轴移动时,轴在距离目的地约5mm处停止,在接下来的4mm中非常缓慢地前进,然后在最后一个mm中非常快速地移动到目的地,有时会跳过。我能够通过调整魔术数字来修复它,就像ErikZalm上面的一些评论已经提到的那样。具体来说,一般修复方法是(请参见https://github.com/ambrop72/Marlin/commit/3b97c1b24b1f1b8052bf6bd939cdcc55c3a27a4e): 数据块加>速度速率=(长)((浮点)数据块加>速度st *(16777216.0 /(F_CPU / 8.0)); |
|
#305 可能是这个问题的结果,如果它仍然是这个问题仍然是一个问题,在马林这些天。 |
|
此问题已自动锁定,因为在关闭后没有任何近期活动。请为相关错误打开一个新问题。 |



我们打算运行我们的Atmega644硬件在20Mhz,以挤出最大的性能,马林V1的任何部分假设一个16Mhz的时钟?例如,速度查找表(顺便说一下,这些是如何生成的)没有显示任何文档,它们是否以任何方式依赖于时钟?
问候
铝