Deploying to gh-pages from @ Klipper3d/klipper@d725dfd309 🚀

This commit is contained in:
KevinOConnor
2023-07-28 00:04:14 +00:00
parent 035fe8eafd
commit f970b964d2
283 changed files with 11604 additions and 2400 deletions

View File

@@ -1150,8 +1150,8 @@
<li class="md-nav__item">
<a href="/CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="/CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1365,8 +1365,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1249,8 +1249,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1226,8 +1226,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1214,8 +1214,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -688,14 +688,27 @@
</li>
<li class="md-nav__item">
<a href="#_9" class="md-nav__link">
相对参考索引
<a href="#configuring-the-zero-reference-position" class="md-nav__link">
Configuring the zero reference position
</a>
<nav class="md-nav" aria-label="Configuring the zero reference position">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#the-deprecated-relative_reference_index" class="md-nav__link">
The deprecated relative_reference_index
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_10" class="md-nav__link">
<a href="#_9" class="md-nav__link">
故障区域
</a>
@@ -715,14 +728,14 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_11" class="md-nav__link">
<a href="#_10" class="md-nav__link">
校准
</a>
</li>
<li class="md-nav__item">
<a href="#_12" class="md-nav__link">
<a href="#_11" class="md-nav__link">
配置
</a>
@@ -730,7 +743,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_13" class="md-nav__link">
<a href="#_12" class="md-nav__link">
加载默认配置文件
</a>
@@ -742,14 +755,14 @@
</li>
<li class="md-nav__item">
<a href="#_14" class="md-nav__link">
<a href="#_13" class="md-nav__link">
输出
</a>
</li>
<li class="md-nav__item">
<a href="#_15" class="md-nav__link">
<a href="#_14" class="md-nav__link">
清除网格状态
</a>
@@ -1329,8 +1342,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1469,14 +1482,27 @@
</li>
<li class="md-nav__item">
<a href="#_9" class="md-nav__link">
相对参考索引
<a href="#configuring-the-zero-reference-position" class="md-nav__link">
Configuring the zero reference position
</a>
<nav class="md-nav" aria-label="Configuring the zero reference position">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#the-deprecated-relative_reference_index" class="md-nav__link">
The deprecated relative_reference_index
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#_10" class="md-nav__link">
<a href="#_9" class="md-nav__link">
故障区域
</a>
@@ -1496,14 +1522,14 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_11" class="md-nav__link">
<a href="#_10" class="md-nav__link">
校准
</a>
</li>
<li class="md-nav__item">
<a href="#_12" class="md-nav__link">
<a href="#_11" class="md-nav__link">
配置
</a>
@@ -1511,7 +1537,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#_13" class="md-nav__link">
<a href="#_12" class="md-nav__link">
加载默认配置文件
</a>
@@ -1523,14 +1549,14 @@
</li>
<li class="md-nav__item">
<a href="#_14" class="md-nav__link">
<a href="#_13" class="md-nav__link">
输出
</a>
</li>
<li class="md-nav__item">
<a href="#_15" class="md-nav__link">
<a href="#_14" class="md-nav__link">
清除网格状态
</a>
@@ -1662,22 +1688,35 @@ fade_target: 0
<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 毫米。如果 <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">&para;</a></h3>
<p>大多数探针容易出现漂移,即由于热量或干扰而引入的探测不准确。这可能会使计算探针的 z 偏移量变得困难,特别是在不同的床温度下。因此,一些打印机使用一个终点开关归位 Z 轴,使用探针探测网格。这些打印机可以通过配置相对参考指数来获益。</p>
<h3 id="configuring-the-zero-reference-position">Configuring the zero reference position<a class="headerlink" href="#configuring-the-zero-reference-position" title="Permanent link">&para;</a></h3>
<p>Many probes are susceptible to "drift", ie: inaccuracies in probing introduced by heat or interference. This can make calculating the probe's z-offset challenging, particularly at different bed temperatures. As such, some printers use an endstop for homing the Z axis and a probe for calibrating the mesh. In this configuration it is possible offset the mesh so that the (X, Y) <code>reference position</code> applies zero adjustment. The <code>reference postion</code> should be the location on the bed where a <a href="./Manual_Level#calibrating-a-z-endstop">Z_ENDSTOP_CALIBRATE</a> paper test is performed. The bed_mesh module provides the <code>zero_reference_position</code> option for specifying this coordinate:</p>
<div class="highlight"><pre><span></span><code>[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 35, 6
mesh_max: 240, 198
zero_reference_position: 125, 110
probe_count: 5, 3
relative_reference_index: 7
</code></pre></div>
<ul>
<li><code>relative_reference_index: 7</code><em>默认值:无(禁用)</em>生成探测点时,为每个点分配一个索引。您可以使用网床输出或在 klippy.log 中查找此索引(有关详细信息,请参阅下面的网床 G代码部分。如果您为 <code>relative_reference_index</code> 选项分配了索引,则在该坐标处探测的值将替换探针的 Z偏移值。 这将把这个坐标作为“零高度”的参考。</li>
<li><code>zero_reference_position:</code> <em>Default Value: None (disabled)</em> The <code>zero_reference_position</code> expects an (X, Y) coordinate matching that of the <code>reference position</code> described above. If the coordinate lies within the mesh then the mesh will be offset so the reference position applies zero adjustment. If the coordinate lies outside of the mesh then the coordinate will be probed after calibration, with the resulting z-value used as the z-offset. Note that this coordinate must NOT be in a location specified as a <code>faulty_region</code> if a probe is necessary.</li>
</ul>
<p>使用相对参考指数时,应选择距离床身 Z 限位器校准点最近的指数。 请注意,在网床输出或在日志中查找索引时,您应该使用“探针”标题下列出的坐标来查找正确的索引。</p>
<h3 id="_10">故障区域<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h3>
<h4 id="the-deprecated-relative_reference_index">The deprecated relative_reference_index<a class="headerlink" href="#the-deprecated-relative_reference_index" title="Permanent link">&para;</a></h4>
<p>Existing configurations using the <code>relative_reference_index</code> option must be updated to use the <code>zero_reference_position</code>. The response to the <a href="#output">BED_MESH_OUTPUT PGP=1</a> gcode command will include the (X, Y) coordinate associated with the index; this position may be used as the value for the <code>zero_reference_position</code>. The output will look similar to the following:</p>
<div class="highlight"><pre><span></span><code>// bed_mesh: generated points
// Index | Tool Adjusted | Probe
// 0 | (1.0, 1.0) | (24.0, 6.0)
// 1 | (36.7, 1.0) | (59.7, 6.0)
// 2 | (72.3, 1.0) | (95.3, 6.0)
// 3 | (108.0, 1.0) | (131.0, 6.0)
... (additional generated points)
// bed_mesh: relative_reference_index 24 is (131.5, 108.0)
</code></pre></div>
<p><em>Note: The above output is also printed in <code>klippy.log</code> during initialization.</em></p>
<p>Using the example above we see that the <code>relative_reference_index</code> is printed along with its coordinate. Thus the <code>zero_reference_position</code> is <code>131.5, 108</code>.</p>
<h3 id="_9">故障区域<a class="headerlink" href="#_9" title="Permanent link">&para;</a></h3>
<p>由于特定位置的“故障”,热床的某些区域在探测时可能会报告不准确的结果。 最好的例子是带有用弹簧钢板的磁铁热床。 这些磁铁处和周围的磁场可能干扰探针触发的高度,从而导致网格无法准确表示这些位置的表面。 <strong>注意:不要与探头位置偏差导致探测结果不准确的结果混淆。</strong></p>
<p>可以配置 <code>faulty_region</code> 选项来避免这种影响。 如果生成的点位于故障区域内,热床网格将尝试在该区域的边界处探测最多 4 个点。 这些探测的平均值将插入网床中作为生成的 (X, Y) 坐标处的 Z 值。</p>
<div class="highlight"><pre><span></span><code>[bed_mesh]
@@ -1702,7 +1741,7 @@ faulty_region_4_max: 45.0, 210.0
<p>下面的图片说明了当一个生成的探测点位于一个故障区域内时,如何生成替代探测点。所显示的区域与上述样本配置中的区域一致。替代点和它们的坐标以绿色标识。</p>
<p><img alt="bedmesh_interpolated" src="img/bedmesh_faulty_regions.svg" /></p>
<h2 id="g">床网 G代码<a class="headerlink" href="#g" title="Permanent link">&para;</a></h2>
<h3 id="_11">校准<a class="headerlink" href="#_11" title="Permanent link">&para;</a></h3>
<h3 id="_10">校准<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h3>
<p><code>BED_MESH_CALIBRATE PROFILE=&lt;名称&gt; METHOD=[manual | automatic] [&lt;probe_parameter&gt;=&lt;&gt;] [&lt;mesh_parameter&gt;=&lt;&gt;]</code> <em>默认配置default</em> <em>默认方法:如果检测到探针则自动,否则手动</em></p>
<p>启动床网校准的探测程序。</p>
<p>网格将被保存到由 <code>PROFILE</code> 参数指定的配置中,如果没有指定,则使用 <code>default</code>。如果选择了 <code>METHOD=manual</code> ,那么将进行手动探测。在自动和手动探测之间切换时,生成的网格点会自动调整。</p>
@@ -1721,20 +1760,19 @@ faulty_region_4_max: 45.0, 210.0
</ul>
</li>
<li>全部打印床:<ul>
<li><code>RELATIVE_REFERNCE_INDEX</code></li>
<li><code>ALGORITHM</code></li>
</ul>
</li>
</ul>
<p>有关在网格中使用的配置参数详见配置文档。</p>
<h3 id="_12">配置<a class="headerlink" href="#_12" title="Permanent link">&para;</a></h3>
<h3 id="_11">配置<a class="headerlink" href="#_11" title="Permanent link">&para;</a></h3>
<p><code>BED_MESH_PROFILE SAVE=&lt;名称&gt; LOAD=&lt;名称&gt; REMOVE=&lt;名称&gt;</code></p>
<p>在执行 BED_MESH_CALIBRATE 后,可以将当前网格状态保存到一个命名的配置中。这样不需要重新探测打印床就可以载入一个网格。在使用<code>BED_MESH_PROFILE SAVE=&lt;名称&gt;</code>保存了一个配置文件后,可以执行<code>SAVE_CONFIG</code> G代码将配置写入 printer.cfg。</p>
<p>可以通过运行 <code>BED_MESH_PROFILE LOAD=&lt;名称&gt;</code> 来载入配置。</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="_13">加载默认配置文件<a class="headerlink" href="#_13" title="Permanent link">&para;</a></h4>
<h4 id="_12">加载默认配置文件<a class="headerlink" href="#_12" title="Permanent link">&para;</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>
@@ -1743,7 +1781,7 @@ faulty_region_4_max: 45.0, 210.0
<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="_14">输出<a class="headerlink" href="#_14" title="Permanent link">&para;</a></h3>
<h3 id="_13">输出<a class="headerlink" href="#_13" title="Permanent link">&para;</a></h3>
<p><code>BED_MESH_OUTPUT PGP=[0 | 1]</code></p>
<p>将当前网格状态输出到终端。请注意,输出的是网格本身</p>
<p>PGP 参数是“打印生成的点”的简写。如果设置了<code>PGP=1</code>,生成的探测点将输出到终端:</p>
@@ -1767,7 +1805,7 @@ faulty_region_4_max: 45.0, 210.0
</code></pre></div>
<p>"Tool Adjusted"(工具调整)点指每个点的喷嘴位置,"Probe"(探针)点指探头位置。请注意,手动探测时"Probe"(探针)点时将同时指工具和喷嘴位置。</p>
<h3 id="_15">清除网格状态<a class="headerlink" href="#_15" title="Permanent link">&para;</a></h3>
<h3 id="_14">清除网格状态<a class="headerlink" href="#_14" title="Permanent link">&para;</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">&para;</a></h3>

View File

@@ -1337,8 +1337,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1363,8 +1363,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1216,6 +1216,13 @@
USB转CAN总线桥接模式
</a>
</li>
<li class="md-nav__item">
<a href="#tips-for-troubleshooting" class="md-nav__link">
Tips for troubleshooting
</a>
</li>
</ul>
@@ -1233,8 +1240,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1356,6 +1363,13 @@
USB转CAN总线桥接模式
</a>
</li>
<li class="md-nav__item">
<a href="#tips-for-troubleshooting" class="md-nav__link">
Tips for troubleshooting
</a>
</li>
</ul>
@@ -1378,25 +1392,20 @@
<h1 id="can">CAN 总线<a class="headerlink" href="#can" title="Permanent link">&para;</a></h1>
<p>本文档描述了 Klipper 的 CAN 总线支持。</p>
<h2 id="_1">硬件设备<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<p>Klipper目前支持在stm32、same5x和rp2040芯片上使用CAN总线。此外微控制器芯片必须和一个CAN收发器相连。</p>
<p>Klipper currently supports CAN on stm32, SAME5x, and rp2040 chips. In addition, the micro-controller chip must be on a board that has a CAN transceiver.</p>
<p>要针对 CAN 进行编译,请运行 <code>make menuconfig</code>并选择"CAN Bus"作为通信接口。最后,编译微控制器代码并将其刷写到目标控制版上。</p>
<h2 id="_2">主机硬件<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<p>为了使用 CAN 总线,主机需要一个适配器。目前有两种常见的选择:</p>
<ol>
<li>使用<a href="https://www.waveshare.com/rs485-can-hat.htm">Waveshare Raspberry Pi CAN hat</a>或其众多克隆中的一个。</li>
<li>使用一个USB CAN适配器例如<a href="https://hacker-gadgets.com/product/cantact-usb-can-adapter/">https://hacker-gadgets.com/product/cantact-usb-can-adapter/</a>。有许多不同的USB到CAN适配器—当选择时我们建议验证它是否能运行<a href="https://github.com/candle-usb/candleLight_fw">candlelight 固件</a>。(不幸的是我们发现一些USB适配器运行有缺陷的固件并被锁死所以在购买前要进行核实。</li>
</ol>
<p>In order to use a CAN bus, it is necessary to have a host adapter. It is recommended to use a "USB to CAN adapter". There are many different USB to CAN adapters available from different manufacturers. When choosing one, we recommend verifying that the firmware can be updated on it. (Unfortunately, we've found some USB adapters run defective firmware and are locked down, so verify before purchasing.) Look for adapters that can run Klipper directly (in its "USB to CAN bridge mode") or that run the <a href="https://github.com/candle-usb/candleLight_fw">candlelight firmware</a>.</p>
<p>还需要将主机操作系统配置为使用适配器。通常可以通过创建一个名为 <code>/etc/network/interfaces.d/can0</code> 的新文件来实现,该文件包含以下内容:</p>
<div class="highlight"><pre><span></span><code>auto can0
<div class="highlight"><pre><span></span><code>allow-hotplug can0
iface can0 can static
bitrate 500000
bitrate 1000000
up ifconfig $IFACE txqueuelen 128
</code></pre></div>
<p>注意,"Raspberry Pi CAN hat" 需要额外<a href="https://www.waveshare.com/wiki/RS485_CAN_HAT">对 config.txt 进行修改</a></p>
<h2 id="_3">终端电阻<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h2>
<p>CAN总线在 CANH 和 CANL 导线之间必须两个 120 欧姆的电阻。理想情况下,总线的两端各有一个电阻。</p>
<p>请注意有些设备有一个内置的120欧姆电阻例如"Waveshare Raspberry Pi CAN hat"有一个难以拆除的贴片电阻)。有些设备根本不带有一个电阻。其他设备有一个选择电阻的机制(通常是一个跳线)。一定要检查 CAN 总线上所有设备的原理图以确认总线上有两个而且只有两个120欧姆的电阻。</p>
<p>Note that some devices have a builtin 120 ohm resistor that can not be easily removed. Some devices do not include a resistor at all. Other devices have a mechanism to select the resistor (typically by connecting a "pin jumper"). Be sure to check the schematics of all devices on the CAN bus to verify that there are two and only two 120 Ohm resistors on the bus.</p>
<p>要测试电阻是否正确,先切断打印机的电源,并用多用表检查 CANH 和 CANL 线之间的阻值—在正确接线的 CAN 总线上它应该报告大约60 欧姆。</p>
<h2 id="canbus_uuid">寻找新微控制器的 canbus_uuid<a class="headerlink" href="#canbus_uuid" title="Permanent link">&para;</a></h2>
<p>CAN 总线上的每个微控制器都根据编码到每个微控制器中的工厂芯片标识符分配了一个唯一的 ID。要查找每个微控制器设备 ID请确保硬件已正确供电和接线然后运行</p>
@@ -1416,20 +1425,31 @@ canbus_uuid: 11aa22bb33cc
</code></pre></div>
<h2 id="usbcan">USB转CAN总线桥接模式<a class="headerlink" href="#usbcan" title="Permanent link">&para;</a></h2>
<p>一些微控制器支持在 "make menuconfig "中选择 "USB 转 CAN 总线桥接"模式。这种模式可以把微控制器作为 "USB到CAN总线适配器"的同时作为Klipper节点使用。</p>
<p>Klipper使用这种模式时,微控制器在 Linux 下会显示为一个 "USB CAN总线适配器"。“Klipper 桥接 mcu "本身将出现在这个CAN总线上--它可以通过<code>canbus_query.py</code> 并像其他CAN总线Klipper节点一样被配置。它将与其他实际在CAN总线上的设备一起出现。</p>
<p>Some micro-controllers support selecting "USB to CAN bus bridge" mode during Klipper's "make menuconfig". This mode may allow one to use a micro-controller as both a "USB to CAN bus adapter" and as a Klipper node.</p>
<p>When Klipper uses this mode the micro-controller appears as a "USB CAN bus adapter" under Linux. The "Klipper bridge mcu" itself will appear as if it was on this CAN bus - it can be identified via <code>canbus_query.py</code> and it must be configured like other CAN bus Klipper nodes.</p>
<p>使用该模式时的一些重要注意事项:</p>
<ul>
<li>“桥接MCU” 实际上并不在CAN总线上。传入和传出的消息不会占用CAN总线上的带宽。因此位于CAN总线上的其他适配器无法看到MCU。</li>
<li>有必要在Linux中配置<code>can0</code> 或类似接口以便与总线通信。然而Klipper 会忽略 Linux的CAN总线速度和 CAN 总线bit-timing选项。目前CAN总线的频率需要在 "make menuconfig "中指定。Linux中指定的总线速度会被忽略。</li>
<li>每当 "bridge mcu "被重置时Linux 将禁用相应的<code>can0</code> 接口。为了确保正确处理 FIRMWARE_RESTART RESTART 命令,建议在<code>/etc/network/interfaces.d/can0</code> 文件中用<code>allow-hotplug</code> 替换<code>auto</code> 。例如:</li>
<li>Whenever the "bridge mcu" is reset, Linux will disable the corresponding <code>can0</code> interface. To ensure proper handling of FIRMWARE_RESTART and RESTART commands, it is recommended to use <code>allow-hotplug</code> in the <code>/etc/network/interfaces.d/can0</code> file. For example:</li>
</ul>
<div class="highlight"><pre><span></span><code>allow-hotplug can0
iface can0 can static
bitrate 500000
bitrate 1000000
up ifconfig $IFACE txqueuelen 128
</code></pre></div>
<ul>
<li>
<p>The "bridge mcu" is not actually on the CAN bus. Messages to and from the bridge mcu will not be seen by other adapters that may be on the CAN bus.</p>
<ul>
<li>The available bandwidth to both the "bridge mcu" itself and all devices on the CAN bus is effectively limited by the CAN bus frequency. As a result, it is recommended to use a CAN bus frequency of 1000000 when using "USB to CAN bus bridge mode".Even at a CAN bus frequency of 1000000, there may not be sufficient bandwidth to run a <code>SHAPER_CALIBRATE</code> test if both the XY steppers and the accelerometer all communicate via a single "USB to CAN bus" interface.</li>
<li>A USB to CAN bridge board will not appear as a USB serial device, it will not show up when running <code>ls /dev/serial/by-id</code>, and it can not be configured in Klipper's printer.cfg file with a <code>serial:</code> parameter. The bridge board appears as a "USB CAN adapter" and it is configured in the printer.cfg as a <a href="#configuring-klipper">CAN node</a>.</li>
</ul>
</li>
</ul>
<h2 id="tips-for-troubleshooting">Tips for troubleshooting<a class="headerlink" href="#tips-for-troubleshooting" title="Permanent link">&para;</a></h2>
<p>See the <a href="CANBUS_Troubleshooting.html">CAN bus troubleshooting</a> document.</p>
</article>
</div>
@@ -1463,13 +1483,13 @@ iface can0 can static
<a href="TSL1401CL_Filament_Width_Sensor.html" class="md-footer__link md-footer__link--next" aria-label="下一页: TSL1401CL 耗材宽度传感器" rel="next">
<a href="CANBUS_Troubleshooting.html" class="md-footer__link md-footer__link--next" aria-label="下一页: CANBUS Troubleshooting" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
下一页
</span>
TSL1401CL 耗材宽度传感器
CANBUS Troubleshooting
</div>
</div>
<div class="md-footer__button md-icon">

File diff suppressed because it is too large Load Diff

View File

@@ -1239,8 +1239,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1239,8 +1239,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1254,8 +1254,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1290,8 +1290,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1196,8 +1196,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1307,6 +1307,11 @@
<p>本文档涵盖了软件更新中对配置文件不向后兼容的部分。在升级 Klipper 时,最好也查看一下这份文档。</p>
<p>文档的所有日期都是大概时间。</p>
<h2 id="_2">变更<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<p>20230619: The <code>relative_reference_index</code> option has been deprecated and superceded by the <code>zero_reference_position</code> option. Refer to the <a href="Bed_Mesh.html#the-deprecated-relative_reference_index">Bed Mesh Documentation</a> for details on how to update the configuration. With this deprecation the <code>RELATIVE_REFERENCE_INDEX</code> is no longer available as a parameter for the <code>BED_MESH_CALIBRATE</code> gcode command.</p>
<p>20230530: The default canbus frequency in "make menuconfig" is now 1000000. If using canbus and using canbus with some other frequency is required, then be sure to select "Enable extra low-level configuration options" and specify the desired "CAN bus speed" in "make menuconfig" when compiling and flashing the micro-controller.</p>
<p>20230525: <code>SHAPER_CALIBRATE</code> command immediately applies input shaper parameters if <code>[input_shaper]</code> was enabled already.</p>
<p>20230407: The <code>stalled_bytes</code> counter in the log and in the <code>printer.mcu.last_stats</code> field has been renamed to <code>upcoming_bytes</code>.</p>
<p>20230323: On tmc5160 drivers <code>multistep_filt</code> is now enabled by default. Set <code>driver_MULTISTEP_FILT: False</code> in the tmc5160 config for the previous behavior.</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>

View File

@@ -1117,6 +1117,13 @@
BMP280/BME280/BME680 温度传感器
</a>
</li>
<li class="md-nav__item">
<a href="#aht10aht20aht21-temperature-sensor" class="md-nav__link">
AHT10/AHT20/AHT21 temperature sensor
</a>
</li>
<li class="md-nav__item">
@@ -2345,8 +2352,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -3059,6 +3066,13 @@
BMP280/BME280/BME680 温度传感器
</a>
</li>
<li class="md-nav__item">
<a href="#aht10aht20aht21-temperature-sensor" class="md-nav__link">
AHT10/AHT20/AHT21 temperature sensor
</a>
</li>
<li class="md-nav__item">
@@ -4269,85 +4283,94 @@ max_temp:
<div class="highlight"><pre><span></span><code>[bed_mesh]
#speed: 50
# 校准期间非探测移动的速度(mm/s)
# 默认是 50.
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# 在探测中喷头的高度单位是mm
# 默认值是5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
#mesh_radius:
# 定义探测圆形热床的网格半径
# 半径是相对于mesh_origin指定的坐标
# 此选项只适用于圆形热床
# Defines the radius of the mesh to probe for round beds. Note that
# the radius is relative to the coordinate specified by the
# mesh_origin option. This parameter must be provided for round beds
# and omitted for rectangular beds.
#mesh_origin:
# 定义圆形热床的中心X Y坐标
# 此坐标相对于探头的位置
# 调整 mesh_origin可能会对最大化mesh_radius有帮助
# 默认值是0,0
# 此选项只适用于圆形热床
# Defines the center X, Y coordinate of the mesh for round beds. This
# coordinate is relative to the probe&#39;s location. It may be useful
# to adjust the mesh_origin in an effort to maximize the size of the
# mesh radius. Default is 0, 0. This parameter must be omitted for
# rectangular beds.
#mesh_min:
# 定义矩形热床的最小X Y 坐标
# 这个坐标是相对于
# 这是探测的第一个点在原点附近
# 矩形热床必须要提供此参数
# Defines the minimum X, Y coordinate of the mesh for rectangular
# beds. This coordinate is relative to the probe&#39;s location. This
# will be the first point probed, nearest to the origin. This
# parameter must be provided for rectangular beds.
#mesh_max:
# 定义矩形热床的最大X Y 坐标
# 与mesh_min相同但是这将是离床的原点最远的探测点
# 矩形热床必须要提供此参数
# Defines the maximum X, Y coordinate of the mesh for rectangular
# beds. Adheres to the same principle as mesh_min, however this will
# be the furthest point probed from the bed&#39;s origin. This parameter
# must be provided for rectangular beds.
#probe_count: 3, 3
# 对于矩形热床这个逗号分开了在X Y 轴需要探测的点数
# 单个值也是有效的,在这个情况下值会被应用到两个轴
# 默认值是 3, 3
# For rectangular beds, this is a comma separate pair of integer
# values X, Y defining the number of points to probe along each
# axis. A single value is also valid, in which case that value will
# be applied to both axes. Default is 3, 3.
#round_probe_count: 5
# 对于圆形热床,这个值去定义了每个轴最大的探测点的数量
# 这个值必须要是奇数
# 默认值是 5
# For round beds, this integer value defines the maximum number of
# points to probe along each axis. This value must be an odd number.
# Default is 5.
#fade_start: 1.0
# 启用fade_start时开始分阶段调整的gcode z位置
# 默认值是 1.0.
# The gcode z position in which to start phasing out z-adjustment
# when fade is enabled. Default is 1.0.
#fade_end: 0.0
# 在完成渐变后的gcode z 位置
# 当值比 fade_start低的时候会禁用此功能
# 注意这个功能可能会在打印的时候往z轴添加不需要的缩放
# 如果希望启用过度那么, 推荐值为10.0
# 默认值是 0.0 不启用过度
# The gcode z position in which phasing out completes. When set to a
# value below fade_start, fade is disabled. It should be noted that
# fade may add unwanted scaling along the z-axis of a print. If a
# user wishes to enable fade, a value of 10.0 is recommended.
# Default is 0.0, which disables fade.
#fade_target:
# 淡化应该聚集的z位置
# 当这个值被设置为非零值时那么就必须在网格中的Z值范围内
# 用户希望汇聚的时候z原点的位置
# 应该被设置为0
# 默认是网格的平均值
# The z position in which fade should converge. When this value is
# set to a non-zero value it must be within the range of z-values in
# the mesh. Users that wish to converge to the z homing position
# should set this to 0. Default is the average z value of the mesh.
#split_delta_z: .025
# 触发分层的沿途Z差量 (mm)
# 默认值是 .025.
# The amount of Z difference (in mm) along a move that will trigger
# a split. Default is .025.
#move_check_distance: 5.0
# 检查split_delta_z的距离
# 这也是一个动作可以分层的最小长度。
# 默认值是 5.0
# The distance (in mm) along a move to check for split_delta_z.
# This is also the minimum length that a move can be split. Default
# is 5.0.
#mesh_pps: 2, 2
# 一对以逗号分隔的整数X、Y定义每段的点的数量
# 在网格中沿每个轴插值的点数
# &quot;segment &quot;可以被定义为每个探测点之间的空间
# 如果用户输入了一个值那么将会应用到两个轴上
# 默认值上 2, 2
# A comma separated pair of integers X, Y defining the number of
# points per segment to interpolate in the mesh along each axis. A
# &quot;segment&quot; can be defined as the space between each probed point.
# The user may enter a single value which will be applied to both
# axes. Default is 2, 2.
#algorithm: lagrange
# 要使用的插值算法
# 可以是&quot;lagrange&quot;或者&quot;bicubic&quot;
# 这个选项不会影响 3x3 的网格因为3x3 的网格会强制使用lagrange采样
# 默认值是lagrange
# The interpolation algorithm to use. May be either &quot;lagrange&quot; or
# &quot;bicubic&quot;. This option will not affect 3x3 grids, which are forced
# to use lagrange sampling. Default is lagrange.
#bicubic_tension: .2
# 当使用bicubic算法时使用bicubic_tension参数来改变插值的斜率量
# 较大的数字会增加斜率的数量会在网格中产生更多的弯曲
# 默认值是 .2
# When using the bicubic algorithm the tension parameter above may
# be applied to change the amount of slope interpolated. Larger
# numbers will increase the amount of slope, which results in more
# curvature in the mesh. Default is .2.
#zero_reference_position:
# An optional X,Y coordinate that specifies the location on the bed
# where Z = 0. When this option is specified the mesh will be offset
# so that zero Z adjustment occurs at this location. The default is
# no zero reference.
#relative_reference_index:
# 网格中的一个点索引用来引用所有的Z值
# 启用这个参数可以产生一个相对于所提供的索引处的
# 探测到的Z位置的网格
# **DEPRECATED, use the &quot;zero_reference_position&quot; option**
# The legacy option superceded by the &quot;zero reference position&quot;.
# Rather than a coordinate this option takes an integer &quot;index&quot; that
# refers to the location of one of the generated points. It is recommended
# to use the &quot;zero_reference_position&quot; instead of this option for new
# configurations. The default is no relative reference index.
#faulty_region_1_min:
#faulty_region_1_max:
# 可选点被定义为故障区域
# 更多对于故障区域多信息See docs/Bed_Mesh.md
# 最多可添加 99 个故障区域。
# 默认没有设置故障区域
# Optional points that define a faulty region. See docs/Bed_Mesh.md
# for details on faulty regions. Up to 99 faulty regions may be added.
# By default no faulty regions are set.
</code></pre></div>
<h3 id="bed_tilt">[bed_tilt]<a class="headerlink" href="#bed_tilt" title="Permanent link">&para;</a></h3>
@@ -4829,14 +4852,16 @@ cs_pin:
<p>Support for MPU-9250, MPU-9255, MPU-6515, MPU-6050, and MPU-6500 accelerometers (one may define any number of sections with an "mpu9250" prefix).</p>
<div class="highlight"><pre><span></span><code>[mpu9250 my_accelerometer]
#i2c_address:
# 默认为1040x68。如果AD0为高那么它将是0x69。
# Default is 104 (0x68). If AD0 is high, it would be 0x69 instead.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed: 400000
# 有关上述参数的描述请参见“常见I2C设置”部分。
# 默认的&quot;i2c_speed&quot;400000
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters. The default &quot;i2c_speed&quot; is 400000.
#axes_map: x, y, z
# 有关此参数的信息,请参阅&quot;adxl345&quot;部分。
# See the &quot;adxl345&quot; section for information on this parameter.
</code></pre></div>
<h3 id="resonance_tester">[resonance_tester]<a class="headerlink" href="#resonance_tester" title="Permanent link">&para;</a></h3>
@@ -5342,54 +5367,79 @@ sensor_pin:
<p>BMP280/BME280/BME680 两线接口 (I2C) 环境传感器。注意,这些传感器不适用于挤出机和加热床。它们可以用于监测环境温度 (C)、压力 (hPa)、相对湿度以及气体水平仅在BME680上。请参阅 <a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg">sample-macros.cfg</a> 以获取可用于报告压力和湿度以及温度的gcode_macro。</p>
<div class="highlight"><pre><span></span><code>sensor_type: BME280
#i2c_address:
# 默认为118(0x76)。一些BME280传感器的地址为119(0x77).
# Default is 118 (0x76). Some BME280 sensors have an address of 119
# (0x77).
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
</code></pre></div>
<h3 id="aht10aht20aht21-temperature-sensor">AHT10/AHT20/AHT21 temperature sensor<a class="headerlink" href="#aht10aht20aht21-temperature-sensor" title="Permanent link">&para;</a></h3>
<p>AHT10/AHT20/AHT21 two wire interface (I2C) environmental sensors. Note that these sensors are not intended for use with extruders and heater beds, but rather for monitoring ambient temperature (C) and relative humidity. See <a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg">sample-macros.cfg</a> for a gcode_macro that may be used to report humidity in addition to temperature.</p>
<div class="highlight"><pre><span></span><code>sensor_type: AHT10
# Also use AHT10 for AHT20 and AHT21 sensors.
#i2c_address:
# Default is 56 (0x38). Some AHT10 sensors give the option to use
# 57 (0x39) by moving a resistor.
#i2c_mcu:
#i2c_bus:
#i2c_speed:
# 参见 &quot;常见的I2C设置 &quot;部分,以了解对上述参数的描述。
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#aht10_report_time:
# Interval in seconds between readings. Default is 30, minimum is 5
</code></pre></div>
<h3 id="htu21d">HTU21D 传感器<a class="headerlink" href="#htu21d" title="Permanent link">&para;</a></h3>
<p>HTU21D 系列双线接口I2C环境传感器。注意这种传感器不适用于挤出机和加热床它们可以用于监测环境温度C和相对湿度。参见 <a href="https://github.com/Klipper3d/klipper/blob/master/config/sample-macros.cfg">sample-macros.cfg</a> 中可以报告温度和湿度的 gcode_macro。</p>
<div class="highlight"><pre><span></span><code>sensor_type:
# 必须是 &quot;HTU21D&quot; , &quot;SI7013&quot;, &quot;SI7020&quot;, &quot;SI7021&quot; &quot;SHT21&quot;
# Must be &quot;HTU21D&quot; , &quot;SI7013&quot;, &quot;SI7020&quot;, &quot;SI7021&quot; or &quot;SHT21&quot;
#i2c_address:
# 默认为64 (0x40).
# Default is 64 (0x40).
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 参见 &quot;常见的I2C设置 &quot;章节,了解关于上述参数的描述。
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#htu21d_hold_master:
# 如果传感器在读取时可以保持I2C缓冲区。如果是 &quot;&quot;,则没有其他
# 总线通信可以在读取过程中进行。
# 默认为 False
# If the sensor can hold the I2C buf while reading. If True no other
# bus communication can be performed while reading is in progress.
# Default is False.
#htu21d_resolution:
# 温度和湿度读数的分辨率。
# 有效值有:
# &#39;TEMP14_HUM12&#39; -&gt; 温度为14位湿度为12位
# &#39;TEMP13_HUM10&#39; -&gt; 温度为13位湿度为10位
# &#39;TEMP12_HUM08&#39; -&gt; 温度为12位湿度为8位
# &#39;TEMP11_HUM11&#39; -&gt; 温度为11位湿度为11位
# 默认为:&quot;TEMP11_HUM11&quot;
# The resolution of temperature and humidity reading.
# Valid values are:
# &#39;TEMP14_HUM12&#39; -&gt; 14bit for Temp and 12bit for humidity
# &#39;TEMP13_HUM10&#39; -&gt; 13bit for Temp and 10bit for humidity
# &#39;TEMP12_HUM08&#39; -&gt; 12bit for Temp and 08bit for humidity
# &#39;TEMP11_HUM11&#39; -&gt; 11bit for Temp and 11bit for humidity
# Default is: &quot;TEMP11_HUM11&quot;
#htu21d_report_time:
# 读数之间的间隔,以秒为单位。
# 默认为30
# Interval in seconds between readings. Default is 30
</code></pre></div>
<h3 id="lm75">LM75 温度传感器<a class="headerlink" href="#lm75" title="Permanent link">&para;</a></h3>
<p>LM75/LM75A两线I2C连接的温度传感器。这些传感器的温度范围为-55~125 C因此可用于例如试验室温度监测。它们还可以作为简单的风扇/加热器控制器使用。</p>
<div class="highlight"><pre><span></span><code>sensor_type: LM75
#i2c_address:
# 默认为 72 0x48)。正常范围为 72-790x48-0x4F3个地址的低位
# 可以通过芯片上的引脚进行配置。(通常是跳线或硬接线)。
# Default is 72 (0x48). Normal range is 72-79 (0x48-0x4F) and the 3
# low bits of the address are configured via pins on the chip
# (usually with jumpers or hard wired).
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 请参阅“常见 I2C 设置”部分,了解
# 以上参数。
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#lm75_report_time:
# 读数之间的间隔(以秒为单位)。
# 默认值为 0.8最小值为0.5。
# Interval in seconds between readings. Default is 0.8, with minimum
# 0.5.
</code></pre></div>
<h3 id="_21">微控制器的内置温度传感器<a class="headerlink" href="#_21" title="Permanent link">&para;</a></h3>
@@ -5504,7 +5554,7 @@ pin:
<h3 id="heater_fan">[heater_fan]<a class="headerlink" href="#heater_fan" title="Permanent link">&para;</a></h3>
<p>加热器冷却风扇(可以用"heater_fan"前缀定义任意数量的分段)。"加热器风扇"是一种当其关联的加热器活跃时会启用的风扇。默认情况下heater_fan shutdown_speed 等于 max_power。</p>
<div class="highlight"><pre><span></span><code>[heater_fan my_nozzle_fan]
<div class="highlight"><pre><span></span><code>[heater_fan heatbreak_cooling_fan]
#pin:
#max_power:
#shutdown_speed:
@@ -5516,15 +5566,19 @@ pin:
#tachometer_ppr:
#tachometer_poll_interval:
#enable_pin:
# 请参阅“fan”分段了解上述参数的描述。
# See the &quot;fan&quot; section for a description of the above parameters.
#heater: extruder
# 此风扇所关联的加热器的配置部分的名称。如果在此处提供了加热器名称的逗号分隔列表,
# 则在给定的任何加热器启用时风扇将被启用。默认为“extruder”。
# Name of the config section defining the heater that this fan is
# associated with. If a comma separated list of heater names is
# provided here, then the fan will be enabled when any of the given
# heaters are enabled. The default is &quot;extruder&quot;.
#heater_temp: 50.0
# 加热器必须降至此温度(摄氏度)以下,风扇才会被禁用。默认为 50 摄氏度。
# A temperature (in Celsius) that the heater must drop below before
# the fan is disabled. The default is 50 Celsius.
#fan_speed: 1.0
# 当关联的加热器启用时,风扇将设置的风扇速度(表示为从 0.0 1.0 的值)。
# 默认值为 1.0
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when its associated heater is enabled. The default
# is 1.0
</code></pre></div>
<h3 id="controller_fan">[controller_fan]<a class="headerlink" href="#controller_fan" title="Permanent link">&para;</a></h3>
@@ -5699,44 +5753,50 @@ pin:
<h3 id="pca9533">[pca9533]<a class="headerlink" href="#pca9533" title="Permanent link">&para;</a></h3>
<p>PCA9533 LED支持。PCA9533 在mightyboard上使用。</p>
<div class="highlight"><pre><span></span><code>[pca9533 my_pca9533]
#i2c_address:98
# 芯片在i2c总线上使用的i2c地址。使用98表示
# PCA9533/199表示PCA9533/2。默认为98
<div class="highlight"><pre><span></span><code>[pca9533 my_pca9533]
#i2c_address: 98
# The i2c address that the chip is using on the i2c bus. Use 98 for
# the PCA9533/1, 99 for the PCA9533/2. The default is 98.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 参见 &quot;常用I2C设置 &quot;部分,以了解对上述参数的描述。
#initial_RED:0.0
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#initial_RED: 0.0
#initial_GREEN: 0.0
#initial_BLUE: 0.0
#initial_WHITE: 0.0
# 有关这些参数的信息,请参见 &quot;led &quot;分段。
# See the &quot;led&quot; section for information on these parameters.
</code></pre></div>
<h3 id="pca9632">[pca9632]<a class="headerlink" href="#pca9632" title="Permanent link">&para;</a></h3>
<p>PCA9632 LED支持。PCA9632在FlashForge Dreamer上使用。</p>
<div class="highlight"><pre><span></span><code>[pca9632 my_pca9632]
#i2c_address:98
# 芯片在i2c总线上使用的i2c地址。可以是96, 97, 98, 或 99。
# 默认为98。
<div class="highlight"><pre><span></span><code>[pca9632 my_pca9632]
#i2c_address: 98
# The i2c address that the chip is using on the i2c bus. This may be
# 96, 97, 98, or 99. The default is 98.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 参见 &quot;常见的I2C设置 &quot;一节,以了解对上述参数的描述。
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#scl_pin:
#sda_pin:
# 如果pca9632没有连接到硬件I2C总线那么可以指定
# &quot;时钟&quot;(scl_pin) &quot;数据&quot;(sda_pin)引脚。
# 默认使用硬件I2C
#color_order:RGBW
# 设置LED的像素顺序(使用一个包含R、G、B、W的字符串)。
# 默认是RGBW
#initial_RED:0.0
# Alternatively, if the pca9632 is not connected to a hardware I2C
# bus, then one may specify the &quot;clock&quot; (scl_pin) and &quot;data&quot;
# (sda_pin) pins. The default is to use hardware I2C.
#color_order: RGBW
# Set the pixel order of the LED (using a string containing the
# letters R, G, B, W). The default is RGBW.
#initial_RED: 0.0
#initial_GREEN: 0.0
#initial_BLUE: 0.0
#initial_WHITE: 0.0
# 有关这些参数的信息,请参见 &quot;led &quot;分段。
# See the &quot;led&quot; section for information on these parameters.
</code></pre></div>
<h2 id="_24">额外的舵机、按钮和其他引脚<a class="headerlink" href="#_24" title="Permanent link">&para;</a></h2>
@@ -5929,36 +5989,39 @@ run_current:
<p>通过单线 UART 配置 TMC2208或 TMC2224步进电机驱动。要使用此功能请定义一个带有 “tmc2208” 前缀并后跟步进驱动配置分段相应名称的配置分段(例如,“[tmc2208 stepper_x]”)。</p>
<div class="highlight"><pre><span></span><code>[tmc2208 stepper_x]
uart_pin:
# 连接到TMC2208PDN_UART的脚
# 这个参数必须给定
# The pin connected to the TMC2208 PDN_UART line. This parameter
# must be provided.
#tx_pin:
# 如果使用分离接收和发送线的方式和驱动器通讯
# 可以设置uart_pin来作为接收脚tx_pin作为发送脚
# 默认是使用uart_pin来读写
# If using separate receive and transmit lines to communicate with
# the driver then set uart_pin to the receive pin and tx_pin to the
# transmit pin. The default is to use uart_pin for both reading and
# writing.
#select_pins:
# 一个使用(英文)逗号分隔的引脚的列表。
# 这是访问tmc2208UART之前要设置的引脚列表。
# 需要配置模拟开关来实现串口通讯时可能很有用
# 默认是不配置任何引脚
# A comma separated list of pins to set prior to accessing the
# tmc2208 UART. This may be useful for configuring an analog mux for
# UART communication. The default is to not configure any pins.
#interpolate: True
# 如果为True使能插补驱动器会在内部使用256微步
# 这个插补会带来一个小的系统位置偏差
# 详见TMC_Drivers.md
# 默认值是True
# If true, enable step interpolation (the driver will internally
# step at a rate of 256 micro-steps). This interpolation does
# introduce a small systemic positional deviation - see
# TMC_Drivers.md for details. 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:
# 配置驱动器在步进电机不移动时的电流(以电流的有效值安培为单位)
# 不建议设置保持电流详见TMC_Drivers.md
# 默认是不减少电流
# 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.
#sense_resistor: 0.110
# 电机采样电阻阻值(以欧姆为单位)
# 默认是0.110欧姆
# The resistance (in ohms) of the motor sense resistor. The default
# is 0.110 ohms.
#stealthchop_threshold: 0
# 设置stealthChop模式的门槛速度以毫米每秒为单位
# 当设置了这个量步进电机速度低于这个值时会启用stealthChop模式
# 默认是0意味着失能了stealthChop模式
# The velocity (in mm/s) to set the &quot;stealthChop&quot; threshold to. When
# set, &quot;stealthChop&quot; mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# &quot;stealthChop&quot; mode.
#driver_MULTISTEP_FILT: True
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 20
#driver_TBL: 2
@@ -5972,9 +6035,10 @@ run_current:
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36
# 配置TMC2208时设置给定的寄存器值
# 设置定制的电机参数时使用
# 默认值如上
# Set the given register during the configuration of the TMC2208
# 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.
</code></pre></div>
<h3 id="tmc2209">[tmc2209]<a class="headerlink" href="#tmc2209" title="Permanent link">&para;</a></h3>
@@ -5988,11 +6052,12 @@ run_current:
#hold_current:
#sense_resistor: 0.110
#stealthchop_threshold: 0
# 以上参数见&quot;tmc2208&quot;部分
# See the &quot;tmc2208&quot; section for the definition of these parameters.
#uart_address:
# TMC2209的UART地址0-3的整数
# 这个参数通常用于多个TMC2209连接到同个UART接口
# 默认是0
# The address of the TMC2209 chip for UART messages (an integer
# between 0 and 3). This is typically used when multiple TMC2209
# chips are connected to the same UART pin. The default is zero.
#driver_MULTISTEP_FILT: True
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 20
#driver_TBL: 2
@@ -6007,17 +6072,18 @@ run_current:
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36
#driver_SGTHRS: 0
# 配置TMC2209时配置的寄存器
# 这些参数通常用于设定自己定制的电机参数
# 每个参数的默认值如上
# Set the given register during the configuration of the TMC2209
# 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.
#diag_pin:
# 微控制器连接到TMC2209的DIAG接口的引脚
# 这个引脚通常使用&quot;^&quot;前缀来开启内部上拉
# 设置这个会创建一个名为&quot;tmc2209_stepper_x:virtual_endstop&quot;的虚拟引脚
# 用做步进电机的终止引脚。
# 在启动&quot;sensorless homing&quot;(无限位归零)时设置这个。
# 确保同时设置了driver_SGTHRS为一个合适的灵敏度
# 默认是关闭了无限位归零
# The micro-controller pin attached to the DIAG line of the TMC2209
# chip. The pin is normally prefaced with &quot;^&quot; to enable a pullup.
# Setting this creates a &quot;tmc2209_stepper_x:virtual_endstop&quot; virtual
# pin which may be used as the stepper&#39;s endstop_pin. Doing this
# enables &quot;sensorless homing&quot;. (Be sure to also set driver_SGTHRS to
# an appropriate sensitivity value.) The default is to not enable
# sensorless homing.
</code></pre></div>
<h3 id="tmc2660">[tmc2660]<a class="headerlink" href="#tmc2660" title="Permanent link">&para;</a></h3>
@@ -6080,37 +6146,41 @@ run_current:
<p>通过 SPI 总线配置 TMC2240 步进电机驱动器。要使用此功能,请定义一个配置分段,其前缀为 "tmc2240",后跟相应步进配置分段的名称(例如,"[tmc2240 stepper_x]")。</p>
<div class="highlight"><pre><span></span><code>[tmc2240 stepper_x]
cs_pin:
# 对应于TMC2240芯片选择线的引脚。此引脚在SPI消息开始时设为低电平
# 并在消息完成后设为高电平。
# 必须提供此参数。
# 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:
# 有关上述参数的描述请参见“常见SPI设置”部分。
# See the &quot;common SPI settings&quot; section for a description of the
# above parameters.
#chain_position:
#chain_length:
# 这些参数配置一个SPI菊链。这两个参数定义了菊花链中的步进器
# 位置和总链长度。位置1对应连接到MOSI信号的步进器。
# 默认不使用SPI菊链。
# 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
# 如果为真启用步进插补驱动器将内部以256微步的速率步进
# 默认为True
# If true, enable step interpolation (the driver will internally
# step at a rate of 256 micro-steps). The default is True.
run_current:
# 在步进电机移动期间配置驱动器使用的电流以安培RMS为单位
# 量。必须提供此参数。
# The amount of current (in amps RMS) to configure the driver to use
# during stepper movement. This parameter must be provided.
#hold_current:
# 当步进电机不移动时配置驱动器使用的电流以安培RMS为单位
# 量。不建议设置hold_current详见TMC_Drivers.md
# 默认不降低电流。
# 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
# IREF和GND之间的电阻器的电阻以欧姆为单位
# 默认为12000
# The resistance (in ohms) of the resistor between IREF and GND. The
# default is 12000.
#stealthchop_threshold: 0
# 将“stealthChop”阈值设为的速度以mm/s为单位。设定后
# 如果步进电机的速度低于此值将启用“stealthChop”模式。
# 默认为0这将禁用“stealthChop”模式。
# The velocity (in mm/s) to set the &quot;stealthChop&quot; threshold to. When
# set, &quot;stealthChop&quot; mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# &quot;stealthChop&quot; mode.
#driver_MSLUT0: 2863314260
#driver_MSLUT1: 1251300522
#driver_MSLUT2: 608774441
@@ -6129,14 +6199,18 @@ run_current:
#driver_START_SIN: 0
#driver_START_SIN90: 247
#driver_OFFSET_SIN90: 0
# 这些字段直接控制Microstep Table寄存器。每个电机的最优波表
# 特定,并可能随电流变化。最优配置会将由非线性步进器运动引
# 起的打印件制造缺陷降至最低。上述指定的值是驱动器默认使用的值。
# 该值必须以十进制整数形式指定(不支持十六进制形式)。为了计算
# 波表字段请参见Trinamic网站上的tmc2130“计算表”。
# 此外这款驱动器还有OFFSET_SIN90字段可以用来调整一个具有不平
# 衡线圈的电机。有关此字段以及如何调整它的信息,请参见数据表中的
# `正弦波查找表`部分。
# 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 &quot;Calculation Sheet&quot; 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_MULTISTEP_FILT: True
#driver_IHOLDDELAY: 6
#driver_IRUNDELAY: 4
#driver_TPOWERDOWN: 10
@@ -6167,17 +6241,20 @@ run_current:
#driver_SEIMIN: 0
#driver_SFILT: 0
#driver_SG4_ANGLE_OFFSET: 1
# 在配置TMC2240芯片期间设置给定的寄存器这可以用于设置自定义电机
# 参数。
# 每个参数的默认值在参数名称旁边的上面的列表中。
# 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:
# 连接到TMC2240芯片的DIAG线的微控制器引脚。应只指定一个diag引脚。
# 该引脚为“活动低”,因此通常加上&quot;^!&quot;前缀。设置
# 这个会创建一个“tmc2240_stepper_x:virtual_endstop”虚拟引脚
# 可以用作步进器的endstop_pin。这样做可以启用“无传感器归位”。
# 确保也将driver_SGT设置为适当的灵敏度值。
# 默认不启用无传感器归位。
# 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 &quot;active low&quot; and is thus normally prefaced with &quot;^!&quot;. Setting
# this creates a &quot;tmc2240_stepper_x:virtual_endstop&quot; virtual pin
# which may be used as the stepper&#39;s endstop_pin. Doing this enables
# &quot;sensorless homing&quot;. (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">&para;</a></h3>
@@ -6243,6 +6320,7 @@ run_current:
# 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 &quot;Calculation Sheet&quot; from the Trinamic website.
#driver_MULTISTEP_FILT: True
#driver_IHOLDDELAY: 6
#driver_TPOWERDOWN: 10
#driver_TBL: 2
@@ -6271,6 +6349,10 @@ run_current:
#driver_SEDN: 0
#driver_SEIMIN: 0
#driver_SFILT: 0
#driver_DRVSTRENGTH: 0
#driver_BBMCLKS: 4
#driver_BBMTIME: 0
#driver_FILT_ISENSE: 0
# Set the given register during the configuration of the TMC5160
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
@@ -6323,55 +6405,67 @@ enable_pin:
<p>通过I2C总线连接的静态配置的MCP4451 digipot可以定义任意数量带有 "mcp4451 "前缀的分段)。</p>
<div class="highlight"><pre><span></span><code>[mcp4451 my_digipot]
i2c_address:
# 芯片在i2c总线上使用的i2c地址。
# 必须提供此参数。
# The i2c address that the chip is using on the i2c bus. This
# parameter must be provided.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 参见&quot;常见I2C设置&quot;部分以获取上述参数的描述。
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#wiper_0:
#wiper_1:
#wiper_2:
#wiper_3:
# 静态设置给定MCP4451 &quot;wiper&quot;的值。这通常设置为0.0到1.0之间的
# 数字其中1.0是最高阻值0.0是最低阻值。然而,可以用&#39;scale&#39;
# 数(见下文)改变范围。
# 如果没有指定wiper则不对其进行配置。
# The value to statically set the given MCP4451 &quot;wiper&quot; to. This is
# typically set to a number between 0.0 and 1.0 with 1.0 being the
# highest resistance and 0.0 being the lowest resistance. However,
# the range may be changed with the &#39;scale&#39; parameter (see below).
# If a wiper is not specified then it is left unconfigured.
#scale:
# 此参数可用于改变对&#39;wiper_x&#39;参数的解释。如果提供了此参数,
# 那么&#39;wiper_x&#39;参数应在0.0和&#39;scale&#39;之间。当MCP4451用于设置步进电
# 压引用时,这可能很有用。&#39;scale&#39;可以设置为当MCP4451处于最高阻
# 值时的等效步进电流,然后可以使用步进电机所需的电流值来指定
# &#39;wiper_x&#39;参数。
# 默认不对&#39;wiper_x&#39;参数进行缩放。
# This parameter can be used to alter how the &#39;wiper_x&#39; parameters
# are interpreted. If provided, then the &#39;wiper_x&#39; parameters should
# be between 0.0 and &#39;scale&#39;. This may be useful when the MCP4451 is
# used to set stepper voltage references. The &#39;scale&#39; can be set to
# the equivalent stepper amperage if the MCP4451 were at its highest
# resistance, and then the &#39;wiper_x&#39; parameters can be specified
# using the desired amperage value for the stepper. The default is
# to not scale the &#39;wiper_x&#39; parameters.
</code></pre></div>
<h3 id="mcp4728">[mcp4728]<a class="headerlink" href="#mcp4728" title="Permanent link">&para;</a></h3>
<p>通过I2C总线连接的静态配置的MCP4728数模转换器可以定义任何数量带有 "mcp4728 "前缀的分段)。</p>
<div class="highlight"><pre><span></span><code>[mcp4728 my_dac]
#i2c_address: 96
# 芯片在I2C总线上使用的地址。
# 默认为96
# The i2c address that the chip is using on the i2c bus. The default
# is 96.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 以上参数请见“常见的I2C设置”
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#channel_a:
#channel_b:
#channel_c:
#channel_d:
# 设置 MCP4728 通道为给定的静态值。通常它被设置为一个在
# 0.0和1.0之间1.0代表最高电压2.048V而0.0代表最低电压。
# 然而,该范围可以被&#39;scale&#39; 缩放)参数改变(见下文)。没有给
# 定值的通道不会被配置。
# The value to statically set the given MCP4728 channel to. This is
# typically set to a number between 0.0 and 1.0 with 1.0 being the
# highest voltage (2.048V) and 0.0 being the lowest voltage.
# However, the range may be changed with the &#39;scale&#39; parameter (see
# below). If a channel is not specified then it is left
# unconfigured.
#scale:
# 该参数可以改变&#39;channel_x&#39;参数被解释的方式。如果设定了该参数,
# &#39;channel_x&#39;参数的范围会在0.0 和 &#39;scale&#39;之间。该功能在使用MCP4728 产生
# 步进电机参考电压时可能有用。The &#39;scale&#39; can
# This parameter can be used to alter how the &#39;channel_x&#39; parameters
# are interpreted. If provided, then the &#39;channel_x&#39; parameters
# should be between 0.0 and &#39;scale&#39;. This may be useful when the
# MCP4728 is used to set stepper voltage references. The &#39;scale&#39; can
# be set to the equivalent stepper amperage if the MCP4728 were at
# its highest voltage (2.048V), and then the &#39;channel_x&#39; parameters
# can be specified using the desired amperage value for the
# stepper.默认不对channel_x&#39;参数进行缩放。
# stepper. The default is to not scale the &#39;channel_x&#39; parameters.
</code></pre></div>
<h3 id="mcp4018">[mcp4018]<a class="headerlink" href="#mcp4018" title="Permanent link">&para;</a></h3>
@@ -6571,12 +6665,15 @@ a0_pin:
<p>ssd1306 和 sh1106 显示屏的配置信息。</p>
<div class="highlight"><pre><span></span><code>[display]
lcd_type:
# 对于给定的显示屏类型,设置为 “ssd1306&quot; &quot;sh1106&quot;
# Set to either &quot;ssd1306&quot; or &quot;sh1106&quot; for the given display type.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# 连接到I2C总线的显示屏的可选参数 以上参数详见通
# 用 I2C 设置章节。
# Optional parameters available for displays connected via an i2c
# bus. See the &quot;common I2C settings&quot; section for a description of
# the above parameters.
#cs_pin:
#dc_pin:
#spi_speed:
@@ -6584,25 +6681,27 @@ lcd_type:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# 使用4线 SPI 模式时连接到 lcd 的引脚。以 &quot;spi_&quot; 开头的
# 参数详见 “通用 SPI 设置” 章节。
# 显示屏默认使用 I2C 模式
# The pins connected to the lcd when in &quot;4-wire&quot; spi mode. See the
# &quot;common SPI settings&quot; section for a description of the parameters
# that start with &quot;spi_&quot;. The default is to use i2c mode for the
# display.
#reset_pin:
# 可以指定一个显示屏上的重置引脚,如果不指定,硬件
# 必须在相应的 lcd 线路上有一个拉高电阻。
# A reset pin may be specified on the display. If it is not
# specified then the hardware must have a pull-up on the
# corresponding lcd line.
#contrast:
# 可设置的对比度。
# 数值必须在 0 和 256 之间,默认为 239
# The contrast to set. The value may range from 0 to 256 and the
# default is 239.
#vcomh: 0
# 设置显示屏的 Vcomh 值。这个值与一些OLED显示屏的
# 模糊效果有关。这个数值可以在 0 和 63 之间。
# 默认为0。
# Set the Vcomh value on the display. This value is associated with
# a &quot;smearing&quot; effect on some OLED displays. The value may range
# from 0 to 63. Default is 0.
#invert: False
# TRUE 可以在一些OLED显示屏上反转像素
# 默认为 False
# TRUE inverts the pixels on certain OLED displays. The default is
# False.
#x_offset: 0
# 设置在 SH1106 显示屏上的水平偏移。
# 默认为0。
# Set the horizontal offset value on SH1106 displays. The default is
# 0.
...
</code></pre></div>
@@ -6859,13 +6958,11 @@ i2c_address:
# 113. This parameter must be provided.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed:
# See the &quot;common I2C settings&quot; section for a description of the
# above parameters.
#i2c_bus:
# If the I2C implementation of your micro-controller supports
# multiple I2C busses, you may specify the bus name here. The
# default is to use the default micro-controller i2c bus.
</code></pre></div>
<h3 id="samd_sercom">[samd_sercom]<a class="headerlink" href="#samd_sercom" title="Permanent link">&para;</a></h3>
@@ -7031,20 +7128,27 @@ cs_pin:
<p>请注意Klipper当前的微控制器对I2C的支持通常不能容忍线路噪声。I2C线路上的意外错误可能会导致Klipper产生运行时错误。Klipper 对错误恢复的支持在每种微控制器类型之间有所不同。通常建议只使用与微控制器位于同一印刷电路板上的I2C设备。</p>
<p>大多数Klipper微控制器实现只支持100000的<code>i2c_speed</code><em>标准模式</em>100kbit/s。Klipper的"Linux"微控制器支持400000的速度<em>快速模式</em>400kbit/s但它必须<a href="RPi_microcontroller.html#optional-enabling-i2c">在操作系统中设置</a>,否则会忽略<code>i2c_speed</code>参数。Klipper的"RP2040"微控制器和ATmega AVR系列通过<code>i2c_speed</code>参数支持400000的速率。所有其他Klipper微控制器使用100000的速率并忽略<code>i2c_speed</code>参数。</p>
<div class="highlight"><pre><span></span><code>#i2c_address:
# 设备的i2c地址。必须以十进制数指定不是十六进制
# 默认取决于设备的类型。
# 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:
# 芯片连接的微控制器的名称。
# 默认为&quot;mcu&quot;
# The name of the micro-controller that the chip is connected to.
# The default is &quot;mcu&quot;.
#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_software_scl_pin:
#i2c_software_sda_pin:
# Specify these parameters to use micro-controller software based
# I2C &quot;bit-banging&quot; support. The two parameters should the two pins
# on the micro-controller to use for the scl and sda wires. The
# default is to use hardware based I2C support as specified by the
# i2c_bus parameter.
#i2c_speed:
# 与设备通信时使用的I2C速度以Hz为单位。Klipper在大
# 多数微控制器上的实现都是硬编码为100000改变这个值
# 没有效果。
# 默认值是100000LinuxRP2040ATmega支持400000
# 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>

