Deploying to gh-pages from @ Klipper3d/klipper@7b490f3ec1 🚀

This commit is contained in:
KevinOConnor
2024-04-28 00:05:14 +00:00
parent 15e16ec351
commit 03f81ee535
83 changed files with 1973 additions and 1233 deletions

View File

@@ -983,8 +983,8 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#look-ahead-ammorbidito" class="md-nav__link">
Look-ahead ammorbidito
<a href="#minimum-cruise-ratio" class="md-nav__link">
Minimum cruise ratio
</a>
</li>
@@ -1428,8 +1428,8 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#look-ahead-ammorbidito" class="md-nav__link">
Look-ahead ammorbidito
<a href="#minimum-cruise-ratio" class="md-nav__link">
Minimum cruise ratio
</a>
</li>
@@ -1540,12 +1540,14 @@
<div class="highlight"><pre><span></span><code>velocità_finale^2 = velocità_iniziale^2 + 2*accelerazione*distanza_movimento
</code></pre></div>
<h3 id="look-ahead-ammorbidito">Look-ahead ammorbidito<a class="headerlink" href="#look-ahead-ammorbidito" title="Permanent link">&para;</a></h3>
<h3 id="minimum-cruise-ratio">Minimum cruise ratio<a class="headerlink" href="#minimum-cruise-ratio" title="Permanent link">&para;</a></h3>
<p>Klipper implementa anche un meccanismo per smussare i movimenti di brevi movimenti a "zigzag". Considera i seguenti movimenti:</p>
<p><img alt="zigzag" src="img/zigzag.svg.png" /></p>
<p>In quanto sopra, i frequenti passaggi dall'accelerazione alla decelerazione possono causare vibrazioni della macchina che provocano sollecitazioni e aumentano la rumorosità. Per ridurre questo, Klipper tiene traccia sia dell'accelerazione di movimento regolare che di una velocità virtuale di "accelerazione alla decelerazione". Utilizzando questo sistema, la velocità massima di questi brevi movimenti a "zigzag" è limitata per rendere più fluido il movimento della stampante:</p>
<p>In the above, the frequent changes from acceleration to deceleration can cause the machine to vibrate which causes stress on the machine and increases the noise. Klipper implements a mechanism to ensure there is always some movement at a cruising speed between acceleration and deceleration. This is done by reducing the top speed of some moves (or sequence of moves) to ensure there is a minimum distance traveled at cruising speed relative to the distance traveled during acceleration and deceleration.</p>
<p>Klipper implements this feature by tracking both a regular move acceleration as well as a virtual "acceleration to deceleration" rate:</p>
<p><img alt="smoothed" src="img/smoothed.svg.png" /></p>
<p>In particolare, il codice calcola quale sarebbe la velocità di ogni mossa se fosse limitata a questa velocità di "accelerazione alla decelerazione" virtuale (la metà della velocità di accelerazione normale per impostazione predefinita). Nell'immagine sopra le linee grigie tratteggiate rappresentano questa velocità di accelerazione virtuale per il primo movimento. Se un movimento non può raggiungere la sua piena velocità di crociera usando questa velocità di accelerazione virtuale, la sua velocità massima viene ridotta alla velocità massima che potrebbe ottenere a questa velocità di accelerazione virtuale. Per la maggior parte dei movimenti il limite sarà pari o superiore ai limiti esistenti del movimento e non verrà indotto alcun cambiamento nel comportamento. Per brevi movimenti a zigzag, tuttavia, questo limite riduce la velocità massima. Nota che non cambia l'accelerazione effettiva all'interno del movimento: Il movimento continua a utilizzare lo schema di accelerazione normale fino alla sua velocità massima regolata.</p>
<p>Specifically, the code calculates what the velocity of each move would be if it were limited to this virtual "acceleration to deceleration" rate. In the above picture the dashed gray lines represent this virtual acceleration rate for the first move. If a move can not reach its full cruising speed using this virtual acceleration rate then its top speed is reduced to the maximum speed it could obtain at this virtual acceleration rate.</p>
<p>For most moves the limit will be at or above the move's existing limits and no change in behavior is induced. For short zigzag moves, however, this limit reduces the top speed. Note that it does not change the actual acceleration within the move - the move continues to use the normal acceleration scheme up to its adjusted top-speed.</p>
<h2 id="generazione-di-passi">Generazione di passi<a class="headerlink" href="#generazione-di-passi" title="Permanent link">&para;</a></h2>
<p>Una volta completato il processo di look-ahead, il movimento della testina di stampa per il dato spostamento è completamente noto (tempo, posizione iniziale, posizione finale, velocità in ogni punto) ed è possibile generare i tempi di passaggio per lo spostamento. Questo processo viene eseguito all'interno di "classi cinematiche" nel codice di Klipper. Al di fuori di queste classi cinematiche, tutto viene tracciato in millimetri, secondi e nello spazio delle coordinate cartesiane. È compito delle classi cinematiche convertire da questo sistema di coordinate generico alle specifiche hardware di una particolare stampante.</p>
<p>Klipper utilizza un <a href="https://en.wikipedia.org/wiki/Root-finding_algorithm">risolutore iterativo</a> per generare i tempi dei passo per ogni stepper. Il codice contiene le formule per calcolare le coordinate cartesiane ideali della testa in ogni momento e ha le formule cinematiche per calcolare le posizioni ideali dello stepper in base a quelle coordinate cartesiane. Con queste formule, Klipper può determinare il tempo ideale in cui lo stepper dovrebbe trovarsi in ogni posizione del passo. I passaggi indicati vengono quindi programmati in questi orari calcolati.</p>