Deploying to gh-pages from @ Klipper3d/klipper@cba119db3a 🚀
This commit is contained in:
@@ -730,8 +730,8 @@
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#loading-the-default-profile" class="md-nav__link">
|
||||
Loading the default profile
|
||||
<a href="#_13" class="md-nav__link">
|
||||
加载默认配置文件
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -742,14 +742,14 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_13" class="md-nav__link">
|
||||
<a href="#_14" class="md-nav__link">
|
||||
输出
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_14" class="md-nav__link">
|
||||
<a href="#_15" class="md-nav__link">
|
||||
清除网格状态
|
||||
</a>
|
||||
|
||||
@@ -1497,8 +1497,8 @@
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#loading-the-default-profile" class="md-nav__link">
|
||||
Loading the default profile
|
||||
<a href="#_13" class="md-nav__link">
|
||||
加载默认配置文件
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1509,14 +1509,14 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_13" class="md-nav__link">
|
||||
<a href="#_14" class="md-nav__link">
|
||||
输出
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_14" class="md-nav__link">
|
||||
<a href="#_15" class="md-nav__link">
|
||||
清除网格状态
|
||||
</a>
|
||||
|
||||
@@ -1552,7 +1552,7 @@
|
||||
|
||||
|
||||
<h1 id="_1">床网<a class="headerlink" href="#_1" title="Permanent link">¶</a></h1>
|
||||
<p>网床 插件可用于补偿热床表面的不规则性,以保证在打印过程中获得更好的第一层。 需要注意的是,基于软件的校正还不能达到完美的程度,它只能尽可能达到床的形状。网床 也无法补偿机械和电气导致的问题。 如果机器没装好结构歪了或探针不准确,则 网床 模块将无法从探测过程中获得令人满意的结果。</p>
|
||||
<p>床网模块可以用于补偿床面的不规则性,以实现更好的首层均一性。需要注意的是,基于软件的校正无法达到完美的结果,它只能近似地模拟床面的形状。床网模块也无法对机械和电气问题进行补偿。如果一个轴倾斜或探针不准确,那么床网模块将无法从探测过程中获得准确的结果。</p>
|
||||
<p>在进行网格校准之前,需要先校准探针的 Z 偏移。如果使用限位开关进行Z轴定位,也需要对其进行校准。请参阅<a href="Probe_Calibrate.html">探针校准</a>和<a href="Manual_Level.html">手动调平</a>中的 Z_ENDSTOP_CALIBRATE 获取更多信息。</p>
|
||||
<h2 id="_2">基本配置<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<h3 id="_3">矩形床<a class="headerlink" href="#_3" title="Permanent link">¶</a></h3>
|
||||
@@ -1569,7 +1569,7 @@ probe_count: 5, 3
|
||||
<li><code>speed: 120</code> <em>默认值:50</em> 探针在两个点之间移动的速度。</li>
|
||||
<li><code>horizontal_move_z: 5</code> <em>默认值:5</em> 探针前往下一个点之前Z需要抬升的高度。</li>
|
||||
<li><code>mesh_min: 35,6</code> <em>(必须存在)</em>第一个探测的坐标,距离原点最近。该坐标就是探针所在的位置。</li>
|
||||
<li><code>mesh_max: 240,198</code> <em>必须配置</em> 距离原点最远的探测坐标。 这不一定是最后一个探测点,因为探测会以锯齿形的方式运动。 与 <code>mesh_min</code> 一样,这个坐标相对于探针。</li>
|
||||
<li><code>mesh_max: 240, 198</code> <em>必填</em> 探测坐标最远离原点的点。这不一定是最后一个被探测到的点,因为探测过程是以锯齿形进行的。与 <code>mesh_min</code> 一样,此坐标相对于探针位置。</li>
|
||||
<li><code>probe_count: 5, 3</code> <em>默认值:3, 3</em> 每个轴上要探测的点数,指定为 X, Y 整数值。 在本示例中,将沿 X 轴探测 5 个点,沿 Y 轴探测 3 个点,总共探测 15 个点。 请注意,如果您想要一个方形网格,例如 3x3,可以将指定其为一个整数值,比如 <code>probe_count: 3</code>。 请注意,网格需要沿每个轴的最小 probe_count 为3。</li>
|
||||
</ul>
|
||||
<p>下图演示了如何使用 <code>mesh_min</code>、<code>mesh_max</code> 和 <code>probe_count</code> 选项来生成探测点。 箭头表示探测过程的运动方向,从“mesh_min”开始。 图中所示,当探针位于“mesh_min”时,喷嘴将位于 (11, 1),当探针位于“mesh_max”时,喷嘴将位于 (206, 193)。</p>
|
||||
@@ -1589,12 +1589,12 @@ round_probe_count: 5
|
||||
<li><code>mesh_origin: 0, 0</code> <em>默认值:0, 0</em> 探测网格的中心点。 该坐标相对于探针的位置。 虽然默认值为 0,0,但如果希望探测床的边角可以修改该值。 请参阅下图。</li>
|
||||
<li><code>round_probe_count: 5</code> <em>默认值: 5</em> 这是一个整数值,用于限制沿 X 轴和 Y 轴的最大探测点数。 “最大”是指沿网格原点探测的点数。 该值必须是奇数,因为需要探测网格的中心。</li>
|
||||
</ul>
|
||||
<p>下图展示了如何生成探测点。 如您所见,将 <code>mesh_origin</code> 设置为 (-10, 0) 允许我们指定更大的网格半径 85mm。</p>
|
||||
<p>下面的插图展示了如何生成探测点。如您所见,将 <code>mesh_origin</code> 设置为 (-10, 0) 允许我们指定更大的网格半径为 85。</p>
|
||||
<p><img alt="圆形网床基本配置" src="img/bedmesh_round_basic.svg" /></p>
|
||||
<h2 id="_5">高级配置<a class="headerlink" href="#_5" title="Permanent link">¶</a></h2>
|
||||
<p>下面详细解释了更高级的配置选项。 每个示例都将建立在上面显示的基本矩形床配置之上。 每个高级选项都以相同的方式应用于圆床。</p>
|
||||
<h3 id="_6">网格插值<a class="headerlink" href="#_6" title="Permanent link">¶</a></h3>
|
||||
<p>虽然可以使用简单的双线性插值直接对探测网格的数据进行采样以确定探测点之间的 Z 值,但使用更高级的插值算法来插入额外的点以增加网格密度通常很有用。 这些算法向网格添加曲率,试图模拟床的材料属性。 网床提供了拉格朗日和双三次插值来实现这一点。</p>
|
||||
<p>虽然可以直接使用简单的双线性插值来对探测矩阵进行采样,以确定探测点之间的 Z 值,但通常使用更高级的插值算法来插值额外的点,以增加网格密度,效果通常很好。这些算法会向网格添加曲率,试图模拟床的材料属性。床网提供拉格朗日和双三次插值来实现这一点。</p>
|
||||
<div class="highlight"><pre><span></span><code>[bed_mesh]
|
||||
speed: 120
|
||||
horizontal_move_z: 5
|
||||
@@ -1629,7 +1629,7 @@ split_delta_z: .025
|
||||
<li><code>move_check_distance: 5</code> <em>默认值:5</em> 在执行拆分之前检查 Z 中需要变化的最小距离。 在此示例中,算法将遍历超过 5 毫米的移动。 每 5mm 将查找一次网格的Z ,并将其与前一次移动的 Z 值进行比较。 如果三角洲满足 <code>split_delta_z</code> 设置的阈值,则移动将被拆分并继续遍历。 重复此过程,直到到达移动结束处,在此将应用最终调整。 比 <code>move_check_distance</code> 短的移动将正确的 Z 调整直接应用于移动,无需遍历或拆分。</li>
|
||||
<li><code>split_delta_z: .025</code> <em>默认值:.025</em> 如上所述,这是触发移动拆分所需的最小偏差。 在上面的示例中,任何偏差为 +/- .025 mm的 Z 值都将触发拆分。</li>
|
||||
</ul>
|
||||
<p>一般来说,这些选项的默认值就足够了,但事实上,<code>move_check_distance</code> 的默认值 5mm 可能会有点过度矫正。 所以,高端可能希望尝试使用这个选项来获得挤出最佳的第一层。</p>
|
||||
<p>通常这些选项的默认值已经足够了,事实上 <code>move_check_distance</code> 的默认值 5mm 可能过于保守。但是,高级用户可能希望尝试这些选项,以获取最佳的第一层效果。</p>
|
||||
<h3 id="_8">网格淡出<a class="headerlink" href="#_8" title="Permanent link">¶</a></h3>
|
||||
<p>启用“网格淡出”后,Z 轴的调整将在配置中定义的距离范围内逐步消失。 这是通过对层高进行小幅调整来实现的,根据床的形状增加或减少。 网格淡出完成后,不再使用 Z 调整,使打印的表面是平坦的而不是床弯曲的形状。 网格淡出也可能会产生一些不良表现,如果网格淡出过快,可能会导致打印件上出现可见的瑕疵(伪影)。 此外,如果您的床明显变形,网格淡出会缩小或拉伸打印件的 Z 高度。 因此,默认情况下禁用网格淡出。</p>
|
||||
<div class="highlight"><pre><span></span><code>[bed_mesh]
|
||||
@@ -1646,10 +1646,10 @@ fade_target: 0
|
||||
<ul>
|
||||
<li><code>fade_start: 1</code> <em>默认值:1</em> 开始网格淡出的值,在设定的fade_start值之后逐步停止调整Z的高度。 建议在打印几层之后再开始淡出层高。</li>
|
||||
<li><code>fade_end: 10</code> <em>默认值:0</em> 网格淡出完成的 Z 高度。 如果此值低于<code>fade_start</code>,则禁用网格淡出。 该值可以根据打印表面的弯曲程度进行调整。 明显弯曲的表面应该在将网格淡出的距离长。 接近平坦的表面可能能够降低该值以更快地逐步淘汰。 如果对 <code>fade_start</code> 使用默认值 1,则 10mm 是一个合理的值。</li>
|
||||
<li><code>fade_target: 0</code> <em>默认值:热床网格的平均Z值</em> <code>fade_target</code> 是在网格淡出完成后应用于整个床的额外 Z 偏移。一 般来说,这个值是 0,但有些情况下它需要改动。 例如,您在热床的归位位置与床的平均探测高度有偏差,它比床的平均探测高度低 0.2 mm。 如果 <code>fade_target</code> 为 0,淡出会将整个床的打印平均缩小 0.2 mm。 通过将 <code>fade_target</code> 设置为 0.2,归位的位置将扩大 0.2 毫米,但床的其余部分将具有准确的尺寸。 一般来说,最好不要修改 <code>fade_target</code> 而修正机器本身导致的误差,以便使用网格的平均高度,但是如果想要在床的特定部分打印,可能需要手动调整网格淡出。</li>
|
||||
<li><code>fade_target: 0</code> <em>默认值:网格的平均 Z 值</em> <code>fade_target</code> 可以被视为在淡化完成后应用于整个床面的额外 Z 偏移量。一般来说,我们希望这个值为 0,但有些情况下不应该是这样的。例如,假设您在床上的归位位置是一个异常值,比床面的平均探测高度低 0.2 毫米。如果 <code>fade_target</code> 为 0,淡化将会使整个床面平均降低 0.2 毫米。通过将 <code>fade_target</code> 设置为 0.2,淡化区域将会提高到 0.2 毫米,但是,床面的其余部分将保持原大小。通常最好将 <code>fade_target</code> 留在配置中,以便使用网格的平均高度,但是如果您想在床面的特定部分上打印,则可能需要手动调整淡化目标。</li>
|
||||
</ul>
|
||||
<h3 id="_9">相对参考索引<a class="headerlink" href="#_9" title="Permanent link">¶</a></h3>
|
||||
<p>大部分探针检测到的值容易产生误差,即:由温度或探测介质干扰产生的探测误差。 这加大探针Z偏移的看计算难度,尤其是在不同的热床温度下。 因此,一些打印机使用限位开关来归位 Z 轴,并使用探针来校准网格。 这些打印机可以从配置中的相对参考索引(relative_reference_index)中寻找帮助。</p>
|
||||
<p>大多数探针容易出现漂移,即由于热量或干扰而引入的探测不准确。这可能会使计算探针的 z 偏移量变得困难,特别是在不同的床温度下。因此,一些打印机使用一个终点开关归位 Z 轴,使用探针探测网格。这些打印机可以通过配置相对参考指数来获益。</p>
|
||||
<div class="highlight"><pre><span></span><code>[bed_mesh]
|
||||
speed: 120
|
||||
horizontal_move_z: 5
|
||||
@@ -1717,19 +1717,19 @@ faulty_region_4_max: 45.0, 210.0
|
||||
<p><code>BED_MESH_PROFILE SAVE=<名称> LOAD=<名称> REMOVE=<名称></code></p>
|
||||
<p>在执行 BED_MESH_CALIBRATE 后,可以将当前网格状态保存到一个命名的配置中。这样不需要重新探测打印床就可以载入一个网格。在使用<code>BED_MESH_PROFILE SAVE=<名称></code>保存了一个配置文件后,可以执行<code>SAVE_CONFIG</code> G代码将配置写入 printer.cfg。</p>
|
||||
<p>可以通过运行 <code>BED_MESH_PROFILE LOAD=<名称></code> 来载入配置。</p>
|
||||
<p>请注意,每次运行 BED_MESH_CALIBRATE 后,当前状态会被保存到 <em>default</em> 配置。如果这个配置在配置文件中存在,它会在 Klipper 启动时自动载入。如果不希望这种行为,可以通过以下命令删除 <em>default</em> 配置:</p>
|
||||
<p>需要注意的是,每次进行 BED_MESH_CALIBRATE 时,当前状态会自动保存到 <em>default</em> 配置文件中。可以按以下方式删除 <em>default</em> 配置文件:</p>
|
||||
<p><code>BED_MESH_PROFILE REMOVE=default</code></p>
|
||||
<p>任何其他保存的配置也可以用相同的方式删除,用你想删除的配置名称替换<em>default</em>。</p>
|
||||
<h4 id="loading-the-default-profile">Loading the default profile<a class="headerlink" href="#loading-the-default-profile" title="Permanent link">¶</a></h4>
|
||||
<p>Previous versions of <code>bed_mesh</code> always loaded the profile named <em>default</em> on startup if it was present. This behavior has been removed in favor of allowing the user to determine when a profile is loaded. If a user wishes to load the <code>default</code> profile it is recommended to add <code>BED_MESH_PROFILE LOAD=default</code> to either their <code>START_PRINT</code> macro or their slicer's "Start G-Code" configuration, whichever is applicable.</p>
|
||||
<p>Alternatively the old behavior of loading a profile at startup can be restored with a <code>[delayed_gcode]</code>:</p>
|
||||
<h4 id="_13">加载默认配置文件<a class="headerlink" href="#_13" title="Permanent link">¶</a></h4>
|
||||
<p>以前版本的<code>bed_mesh</code>如果(default)默认配置存在,则始终在启动时加载名为<em>default</em>的配置文件。现已删除此行为,以允许用户确定何时加载配置文件。如果用户希望加载<code>default</code>配置文件,则建议将 <code>BED_MESH_PROFILE LOAD=default</code> 添加到其 <code>START_PRINT</code> 宏或其切片软件的“启动 G代码”配置中,视情况而定。</p>
|
||||
<p>或者可以通过添加<code>[delayed_gcode]</code>恢复在启动时加载配置文件的旧行为:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">[delayed_gcode bed_mesh_init]</span>
|
||||
<span class="na">initial_duration</span><span class="o">:</span><span class="w"> </span><span class="s">.01</span>
|
||||
<span class="na">gcode</span><span class="o">:</span>
|
||||
<span class="w"> </span><span class="na">BED_MESH_PROFILE LOAD</span><span class="o">=</span><span class="s">default</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="_13">输出<a class="headerlink" href="#_13" title="Permanent link">¶</a></h3>
|
||||
<h3 id="_14">输出<a class="headerlink" href="#_14" title="Permanent link">¶</a></h3>
|
||||
<p><code>BED_MESH_OUTPUT PGP=[0 | 1]</code></p>
|
||||
<p>将当前网格状态输出到终端。请注意,输出的是网格本身</p>
|
||||
<p>PGP 参数是“打印生成的点”的简写。如果设置了<code>PGP=1</code>,生成的探测点将输出到终端:</p>
|
||||
@@ -1753,7 +1753,7 @@ faulty_region_4_max: 45.0, 210.0
|
||||
</code></pre></div>
|
||||
|
||||
<p>"Tool Adjusted"(工具调整)点指每个点的喷嘴位置,"Probe"(探针)点指探头位置。请注意,手动探测时"Probe"(探针)点时将同时指工具和喷嘴位置。</p>
|
||||
<h3 id="_14">清除网格状态<a class="headerlink" href="#_14" title="Permanent link">¶</a></h3>
|
||||
<h3 id="_15">清除网格状态<a class="headerlink" href="#_15" title="Permanent link">¶</a></h3>
|
||||
<p><code>BED_MESH_CLEAR</code></p>
|
||||
<p>此 gcode 可用于清除内部网格状态。</p>
|
||||
<h3 id="xy">应用X/Y偏移量<a class="headerlink" href="#xy" title="Permanent link">¶</a></h3>
|
||||
|
||||
@@ -1134,6 +1134,13 @@
|
||||
SAMD51 步速率基准测试
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#ar100" class="md-nav__link">
|
||||
AR100 步进率基准测试
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1503,6 +1510,13 @@
|
||||
SAMD51 步速率基准测试
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#ar100" class="md-nav__link">
|
||||
AR100 步进率基准测试
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2005,6 +2019,34 @@ finalize_config crc=0
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="ar100">AR100 步进率基准测试<a class="headerlink" href="#ar100" title="Permanent link">¶</a></h3>
|
||||
<p>以下配置顺序被用于AR100 CPU(全志A64):</p>
|
||||
<div class="highlight"><pre><span></span><code>allocate_oids count=3
|
||||
config_stepper oid=0 step_pin=PL10 dir_pin=PE14 invert_step=-1 step_pulse_ticks=0
|
||||
config_stepper oid=1 step_pin=PL11 dir_pin=PE15 invert_step=-1 step_pulse_ticks=0
|
||||
config_stepper oid=2 step_pin=PL12 dir_pin=PE16 invert_step=-1 step_pulse_ticks=0
|
||||
finalize_config crc=0
|
||||
</code></pre></div>
|
||||
|
||||
<p>该测试最后一次运行在提交<code>08d037c6</code> ,gcc版本<code>or1k-linux-musl-gcc(GCC)9.2.0</code> ,全志A64-H微控制器上进行。</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>AR100 R_PIO</th>
|
||||
<th>ticks</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1个步进电机</td>
|
||||
<td>85</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3个步进电机</td>
|
||||
<td>359</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="rp2040">RP2040 步速率基准测试<a class="headerlink" href="#rp2040" title="Permanent link">¶</a></h3>
|
||||
<p>RP2040 上使用以下配置序列:</p>
|
||||
<div class="highlight"><pre><span></span><code>allocate_oids count=3
|
||||
@@ -2105,6 +2147,12 @@ get_uptime
|
||||
<td>avr-gcc (GCC) 5.4.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar100 (串行)</td>
|
||||
<td>138K</td>
|
||||
<td>08d037c6</td>
|
||||
<td>or1k-linux-musl-gcc 9.3.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>samd21 (USB)</td>
|
||||
<td>223K</td>
|
||||
<td>01d2183f</td>
|
||||
|
||||
@@ -1776,7 +1776,7 @@ stm32flash -w generic_boot20_pc13.bin -v -g 0 /dev/ttyAMA0
|
||||
<p>启动引导程序通常只在启动后的一小段时间运行。在输入以上命令的时候,需要确保启动引导程序还在运行(启动引导程序运行的时候会控制板上的led闪烁)。此外,启动后如果设置“boot 0”引脚为低,设置“boot 1”引脚为高则可以一直停留在启动引导程序。</p>
|
||||
<h3 id="hid-stm32f103">带有 HID 引导程序的STM32F103<a class="headerlink" href="#hid-stm32f103" title="Permanent link">¶</a></h3>
|
||||
<p><a href="https://github.com/Serasidis/STM32_HID_Bootloader">HID bootloader</a>是一个紧凑的、不包含驱动的启动引导程序,能够通过USB进行刷写。此外,还有一个<a href="https://github.com/Arksine/STM32_HID_Bootloader/releases/latest">针对SKR Mini E3 1.2构建的分支</a>。</p>
|
||||
<p>对于常见的STM32F103板,如Blue Pill,和 stm32duino 章节中一样,可以通过 3.3v 串行用stm32flash 刷写启动引导程序,将文件名替换为所需的 hid引导程序二进制文件(例如Blue Pill 使用的 hid_generic_pc13.bin)。</p>
|
||||
<p>对于常见的 STM32F103 板,如Blue Pill,可以使用 stm32flash 通过 3.3V 串行刷写引导程序,如上面 stm32duino 章节所述,将文件名替换为所需的 hid 引导程序二进制文件(即:hid_generic_pc13.bin 适用于 Blue Pill)。</p>
|
||||
<p>SKR Mini E3无法使用stm32flash ,因为boot 0引脚被直接接到GND且没有跳线断开。推荐使用STLink V2通过STM32Cubeprogrammer刷写启动引导程序。如果你没有STLink ,也可以按照以下芯片配置使用<a href="#running-openocd-on-the-raspberry-pi">树莓派和OpenOCD</a> 刷写:</p>
|
||||
<div class="highlight"><pre><span></span><code>source [find target/stm32f1x.cfg]
|
||||
</code></pre></div>
|
||||
@@ -1829,10 +1829,10 @@ make
|
||||
<div class="highlight"><pre><span></span><code>make flash FLASH_DEVICE=/dev/ttyACM0
|
||||
</code></pre></div>
|
||||
|
||||
<p>可能需要手动进入引导程序,这可以通过设置 "boot 0 "的低电平和 "boot 1 "的高电平来完成。在SKR Mini E3上,"Boot 1 "是不可用的,所以如果你写入过"hid_btt_skr_mini_e3.bin",可以通过设置PA2的低电平来完成。在SKR Mini E3的 "PIN "文件中,这个引脚在TFT插座上被标记为 "TX0"。在PA2旁边有一个接地引脚,你可以用它来把PA2拉低。</p>
|
||||
<p>可能需要手动进入引导程序,可以通过将 "boot 0"配置为低电平和 "boot 1"为高电平来完成。在SKR Mini E3上不能调整"Boot 1",所以如果你刷写过 "hid_btt_skr_mini_e3.bin",可以通过设置PA2低电平来完成。在SKR Mini E3的引脚文档中,这个引脚在TFT头中被标为 "TX0"。在PA2旁边有一个接地引脚,你可以用它来把PA2拉低。</p>
|
||||
<h3 id="mscstm32f103stm32f072">带MSC引导程序的STM32F103/STM32F072<a class="headerlink" href="#mscstm32f103stm32f072" title="Permanent link">¶</a></h3>
|
||||
<p><a href="https://github.com/Telekatz/MSC-stm32f103-bootloader">MSC 引导程序</a> 是一个能够进行 USB 刷写的免驱引导程序。</p>
|
||||
<p>可以使用 stm32flash 通过 3.3v 串行刷写引导程序,如上面的 stm32duino 章节所述,将文件名替换为所需的 MSC 引导加载程序二进制文件(例如:Blue Pill 使用 MSCboot-Bluepill.bin)。</p>
|
||||
<p>可以通过3.3V串口刷写引导程序,使用stm32flash,如上面stm32duino章节所述,将文件名替换为所需的MSC引导程序二进制文件(即:MSCboot-Bluepill.bin用于blue pill)。</p>
|
||||
<p>STM32F072板也可以通过USB(通过DFU)刷写引导程序,如下所示:</p>
|
||||
<div class="highlight"><pre><span></span><code> dfu-util -d 0483:df11 -a 0 -R -D MSCboot-STM32F072.bin -s0x08000000:leave
|
||||
</code></pre></div>
|
||||
@@ -1841,7 +1841,7 @@ make
|
||||
<p>可以通过按两次电路板上的复位按钮来激活引导程序。一旦启动引导程序,该板就会显示为一个 USB 闪存驱动器,可以将 klipper.bin 文件复制到该驱动器上。</p>
|
||||
<h3 id="canbootstm32f103stm32f0x2">带有CanBoot引导程序的STM32F103/STM32F0x2<a class="headerlink" href="#canbootstm32f103stm32f0x2" title="Permanent link">¶</a></h3>
|
||||
<p><a href="https://github.com/Arksine/CanBoot">CanBoot</a>引导程序提供了一个通过CANBUS上传Klipper固件的选项。该引导程序本身来自Klipper的源代码。目前CanBoot支持STM32F103、STM32F042和STM32F072型号。</p>
|
||||
<p>建议使用ST-Link编程器来刷写CanBoot,然而在STM32F103设备上使用<code>stm32flash</code>,在STM32F042/STM32F072设备上使用<code>dfu-util</code>应该是可以刷写。关于这些刷写方法的说明,请参见本文的前几节,在适当的地方用<code>canboot.bin</code>代替文件名。上面链接的CanBoot repo提供了构建引导程序的说明。</p>
|
||||
<p>建议使用ST-Link编程器来刷写CanBoot,然而,在STM32F103设备上使用<code>stm32flash</code> ,在STM32F042/STM32F072设备上使用<code>dfu-util</code> ,应该也是可以刷写的。关于这些刷写方法的说明,请参见本文档的前几节,在适当的地方用<code>canboot.bin</code> 代替文件名。上面链接的CanBoot资源库提供了构建引导程序的说明。</p>
|
||||
<p>在CanBoot第一次被写入时,应该检测到没有应用程序,并进入引导程序。如果没有出现这种情况,可以通过连续按两次复位按钮进入引导程序。</p>
|
||||
<p><code>flash_can.py</code>在<code>lib/canboot</code>文件夹中提供的工具可以用来上传Klipper固件。设备的UUID对于写入固件来说是必要的。如果你没有UUID可以查询当前运行引导程序的节点:</p>
|
||||
<div class="highlight"><pre><span></span><code>python3 flash_can.py -q
|
||||
@@ -1855,8 +1855,8 @@ make
|
||||
<p>其中<code>aabbccddeeff</code>被你的UUID取代。注意选项<code>-i</code>和<code>-f</code>可以被省略,它们分别默认为<code>can0</code>和<code>~/klipper/out/klipper.bin</code>。</p>
|
||||
<p>当构建Klipper与CanBoot一起使用时,选择8 KiB Bootloader选项。</p>
|
||||
<h2 id="stm32f4-skr-pro-11">STM32F4 微控制器 (SKR Pro 1.1)<a class="headerlink" href="#stm32f4-skr-pro-11" title="Permanent link">¶</a></h2>
|
||||
<p>STM32F4微控制器配备了一个内置的系统引导程序,能够通过USB(通过DFU)、3.3v串口和其他各种方法进行刷写(更多信息见STM文件AN2606)。一些STM32F4板,如SKR Pro 1.1,不能进入DFU引导程序。基于STM32F405/407的板子可以使用HID引导程序,如果用户愿意通过USB刷写而不是使用SD卡。请注意,你可能需针对你的板子配置和构建一个特定的版本,<a href="https://github.com/Arksine/STM32_HID_Bootloader/releases/latest">针对SKR Pro 1.1的构建可以在这里找到</a>。</p>
|
||||
<p>除非你的板子有DFU功能,否则最容易的写入方法可能是通过3.3v的串口,这与<a href="#stm32f103-micro-controllers-blue-pill-devices">使用stm32flash刷写STM32F103</a>的步骤相同。例如:</p>
|
||||
<p>STM32F4 微控制器配备了一个内置系统引导加载程序,可通过 USB(通过 DFU)、3.3V 串行和其他各种方法(有关更多信息,请参见 STM 文档 AN2606)进行烧录。一些 STM32F4 板,例如 SKR Pro 1.1,无法进入 DFU 引导加载程序。针对基于 STM32F405/407 的板,提供了 HID 引导加载程序,用户可以选择通过 USB 进行烧录而不使用 sdcard。请注意,您可能需要配置和构建适用于您的板的特定版本,<a href="https://github.com/Arksine/STM32_HID_Bootloader/releases/latest">此处提供了 SKR Pro 1.1 的构建版本</a>。</p>
|
||||
<p>除非您的控制板支持 DFU,否则最易于访问的烧录方法可能是通过 3.3V 串口进行烧录,其遵循与 <a href="#stm32f103-micro-controllers-blue-pill-devices">使用 stm32flash 烧录 STM32F103</a> 相同的过程。例如:</p>
|
||||
<div class="highlight"><pre><span></span><code>wget https://github.com/Arksine/STM32_HID_Bootloader/releases/download/v0.5-beta/hid_bootloader_SKR_PRO.bin
|
||||
|
||||
stm32flash -w hid_bootloader_SKR_PRO.bin -v -g 0 /dev/ttyAMA0
|
||||
|
||||
@@ -1466,15 +1466,15 @@
|
||||
<td>Bed leveling, MCU flashing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>James Hartley</td>
|
||||
<td>@JamesH1978</td>
|
||||
<td>Configuration files</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kevin O'Connor</td>
|
||||
<td>@KevinOConnor</td>
|
||||
<td>Core motion system, Micro-controller code</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Paul McGowan</td>
|
||||
<td>@mental405</td>
|
||||
<td>Configuration files, documentation</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Please do not "ping" any of the reviewers and please do not direct submissions at them. All of the reviewers monitor the forums and PRs, and will take on reviews when they have time to.</p>
|
||||
|
||||
@@ -1293,9 +1293,11 @@
|
||||
<p>本文档涵盖了软件更新中对配置文件不向后兼容的部分。在升级 Klipper 时,最好也查看一下这份文档。</p>
|
||||
<p>文档的所有日期都是大概时间。</p>
|
||||
<h2 id="_2">变更<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<p>20230201: The <code>[bed_mesh]</code> module no longer loads the <code>default</code> profile on startup. It is recommended that users who use the <code>default</code> profile add <code>BED_MESH_PROFILE LOAD=default</code> to their <code>START_PRINT</code> macro (or to their slicer's "Start G-Code" configuration when applicable).</p>
|
||||
<p>20230103: It is now possible with the flash-sdcard.sh script to flash both variants of the Bigtreetech SKR-2, STM32F407 and STM32F429. This means that the original tag of btt-skr2 now has changed to either btt-skr-2-f407 or btt-skr-2-f429.</p>
|
||||
<p>20221128: Klipper v0.11.0 released.</p>
|
||||
<p>20230304:<code>SET_TMC_CURRENT</code> 命令现在可以正确地调整有globalscalar的驱动的globalscalar。这消除了一个限制,即在 tmc5160 上,使用<code>SET_TMC_CURRENT</code> 所提高的电流不能高于配置文件中设置的<code>run_current</code> 值。然而,这有一个副作用:如果使用StealthChop2,在运行<code>SET_TMC_CURRENT</code> 之后,步进电机必须保持在静止状态至少130ms,这样AT#1校准才会被驱动执行。</p>
|
||||
<p>20230202:<code>printer.screw_tilt_adjust</code> 状态信息的格式已经改变。该信息现在是以screws的字典形式存储的,并附有测量结果。详情见<a href="Status_Reference.html#screws_tilt_adjust">状态参考文档</a>。</p>
|
||||
<p>20230201:<code>[bed_mesh]</code> 模块在启动时不再加载<code>default</code> 配置文件。建议使用<code>default</code> 配置的用户将<code>BED_MESH_PROFILE LOAD=default</code> 添加到他们的<code>START_PRINT</code> 宏中(或者在适用时添加到他们的切片软件的 "启动G代码 "配置中)。</p>
|
||||
<p>20230103: 现在可以用flash-sdcard.sh脚本对Bigtreetech SKR-2的两个变体STM32F407和STM32F429进行刷写。这意味着原来的标签 btt-skr2 现在变成了btt-skr-2-f407 或 btt-skr-2-f429。</p>
|
||||
<p>20221128: Klipper v0.11.0发布。</p>
|
||||
<p>20221122:原先使用safe_z_home时,g28归位后的 z_hop 有可能会向负Z方向移动。现在,g28之后的 z_hop 只有在产生抬升(正方向)时才会被执行,这镜像了 g28 归位之前发生的 z_hop 的行为。</p>
|
||||
<p>20220616:以前可以通过运行<code>make flash FLASH_DEVICE=first</code>在引导程序模式下刷写rp2040。新的等效命令是<code>make flash FLASH_DEVICE=2e8a:0003</code>。</p>
|
||||
<p>20220612: 实现了rp2040上"rp2040-e5"USB数据错误的一个解决办法。这应该使最初的 USB 连接更加可靠。然而,它可能会导致gpio15引脚的行为发生变化。gpio15的行为变化不太可能有明显影响。</p>
|
||||
|
||||
@@ -557,8 +557,8 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#deltesian-kinematics" class="md-nav__link">
|
||||
Deltesian Kinematics
|
||||
<a href="#delta" class="md-nav__link">
|
||||
Delta 运动学
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1337,6 +1337,13 @@
|
||||
[tmc2660]
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#tmc2240" class="md-nav__link">
|
||||
[tmc2240]
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2478,8 +2485,8 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#deltesian-kinematics" class="md-nav__link">
|
||||
Deltesian Kinematics
|
||||
<a href="#delta" class="md-nav__link">
|
||||
Delta 运动学
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -3258,6 +3265,13 @@
|
||||
[tmc2660]
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#tmc2240" class="md-nav__link">
|
||||
[tmc2240]
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3814,7 +3828,7 @@ radius:
|
||||
# 默认值为5。
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="deltesian-kinematics">Deltesian Kinematics<a class="headerlink" href="#deltesian-kinematics" title="Permanent link">¶</a></h3>
|
||||
<h3 id="delta">Delta 运动学<a class="headerlink" href="#delta" title="Permanent link">¶</a></h3>
|
||||
<p>See <a href="https://github.com/Klipper3d/klipper/blob/master/config/example-deltesian.cfg">example-deltesian.cfg</a> for an example deltesian kinematics config file.</p>
|
||||
<p>Only parameters specific to deltesian printers are described here - see <a href="#common-kinematic-settings">common kinematic settings</a> for available parameters.</p>
|
||||
<div class="highlight"><pre><span></span><code>[printer]
|
||||
@@ -3836,7 +3850,7 @@ max_z_velocity:
|
||||
#min_angle: 5
|
||||
# This represents the minimum angle (in degrees) relative to horizontal
|
||||
# that the deltesian arms are allowed to achieve. This parameter is
|
||||
# intended to restrict the arms from becomming completely horizontal,
|
||||
# intended to restrict the arms from becoming completely horizontal,
|
||||
# which would risk accidental inversion of the XZ axis. The default is 5.
|
||||
#print_width:
|
||||
# The distance (in mm) of valid toolhead X coordinates. One may use
|
||||
@@ -3873,7 +3887,7 @@ arm_x_length:
|
||||
# for stepper_right, this parameter defaults to the value specified for
|
||||
# stepper_left.
|
||||
|
||||
# The stepper_right section is used to desribe the stepper controlling the
|
||||
# The stepper_right section is used to describe the stepper controlling the
|
||||
# right tower.
|
||||
[stepper_right]
|
||||
|
||||
@@ -4443,12 +4457,12 @@ max_temp:
|
||||
# The height (in mm) that the head should be commanded to move to
|
||||
# just prior to starting a probe operation. The default is 5.
|
||||
#screw_thread: CW-M3
|
||||
# The type of screw used for bed level, M3, M4 or M5 and the
|
||||
# direction of the knob used to level the bed, clockwise decrease
|
||||
# counter-clockwise decrease.
|
||||
# The type of screw used for bed leveling, M3, M4, or M5, and the
|
||||
# rotation direction of the knob that is used to level the bed.
|
||||
# Accepted values: CW-M3, CCW-M3, CW-M4, CCW-M4, CW-M5, CCW-M5.
|
||||
# Default value is CW-M3, most printers use an M3 screw and
|
||||
# turning the knob clockwise decrease distance.
|
||||
# Default value is CW-M3 which most printers use. A clockwise
|
||||
# rotation of the knob decreases the gap between the nozzle and the
|
||||
# bed. Conversely, a counter-clockwise rotation increases the gap.
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="z_tilt">[z_tilt]<a class="headerlink" href="#z_tilt" title="Permanent link">¶</a></h3>
|
||||
@@ -5577,26 +5591,22 @@ pin:
|
||||
#tachometer_ppr:
|
||||
#tachometer_poll_interval:
|
||||
#enable_pin:
|
||||
# See the "fan" section for a description of the above parameters.
|
||||
# 请参阅“fan”分段,了解上述参数的描述。
|
||||
#fan_speed: 1.0
|
||||
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
|
||||
# will be set to when a heater or stepper driver is active.
|
||||
# The default is 1.0
|
||||
# 当加热器或步进驱动器活跃时,将设置风扇速度(表示为从 0.0 到 1.0 的值)。
|
||||
# 默认值为 1.0。
|
||||
#idle_timeout:
|
||||
# The amount of time (in seconds) after a stepper driver or heater
|
||||
# was active and the fan should be kept running. The default
|
||||
# is 30 seconds.
|
||||
# 在步进驱动器或加热器不再活跃后风扇应保持运行的时间(以秒为单位)。
|
||||
# 默认值为 30 秒。
|
||||
#idle_speed:
|
||||
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
|
||||
# will be set to when a heater or stepper driver was active and
|
||||
# before the idle_timeout is reached. The default is fan_speed.
|
||||
# 当步进驱动器或加热器不再活跃后并且达到 idle_timeout 之前,将设置风扇速度
|
||||
# (表示为从 0.0 到 1.0 的值)。
|
||||
# 默认值为 fan_speed。
|
||||
#heater:
|
||||
#stepper:
|
||||
# Name of the config section defining the heater/stepper that this fan
|
||||
# is associated with. If a comma separated list of heater/stepper names
|
||||
# is provided here, then the fan will be enabled when any of the given
|
||||
# heaters/steppers are enabled. The default heater is "extruder", the
|
||||
# default stepper is all of them.
|
||||
# 定义与此风扇相关联的加热器/步进器的配置分段的名称。如果在此处提供了逗号分隔的
|
||||
# 加热器/步进器名称列表,则当任何给定的加热器/步进器启用时,将启用该风扇。
|
||||
# 默认加热器为 "extruder",默认步进器为所有步进器。
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="temperature_fan">[temperature_fan]<a class="headerlink" href="#temperature_fan" title="Permanent link">¶</a></h3>
|
||||
@@ -5667,7 +5677,7 @@ pin:
|
||||
#tachometer_ppr:
|
||||
#tachometer_poll_interval:
|
||||
#enable_pin:
|
||||
# See the "fan" section for a description of the above parameters.
|
||||
# 请参阅“fan"分段,了解上述参数的描述。
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="leds">LEDs<a class="headerlink" href="#leds" title="Permanent link">¶</a></h2>
|
||||
@@ -6147,6 +6157,120 @@ run_current:
|
||||
# HDEC) is interpreted as the MSB of HSTRT in this case).
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="tmc2240">[tmc2240]<a class="headerlink" href="#tmc2240" title="Permanent link">¶</a></h3>
|
||||
<p>通过 SPI 总线配置 TMC2240 步进电机驱动器。要使用此功能,请定义一个配置分段,其前缀为 "tmc2240",后跟相应步进配置分段的名称(例如,"[tmc2240 stepper_x]")。</p>
|
||||
<div class="highlight"><pre><span></span><code>[tmc2240 stepper_x]
|
||||
cs_pin:
|
||||
# The pin corresponding to the TMC2240 chip select line. This pin
|
||||
# will be set to low at the start of SPI messages and raised to high
|
||||
# after the message completes. This parameter must be provided.
|
||||
#spi_speed:
|
||||
#spi_bus:
|
||||
#spi_software_sclk_pin:
|
||||
#spi_software_mosi_pin:
|
||||
#spi_software_miso_pin:
|
||||
# See the "common SPI settings" section for a description of the
|
||||
# above parameters.
|
||||
#chain_position:
|
||||
#chain_length:
|
||||
# These parameters configure an SPI daisy chain. The two parameters
|
||||
# define the stepper position in the chain and the total chain length.
|
||||
# Position 1 corresponds to the stepper that connects to the MOSI signal.
|
||||
# The default is to not use an SPI daisy chain.
|
||||
#interpolate: True
|
||||
# If true, enable step interpolation (the driver will internally
|
||||
# step at a rate of 256 micro-steps). The default is True.
|
||||
run_current:
|
||||
# The amount of current (in amps RMS) to configure the driver to use
|
||||
# during stepper movement. This parameter must be provided.
|
||||
#hold_current:
|
||||
# The amount of current (in amps RMS) to configure the driver to use
|
||||
# when the stepper is not moving. Setting a hold_current is not
|
||||
# recommended (see TMC_Drivers.md for details). The default is to
|
||||
# not reduce the current.
|
||||
#rref: 12000
|
||||
# The resistance (in ohms) of the resistor between IREF and GND. The
|
||||
# default is 12000.
|
||||
#stealthchop_threshold: 0
|
||||
# The velocity (in mm/s) to set the "stealthChop" threshold to. When
|
||||
# set, "stealthChop" mode will be enabled if the stepper motor
|
||||
# velocity is below this value. The default is 0, which disables
|
||||
# "stealthChop" mode.
|
||||
#driver_MSLUT0: 2863314260
|
||||
#driver_MSLUT1: 1251300522
|
||||
#driver_MSLUT2: 608774441
|
||||
#driver_MSLUT3: 269500962
|
||||
#driver_MSLUT4: 4227858431
|
||||
#driver_MSLUT5: 3048961917
|
||||
#driver_MSLUT6: 1227445590
|
||||
#driver_MSLUT7: 4211234
|
||||
#driver_W0: 2
|
||||
#driver_W1: 1
|
||||
#driver_W2: 1
|
||||
#driver_W3: 1
|
||||
#driver_X1: 128
|
||||
#driver_X2: 255
|
||||
#driver_X3: 255
|
||||
#driver_START_SIN: 0
|
||||
#driver_START_SIN90: 247
|
||||
#driver_OFFSET_SIN90: 0
|
||||
# These fields control the Microstep Table registers directly. The optimal
|
||||
# wave table is specific to each motor and might vary with current. An
|
||||
# optimal configuration will have minimal print artifacts caused by
|
||||
# non-linear stepper movement. The values specified above are the default
|
||||
# values used by the driver. The value must be specified as a decimal integer
|
||||
# (hex form is not supported). In order to compute the wave table fields,
|
||||
# see the tmc2130 "Calculation Sheet" from the Trinamic website.
|
||||
# Additionally, this driver also has the OFFSET_SIN90 field which can be used
|
||||
# to tune a motor with unbalanced coils. See the `Sine Wave Lookup Table`
|
||||
# section in the datasheet for information about this field and how to tune
|
||||
# it.
|
||||
#driver_IHOLDDELAY: 6
|
||||
#driver_IRUNDELAY: 4
|
||||
#driver_TPOWERDOWN: 10
|
||||
#driver_TBL: 2
|
||||
#driver_TOFF: 3
|
||||
#driver_HEND: 2
|
||||
#driver_HSTRT: 5
|
||||
#driver_FD3: 0
|
||||
#driver_TPFD: 4
|
||||
#driver_CHM: 0
|
||||
#driver_VHIGHFS: 0
|
||||
#driver_VHIGHCHM: 0
|
||||
#driver_DISS2G: 0
|
||||
#driver_DISS2VS: 0
|
||||
#driver_PWM_AUTOSCALE: True
|
||||
#driver_PWM_AUTOGRAD: True
|
||||
#driver_PWM_FREQ: 0
|
||||
#driver_FREEWHEEL: 0
|
||||
#driver_PWM_GRAD: 0
|
||||
#driver_PWM_OFS: 29
|
||||
#driver_PWM_REG: 4
|
||||
#driver_PWM_LIM: 12
|
||||
#driver_SGT: 0
|
||||
#driver_SEMIN: 0
|
||||
#driver_SEUP: 0
|
||||
#driver_SEMAX: 0
|
||||
#driver_SEDN: 0
|
||||
#driver_SEIMIN: 0
|
||||
#driver_SFILT: 0
|
||||
#driver_SG4_ANGLE_OFFSET: 1
|
||||
# Set the given register during the configuration of the TMC2240
|
||||
# chip. This may be used to set custom motor parameters. The
|
||||
# defaults for each parameter are next to the parameter name in the
|
||||
# above list.
|
||||
#diag0_pin:
|
||||
#diag1_pin:
|
||||
# The micro-controller pin attached to one of the DIAG lines of the
|
||||
# TMC2240 chip. Only a single diag pin should be specified. The pin
|
||||
# is "active low" and is thus normally prefaced with "^!". Setting
|
||||
# this creates a "tmc2240_stepper_x:virtual_endstop" virtual pin
|
||||
# which may be used as the stepper's endstop_pin. Doing this enables
|
||||
# "sensorless homing". (Be sure to also set driver_SGT to an
|
||||
# appropriate sensitivity value.) The default is to not enable
|
||||
# sensorless homing.
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="tmc5160">[tmc5160]<a class="headerlink" href="#tmc5160" title="Permanent link">¶</a></h3>
|
||||
<p>通过 SPI 总线配置 TMC5160 步进电机驱动。要使用此功能,请定义一个带有 “tmc5160” 前缀并后跟步进驱动配置分段相应名称的配置分段(例如,“[tmc5160 stepper_x]”)。</p>
|
||||
<div class="highlight"><pre><span></span><code>[tmc5160 stepper_x]
|
||||
@@ -6944,20 +7068,17 @@ host_mcu:
|
||||
<p>如果使用 OctoPrint 并通过串行端口流式传输 G-Code,而不通过 virtual_sd 打印,将 * 设置>串行连接>固件和协议 * 中的“暂停命令” 设置为<strong>M1</strong> 和 <strong>M0</strong> 可以避免在开始打印时需要在Palette 2 上选择开始打印并在 OctoPrint 中取消暂停。</p>
|
||||
<div class="highlight"><pre><span></span><code>[palette2]
|
||||
serial:
|
||||
# 连接到 Palette 2 的串口。
|
||||
# The serial port to connect to the Palette 2.
|
||||
#baud: 115200
|
||||
# 使用的波特率。
|
||||
# 默认为115200。
|
||||
# The baud rate to use. The default is 115200.
|
||||
#feedrate_splice: 0.8
|
||||
# 融接时的给进率
|
||||
# 默认为0.8。
|
||||
# The feedrate to use when splicing, default is 0.8
|
||||
#feedrate_normal: 1.0
|
||||
# 不在融接时的给进率 1.0
|
||||
# The feedrate to use after splicing, default is 1.0
|
||||
#auto_load_speed: 2
|
||||
# 自动换料时的给近率
|
||||
# 默认 2 (mm/s)
|
||||
# Extrude feedrate when autoloading, default is 2 (mm/s)
|
||||
#auto_cancel_variation: 0.1
|
||||
# # 当 ping 值变化高于此阈值时自动取消打印
|
||||
# Auto cancel print when ping variation is above this threshold
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="angle">[angle]<a class="headerlink" href="#angle" title="Permanent link">¶</a></h3>
|
||||
@@ -7006,22 +7127,23 @@ cs_pin:
|
||||
|
||||
<h3 id="i2c">常见的I2C设置<a class="headerlink" href="#i2c" title="Permanent link">¶</a></h3>
|
||||
<p>以下参数一般适用于使用I2C总线的设备。</p>
|
||||
<p>请注意,Klipper目前的i2c微控制器实现没有对线路噪音容忍的能力。i2c线路上的意外错误可能会导致Klipper产生一个运行时错误。Klipper对从错误恢复的支持因每个微控制器类型而异。一般建议只使用与微控制器在同一印刷电路板上的i2c设备。</p>
|
||||
<p>大多数Klipper微控制器的实现只支持100000的<code>i2c_speed</code> 。Klipper 的 "linux "微控制器支持400000的速度,但是必须<a href="RPi_microcontroller.html#optional-enabling-i2c">在操作系统中修改设置</a>,否则<code>i2c_speed</code> 参数会被忽略。Klipper "rp2040 "微控制器通过<code>i2c_speed</code> 参数支持400000的速率。所有其他Klipper微控制器使用100000速率,并忽略<code>i2c_speed</code> 参数。</p>
|
||||
<div class="highlight"><pre><span></span><code>#i2c_address。
|
||||
# 设备的i2c地址。必须是一个十进制的数字(不是十六进制)。
|
||||
# 默认值取决于设备的类型。
|
||||
<p>Note that Klipper's current micro-controller support for I2C is generally not tolerant to line noise. Unexpected errors on the I2C wires may result in Klipper raising a run-time error. Klipper's support for error recovery varies between each micro-controller type. It is generally recommended to only use I2C devices that are on the same printed circuit board as the micro-controller.</p>
|
||||
<p>Most Klipper micro-controller implementations only support an <code>i2c_speed</code> of 100000 (<em>standard mode</em>, 100kbit/s). The Klipper "Linux" micro-controller supports a 400000 speed (<em>fast mode</em>, 400kbit/s), but it must be <a href="RPi_microcontroller.html#optional-enabling-i2c">set in the operating system</a> and the <code>i2c_speed</code> parameter is otherwise ignored. The Klipper "RP2040" micro-controller and ATmega AVR family support a rate of 400000 via the <code>i2c_speed</code> parameter. All other Klipper micro-controllers use a 100000 rate and ignore the <code>i2c_speed</code> parameter.</p>
|
||||
<div class="highlight"><pre><span></span><code>#i2c_address:
|
||||
# The i2c address of the device. This must specified as a decimal
|
||||
# number (not in hex). The default depends on the type of device.
|
||||
#i2c_mcu:
|
||||
# 芯片所连接的微控制器的名称。
|
||||
# 默认为 "mcu"。
|
||||
# The name of the micro-controller that the chip is connected to.
|
||||
# The default is "mcu".
|
||||
#i2c_bus:
|
||||
# 如果微控制器支持多个I2C总线,那么可以在这里指定
|
||||
# 微控制器的总线名称。
|
||||
# 默认值取决于微控制器的类型。
|
||||
# If the micro-controller supports multiple I2C busses then one may
|
||||
# specify the micro-controller bus name here. The default depends on
|
||||
# the type of micro-controller.
|
||||
#i2c_speed:
|
||||
# 与设备通信时使用的I2C速度(Hz)。大多数微控制器上
|
||||
# 的Klipper实现被硬编码为100000,因此改变这个值没有作用。
|
||||
# 默认值是100000.
|
||||
# The I2C speed (in Hz) to use when communicating with the device.
|
||||
# The Klipper implementation on most micro-controllers is hard-coded
|
||||
# to 100000 and changing this value has no effect. The default is
|
||||
# 100000. Linux, RP2040 and ATmega support 400000.
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
@@ -452,7 +452,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#klipper-github" class="md-nav__link">
|
||||
Klipper github
|
||||
Klipper GitHub
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1365,7 +1365,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#klipper-github" class="md-nav__link">
|
||||
Klipper github
|
||||
Klipper GitHub
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1436,14 +1436,14 @@
|
||||
<li>最好使用 zip 或 gzip 压缩日志文件。</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Open a new topic on the <a href="#community-forum">Klipper Community Forum</a> and provide a clear description of the problem. Other Klipper contributors will need to understand what steps were taken, what the desired outcome was, and what outcome actually occurred. The compressed Klipper log file should be attached to that topic.</li>
|
||||
<li>在<a href="#community-forum">Klipper社区论坛</a>上发起一个新话题,并对问题进行清晰的描述。其他Klipper贡献者需要了解你采取了哪些步骤,期望的结果是什么,以及实际发生的结果是什么。在话题中应当附上压缩的Klipper日志文件。</li>
|
||||
</ol>
|
||||
<h2 id="klipper_2">我正在进行一些我想添加到 Klipper 中的改进<a class="headerlink" href="#klipper_2" title="Permanent link">¶</a></h2>
|
||||
<p>Klipper 是开源软件,我们非常感谢新的贡献。</p>
|
||||
<p>新的贡献(包括代码和文档)需要通过拉取请求(PR)提交。重要信息请参见<a href="CONTRIBUTING.html">贡献文档</a>。</p>
|
||||
<p>There are several <a href="Overview.html#developer-documentation">documents for developers</a>. If you have questions on the code then you can also ask in the <a href="#community-forum">Klipper Community Forum</a> or on the <a href="#discord-chat">Klipper Community Discord</a>.</p>
|
||||
<h2 id="klipper-github">Klipper github<a class="headerlink" href="#klipper-github" title="Permanent link">¶</a></h2>
|
||||
<p>Klipper github may be used by contributors to share the status of their work to improve Klipper. It is expected that the person opening a github ticket is actively working on the given task and will be the one performing all the work necessary to accomplish it. The Klipper github is not used for requests, nor to report bugs, nor to ask questions. Use the <a href="#community-forum">Klipper Community Forum</a> or the <a href="#discord-chat">Klipper Community Discord</a> instead.</p>
|
||||
<p>有几个<a href="Overview.html#developer-documentation">开发者文档</a>。如果你对代码有疑问,那么你也可以在<a href="#community-forum">Klipper社区论坛</a>或<a href="#discord-chat">Klipper社区Discord</a>上提问。</p>
|
||||
<h2 id="klipper-github">Klipper GitHub<a class="headerlink" href="#klipper-github" title="Permanent link">¶</a></h2>
|
||||
<p>Klipper GitHub可以被贡献者用来分享他们改进Klipper的工作状态。我们希望创建GitHub Ticket的人正在积极地处理给定的任务,并将执行所有必要工作以完成该任务。Klipper GitHub不用于功能请求,也不用于报告bug,更不用于提问。请使用<a href="#community-forum">Klipper社区论坛</a>或<a href="#discord-chat">Klipper社区Discord</a>来代替。</p>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
@@ -1505,7 +1505,7 @@ make build
|
||||
<div class="highlight"><pre><span></span><code>ls ./build/pysimulavr/_pysimulavr.*.so
|
||||
</code></pre></div>
|
||||
|
||||
<p>This commmand should report a specific file (e.g. <strong>./build/pysimulavr/_pysimulavr.cpython-39-x86_64-linux-gnu.so</strong>) and not an error.</p>
|
||||
<p>This command should report a specific file (e.g. <strong>./build/pysimulavr/_pysimulavr.cpython-39-x86_64-linux-gnu.so</strong>) and not an error.</p>
|
||||
<p>If you are on a Debian-based system (Debian, Ubuntu, etc.) you can install the following packages and generate *.deb files for system-wide installation of simulavr:</p>
|
||||
<div class="highlight"><pre><span></span><code>sudo apt update
|
||||
sudo apt install g++ make cmake swig rst2pdf help2man texinfo
|
||||
|
||||
@@ -1307,7 +1307,7 @@
|
||||
<p>Klipper 有几个引人注目的功能:</p>
|
||||
<ul>
|
||||
<li>高精度步进运动。Klipper使用一个应用处理器(例如低成本的树莓派)来计算打印机运动。应用处理器决定何时对每个步进电机发出步进信号,压缩这些事件,并将它们发送到微控制器。微处理器将会把每个事件按请求时间执行。每一个步进事件被以25毫秒或更高的精度安排。Klipper不使用运动估计,例如 Bresenham算法,而是通过加速度与机械运动物理计算精确的步进时间。更精准的步进电机运动意味着打印机更安静和稳定的运行。</li>
|
||||
<li>同类项目中最佳的性能。 Klipper 能够在新旧微控制器上实现高步进速率。即使是旧的 8 位微控制器也可以发送超过每秒 175K 步的速率。在较新的微控制器上,每秒数百万步也可以实现。更高的步进速率可以实现更高的打印速度。步进事件计时即使在高速下也能保持精确,提高了整体稳定性。</li>
|
||||
<li>最佳表现。Klipper 能够在新旧微控制器上实现高步进速率。即使是老的 8 位微控制器也可以获得超过 175K 步/秒的速率。在较新的微控制器上,数百万步/秒也是可能的。更高的步进速率使打印速度更快。即使在高速运行时,步进电机的事件定时仍然保持精确,从而提高了整体稳定性。</li>
|
||||
<li>Klipper 支持带有多个微控制器的打印机。例如,一个微控制器可以被用来控制挤出机,而另一个用来控制加热器,并使用第三个来控制其他的打印机组件。Klipper 主机程序实现了时钟同步,解决了微处理器之间的时钟漂移。 启用多个控制器只需要在配置文件中添加几行,不需要任何特殊代码。</li>
|
||||
<li>通过简单的配置文件进行配置。修改设置不需要重新刷写微控制器。Klipper 的所有配置都被存储在一个易编辑的配置文件中,大大减少了配置与维护硬件的难度。</li>
|
||||
<li>Klipper 支持“平滑提前压力”--一种考虑了挤出机内压力影响的机制。这项技术可以减少喷嘴溢料并改善转角的打印质量。Klipper 的实现不会引入瞬间挤出机速度变化,改善了整体稳定性和稳健性。</li>
|
||||
@@ -1424,6 +1424,11 @@
|
||||
<td>1885K</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>AR100</td>
|
||||
<td>3529K</td>
|
||||
<td>2507K</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>STM32F407</td>
|
||||
<td>3652K</td>
|
||||
<td>2459K</td>
|
||||
|
||||
@@ -4424,7 +4424,7 @@
|
||||
<h3 id="bed_mesh">[bed_mesh]<a class="headerlink" href="#bed_mesh" title="Permanent link">¶</a></h3>
|
||||
<p>The following commands are available when the <a href="Config_Reference.html#bed_mesh">bed_mesh config section</a> is enabled (also see the <a href="Bed_Mesh.html">bed mesh guide</a>).</p>
|
||||
<h4 id="bed_mesh_calibrate">BED_MESH_CALIBRATE<a class="headerlink" href="#bed_mesh_calibrate" title="Permanent link">¶</a></h4>
|
||||
<p><code>BED_MESH_CALIBRATE [METHOD=manual] [<probe_parameter>=<value>] [<mesh_parameter>=<value>]</code>: 此命令使用通过配置参数指定并生成的探测点探测打印床。在探测后,一个网格将被生成,z 轴移动将根据网格调整。有关可选探测参数,请见 PROBE命令。如果指定 METHOD=manual ,则会启动手动探测工具 - 有关此工具活跃时可用的额外命令,详见 MANUAL_PROBE 命令。</p>
|
||||
<p><code>BED_MESH_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>] [<mesh_parameter>=<value>]</code>: This command probes the bed using generated points specified by the parameters in the config. After probing, a mesh is generated and z-movement is adjusted according to the mesh. See the PROBE command for details on the optional probe parameters. If METHOD=manual is specified then the manual probing tool is activated - see the MANUAL_PROBE command above for details on the additional commands available while this tool is active. The optional <code>HORIZONTAL_MOVE_Z</code> value overrides the <code>horizontal_move_z</code> option specified in the config file.</p>
|
||||
<h4 id="bed_mesh_output">BED_MESH_OUTPUT<a class="headerlink" href="#bed_mesh_output" title="Permanent link">¶</a></h4>
|
||||
<p><code>BED_MESH_OUTPUT PGP=[<0:1>]</code>:该命令将当前探测到的 Z 值和当前网格的值输出到终端。如果指定 PGP=1,则将bed_mesh产生的X、Y坐标,以及它们关联的指数,输出到终端。</p>
|
||||
<h4 id="bed_mesh_map">BED_MESH_MAP<a class="headerlink" href="#bed_mesh_map" title="Permanent link">¶</a></h4>
|
||||
@@ -4442,7 +4442,7 @@
|
||||
<h3 id="bed_tilt">[bed_tilt]<a class="headerlink" href="#bed_tilt" title="Permanent link">¶</a></h3>
|
||||
<p>The following commands are available when the <a href="Config_Reference.html#bed_tilt">bed_tilt config section</a> is enabled.</p>
|
||||
<h4 id="bed_tilt_calibrate">BED_TILT_CALIBRATE<a class="headerlink" href="#bed_tilt_calibrate" title="Permanent link">¶</a></h4>
|
||||
<p><code>BED_TILT_CALIBRATE [Method=manual] [<probe_parameter>=<value>]</code>:该命令将探测配置中指定的点,然后建议更新X和Y的倾斜调整。有关可选探测参数的详细信息,请参见PROBE命令。如果指定METHOD=manual,那么手动探测工具就会被激活 - 关于该工具激活时可用的附加命令,请参见上面的MANUAL_PROBE命令。</p>
|
||||
<p><code>BED_TILT_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]</code>: This command will probe the points specified in the config and then recommend updated x and y tilt adjustments. See the PROBE command for details on the optional probe parameters. If METHOD=manual is specified then the manual probing tool is activated - see the MANUAL_PROBE command above for details on the additional commands available while this tool is active. The optional <code>HORIZONTAL_MOVE_Z</code> value overrides the <code>horizontal_move_z</code> option specified in the config file.</p>
|
||||
<h3 id="bltouch">[bltouch]<a class="headerlink" href="#bltouch" title="Permanent link">¶</a></h3>
|
||||
<p>当<a href="Config_Reference.html#bltouch">bltouch 配置分段</a>被启用时,以下命令可用(也可参见<a href="BLTouch.html">BL-Touch guide</a>)。</p>
|
||||
<h4 id="bltouch_debug">BLTOUCH_DEBUG<a class="headerlink" href="#bltouch_debug" title="Permanent link">¶</a></h4>
|
||||
@@ -4460,7 +4460,7 @@
|
||||
<h3 id="delta_calibrate">[delta_calibrate]<a class="headerlink" href="#delta_calibrate" title="Permanent link">¶</a></h3>
|
||||
<p>The following commands are available when the <a href="Config_Reference.html#linear-delta-kinematics">delta_calibrate config section</a> is enabled (also see the <a href="Delta_Calibrate.html">delta calibrate guide</a>).</p>
|
||||
<h4 id="delta_calibrate_1">DELTA_CALIBRATE<a class="headerlink" href="#delta_calibrate_1" title="Permanent link">¶</a></h4>
|
||||
<p><code>DELTA_CALIBRATE [Method=manual] [<probe_parameter>=<value>]</code>:这条命令将探测床身的七个点,并建议更新限位位置、塔架角度和半径。有关可选探测参数的详细信息,请参见PROBE命令。如果指定METHOD=manual,那么手动探测工具将被激活 - 关于该工具激活时可用的附加命令的详细信息,请参见上面的MANUAL_PROBE命令。</p>
|
||||
<p><code>DELTA_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]</code>: This command will probe seven points on the bed and recommend updated endstop positions, tower angles, and radius. See the PROBE command for details on the optional probe parameters. If METHOD=manual is specified then the manual probing tool is activated - see the MANUAL_PROBE command above for details on the additional commands available while this tool is active. The optional <code>HORIZONTAL_MOVE_Z</code> value overrides the <code>horizontal_move_z</code> option specified in the config file.</p>
|
||||
<h4 id="delta_analyze">DELTA_ANALYZE<a class="headerlink" href="#delta_analyze" title="Permanent link">¶</a></h4>
|
||||
<p><code>DELTA_ANALYZE</code>:这个命令在增强的delta校准过程中使用。详情见<a href="Delta_Calibrate.html">Delta Calibrate</a>。</p>
|
||||
<h3 id="display">[display]<a class="headerlink" href="#display" title="Permanent link">¶</a></h3>
|
||||
@@ -4731,7 +4731,7 @@
|
||||
<h3 id="screws_tilt_adjust">[screws_tilt_adjust]<a class="headerlink" href="#screws_tilt_adjust" title="Permanent link">¶</a></h3>
|
||||
<p>The following commands are available when the <a href="Config_Reference.html#screws_tilt_adjust">screws_tilt_adjust config section</a> is enabled (also see the <a href="Manual_Level.html#adjusting-bed-leveling-screws-using-the-bed-probe">manual level guide</a>).</p>
|
||||
<h4 id="screws_tilt_calculate">SCREWS_TILT_CALCULATE<a class="headerlink" href="#screws_tilt_calculate" title="Permanent link">¶</a></h4>
|
||||
<p><code>SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [MAX_DEVIATION=<值>] [<探针参数名>=<值>]</code>:这个命令将调用床身螺丝调整工具。它将命令喷嘴到不同的位置(如配置文件中定义的)探测z高度,并计算出调整床面水平的旋钮旋转次数。如果指定了DIRECTION(方向),旋钮的转动方向会是固定的,顺时针(CW)或逆时针(CCW)。有关可选探针参数的详细信息,请参见PROBE命令。重要的是:在使用这条命令之前,必须先做一个G28。如果指定了MAX_DEVIATION,如果螺杆高度相对于基础螺杆高度的任何差异大于所提供的值,该命令将引发一个G代码错误。</p>
|
||||
<p><code>SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [MAX_DEVIATION=<value>] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]</code>: This command will invoke the bed screws adjustment tool. It will command the nozzle to different locations (as defined in the config file) probing the z height and calculate the number of knob turns to adjust the bed level. If DIRECTION is specified, the knob turns will all be in the same direction, clockwise (CW) or counterclockwise (CCW). See the PROBE command for details on the optional probe parameters. IMPORTANT: You MUST always do a G28 before using this command. If MAX_DEVIATION is specified, the command will raise a gcode error if any difference in the screw height relative to the base screw height is greater than the value provided. The optional <code>HORIZONTAL_MOVE_Z</code> value overrides the <code>horizontal_move_z</code> option specified in the config file.</p>
|
||||
<h3 id="sdcard_loop">[sdcard_loop]<a class="headerlink" href="#sdcard_loop" title="Permanent link">¶</a></h3>
|
||||
<p>When the <a href="Config_Reference.html#sdcard_loop">sdcard_loop config section</a> is enabled, the following extended commands are available.</p>
|
||||
<h4 id="sdcard_loop_begin">SDCARD_LOOP_BEGIN<a class="headerlink" href="#sdcard_loop_begin" title="Permanent link">¶</a></h4>
|
||||
@@ -4771,13 +4771,13 @@
|
||||
<h3 id="tmcxxxx">[tmcXXXX]<a class="headerlink" href="#tmcxxxx" title="Permanent link">¶</a></h3>
|
||||
<p>The following commands are available when any of the <a href="Config_Reference.html#tmc-stepper-driver-configuration">tmcXXXX config sections</a> are enabled.</p>
|
||||
<h4 id="dump_tmc">DUMP_TMC<a class="headerlink" href="#dump_tmc" title="Permanent link">¶</a></h4>
|
||||
<p><code>DUMP_TMC STEPPER=<name></code>。该命令将读取TMC驱动寄存器并报告其值。</p>
|
||||
<p><code>DUMP_TMC STEPPER=<name> [REGISTER=<name>]</code>: This command will read all TMC driver registers and report their values. If a REGISTER is provided, only the specified register will be dumped.</p>
|
||||
<h4 id="init_tmc">INIT_TMC<a class="headerlink" href="#init_tmc" title="Permanent link">¶</a></h4>
|
||||
<p><code>INIT_TMC STEPPER=<名称></code>:此命令将初始化 TMC 寄存器。如果芯片的电源关闭然后重新打开,则需要重新启用该驱动。</p>
|
||||
<h4 id="set_tmc_current">SET_TMC_CURRENT<a class="headerlink" href="#set_tmc_current" title="Permanent link">¶</a></h4>
|
||||
<p><code>SET_TMC_CURRENT STEPPER=<名称> CURRENT=<安培> HOLDCURRENT=<安培></code>:该命令修改TMC驱动的运行和保持电流(HOLDCURRENT 在 tmc2660 驱动上不起效)。</p>
|
||||
<p><code>SET_TMC_CURRENT STEPPER=<name> CURRENT=<amps> HOLDCURRENT=<amps></code>: This will adjust the run and hold currents of the TMC driver. <code>HOLDCURRENT</code> is not applicable to tmc2660 drivers. When used on a driver which has the <code>globalscaler</code> field (tmc5160 and tmc2240), if StealthChop2 is used, the stepper must be held at standstill for >130ms so that the driver executes the AT#1 calibration.</p>
|
||||
<h4 id="set_tmc_field">SET_TMC_FIELD<a class="headerlink" href="#set_tmc_field" title="Permanent link">¶</a></h4>
|
||||
<p><code>SET_TMC_FIELD STEPPER=<名称> FIELD=<字段> VALUE=<值></code>:这将修改指定 TMC 步进驱动寄存器字段的值。该命令仅适用于低级别的诊断和调试,因为在运行期间改变字段可能会导致打印机出现不符合预期的、有潜在危险的行为。常规修改应当通过打印机配置文件进行。该命令不会对给定的值进行越界检查。</p>
|
||||
<p><code>SET_TMC_FIELD STEPPER=<name> FIELD=<field> VALUE=<value> VELOCITY=<value></code>: This will alter the value of the specified register field of the TMC driver. This command is intended for low-level diagnostics and debugging only because changing the fields during run-time can lead to undesired and potentially dangerous behavior of your printer. Permanent changes should be made using the printer configuration file instead. No sanity checks are performed for the given values. A VELOCITY can also be specified instead of a VALUE. This velocity is converted to the 20bit TSTEP based value representation. Only use the VELOCITY argument for fields that represent velocities.</p>
|
||||
<h3 id="toolhead">[toolhead]<a class="headerlink" href="#toolhead" title="Permanent link">¶</a></h3>
|
||||
<p>The toolhead module is automatically loaded.</p>
|
||||
<h4 id="set_velocity_limit">SET_VELOCITY_LIMIT<a class="headerlink" href="#set_velocity_limit" title="Permanent link">¶</a></h4>
|
||||
@@ -4814,7 +4814,7 @@
|
||||
<h3 id="z_tilt">[z_tilt]<a class="headerlink" href="#z_tilt" title="Permanent link">¶</a></h3>
|
||||
<p>The following commands are available when the <a href="Config_Reference.html#z_tilt">z_tilt config section</a> is enabled.</p>
|
||||
<h4 id="z_tilt_adjust">Z_TILT_ADJUST<a class="headerlink" href="#z_tilt_adjust" title="Permanent link">¶</a></h4>
|
||||
<p><code>Z_TILT_ADJUST [<probe_参数>=<值>]</code>:该命令将探测配置中指定的坐标并对每个Z步进电机进行独立的调整以抵消倾斜。有关可选的探针参数,详见 PROBE 命令。</p>
|
||||
<p><code>Z_TILT_ADJUST [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]</code>: This command will probe the points specified in the config and then make independent adjustments to each Z stepper to compensate for tilt. See the PROBE command for details on the optional probe parameters. The optional <code>HORIZONTAL_MOVE_Z</code> value overrides the <code>horizontal_move_z</code> option specified in the config file.</p>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
@@ -1348,11 +1348,11 @@
|
||||
|
||||
|
||||
<h1 id="_1">霍尔耗材线径传感器<a class="headerlink" href="#_1" title="Permanent link">¶</a></h1>
|
||||
<p>本文件介绍了耗材宽度传感器的主机模块。用于开发该主机模块的硬件基于两个霍尔线性传感器(例如,ss49e)。设备内的两个传感器位于两侧。工作原理:两个霍尔传感器以差分模式工作,由于传感器的温度漂移相同。不需要特殊的温度补偿。</p>
|
||||
<p>本文件介绍了耗材直径传感器的主机模块。用于开发该主机模块的硬件基于两个霍尔线性传感器(例如,ss49e)。霍尔传感器位于相对耗材直径模块的两侧。工作原理:两个霍尔传感器以差分模式工作,由于传感器的温度漂移相同,不需要特殊的温度补偿。</p>
|
||||
<p>你可以在<a href="https://www.thingiverse.com/thing:4138933">Thingiverse</a>上找到设计,在<a href="https://www.youtube.com/watch?v=TDO9tME8vp4">Youtube</a>上也有一个装配视频</p>
|
||||
<p>要使用霍尔耗材线径传感器,请阅读<a href="Config_Reference.html#hall_filament_width_sensor">配置参考</a>和<a href="G-Codes.html#hall_filament_width_sensor">G-Code 文档</a>。</p>
|
||||
<h2 id="_2">它如何运作?<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<p>传感器根据两个模拟输出计算出耗材直径。检测到的电压之和始终对应耗材宽度。主机模块监测电压变化并调整挤出倍率。我在类似ramps的控制板上使用aux2连接器的 analog11和analog12引脚,你也可以使用不同的引脚和不同的控制板。</p>
|
||||
<p>传感器基于两个模拟输出计算出耗材直径。检测到的电压之和始终对应耗材直径。主机模块监测电压变化并调整挤出倍率。例如可以在类似ramps的控制板上使用 aux2 连接器的 analog11和analog12引脚,你也可以使用不同的引脚和不同的控制板。</p>
|
||||
<h2 id="_3">菜单变量模板<a class="headerlink" href="#_3" title="Permanent link">¶</a></h2>
|
||||
<div class="highlight"><pre><span></span><code>[menu __main __filament __width_current]
|
||||
type: command
|
||||
|
||||
@@ -735,6 +735,26 @@
|
||||
ADXL345
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="ADXL345">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#direct-to-raspberry-pi" class="md-nav__link">
|
||||
Direct to Raspberry Pi
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#using-raspberry-pi-pico" class="md-nav__link">
|
||||
Using Raspberry Pi Pico
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -787,6 +807,33 @@
|
||||
Configure ADXL345 With RPi
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#configure-adxl345-with-pi-pico" class="md-nav__link">
|
||||
Configure ADXL345 With Pi Pico
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Configure ADXL345 With Pi Pico">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#flash-the-pico-firmware" class="md-nav__link">
|
||||
Flash the Pico Firmware
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#configure-the-connection" class="md-nav__link">
|
||||
Configure the Connection
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1480,6 +1527,26 @@
|
||||
ADXL345
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="ADXL345">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#direct-to-raspberry-pi" class="md-nav__link">
|
||||
Direct to Raspberry Pi
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#using-raspberry-pi-pico" class="md-nav__link">
|
||||
Using Raspberry Pi Pico
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -1532,6 +1599,33 @@
|
||||
Configure ADXL345 With RPi
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#configure-adxl345-with-pi-pico" class="md-nav__link">
|
||||
Configure ADXL345 With Pi Pico
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Configure ADXL345 With Pi Pico">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#flash-the-pico-firmware" class="md-nav__link">
|
||||
Flash the Pico Firmware
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#configure-the-connection" class="md-nav__link">
|
||||
Configure the Connection
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1662,7 +1756,7 @@
|
||||
<p>When sourcing ADXL345, be aware that there is a variety of different PCB board designs and different clones of them. Make sure that the board supports SPI mode (small number of boards appear to be hard-configured for I2C by pulling SDO to GND), and, if it is going to be connected to a 5V printer MCU, that it has a voltage regulator and a level shifter.</p>
|
||||
<h2 id="_2">安装指南<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<h3 id="_3">接线<a class="headerlink" href="#_3" title="Permanent link">¶</a></h3>
|
||||
<p>An ethernet cable with shielded twisted pairs (cat5e or better) is recommended for signal integrety over a long distance. If you still experience signal integrity issues (SPI/I2C errors), shorten the cable.</p>
|
||||
<p>An ethernet cable with shielded twisted pairs (cat5e or better) is recommended for signal integrity over a long distance. If you still experience signal integrity issues (SPI/I2C errors), shorten the cable.</p>
|
||||
<p>Connect ethernet cable shielding to the controller board/RPI ground.</p>
|
||||
<p><strong><em>Double-check your wiring before powering up to prevent damaging your MCU/Raspberry Pi or the accelerometer.</em></strong></p>
|
||||
<h4 id="spi-accelerometers">SPI Accelerometers<a class="headerlink" href="#spi-accelerometers" title="Permanent link">¶</a></h4>
|
||||
@@ -1673,7 +1767,8 @@ SCLK+CS
|
||||
</code></pre></div>
|
||||
|
||||
<h5 id="adxl345">ADXL345<a class="headerlink" href="#adxl345" title="Permanent link">¶</a></h5>
|
||||
<p><strong>Note: Many MCUs will work with an ADXL345 in SPI mode(eg Pi Pico), wiring and configuration will vary according to your specific board and avaliable pins.</strong></p>
|
||||
<h6 id="direct-to-raspberry-pi">Direct to Raspberry Pi<a class="headerlink" href="#direct-to-raspberry-pi" title="Permanent link">¶</a></h6>
|
||||
<p><strong>Note: Many MCUs will work with an ADXL345 in SPI mode(eg Pi Pico), wiring and configuration will vary according to your specific board and available pins.</strong></p>
|
||||
<p>我们需要将ADXL345连接到树莓派的SPI接口。注意,尽管ADXL345文档推荐使用I2C,但其数据吞吐能力不足,<strong>不能</strong>实现共振测量的要求。推荐的接线图为:</p>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -1687,7 +1782,7 @@ SCLK+CS
|
||||
<tr>
|
||||
<td align="center">3V3 或 VCC</td>
|
||||
<td align="center">01</td>
|
||||
<td align="center">3.3v 直流(DC)电源</td>
|
||||
<td align="center">3.3V DC power</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">GND</td>
|
||||
@@ -1695,7 +1790,7 @@ SCLK+CS
|
||||
<td align="center">地(GND)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">CS(芯片选定)</td>
|
||||
<td align="center">CS</td>
|
||||
<td align="center">24</td>
|
||||
<td align="center">GPIO08 (SPI0_CE0_N)</td>
|
||||
</tr>
|
||||
@@ -1718,6 +1813,52 @@ SCLK+CS
|
||||
</table>
|
||||
<p>部分ADXL345开发板的Fritzing接线图如下:</p>
|
||||
<p><img alt="ADXL345-树莓派" src="img/adxl345-fritzing.png" /></p>
|
||||
<h6 id="using-raspberry-pi-pico">Using Raspberry Pi Pico<a class="headerlink" href="#using-raspberry-pi-pico" title="Permanent link">¶</a></h6>
|
||||
<p>You may connect the ADXL345 to your Raspberry Pi Pico and then connect the Pico to your Raspberry Pi via USB. This makes it easy to reuse the accelerometer on other Klipper devices, as you can connect via USB instead of GPIO. The Pico does not have much processing power, so make sure it is only running the accelerometer and not performing any other duties.</p>
|
||||
<p>In order to avoid damage to your RPi make sure to connect the ADXL345 to 3.3V only. Depending on the board's layout, a level shifter may be present, which makes 5V dangerous for your RPi.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">ADXL345引脚</th>
|
||||
<th align="center">Pico pin</th>
|
||||
<th align="center">Pico pin name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center">3V3 或 VCC</td>
|
||||
<td align="center">36</td>
|
||||
<td align="center">3.3V DC power</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">GND</td>
|
||||
<td align="center">38</td>
|
||||
<td align="center">地(GND)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">CS</td>
|
||||
<td align="center">2</td>
|
||||
<td align="center">GP1 (SPI0_CSn)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">SDO</td>
|
||||
<td align="center">1</td>
|
||||
<td align="center">GP0 (SPI0_RX)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">SDA</td>
|
||||
<td align="center">5</td>
|
||||
<td align="center">GP3 (SPI0_TX)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">SCL</td>
|
||||
<td align="center">4</td>
|
||||
<td align="center">GP2 (SPI0_SCK)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Wiring diagrams for some of the ADXL345 boards:</p>
|
||||
<p><img alt="ADXL345-Pico" src="img/adxl345-pico.png" /></p>
|
||||
<h4 id="i2c-accelerometers">I2C Accelerometers<a class="headerlink" href="#i2c-accelerometers" title="Permanent link">¶</a></h4>
|
||||
<p>Suggested twisted pair order:</p>
|
||||
<div class="highlight"><pre><span></span><code>3.3V+SDA
|
||||
@@ -1826,6 +1967,47 @@ probe_points:
|
||||
</code></pre></div>
|
||||
|
||||
<p>建议在测试开始前,用探针在热床中央进行一次探测,触发后稍微上移。</p>
|
||||
<h4 id="configure-adxl345-with-pi-pico">Configure ADXL345 With Pi Pico<a class="headerlink" href="#configure-adxl345-with-pi-pico" title="Permanent link">¶</a></h4>
|
||||
<h5 id="flash-the-pico-firmware">Flash the Pico Firmware<a class="headerlink" href="#flash-the-pico-firmware" title="Permanent link">¶</a></h5>
|
||||
<p>On your Raspberry Pi, compile the firmware for the Pico.</p>
|
||||
<div class="highlight"><pre><span></span><code>cd ~/klipper
|
||||
make clean
|
||||
make menuconfig
|
||||
</code></pre></div>
|
||||
|
||||
<p><img alt="Pico menuconfig" src="img/klipper_pico_menuconfig.png" /></p>
|
||||
<p>Now, while holding down the <code>BOOTSEL</code> button on the Pico, connect the Pico to the Raspberry Pi via USB. Compile and flash the firmware.</p>
|
||||
<div class="highlight"><pre><span></span><code>make flash FLASH_DEVICE=first
|
||||
</code></pre></div>
|
||||
|
||||
<p>If that fails, you will be told which <code>FLASH_DEVICE</code> to use. In this example, that's <code>make flash FLASH_DEVICE=2e8a:0003</code>. <img alt="Determine flash device" src="img/flash_rp2040_FLASH_DEVICE.png" /></p>
|
||||
<h5 id="configure-the-connection">Configure the Connection<a class="headerlink" href="#configure-the-connection" title="Permanent link">¶</a></h5>
|
||||
<p>The Pico will now reboot with the new firmware and should show up as a serial device. Find the pico serial device with <code>ls /dev/serial/by-id/*</code>. You can now add an <code>adxl.cfg</code> file with the following settings:</p>
|
||||
<div class="highlight"><pre><span></span><code>[mcu adxl]
|
||||
# Change <mySerial> to whatever you found above. For example,
|
||||
# usb-Klipper_rp2040_E661640843545B2E-if00
|
||||
serial: /dev/serial/by-id/usb-Klipper_rp2040_<mySerial>
|
||||
|
||||
[adxl345]
|
||||
cs_pin: adxl:gpio1
|
||||
spi_bus: spi0a
|
||||
axes_map: x,z,y
|
||||
|
||||
[resonance_tester]
|
||||
accel_chip: adxl345
|
||||
probe_points:
|
||||
# Somewhere slightly above the middle of your print bed
|
||||
147,154, 20
|
||||
|
||||
[output_pin power_mode] # Improve power stability
|
||||
pin: adxl:gpio23
|
||||
</code></pre></div>
|
||||
|
||||
<p>If setting up the ADXL345 configuration in a separate file, as shown above, you'll also want to modify your <code>printer.cfg</code> file to include this:</p>
|
||||
<div class="highlight"><pre><span></span><code>[include adxl.cfg] # Comment this out when you disconnect the accelerometer
|
||||
</code></pre></div>
|
||||
|
||||
<p>通过<code>RESTART</code>命令重启Klipper。</p>
|
||||
<h4 id="configure-mpu-60009000-series-with-rpi">Configure MPU-6000/9000 series With RPi<a class="headerlink" href="#configure-mpu-60009000-series-with-rpi" title="Permanent link">¶</a></h4>
|
||||
<p>Make sure the Linux I2C driver is enabled and the baud rate is set to 400000 (see <a href="RPi_microcontroller.html#optional-enabling-i2c">Enabling I2C</a> section for more details). Then, add the following to the printer.cfg:</p>
|
||||
<div class="highlight"><pre><span></span><code>[mcu rpi]
|
||||
@@ -1848,7 +2030,7 @@ serial: /dev/serial/by-id/<your PICO's serial ID>
|
||||
|
||||
[mpu9250]
|
||||
i2c_mcu: pico
|
||||
i2c_bus: i2c1a
|
||||
i2c_bus: i2c0a
|
||||
|
||||
[resonance_tester]
|
||||
accel_chip: mpu9250
|
||||
@@ -1871,7 +2053,7 @@ pin: pico:gpio23
|
||||
<div class="highlight"><pre><span></span><code>Recv: // adxl345 values (x, y, z): 470.719200, 941.438400, 9728.196800
|
||||
</code></pre></div>
|
||||
|
||||
<p>如果输出类似 <code>Invalid adxl345 id (got xx vs e5)</code>,其中'xx'为e5以外ID,这表示出现连接问题(如,连接错误、线缆电阻过大、干扰等),或传感器错误(如,残次传感器 或 错误的传感器)。请在此检查电源,接线(再三确定接线正确,没有破损、松动的电线)或焊接问题。</p>
|
||||
<p>If you get an error like <code>Invalid adxl345 id (got xx vs e5)</code>, where <code>xx</code> is some other ID, immediately try again. There's an issue with SPI initialization. If you still get an error, it is indicative of the connection problem with ADXL345, or the faulty sensor. Double-check the power, the wiring (that it matches the schematics, no wire is broken or loose, etc.), and soldering quality.</p>
|
||||
<p><strong>If you are using MPU-6000/9000 series accelerometer and it show up as <code>mpu-unknown</code>, use with caution! They are probably refurbished chips!</strong></p>
|
||||
<p>下一步,在Octoprint中输入 <code>MEASURE_AXES_NOISE</code>,之后将会显示各个轴的基准测量噪声(其值应在1-100之间)。如果轴的噪声极高(例如 1000 或更高)可能意味着3D打印机上存在传感器问题、电源问题或不平衡的风扇。</p>
|
||||
<h3 id="_8">测量共振值<a class="headerlink" href="#_8" title="Permanent link">¶</a></h3>
|
||||
@@ -1923,7 +2105,7 @@ max_accel: 3000 # should not exceed the estimated max_accel for X and Y axes
|
||||
</code></pre></div>
|
||||
|
||||
<p>也可以根据生成的图表自己选择一些其他配置:图表上的功率谱密度的峰值对应于打印机的共振频率。</p>
|
||||
<p>请注意,可以<a href="#input-shaper-auto-calibration">直接</a>在Klipper中运行输入整形器自动校准,这可能更方便,例如,对于输入整形器<a href="#input-shaper-re-calibration">重新校准</a>。</p>
|
||||
<p>Note that alternatively you can run the input shaper auto-calibration from Klipper <a href="#input-shaper-auto-calibration">directly</a>, which can be convenient, for example, for the input shaper <a href="#input-shaper-re-calibration">re-calibration</a>.</p>
|
||||
<h3 id="_9">平行于喷嘴移动打印床的打印机<a class="headerlink" href="#_9" title="Permanent link">¶</a></h3>
|
||||
<p>如果打印机的打印床可以平行于喷嘴移动,测量X和Y轴时需要改变加速度计的安装位置。安装加速度计到打印头以测量X轴共振,安装到打印床以测量Y轴(该类打印机的常见配置)。</p>
|
||||
<p>也可以同时连接两个加速度计,尽管它们必须连接到不同的主板(例如,连接到树莓派和MCU),或者连接到同一板上两个不同的物理SPI接口(大多数情况下不可用)。然后可以按以下方式配置它们:</p>
|
||||
@@ -2050,7 +2232,7 @@ Recommended shaper_type_y = mzv, shaper_freq_y = 36.8 Hz
|
||||
<div class="highlight"><pre><span></span><code>SHAPER_CALIBRATE AXIS=X
|
||||
</code></pre></div>
|
||||
|
||||
<p><strong>警告! </strong>不建议非常频繁地运行成型机自动校准(例如,在每次打印之前或每天)。为了确定共振频率,自动校准会在每个轴上产生强烈的振动。通常,3D 打印机的设计不能承受长时间暴露于共振频率附近的振动。这样做可能会增加打印机组件的磨损并缩短其使用寿命。某些零件拧松或松动的风险也会增加。每次自动调整后,请务必检查打印机的所有部件(包括通常不会移动的部件)是否牢固地固定到位。</p>
|
||||
<p><strong>Warning!</strong> It is not advisable to run the shaper auto-calibration very frequently (e.g. before every print, or every day). In order to determine resonance frequencies, auto-calibration creates intensive vibrations on each of the axes. Generally, 3D printers are not designed to withstand a prolonged exposure to vibrations near the resonance frequencies. Doing so may increase wear of the printer components and reduce their lifespan. There is also an increased risk of some parts unscrewing or becoming loose. Always check that all parts of the printer (including the ones that may normally not move) are securely fixed in place after each auto-tuning.</p>
|
||||
<p>此外,由于测量中的一些噪音,每次校准得到的调谐结果会略有不同。不过,这些噪音一般不会对打印质量产生太大影响。然而,我们仍然建议仔细检查建议的参数,并在使用前打印一些测试件以确认它们是正确的。</p>
|
||||
<h2 id="_14">离线处理加速计数据<a class="headerlink" href="#_14" title="Permanent link">¶</a></h2>
|
||||
<p>It is possible to generate the raw accelerometer data and process it offline (e.g. on a host machine), for example to find resonances. In order to do so, run the following commands via Octoprint terminal:</p>
|
||||
|
||||
@@ -1342,7 +1342,7 @@
|
||||
<h2 id="_1">版本管理<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
|
||||
<p>如果你从 git 构建 Klipper 包,通常的做法是不提供 .git 目录,所以版本管理必须在没有 git 的情况下处理。要做到这一点,请使用 <code>scripts/make_version.py</code> 中提供的脚本,该脚本应按如下方式运行:<code>python2 scripts/make_version.py YOURDISTRONAME > klippy/.version</code>。</p>
|
||||
<h2 id="_2">示例打包脚本<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<p>klipper-git 是 klipper 的 Arch Linux 软件包,在<a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=klipper-git">Arch User Repositiory</a>上有一个 PKGBUILD(软件包构建脚本)。</p>
|
||||
<p>klipper-git已经为Arch Linux打包,并且在<a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=klipper-git">Arch用户存储库</a>中提供了PKGBUILD(软件包构建脚本)。</p>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
@@ -1149,30 +1149,30 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#flashing-boards-that-use-sdio" class="md-nav__link">
|
||||
Flashing Boards that use SDIO
|
||||
<a href="#sdio" class="md-nav__link">
|
||||
刷写使用SDIO的控制板
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Flashing Boards that use SDIO">
|
||||
<nav class="md-nav" aria-label="刷写使用SDIO的控制板">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#sdio-programming-with-rpi-on-separate-power-supply" class="md-nav__link">
|
||||
SDIO Programming with RPi on Separate Power Supply
|
||||
<a href="#rpisdio" class="md-nav__link">
|
||||
RPi有独立的电源时进行SDIO刷写
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#sdio-programming-with-rpi-on-the-same-power-supply" class="md-nav__link">
|
||||
SDIO Programming with RPi on the Same Power Supply
|
||||
<a href="#rpisdio_1" class="md-nav__link">
|
||||
对与RPi在同一电源上的主板进行SDIO刷写
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#sdio-to-spi-pin-mapping" class="md-nav__link">
|
||||
SDIO to SPI Pin Mapping
|
||||
<a href="#sdiospi" class="md-nav__link">
|
||||
SDIO到SPI引脚映射
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1351,30 +1351,30 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#flashing-boards-that-use-sdio" class="md-nav__link">
|
||||
Flashing Boards that use SDIO
|
||||
<a href="#sdio" class="md-nav__link">
|
||||
刷写使用SDIO的控制板
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Flashing Boards that use SDIO">
|
||||
<nav class="md-nav" aria-label="刷写使用SDIO的控制板">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#sdio-programming-with-rpi-on-separate-power-supply" class="md-nav__link">
|
||||
SDIO Programming with RPi on Separate Power Supply
|
||||
<a href="#rpisdio" class="md-nav__link">
|
||||
RPi有独立的电源时进行SDIO刷写
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#sdio-programming-with-rpi-on-the-same-power-supply" class="md-nav__link">
|
||||
SDIO Programming with RPi on the Same Power Supply
|
||||
<a href="#rpisdio_1" class="md-nav__link">
|
||||
对与RPi在同一电源上的主板进行SDIO刷写
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#sdio-to-spi-pin-mapping" class="md-nav__link">
|
||||
SDIO to SPI Pin Mapping
|
||||
<a href="#sdiospi" class="md-nav__link">
|
||||
SDIO到SPI引脚映射
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1424,21 +1424,21 @@ sudo service klipper start
|
||||
<h2 id="_2">高级用法<a class="headerlink" href="#_2" title="Permanent link">¶</a></h2>
|
||||
<p>上述命令假设您的 MCU 以默认波特率 250000 连接并且固件位于<code>~/klipper/out/klipper.bin</code>。 <code>flash-sdcard.sh</code> 脚本提供了更改这些默认值的选项。 所有选项都可以通过帮助画面查看:</p>
|
||||
<div class="highlight"><pre><span></span><code>./scripts/flash-sdcard.sh -h
|
||||
SD Card upload utility for Klipper
|
||||
Klipper SD卡上传工具
|
||||
|
||||
usage: flash_sdcard.sh [-h] [-l] [-c] [-b <baud>] [-f <firmware>]
|
||||
<device> <board>
|
||||
usage: flash_sdcard.sh [-h] [-l] [-c] [-b <波特率>] [-f <固件>]
|
||||
<设备> <控制板>
|
||||
|
||||
positional arguments:
|
||||
<device> device serial port
|
||||
<board> board type
|
||||
位置参数:
|
||||
<设备> 设备串口
|
||||
<控制板> 控制板类型
|
||||
|
||||
optional arguments:
|
||||
-h show this message
|
||||
-l list available boards
|
||||
-c run flash check/verify only (skip upload)
|
||||
-b <baud> serial baud rate (default is 250000)
|
||||
-f <firmware> path to klipper.bin
|
||||
可选参数:
|
||||
-h 显示此信息
|
||||
-l 列出可用控制板
|
||||
-c 进行闪存检查/仅验证(跳过上传)
|
||||
-b <波特率> 串口波特率 (默认为250000)
|
||||
-f <firmware> klipper.bin文件路径
|
||||
</code></pre></div>
|
||||
|
||||
<p>如果您的电路板使用以自定义波特率连接的固件刷新,则可以通过指定 <code>-b</code> 选项进行升级:</p>
|
||||
@@ -1450,12 +1450,12 @@ optional arguments:
|
||||
</code></pre></div>
|
||||
|
||||
<p>请注意,升级 MKS Robin E3 时,无需手动运行 <code>update_mks_robin.py</code> 并将生成的二进制文件提供给 <code>flash-sdcard.sh</code>。 此过程在上传过程中自动执行。</p>
|
||||
<p>The <code>-c</code> option is used to perform a check or verify-only operation to test if the board is running the specified firmware correctly. This option is primarily intended for cases where a manual power-cycle is necessary to complete the flashing procedure, such as with bootloaders that use SDIO mode instead of SPI to access their SD Cards. (See Caveats below) But, it can also be used anytime to verify if the code flashed into the board matches the version in your build folder on any supported board.</p>
|
||||
<p><code>-c</code> 选项用于执行检查或只验证的操作,以测试控制板是否正确运行指定的固件。这个选项主要是针对需要手动断电来完成刷写程序的情况,比如使用SDIO模式而不是SPI来访问SD卡的引导程序。(见下面的注意事项)但是,它也可以在任何时候用来验证在任何支持的板子上刷入板子的固件是否与你的构建文件夹中的版本一致。</p>
|
||||
<h2 id="_3">注意事项<a class="headerlink" href="#_3" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>如介绍中所述,此方法仅适用于升级固件。 初始刷鞋程序必须按照适用于您的控制器板的说明手动完成。</li>
|
||||
<li>虽然可以刷新更改串行波特率或连接接口(即:从 USB 到 UART)的构建,但验证终将失败,因为脚本将无法重新连接到 MCU 以验证当前版本。</li>
|
||||
<li>Only boards that use SPI for SD Card communication are supported. Boards that use SDIO, such as the Flymaker Flyboard and MKS Robin Nano V1/V2, will not work in SDIO mode. However, it's usually possible to flash such boards using Software SPI mode instead. But if the board's bootloader only uses SDIO mode to access the SD Card, a power-cycle of the board and SD Card will be necessary so that the mode can switch from SPI back to SDIO to complete reflashing. Such boards should be defined with <code>skip_verify</code> enabled to skip the verify step immediately after flashing. Then after the manual power-cycle, you can rerun the exact same <code>./scripts/flash-sdcard.sh</code> command, but add the <code>-c</code> option to complete the check/verify operation. See <a href="#flashing-boards-that-use-sdio">Flashing Boards that use SDIO</a> for examples.</li>
|
||||
<li>只支持使用SPI进行SD卡通信的控制板。使用SDIO的控制,如Flymaker Flyboard和MKS Robin Nano V1/V2,将不能在SDIO模式下工作。然而,通常可以使用软件 SPI 模式来刷写这种板子。但是如果板子的 bootloader 只支持使用SDIO模式来访问SD卡,就需要对板子和SD卡进行电源循环,以便模式可以从SPI切换回SDIO来完成重新刷写。这样的板子应该在定义时启用<code>skip_verify</code> ,以便在刷写后立即跳过验证步骤。然后在手动断电后,你可以重新运行完全相同的<code>./scripts/flash-sdcard.sh</code> 命令,但加入<code>-c</code> 选项来完成检查/验证操作。请参阅<a href="#flashing-boards-that-use-sdio">刷写使用SDIO的控制板</a>以了解实例。</li>
|
||||
</ul>
|
||||
<h2 id="_4">电路板定义<a class="headerlink" href="#_4" title="Permanent link">¶</a></h2>
|
||||
<p>大多数常见的电路板都应该可用,但如有必要,可以添加新的电路板定义。 板定义位于<code>~/klipper/scripts/spi_flash/board_defs.py</code>。 定义存储在字典中,例如:</p>
|
||||
@@ -1472,17 +1472,17 @@ optional arguments:
|
||||
<p>可以指定以下字段:</p>
|
||||
<ul>
|
||||
<li><code>mcu</code>:微控制器类型。这可以在使用<code>make menuconfig</code>配置构建配置后通过运行<code>cat .config | grep CONFIG_MCU</code>获取。 此字段是必需的。</li>
|
||||
<li><code>spi_bus</code>:连接到 SD 卡的 SPI 总线。 这应该从电路板的原理图中检索。 此字段是必需的。</li>
|
||||
<li><code>cs_pin</code>:连接到 SD 卡的芯片选择引脚。 这应该从电路板原理图中检索。 此字段是必需的。</li>
|
||||
<li><code>spi_bus</code>:连接到 SD 卡的 SPI 总线。 这应该可以在控制板的原理图中找到。 此字段是必需的。</li>
|
||||
<li><code>cs_pin</code>:连接到 SD 卡的芯片选择引脚。 可以在控制板的原理图中找到。 此字段是必需的。</li>
|
||||
<li><code>firmware_path</code>:SD 卡上固件应传输的路径。 默认是<code>firmware.bin</code>。</li>
|
||||
<li><code>current_firmware_path</code>: The path on the SD Card where the renamed firmware file is located after a successful flash. The default is <code>firmware.cur</code>.</li>
|
||||
<li><code>skip_verify</code>: This defines a boolean value which tells the scripts to skip the firmware verification step during the flashing process. The default is <code>False</code>. It can be set to <code>True</code> for boards that require a manual power-cycle to complete flashing. To verify the firmware afterward, run the script again with the <code>-c</code> option to perform the verification step. <a href="#caveats">See caveats with SDIO cards</a></li>
|
||||
<li><code>current_firmware_path</code> :刷写成功后,SD卡上重命名的固件文件所在的路径。默认是<code>firmware.cur</code> 。</li>
|
||||
<li><code>skip_verify</code>: 定义了一个布尔值,它告诉脚本在刷写过程中跳过固件验证步骤。默认值是<code>False</code> 。对于需要手动断电才能完成刷写的控制板,它可以被设置为<code>True</code> 。要想在之后验证固件,可以用<code>-c</code> 选项再次运行脚本来执行验证步骤。<a href="#caveats">参见SDIO卡的注意事项</a></li>
|
||||
</ul>
|
||||
<p>If software SPI is required, the <code>spi_bus</code> field should be set to <code>swspi</code> and the following additional field should be specified:</p>
|
||||
<p>如果需要软件 SPI,<code>spi_bus</code> 字段应设置为 <code>swspi</code>,并应指定以下附加字段:</p>
|
||||
<ul>
|
||||
<li><code>spi_pins</code>:这应该是 3 个逗号分隔的引脚,以 <code>miso,mosi,sclk</code> 的格式连接到 SD 卡。</li>
|
||||
</ul>
|
||||
<p>It should be exceedingly rare that Software SPI is necessary, typically only boards with design errors or boards that normally only support SDIO mode for their SD Card will require it. The <code>btt-skr-pro</code> board definition provides an example of the former, and the <code>btt-octopus-f446-v1</code> board definition provides an example of the latter.</p>
|
||||
<p>通常只有设计错误或只支持SD卡的SDIO模式的控制板才会需要软件SPI,这种情况极为罕见。<code>btt-skr-pro</code> 控制板定义提供了前者的例子,<code>btt-octopus-f446-v1</code> 控制板定义提供了后者的例子。</p>
|
||||
<p>在创建新板定义之前,应检查现有板定义是否满足新板所需的标准。 如果是这种情况,可以指定<code>BOARD_ALIAS</code>。 例如,可以添加以下别名来指定“my-new-board”作为“generic-lpc1768”的别名:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="n">BOARD_ALIASES</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="o">...<</span><span class="n">原先的别名</span><span class="o">></span><span class="p">,</span>
|
||||
@@ -1491,11 +1491,11 @@ optional arguments:
|
||||
</code></pre></div>
|
||||
|
||||
<p>如果您需要一个新的电路板定义并且您对上述过程感到不舒服,建议您在 <a href="Contact.html#discord">Klipper Community Discord</a> 中请求一个。</p>
|
||||
<h2 id="flashing-boards-that-use-sdio">Flashing Boards that use SDIO<a class="headerlink" href="#flashing-boards-that-use-sdio" title="Permanent link">¶</a></h2>
|
||||
<p><a href="#caveats">As mentioned in the Caveats</a>, boards whose bootloader uses SDIO mode to access their SD Card require a power-cycle of the board, and specifically the SD Card itself, in order to switch from the SPI Mode used while writing the file to the SD Card back to SDIO mode for the bootloader to flash it into the board. These board definitions will use the <code>skip_verify</code> flag, which tells the flashing tool to stop after writing the firmware to the SD Card so that the board can be manually power-cycled and the verification step deferred until that's complete.</p>
|
||||
<p>There are two scenarios -- one with the RPi Host running on a separate power supply and the other when the RPi Host is running on the same power supply as the main board being flashed. The difference is whether or not it's necessary to also shutdown the RPi and then <code>ssh</code> again after the flashing is complete in order to do the verification step, or if the verification can be done immediately. Here's examples of the two scenarios:</p>
|
||||
<h3 id="sdio-programming-with-rpi-on-separate-power-supply">SDIO Programming with RPi on Separate Power Supply<a class="headerlink" href="#sdio-programming-with-rpi-on-separate-power-supply" title="Permanent link">¶</a></h3>
|
||||
<p>A typical session with the RPi on a Separate Power Supply looks like the following. You will, of course, need to use your proper device path and board name:</p>
|
||||
<h2 id="sdio">刷写使用SDIO的控制板<a class="headerlink" href="#sdio" title="Permanent link">¶</a></h2>
|
||||
<p><a href="#caveats">正如在注意事项中提到的那样</a>,引导程序使用SDIO模式访问它们的SD卡的控制板需要对控制板进行电源循环,特别是SD卡本身,以便从将文件写入SD卡时使用的SPI模式切换回SDIO模式,以便引导程序将其刷写到板子上。这些板子的定义将使用<code>skip_verify</code> 标志,它告诉刷写工具在将固件写入SD卡后停止,以便控制板可以手动断电并推迟验证步骤直到完成。</p>
|
||||
<p>有两种情况 - 一种是RPi主机在独立电源上运行,另一种是RPi主机与被刷写的主板在同一电源上运行。区别在于是否有必要同时关闭RPi,然后在刷写完成后再次<code>ssh</code> ,以进行验证步骤,或者是否可以立即进行验证。下面是这两种情况的例子:</p>
|
||||
<h3 id="rpisdio">RPi有独立的电源时进行SDIO刷写<a class="headerlink" href="#rpisdio" title="Permanent link">¶</a></h3>
|
||||
<p>使用独立电源的RPi的典型流程看起来像下面这样。当然,你需要使用适当的设备路径和控制板名称:</p>
|
||||
<div class="highlight"><pre><span></span><code>sudo service klipper stop
|
||||
cd ~/klipper
|
||||
git pull
|
||||
@@ -1503,13 +1503,13 @@ make clean
|
||||
make menuconfig
|
||||
make
|
||||
./scripts/flash-sdcard.sh /dev/ttyACM0 btt-octopus-f446-v1
|
||||
[[[manually power-cycle the printer board here when instructed]]]
|
||||
[[[在提示时手动重启打印机控制板]]]
|
||||
./scripts/flash-sdcard.sh -c /dev/ttyACM0 btt-octopus-f446-v1
|
||||
sudo service klipper start
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="sdio-programming-with-rpi-on-the-same-power-supply">SDIO Programming with RPi on the Same Power Supply<a class="headerlink" href="#sdio-programming-with-rpi-on-the-same-power-supply" title="Permanent link">¶</a></h3>
|
||||
<p>A typical session with the RPi on the Same Power Supply looks like the following. You will, of course, need to use your proper device path and board name:</p>
|
||||
<h3 id="rpisdio_1">对与RPi在同一电源上的主板进行SDIO刷写<a class="headerlink" href="#rpisdio_1" title="Permanent link">¶</a></h3>
|
||||
<p>RPI和控制板在同一电源上的典型会话看起来像下面这样。当然,你需要使用正确的设备路径和控制板名称:</p>
|
||||
<div class="highlight"><pre><span></span><code>sudo service klipper stop
|
||||
cd ~/klipper
|
||||
git pull
|
||||
@@ -1518,23 +1518,23 @@ make menuconfig
|
||||
make
|
||||
./scripts/flash-sdcard.sh /dev/ttyACM0 btt-octopus-f446-v1
|
||||
sudo shutdown -h now
|
||||
[[[wait for the RPi to shutdown, then power-cycle and ssh again to the RPi when it restarts]]]
|
||||
[[[等RPI关机后,断电重启后再次 ssh 连接到 RPi]]]
|
||||
sudo service klipper stop
|
||||
cd ~/klipper
|
||||
./scripts/flash-sdcard.sh -c /dev/ttyACM0 btt-octopus-f446-v1
|
||||
sudo service klipper start
|
||||
</code></pre></div>
|
||||
|
||||
<p>In this case, since the RPi Host is being restarted, which will restart the <code>klipper</code> service, it's necessary to stop <code>klipper</code> again before doing the verification step and restart it after verification is complete.</p>
|
||||
<h3 id="sdio-to-spi-pin-mapping">SDIO to SPI Pin Mapping<a class="headerlink" href="#sdio-to-spi-pin-mapping" title="Permanent link">¶</a></h3>
|
||||
<p>If your board's schematic uses SDIO for its SD Card, you can map the pins as described in the chart below to determine the compatible Software SPI pins to assign in the <code>board_defs.py</code> file:</p>
|
||||
<p>在这种情况下,由于RPi主机被重新启动,这将重新启动<code>klipper</code> 服务,所以有必要在做验证步骤之前再次停止<code>klipper</code> ,并在验证完成后重新启动服务。</p>
|
||||
<h3 id="sdiospi">SDIO到SPI引脚映射<a class="headerlink" href="#sdiospi" title="Permanent link">¶</a></h3>
|
||||
<p>如果你的控制板原理图显示它使用SDIO的SD卡,你可以按照下图描述的方式映射引脚,以确定在<code>board_defs.py</code> 文件中分配的兼容的软件SPI引脚:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="center">SD Card Pin</th>
|
||||
<th align="center">Micro SD Card Pin</th>
|
||||
<th align="center">SDIO Pin Name</th>
|
||||
<th align="center">SPI Pin Name</th>
|
||||
<th align="center">SD 卡引脚</th>
|
||||
<th align="center">MicroSD卡引脚</th>
|
||||
<th align="center">SDIO 引脚名称</th>
|
||||
<th align="center">SPI引脚名称</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -1589,8 +1589,8 @@ sudo service klipper start
|
||||
<tr>
|
||||
<td align="center">N/A</td>
|
||||
<td align="center">9</td>
|
||||
<td align="center">Card Detect (CD)</td>
|
||||
<td align="center">Card Detect (CD)</td>
|
||||
<td align="center">卡片检测 (CD)</td>
|
||||
<td align="center">卡片检测 (CD)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">6</td>
|
||||
@@ -1600,7 +1600,7 @@ sudo service klipper start
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>* None (PU) indicates an unused pin with a pull-up resistor</p>
|
||||
<p>* None (PU)表示有上拉电阻的未使用引脚</p>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
@@ -889,6 +889,13 @@
|
||||
禁用任何"提前挤出压力"的设置
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#start_print" class="md-nav__link">
|
||||
START_PRINT宏
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -1356,6 +1363,13 @@
|
||||
禁用任何"提前挤出压力"的设置
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#start_print" class="md-nav__link">
|
||||
START_PRINT宏
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -1398,6 +1412,21 @@
|
||||
<p>一些切片软件宣传有 "高级挤出机压力调整 "的功能。建议在使用 Klipper 时禁用这些功能,因为它们很可能会降低打印质量。考虑使用 Klipper 的<a href="Pressure_Advance.html">压力提前</a>代替。</p>
|
||||
<p>具体来说,这些切片软件的设置生成的命令会固件对挤出率进行剧烈的改变,希望固件能接近这些请求值,使打印机获得一个大致理想的挤出机压力。然而,Klipper利用精确的运动学计算和计时。当Klipper被命令对挤出率进行重大改变时,它将计划出速度、加速度和挤出机运动的相应变化--这不是切片软件的意图。切片软件甚至可能产生过大的挤出速度,以至于触发Klipper的最大挤出截面检查。</p>
|
||||
<p>相反,使用切片软件的"回抽"、"擦拭 "和/或 "缩回时擦拭 "设置通常是有益的。</p>
|
||||
<h2 id="start_print">START_PRINT宏<a class="headerlink" href="#start_print" title="Permanent link">¶</a></h2>
|
||||
<p>When using a START_PRINT macro or similar, it is useful to sometimes pass through parameters from the slicer variables to the macro.</p>
|
||||
<p>In Cura, to pass through temperatures, the following start gcode would be used:</p>
|
||||
<div class="highlight"><pre><span></span><code>START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}
|
||||
</code></pre></div>
|
||||
|
||||
<p>In slic3r derivatives such as PrusaSlicer and SuperSlicer, the following would be used:</p>
|
||||
<p>START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]</p>
|
||||
<p>Also note that these slicers will insert their own heating codes when certain conditions are not met. In Cura, the existence of the <code>{material_bed_temperature_layer_0}</code> and <code>{material_print_temperature_layer_0}</code> variables is enough to mitigate this. In slic3r derivatives, you would use:</p>
|
||||
<div class="highlight"><pre><span></span><code>M140 S0
|
||||
M104 S0
|
||||
</code></pre></div>
|
||||
|
||||
<p>before the macro call. Also note that SuperSlicer has a "custom gcode only" button option, which achieves the same outcome.</p>
|
||||
<p>An example of a START_PRINT macro using these paramaters can be found in config/sample-macros.cfg</p>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
@@ -1010,6 +1010,13 @@
|
||||
servo
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#stepper_enable" class="md-nav__link">
|
||||
stepper_enable
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1771,6 +1778,13 @@
|
||||
servo
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#stepper_enable" class="md-nav__link">
|
||||
stepper_enable
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1949,6 +1963,7 @@
|
||||
<ul>
|
||||
<li><code>pressure_advance</code>:当前的<a href="Pressure_Advance.html">压力提前</a>值。</li>
|
||||
<li><code>smooth_time</code>:当前压力提前平滑时间。</li>
|
||||
<li><code>motion_queue</code>: The name of the extruder that this extruder stepper is currently synchronized to. This is reported as <code>None</code> if the extruder stepper is not currently associated with an extruder.</li>
|
||||
</ul>
|
||||
<h2 id="fan">fan<a class="headerlink" href="#fan" title="Permanent link">¶</a></h2>
|
||||
<p><a href="Config_Reference.html#fan">fan</a>、<a href="Config_Reference.html#heater_fan">heater_fan some_name</a>和<a href="Config_Reference.html#controller_fan">controller_fan some_name</a>对象提供了以下信息:</p>
|
||||
@@ -2067,11 +2082,12 @@
|
||||
<ul>
|
||||
<li><code>filename</code>、<code>total_duration</code>、<code>print_duration</code>、<code>filament_used</code>、<code>state</code>、<code>message</code>:virtual_sdcard 打印处于活动状态时有关当前打印的估测。</li>
|
||||
<li><code>info.total_layer</code>:最后一条<code>SET_PRINT_STATS_INFO TOTAL_LAYER=<值></code> G-Code命令的总层值。</li>
|
||||
<li><code>info.current_layer</code>: The current layer value of the last <code>SET_PRINT_STATS_INFO CURRENT_LAYER=<value></code> G-Code command.</li>
|
||||
<li><code>info.current_layer</code>: 上一条 <code>SET_PRINT_STATS_INFO CURRENT_LAYER=<值></code> G代码命令的当前层值。</li>
|
||||
</ul>
|
||||
<h2 id="probe">probe<a class="headerlink" href="#probe" title="Permanent link">¶</a></h2>
|
||||
<p><a href="Config_Reference.html#probe">probe</a> 对象中提供了以下信息(如果定义了 <a href="Config_Reference.html#bltouch">bltouch</a> 配置分段,则此对象也可用):</p>
|
||||
<ul>
|
||||
<li><code>name</code>: Returns the name of the probe in use.</li>
|
||||
<li><code>last_query</code>:如果探针在上一个 QUERY_PROBE 命令期间报告为"已触发",则返回 True。请注意,如果在宏中使用它,根据模板展开的顺序,必须在包含此引用的宏之前运行 QUERY_PROBE 命令。</li>
|
||||
<li><code>last_z_result</code>:返回上一次 PROBE 命令的结果 Z 值。请注意,由于模板展开的顺序,在宏中使用时必须在包含此引用的宏之前运行 PROBE(或类似)命令。</li>
|
||||
</ul>
|
||||
@@ -2086,16 +2102,14 @@
|
||||
<li><code>last_query["<限位>"]</code>:如果在最后一次 QUERY_ENDSTOP 命令中,给定的 endstop 处于“触发”状态,则返回 True。注意,如果在宏中使用,由于模板扩展的顺序,QUERY_ENDSTOP 命令必须在包含这个引用的宏之前运行。</li>
|
||||
</ul>
|
||||
<h2 id="screws_tilt_adjust">screws_tilt_adjust<a class="headerlink" href="#screws_tilt_adjust" title="Permanent link">¶</a></h2>
|
||||
<p>The following information is available in the <code>screws_tilt_adjust</code> object:</p>
|
||||
<p>以下信息可在<code>screws_tilt_adjust</code>对象中获取:</p>
|
||||
<ul>
|
||||
<li><code>error</code>: Returns True if the most recent <code>SCREWS_TILT_CALCULATE</code> command included the <code>MAX_DEVIATION</code> parameter and any of the probed screw points exceeded the specified <code>MAX_DEVIATION</code>.</li>
|
||||
<li><code>results</code>: A list of the probed screw locations. Each entry in the list will be a dictionary containing the following keys:<ul>
|
||||
<li><code>name</code>: The name of the screw as specified in the config file.</li>
|
||||
<li><code>x</code>: The X coordinate of the screw as specified in the config file.</li>
|
||||
<li><code>y</code>: The Y coordinate of the screw as specified in the config file.</li>
|
||||
<li><code>z</code>: The measured Z height of the screw location.</li>
|
||||
<li><code>sign</code>: A string specifying the direction to turn to screw for the necessary adjustment. Either "CW" for clockwise or "CCW" for counterclockwise. The base screw will not have a <code>sign</code> key.</li>
|
||||
<li><code>adjust</code>: The number of screw turns to adjust the screw, given in the format "HH:MM," where "HH" is the number of full screw turns and "MM" is the number of "minutes of a clock face" representing a partial screw turn. (E.g. "01:15" would mean to turn the screw one and a quarter revolutions.)</li>
|
||||
<li><code>error</code>: 如果最近的 <code>SCREWS_TILT_CALCULATE</code> 命令包含了 <code>MAX_DEVIATION</code> 参数,并且任何一个已探测的螺丝坐标超过了指定的 <code>MAX_DEVIATION</code>,则返回 True。</li>
|
||||
<li><code>results["<screw>"]</code>: A dictionary containing the following keys:<ul>
|
||||
<li><code>z</code>: 螺丝坐标测量的 Z 高度。</li>
|
||||
<li><code>sign</code>: A string specifying the direction to turn to screw for the necessary adjustment. Either "CW" for clockwise or "CCW" for counterclockwise.</li>
|
||||
<li><code>adjust</code>: 调整螺丝的圈数,格式为 "HH:MM",其中 "HH" 表示完整螺丝圈数,"MM" 表示代表部分螺丝圈数的 "时钟面的分钟数"。例如,“01:15”表示旋转螺丝一圈和四分之一圈。</li>
|
||||
<li><code>is_base</code>: Returns True if this is the base screw.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -2104,6 +2118,11 @@
|
||||
<ul>
|
||||
<li><code>printer["servo <配置名>"].value</code>:与指定伺服相关 PWM 引脚的上一次设置的值(0.0 和 1.0 之间的值)。</li>
|
||||
</ul>
|
||||
<h2 id="stepper_enable">stepper_enable<a class="headerlink" href="#stepper_enable" title="Permanent link">¶</a></h2>
|
||||
<p>The following information is available in the <code>stepper_enable</code> object (this object is available if any stepper is defined):</p>
|
||||
<ul>
|
||||
<li><code>steppers["<stepper>"]</code>: Returns True if the given stepper is enabled.</li>
|
||||
</ul>
|
||||
<h2 id="system_stats">system_stats<a class="headerlink" href="#system_stats" title="Permanent link">¶</a></h2>
|
||||
<p><code>system_stats</code> 对象提供了以下信息(该对象始终可用):</p>
|
||||
<ul>
|
||||
|
||||
@@ -990,8 +990,8 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#tmc-shorttognd-lowsideshort" class="md-nav__link">
|
||||
TMC 报告错误: ... ShortToGND 或着 LowSideShort
|
||||
<a href="#tmc-shorttognd-shorttosupply" class="md-nav__link">
|
||||
TMC 报告错误:... ShortToGND(接地短路)或 ShortToSupply(与电源短路)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1649,8 +1649,8 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#tmc-shorttognd-lowsideshort" class="md-nav__link">
|
||||
TMC 报告错误: ... ShortToGND 或着 LowSideShort
|
||||
<a href="#tmc-shorttognd-shorttosupply" class="md-nav__link">
|
||||
TMC 报告错误:... ShortToGND(接地短路)或 ShortToSupply(与电源短路)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1897,7 +1897,7 @@ gcode:
|
||||
<p>一些常见的错误和诊断的技巧:</p>
|
||||
<h4 id="tmc-ot1overtemperror">TMC 报告错误: <code>... ot=1(OvertempError!)</code><a class="headerlink" href="#tmc-ot1overtemperror" title="Permanent link">¶</a></h4>
|
||||
<p>这表明电机驱动器因温度过高而自我禁用。典型的解决方案是降低步进电机的电流,增加步进电机驱动器的冷却,和/或增加步进电机的冷却。</p>
|
||||
<h4 id="tmc-shorttognd-lowsideshort">TMC 报告错误: <code>... ShortToGND</code> 或着 <code>LowSideShort</code><a class="headerlink" href="#tmc-shorttognd-lowsideshort" title="Permanent link">¶</a></h4>
|
||||
<h4 id="tmc-shorttognd-shorttosupply">TMC 报告错误:<code>... ShortToGND</code>(接地短路)或 <code>ShortToSupply</code>(与电源短路)<a class="headerlink" href="#tmc-shorttognd-shorttosupply" title="Permanent link">¶</a></h4>
|
||||
<p>这表明驱动器已自行禁用,因为它检测到通过驱动器的电流非常高。这可能表明连接到步进电机或者部件电机内部的电线松动或短路了。</p>
|
||||
<p>如果使用stealthChop模式,并且TMC驱动器不能准确地预测电机的机械负载,也可能发生这种错误。(如果驱动器预测不准确,那么它可能输出过高电流到电机,并触发自己的过电流检测)。要测试这个,请禁用stealthChop模式,再检查错误是否继续发生。</p>
|
||||
<h4 id="tmc-reset1reset-cs_actual0reset-se0reset">TMC报告错误:<code>... reset=1(Reset)</code> 或<code>CS_ACTUAL=0(Reset?)</code> 或<code>SE=0(Reset?)</code><a class="headerlink" href="#tmc-reset1reset-cs_actual0reset-se0reset" title="Permanent link">¶</a></h4>
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
100
zh/sitemap.xml
100
zh/sitemap.xml
@@ -2,252 +2,252 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>None</loc>
|
||||
<lastmod>2023-04-16</lastmod>
|
||||
<lastmod>2023-04-17</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
</urlset>
|
||||
Binary file not shown.
Reference in New Issue
Block a user