View File

@@ -1254,8 +1254,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1245,8 +1245,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1253,8 +1253,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1234,8 +1234,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1213,8 +1213,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1198,8 +1198,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1225,8 +1225,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1357,8 +1357,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1203,8 +1203,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -2733,8 +2733,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -4722,7 +4722,7 @@
<h4 id="test_resonances">TEST_RESONANCES<a class="headerlink" href="#test_resonances" title="Permanent link">&para;</a></h4>
<p><code>TEST_RESONANCES AXIS=&lt;axis&gt; OUTPUT=&lt;resonances,raw_data&gt; [NAME=&lt;name&gt;] [FREQ_START=&lt;min_freq&gt;] [FREQ_END=&lt;max_freq&gt;] [HZ_PER_SEC=&lt;hz_per_sec&gt;] [CHIPS=&lt;adxl345_chip_name&gt;] [POINT=x,y,z] [INPUT_SHAPING=[&lt;0:1&gt;]]</code>: Runs the resonance test in all configured probe points for the requested "axis" and measures the acceleration using the accelerometer chips configured for the respective axis. "axis" can either be X or Y, or specify an arbitrary direction as <code>AXIS=dx,dy</code>, where dx and dy are floating point numbers defining a direction vector (e.g. <code>AXIS=X</code>, <code>AXIS=Y</code>, or <code>AXIS=1,-1</code> to define a diagonal direction). Note that <code>AXIS=dx,dy</code> and <code>AXIS=-dx,-dy</code> is equivalent. <code>adxl345_chip_name</code> can be one or more configured adxl345 chip,delimited with comma, for example <code>CHIPS="adxl345, adxl345 rpi"</code>. Note that <code>adxl345</code> can be omitted from named adxl345 chips. If POINT is specified it will override the point(s) configured in <code>[resonance_tester]</code>. If <code>INPUT_SHAPING=0</code> or not set(default), disables input shaping for the resonance testing, because it is not valid to run the resonance testing with the input shaper enabled. <code>OUTPUT</code> parameter is a comma-separated list of which outputs will be written. If <code>raw_data</code> is requested, then the raw accelerometer data is written into a file or a series of files <code>/tmp/raw_data_&lt;axis&gt;_[&lt;chip_name&gt;_][&lt;point&gt;_]&lt;name&gt;.csv</code> with (<code>&lt;point&gt;_</code> part of the name generated only if more than 1 probe point is configured or POINT is specified). If <code>resonances</code> is specified, the frequency response is calculated (across all probe points) and written into <code>/tmp/resonances_&lt;axis&gt;_&lt;name&gt;.csv</code> file. If unset, OUTPUT defaults to <code>resonances</code>, and NAME defaults to the current time in "YYYYMMDD_HHMMSS" format.</p>
<h4 id="shaper_calibrate">SHAPER_CALIBRATE<a class="headerlink" href="#shaper_calibrate" title="Permanent link">&para;</a></h4>
<p><code>SHAPER_CALIBRATE [AXIS=&lt;&gt;] [NAME=&lt;名称&gt;] [FREQ_START=&lt;最小频率&gt;] [FREQ_END=&lt;最大频率&gt;] [HZ_PER_SEC=&lt;hz_per_sec&gt;] [MAX_SMOOTHING=&lt;max_smoothing&gt;]</code>:类似<code>TEST_RESONANCES</code>,该命令按配置运行共振测试并尝试寻找给定轴最佳的输入整形参数。如果没有选择<code>AXIS</code>则测量X和Y轴。如果没有选择 <code>MAX_SMOOTHING</code> ,会使用 <code>[resonance_tester]</code> 的默认参数。有关该特性的使用方法,详见共振量测量指南中的 <a href="Measuring_Resonances.html#max-smoothing">最大平滑</a>章节。测试结果会被输出到终端,而频响和不同输入整形器的参数将被写入到一个或多个 CSV 文件中。它们的名称是<code>/tmp/calibration_data_&lt;&gt;_&lt;名称&gt;.csv</code>。如果没有指定名称默认为“YYYYMMDD_HHMMSS”格式的当前时间。注意可以通过请求 <code>SAVE_CONFIG</code> 命令将推荐的输入整形器参数直接保存到配置文件中。</p>
<p><code>SHAPER_CALIBRATE [AXIS=&lt;axis&gt;] [NAME=&lt;name&gt;] [FREQ_START=&lt;min_freq&gt;] [FREQ_END=&lt;max_freq&gt;] [HZ_PER_SEC=&lt;hz_per_sec&gt;] [CHIPS=&lt;adxl345_chip_name&gt;] [MAX_SMOOTHING=&lt;max_smoothing&gt;]</code>: Similarly to <code>TEST_RESONANCES</code>, runs the resonance test as configured, and tries to find the optimal parameters for the input shaper for the requested axis (or both X and Y axes if <code>AXIS</code> parameter is unset). If <code>MAX_SMOOTHING</code> is unset, its value is taken from <code>[resonance_tester]</code> section, with the default being unset. See the <a href="Measuring_Resonances.html#max-smoothing">Max smoothing</a> of the measuring resonances guide for more information on the use of this feature. The results of the tuning are printed to the console, and the frequency responses and the different input shapers values are written to a CSV file(s) <code>/tmp/calibration_data_&lt;axis&gt;_&lt;name&gt;.csv</code>. Unless specified, NAME defaults to the current time in "YYYYMMDD_HHMMSS" format. Note that the suggested input shaper parameters can be persisted in the config by issuing <code>SAVE_CONFIG</code> command, and if <code>[input_shaper]</code> was already enabled previously, these parameters take effect immediately.</p>
<h3 id="respond">[respond]<a class="headerlink" href="#respond" title="Permanent link">&para;</a></h3>
<p>The following standard G-Code commands are available when the <a href="Config_Reference.html#respond">respond config section</a> is enabled:</p>
<ul>

View File

@@ -1157,8 +1157,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1226,8 +1226,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1280,8 +1280,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1252,8 +1252,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1227,8 +1227,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -706,6 +706,13 @@
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#mcus-with-klipper-i2c-fast-mode-support" class="md-nav__link">
MCUs with Klipper I2C fast-mode Support
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
安装指南
@@ -719,8 +726,7 @@
接线
</a>
<nav class="md-nav" aria-label="接线">
<ul class="md-nav__list">
</li>
<li class="md-nav__item">
<a href="#spi-accelerometers" class="md-nav__link">
@@ -775,6 +781,14 @@
MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500
</a>
<nav class="md-nav" aria-label="MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#recommended-connection-scheme-for-i2ctwi-on-the-avr-atmega328p-arduino-nano" class="md-nav__link">
Recommended connection scheme for I2C(TWI) on the AVR ATmega328P Arduino Nano:
</a>
</li>
</ul>
@@ -844,8 +858,15 @@
</li>
<li class="md-nav__item">
<a href="#configure-mpu-60009000-series-with-pico" class="md-nav__link">
Configure MPU-6000/9000 series With PICO
<a href="#configure-mpu-9520-compatibles-with-pico" class="md-nav__link">
Configure MPU-9520 Compatibles With Pico
</a>
</li>
<li class="md-nav__item">
<a href="#configure-mpu-9520-compatibles-with-avr" class="md-nav__link">
Configure MPU-9520 Compatibles with AVR
</a>
</li>
@@ -1429,8 +1450,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1512,6 +1533,13 @@
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#mcus-with-klipper-i2c-fast-mode-support" class="md-nav__link">
MCUs with Klipper I2C fast-mode Support
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
安装指南
@@ -1525,8 +1553,7 @@
接线
</a>
<nav class="md-nav" aria-label="接线">
<ul class="md-nav__list">
</li>
<li class="md-nav__item">
<a href="#spi-accelerometers" class="md-nav__link">
@@ -1581,6 +1608,14 @@
MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500
</a>
<nav class="md-nav" aria-label="MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#recommended-connection-scheme-for-i2ctwi-on-the-avr-atmega328p-arduino-nano" class="md-nav__link">
Recommended connection scheme for I2C(TWI) on the AVR ATmega328P Arduino Nano:
</a>
</li>
</ul>
@@ -1650,8 +1685,15 @@
</li>
<li class="md-nav__item">
<a href="#configure-mpu-60009000-series-with-pico" class="md-nav__link">
Configure MPU-6000/9000 series With PICO
<a href="#configure-mpu-9520-compatibles-with-pico" class="md-nav__link">
Configure MPU-9520 Compatibles With Pico
</a>
</li>
<li class="md-nav__item">
<a href="#configure-mpu-9520-compatibles-with-avr" class="md-nav__link">
Configure MPU-9520 Compatibles with AVR
</a>
</li>
@@ -1766,23 +1808,66 @@
<h1 id="_1">共振值测量<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
<p>Klipper内建有ADXL345加速度传感器驱动可用以测量打印机不同运动轴发生共振的频率从而自动进行 <a href="Resonance_Compensation.html">输入整形</a> 以实现共振补偿。注意使用ADXL345需要进行焊接和压线。ADXL345可以直接连接到树莓派也可以连接到MCU的SPI总线注意MCU有一定的性能需求</p>
<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>
<p>Klipper has built-in support for the ADXL345 and MPU-9250 compatible accelerometers which can be used to measure resonance frequencies of the printer for different axes, and auto-tune <a href="Resonance_Compensation.html">input shapers</a> to compensate for resonances. Note that using accelerometers requires some soldering and crimping. The ADXL345 can be connected to the SPI interface of a Raspberry Pi or MCU board (it needs to be reasonably fast). The MPU family can be connected to the I2C interface of a Raspberry Pi directly, or to an I2C interface of an MCU board that supports 400kbit/s <em>fast mode</em> in Klipper.</p>
<p>When sourcing accelerometers, be aware that there are a variety of different PCB board designs and different clones of them. If it is going to be connected to a 5V printer MCU ensure it has a voltage regulator and level shifters.</p>
<p>For ADXL345s, make sure that the board supports SPI mode (a small number of boards appear to be hard-configured for I2C by pulling SDO to GND).</p>
<p>For MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500s there are also a variety of board designs and clones with different I2C pull-up resistors which will need supplementing.</p>
<h2 id="mcus-with-klipper-i2c-fast-mode-support">MCUs with Klipper I2C <em>fast-mode</em> Support<a class="headerlink" href="#mcus-with-klipper-i2c-fast-mode-support" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th align="center">MCU Family</th>
<th align="left">MCU(s) Tested</th>
<th align="left">MCU(s) with Support</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">Raspberry Pi</td>
<td align="left">3B+, Pico</td>
<td align="left">3A, 3A+, 3B, 4</td>
</tr>
<tr>
<td align="center">AVR ATmega</td>
<td align="left">ATmega328p</td>
<td align="left">ATmega32u4, ATmega128, ATmega168, ATmega328, ATmega644p, ATmega1280, ATmega1284, ATmega2560</td>
</tr>
<tr>
<td align="center">AVR AT90</td>
<td align="left">-</td>
<td align="left">AT90usb646, AT90usb1286</td>
</tr>
</tbody>
</table>
<h2 id="_2">安装指南<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<h3 id="_3">接线<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
<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>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):</p>
<ul>
<li>Double check the wiring with a digital multimeter for:<ul>
<li>Correct connections when turned off (continuity)</li>
<li>Correct power and ground voltages</li>
</ul>
</li>
<li>I2C only:<ul>
<li>Check the SCL and SDA lines' resistances to 3.3V are in the range of 900 ohms to 1.8K</li>
<li>For full technical details consult <a href="https://www.pololu.com/file/0J435/UM10204.pdf">chapter 7 of the I2C-bus specification and user manual UM10204</a> for <em>fast-mode</em></li>
</ul>
</li>
<li>Shorten the cable</li>
</ul>
<p>Connect ethernet cable shielding only to the MCU board/Pi 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">&para;</a></h4>
<p>Suggested twisted pair order:</p>
<h3 id="spi-accelerometers">SPI Accelerometers<a class="headerlink" href="#spi-accelerometers" title="Permanent link">&para;</a></h3>
<p>Suggested twisted pair order for three twisted pairs:</p>
<div class="highlight"><pre><span></span><code>GND+MISO
3.3V+MOSI
SCLK+CS
</code></pre></div>
<h5 id="adxl345">ADXL345<a class="headerlink" href="#adxl345" title="Permanent link">&para;</a></h5>
<h6 id="direct-to-raspberry-pi">Direct to Raspberry Pi<a class="headerlink" href="#direct-to-raspberry-pi" title="Permanent link">&para;</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>Note that unlike a cable shield, GND must be connected at both ends.</p>
<h4 id="adxl345">ADXL345<a class="headerlink" href="#adxl345" title="Permanent link">&para;</a></h4>
<h5 id="direct-to-raspberry-pi">Direct to Raspberry Pi<a class="headerlink" href="#direct-to-raspberry-pi" title="Permanent link">&para;</a></h5>
<p><strong>Note: Many MCUs will work with an ADXL345 in SPI mode (e.g. 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>
@@ -1827,7 +1912,7 @@ 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">&para;</a></h6>
<h5 id="using-raspberry-pi-pico">Using Raspberry Pi Pico<a class="headerlink" href="#using-raspberry-pi-pico" title="Permanent link">&para;</a></h5>
<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>
@@ -1873,14 +1958,21 @@ SCLK+CS
</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">&para;</a></h4>
<p>Suggested twisted pair order:</p>
<h3 id="i2c-accelerometers">I2C Accelerometers<a class="headerlink" href="#i2c-accelerometers" title="Permanent link">&para;</a></h3>
<p>Suggested twisted pair order for three pairs (preferred):</p>
<div class="highlight"><pre><span></span><code>3.3V+GND
SDA+GND
SCL+GND
</code></pre></div>
<p>or for two pairs:</p>
<div class="highlight"><pre><span></span><code>3.3V+SDA
GND+SCL
</code></pre></div>
<h5 id="mpu-9250mpu-9255mpu-6515mpu-6050mpu-6500">MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500<a class="headerlink" href="#mpu-9250mpu-9255mpu-6515mpu-6050mpu-6500" title="Permanent link">&para;</a></h5>
<p>Alternatives to the ADXL345 are MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500. These accelerometers have been tested to work over I2C on the RPi or RP2040(pico) at 400kbaud.</p>
<p>Note that unlike a cable shield, any GND(s) should be connected at both ends.</p>
<h4 id="mpu-9250mpu-9255mpu-6515mpu-6050mpu-6500">MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500<a class="headerlink" href="#mpu-9250mpu-9255mpu-6515mpu-6050mpu-6500" title="Permanent link">&para;</a></h4>
<p>These accelerometers have been tested to work over I2C on the RPi, RP2040 (Pico) and AVR at 400kbit/s (<em>fast mode</em>). Some MPU accelerometer modules include pull-ups, but some are too large at 10K and must be changed or supplemented by smaller parallel resistors.</p>
<p>Recommended connection scheme for I2C on the Raspberry Pi:</p>
<table>
<thead>
@@ -1913,20 +2005,21 @@ GND+SCL
</tr>
</tbody>
</table>
<p><img alt="MPU-9250 connected to RPI" src="img/mpu9250-PI-fritzing.png" /></p>
<p>Recommended connection scheme for I2C(i2c0a) on the RP2040:</p>
<p>The RPi has buit-in 1.8K pull-ups on both SCL and SDA.</p>
<p><img alt="MPU-9250 connected to Pi" src="img/mpu9250-PI-fritzing.png" /></p>
<p>Recommended connection scheme for I2C (i2c0a) on the RP2040:</p>
<table>
<thead>
<tr>
<th align="center">MPU-9250 pin</th>
<th align="center">RP2040 pin</th>
<th align="center">树莓派引脚名称</th>
<th align="center">RP2040 pin name</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">VCC</td>
<td align="center">39</td>
<td align="center">36</td>
<td align="center">3v3</td>
</tr>
<tr>
@@ -1946,7 +2039,46 @@ GND+SCL
</tr>
</tbody>
</table>
<p><img alt="MPU-9250 connected to PICO" src="img/mpu9250-PICO-fritzing.png" /></p>
<p>The Pico does not include any built-in I2C pull-up resistors.</p>
<p><img alt="MPU-9250 connected to Pico" src="img/mpu9250-PICO-fritzing.png" /></p>
<h5 id="recommended-connection-scheme-for-i2ctwi-on-the-avr-atmega328p-arduino-nano">Recommended connection scheme for I2C(TWI) on the AVR ATmega328P Arduino Nano:<a class="headerlink" href="#recommended-connection-scheme-for-i2ctwi-on-the-avr-atmega328p-arduino-nano" title="Permanent link">&para;</a></h5>
<table>
<thead>
<tr>
<th align="center">MPU-9250 pin</th>
<th align="center">Atmega328P TQFP32 pin</th>
<th align="center">Atmega328P pin name</th>
<th align="center">Arduino Nano pin</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">VCC</td>
<td align="center">39</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="center">GND</td>
<td align="center">38</td>
<td align="center">GND</td>
<td align="center">GND</td>
</tr>
<tr>
<td align="center">SDA</td>
<td align="center">27</td>
<td align="center">SDA</td>
<td align="center">A4</td>
</tr>
<tr>
<td align="center">SCL</td>
<td align="center">28</td>
<td align="center">SCL</td>
<td align="center">A5</td>
</tr>
</tbody>
</table>
<p>The Arduino Nano does not include any built-in pull-up resistors nor a 3.3V power pin.</p>
<h3 id="_4">固定加速度传感器<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h3>
<p>加速度传感器应固定在打印头上。应根据打印机的情况设计合适的固定件。推荐将加速度的测量轴与打印机运行轴的方向进行对齐。然而,如果轴对齐极其麻烦,可以将打印机的轴使用其他测量轴对齐,比如打印机+X对应传感器-X甚至打印机+X对应传感器-Z等。</p>
<p>下面是ADXL345固定到SmartEffector的示例</p>
@@ -1964,8 +2096,8 @@ sudo apt install python3-numpy python3-matplotlib libatlas-base-dev
</code></pre></div>
<p>Note that, depending on the performance of the CPU, it may take <em>a lot</em> of time, up to 10-20 minutes. Be patient and wait for the completion of the installation. On some occasions, if the board has too little RAM the installation may fail and you will need to enable swap.</p>
<p>之后,参考<a href="RPi_microcontroller.html">树莓派作为微控制器文档</a>的指引完成“LINUX微处理器”的设置。</p>
<h4 id="configure-adxl345-with-rpi">Configure ADXL345 With RPi<a class="headerlink" href="#configure-adxl345-with-rpi" title="Permanent link">&para;</a></h4>
<p>First, check and follow the instructions in the <a href="RPi_microcontroller.html">RPi Microcontroller document</a> to setup the "linux mcu" on the Raspberry Pi. This will configure a second Klipper instance that runs on your Pi.</p>
<p>通过运行<code>sudo raspi-config</code> 后的 "Interfacing options"菜单中启用 SPI 以确保Linux SPI 驱动已启用。</p>
<p>在printer.cfg中添加以下内容</p>
<div class="highlight"><pre><span></span><code>[mcu rpi]
@@ -2037,10 +2169,10 @@ probe_points:
100, 100, 20 # an example
</code></pre></div>
<h4 id="configure-mpu-60009000-series-with-pico">Configure MPU-6000/9000 series With PICO<a class="headerlink" href="#configure-mpu-60009000-series-with-pico" title="Permanent link">&para;</a></h4>
<p>PICO I2C is set to 400000 on default. Simply add the following to the printer.cfg:</p>
<h4 id="configure-mpu-9520-compatibles-with-pico">Configure MPU-9520 Compatibles With Pico<a class="headerlink" href="#configure-mpu-9520-compatibles-with-pico" title="Permanent link">&para;</a></h4>
<p>Pico I2C is set to 400000 on default. Simply add the following to the printer.cfg:</p>
<div class="highlight"><pre><span></span><code>[mcu pico]
serial: /dev/serial/by-id/&lt;your PICO&#39;s serial ID&gt;
serial: /dev/serial/by-id/&lt;your Pico&#39;s serial ID&gt;
[mpu9250]
i2c_mcu: pico
@@ -2052,7 +2184,21 @@ probe_points:
100, 100, 20 # an example
[static_digital_output pico_3V3pwm] # Improve power stability
pin: pico:gpio23
pins: pico:gpio23
</code></pre></div>
<h4 id="configure-mpu-9520-compatibles-with-avr">Configure MPU-9520 Compatibles with AVR<a class="headerlink" href="#configure-mpu-9520-compatibles-with-avr" title="Permanent link">&para;</a></h4>
<p>AVR I2C will be set to 400000 by the mpu9250 option. Simply add the following to the printer.cfg:</p>
<div class="highlight"><pre><span></span><code>[mcu nano]
serial: /dev/serial/by-id/&lt;your nano&#39;s serial ID&gt;
[mpu9250]
i2c_mcu: nano
[resonance_tester]
accel_chip: mpu9250
probe_points:
100, 100, 20 # an example
</code></pre></div>
<p>通过<code>RESTART</code>命令重启Klipper。</p>
@@ -2068,7 +2214,7 @@ pin: pico:gpio23
</code></pre></div>
<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><strong>If you are using a MPU-9250 compatible accelerometer and it shows 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">&para;</a></h3>
<p>现在可以运行进行实测。运行以下命令:</p>
@@ -2122,7 +2268,7 @@ max_accel: 3000 # should not exceed the estimated max_accel for X and Y axes
<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">&para;</a></h3>
<p>如果打印机的打印床可以平行于喷嘴移动测量X和Y轴时需要改变加速度计的安装位置。安装加速度计到打印头以测量X轴共振安装到打印床以测量Y轴该类打印机的常见配置</p>
<p>也可以同时连接两个加速度计尽管它们必须连接到不同的主板例如连接到树莓派和MCU或者连接到同一板上两个不同的物理SPI接口大多数情况下不可用。然后可以按以下方式配置它们</p>
<p>However, you can also connect two accelerometers simultaneously, though the ADXL345 must be connected to different boards (say, to an RPi and printer MCU board), or to two different physical SPI interfaces on the same board (rarely available). Then they can be configured in the following manner:</p>
<div class="highlight"><pre><span></span><code>[adxl345 hotend]
# Assuming `hotend` chip is connected to an RPi
cs_pin: rpi:None
@@ -2138,6 +2284,25 @@ accel_chip_y: adxl345 bed
probe_points: ...
</code></pre></div>
<p>Two MPUs can share one I2C bus, but they <strong>cannot</strong> measure simultaneously as the 400kbit/s I2C bus is not fast enough. One must have its AD0 pin pulled-down to 0V (address 104) and the other its AD0 pin pulled-up to 3.3V (address 105):</p>
<div class="highlight"><pre><span></span><code>[mpu9250 hotend]
i2c_mcu: rpi
i2c_bus: i2c.1
i2c_address: 104 # This MPU has pin AD0 pulled low
[mpu9250 bed]
i2c_mcu: rpi
i2c_bus: i2c.1
i2c_address: 105 # This MPU has pin AD0 pulled high
[resonance_tester]
# Assuming the typical setup of the bed slinger printer
accel_chip_x: mpu9250 hotend
accel_chip_y: mpu9250 bed
probe_points: ...
</code></pre></div>
<p>[Test with each MPU individually before connecting both to the bus for easy debugging.]</p>
<p>然后,命令<code>TEST_RESONANCES AXIS=X</code><code>TEST_RESONANCES AXIS=Y</code>会使用每个轴相应的加速度计。</p>
<h3 id="_10">最大平滑度<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h3>
<p>请注意,输入整形器会在使一些打印的路径被平滑。由执行<code>calibrate_shaper.py</code>脚本或<code>SHAPER_CALIBRATE</code>命令自动得出的输入整形器会尽量不加剧平滑的同时试图最小化产生的振动。脚本可能会得出不是最优的整形器的频率,或者你可能希望以更强的剩余振动为代价来减少平滑度。在这些情况下,可以要求脚本限制输入整形器的最大平滑度。</p>

View File

@@ -1167,8 +1167,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1150,8 +1150,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1217,8 +1217,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1409,7 +1409,10 @@
<li><a href="RPi_microcontroller.html">将树莓派作为微控制器</a>:关于如何控制与树莓派 GPIO 引脚连接的设备。</li>
<li><a href="Beaglebone.html">Beaglebone</a>:在 Beaglebone PRU 上运行 Klipper 的详细信息。</li>
<li><a href="Bootloaders.html">底层引导程序</a>:有关于微控制器刷写的开发者信息。</li>
<li><a href="CANBUS.html">CAN 总线</a>:有关于 Klipper 使用 CAN 总线的信息。</li>
<li><a href="CANBUS.html">CAN 总线</a>:有关于 Klipper 使用 CAN 总线的信息。<ul>
<li><a href="CANBUS_Troubleshooting.html">CAN bus troubleshooting</a>: Tips for troubleshooting CAN bus.</li>
</ul>
</li>
<li><a href="TSL1401CL_Filament_Width_Sensor.html">TSL1401CL 耗材线径传感器</a></li>
<li><a href="Hall_Filament_Width_Sensor.html">霍尔打印丝宽度传感器</a></li>
</ul>

View File

@@ -1219,8 +1219,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1205,8 +1205,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1228,8 +1228,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1306,8 +1306,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1247,8 +1247,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1272,8 +1272,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1323,8 +1323,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1248,8 +1248,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1253,8 +1253,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1226,8 +1226,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1247,8 +1247,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1433,7 +1433,9 @@
</code></pre></div>
<p>在PrusaSlicer和SuperSlicer等sli3er衍生版本中使用以下G代码</p>
<p>START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]</p>
<div class="highlight"><pre><span></span><code>START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]
</code></pre></div>
<p>还要注意当某些条件不满足时这些切片软件会插入自己的加热代码。在Cura中存在<code>{material_bed_temperature_layer_0}</code><code>{material_print_temperature_layer_0}</code>这两个变量就足够了。在slic3r衍生品中你需要使用</p>
<div class="highlight"><pre><span></span><code>M140 S0
M104 S0

View File

@@ -1155,8 +1155,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1243,6 +1243,13 @@
BIGTREETECH
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
赞助
</a>
</li>
<li class="md-nav__item">
@@ -1318,6 +1325,13 @@
BIGTREETECH
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
赞助
</a>
</li>
<li class="md-nav__item">
@@ -1376,6 +1390,8 @@
<h2 id="bigtreetech">BIGTREETECH<a class="headerlink" href="#bigtreetech" title="Permanent link">&para;</a></h2>
<p><a href="https://bigtree-tech.com/collections/all-products"><img src="./img/sponsors/BTT_BTT.png" width="200" /></a></p>
<p>BIGTREETECH是Klipper的官方主板赞助商。BIGTREETECH致力于开发创新和有竞争力的产品更好地服务于3D打印社区。在<a href="https://www.facebook.com/BIGTREETECH">Facebook</a><a href="https://twitter.com/BigTreeTech">Twitter</a>上关注他们。</p>
<h2 id="_2">赞助<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<p><a href="https://obico.io/klipper.html?source=klipper_sponsor"><img src="./img/sponsors/obico-light-horizontal.png" width="200" /></a></p>
<h2 id="klipper">Klipper的开发者们<a class="headerlink" href="#klipper" title="Permanent link">&para;</a></h2>
<h3 id="kevin-oconnor">Kevin O'Connor<a class="headerlink" href="#kevin-oconnor" title="Permanent link">&para;</a></h3>
<p>Kevin 是项目原作者和当前Klipper的维护。支持链接在<a href="https://ko-fi.com/koconnor">https://ko-fi.com/koconnor</a> 或者 <a href="https://www.patreon.com/koconnor">https://www.patreon.com/koconnor</a></p>

View File

@@ -877,6 +877,13 @@
firmware_retraction
</a>
</li>
<li class="md-nav__item">
<a href="#gcode_button" class="md-nav__link">
gcode_button
</a>
</li>
<li class="md-nav__item">
@@ -1494,8 +1501,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1659,6 +1666,13 @@
firmware_retraction
</a>
</li>
<li class="md-nav__item">
<a href="#gcode_button" class="md-nav__link">
gcode_button
</a>
</li>
<li class="md-nav__item">
@@ -2002,6 +2016,11 @@
<ul>
<li><code>retract_length</code><code>retract_speed</code><code>unretract_extra_length</code><code>unretract_speed</code>firmware_retraction 模块的当前设置。如果 <code>SET_RETRACTION</code> 命令改变它们,这些设置可能与配置文件不同。</li>
</ul>
<h2 id="gcode_button">gcode_button<a class="headerlink" href="#gcode_button" title="Permanent link">&para;</a></h2>
<p>The following information is available in <a href="Config_Reference.html#gcode_button">gcode_button some_name</a> objects:</p>
<ul>
<li><code>state</code>: The current button state returned as "PRESSED" or "RELEASED"</li>
</ul>
<h2 id="gcode_macro">gcode_macro<a class="headerlink" href="#gcode_macro" title="Permanent link">&para;</a></h2>
<p><a href="Config_Reference.html#gcode_macro">gcode_macro &lt;名称&gt;</a> 对象提供了以下信息:</p>
<ul>
@@ -2167,6 +2186,7 @@
<li><code>mcu_phase_offset</code>:微控制器步进位置与驱动器的"零"相位的相对位置。如果相位偏移未知,则此字段可能为空。</li>
<li><code>phase_offset_position</code>:对应电机“零”相位的“指令位置”。如果相位偏移未知,则该字段可以为空。</li>
<li><code>drv_status</code>:上次驱动状态查询结果。(仅报告非零字段。如果驱动没有被启用(因此没有轮询),则此字段将为 null。</li>
<li><code>temperature</code>: The internal temperature reported by the driver. This field will be null if the driver is not enabled or if the driver does not support temperature reporting.</li>
<li><code>run_current</code>:当前设置的运行电流。</li>
<li><code>hold_current</code>:当前设置的保持电流。</li>
</ul>

View File

@@ -1404,8 +1404,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1157,8 +1157,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>
@@ -1344,7 +1344,7 @@
<nav class="md-footer__inner md-grid" aria-label="页脚">
<a href="CANBUS.html" class="md-footer__link md-footer__link--prev" aria-label="上一页: CAN 总线" rel="prev">
<a href="CANBUS_Troubleshooting.html" class="md-footer__link md-footer__link--prev" aria-label="上一页: CANBUS Troubleshooting" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
@@ -1353,7 +1353,7 @@
<span class="md-footer__direction">
上一页
</span>
CAN 总线
CANBUS Troubleshooting
</div>
</div>
</a>

View File

@@ -1219,8 +1219,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

View File

@@ -1152,8 +1152,8 @@
<li class="md-nav__item">
<a href="CANBUS_Troubleshooting.md" class="md-nav__link">
None
<a href="CANBUS_Troubleshooting.html" class="md-nav__link">
CANBUS Troubleshooting
</a>
</li>

File diff suppressed because one or more lines are too long

View File

@@ -2,252 +2,257 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-27</lastmod>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-07-28</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.