Jerk i Acceleration, o co gramy?

Dla zupełnie zielonych w temacie druku 3D
Awatar użytkownika
kaluza
Konto z ograniczeniami
Postów w temacie: 3
Posty: 120
Rejestracja: 17 sty 2021, 18:45
x 35

Re: Jerk i Acceleration, o co gramy?

Post autor: kaluza »

Ogólnie polecam się tym pobawić i obserwować drukarkę robiąc jakiś próbny model z ostrymi zmianami ruchu na dużych prędkościach i wszystko stanie się jasne. Ciężko to łopatologicznie wyjaśnić bo już widzę o S-curve zara dorzucimy LA i zrobi się rzecz nie wytłumaczalna a teraz mówimy o klasycznym zrywie :D

Przede wszystkim te wszystkie funkcje zostały stworzone po to aby ilość filamentu płynąca z dyszy zgadzała się z slicer’em.
Awatar użytkownika
Fest
Postów w temacie: 5
Posty: 348
Rejestracja: 17 paź 2022, 13:32
Lokalizacja: Wlkp. Wsch.
Drukarka: prawie Tronxy xy2
x 137

Re: Jerk i Acceleration, o co gramy?

Post autor: Fest »

roman pisze:Jerk to maksymalna różnica w prędkości po zadanej osi w punkcie.
Brzmi jak pochodna określająca maks zmianę tylko czy prędkości (jak napisałeś), czy przyspieszenia? Tak to rozumiałem na początku, jako ograniczenie narastania (zwalniania) przyspieszenia, a teraz wydaje mi się, że jest to wyłącznie zadana prędkość początkowa (końcowa) od której zaczynamy przyspieszać (do której zwalniamy) jednostajnie z parametrem ACC.
kaluza
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 3
Posty: 8943
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5873
Kontakt:

Re: Jerk i Acceleration, o co gramy?

Post autor: dziobu »

Fest pisze:a teraz wydaje mi się, że jest to wyłącznie zadana prędkość początkowa (końcowa) od której zaczynamy przyspieszać (do której zwalniamy) jednostajnie z parametrem ACC.
I dobrze Ci się wydaje.
Awatar użytkownika
roman
Postów w temacie: 6
Posty: 508
Rejestracja: 02 wrz 2022, 00:27
Lokalizacja: Dokładnej lokalizacji skippera nie zna nawet The President Of The Ju-Es-Ej
x 345

Re: Jerk i Acceleration, o co gramy?

Post autor: roman »

Jerk, przykład jak ja to rozumiem:
jerk.png
jerk.png (4.1 KiB) Przejrzano 1865 razy
1.
Lecimy z prędkością 100mm/s po odcinku A tak jak pozakuje zielona strzałka. To jest posów tylko w osi Y. W punkcie na niebiesko musimy zahamować do zera w osi Y, czyli jeśli jerk wynosi 20 to do tylu musimy "wyhamować" zwalniając zgodnie z akceleracją, a następnie przy 20mm/s możemy wyzerować prędkość na osi Y natychmiast w punkcie oznaczonym na niebiesko. W odcinku B ruch jest jedynie po osi X i w tym miejscu startujemy od zera, czyli tak w zasadzie od "prędkości jerk", czyli od 20mm/s i rozpędzamy się do 100mm/s (tak szybko jak pozwala nam akceleracja).

2.
Lecimy 100 po odcinku C w osi Y. W punkcie mamy zmienić kierunek pod kątem 15%. Głowica nadal po odcinku D będzie się poruszać z prędkością 100mm/s docelowo, ale będzie to ruch po dwóch osiach jednocześnie, czyli, że docelowo te prędkości po osiach będą takie:
Y - ok. 97
X - ok. 26
(prędkości wyliczone i one w sumie dają nam 100mm/s w odcinku D)

Czyli, że jeśli jerki są ustawione tu i tu na 20 to:
- w osi Y nic nie musielibyśmy robić, nawet zwalniać, w punkcie znienilibyśmy prędkość ze 100 na 97 jednym taktem i tyle, ale jednak tak nie jest bo...
- w osi X startujemy od "zera", czyli że najmniej wystartujemy od jerk (ustawiony na 20), a później przyspieszymy do 26.
A więc teraz wrócmy jeszcze raz do osi Y, bo tu musimy jednak zmniejszyć naszą startową prędkość na ok. 74, tak by "wolniejsza" oś X nadążyła, bo:
skoro w osi X starujemy od 20 i dążymy do 26 to ta początkowa prędkość wynosi: 20/26 = 77% pełnej(docelowej) prędkości na odcinku D (oś X)
A więc: początkowa prędkość w osi Y musi być proporcjonalnie mniejsza, czyli wynosi: 77% * 97 = 74 mm/s

Czyli, że w punkcie na osi Y na starcie odcinka D chcemy mieć prędkość 74. A więc nie możemy do tego punktu podjechać (jadąc z odcinka C) z pełną prędkością (100), tylko musimy zwolnić do 74+jerk = 94.


I w ten sposób drukarka wie co musi zrobić, aby jerki były "zachowane", a jednocześnie zrobić to jak najszybciej. W przykładzie 2. nadal zachowujemy zasadę, że największe, punktowe "szarpnięcie" głowicą w każdej z osi będzie wynosić co najwyżej 20mm/s.
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 2
Posty: 7569
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2675

Re: Jerk i Acceleration, o co gramy?

Post autor: Berg »

To ja jeszcze inaczej to napiszę. Bardziej praktycznie. (z resztą ta dyskusja już była na forum)

stary filmik ale dobrze pokazujący różnicę między s-curve a trapezoidal-ramp.


źródło: https://www.youtube.com/watch?v=qYJpl7SNoww

Większość firmwarów obsługuje oba modele.

A: Z punktu widzenia osiągania maksymalnych prędkość i kultury pracy s-curve jest najlepszą opcją.
Poprawia też jakość druku , zmniejszając echo powstałe od drgań głowicy.

B: Często jednak wydruk wymaga stałej prędkości wypływu filamentu. Na przykład filamenty elastyczne, czy drukowanie z ceramiki.
Przy druku z PLA też czasem można dostrzec, że stały wypływ filamentu poprawa jakość , zwłaszcza na długiej rurce Bowden
Oczywiście osiąganie stałej prędkości praktycznie nie jest możliwe. Dążyć do tego można skracając do minimum czas od startu do osiągnięcia zakładanej prędkości druku (czyli zwiększając przyspieszenie)

Niestety zastosowanie A wyklucza B i na odwrót.

Jakimś sposobem pogodzenia s-curve i różnych problemów wynikających z niestałego wypływu filamentu jest zastosowanie algorytmu przewidującego o ile trzeba "przykręcić kran z filamentem" wcześniej czyli "linear-advance" (LA) by osiągnąć zadany efekt później.
Każdy wie, że jak zakręci kran z wodą to jeszcze po tym trochę wody się wylewa. Jeśli chcemy nalać dokładnie 1000ml wody to musimy zacząć zakręcać już przy nalanych ~980ml. No i to robi LA z filamentem.

====
Samo pojęcie "jerk", czyli "zryw" w drukarkach nie zupełnie odpowiada fizycznej definicji. Jeśli w samochodzie "pedał gazu" to pedał przyspieszenia, to "jerk" jest proporcjonalny (odwrotnie) do czasu jaki zajmuje nam wciśnięcie tego pedału od zera do oporu i puszczenie sprzęgła. Możemy ruszyć gwałtownie albo delikatnie ale w obu przypadkach po chwili mieć pedał w podłodze i to samo przyspieszenie.
Nawet jeśli w drukarce jerk ustawia się jako parametr wyrażony jednostką prędkości [mm/s] a nie [m/s3] i wynika to z opisanych wcześniej uproszczeń, w praktyce chodzi o to samo.
Adinfo
Awatar użytkownika
roman
Postów w temacie: 6
Posty: 508
Rejestracja: 02 wrz 2022, 00:27
Lokalizacja: Dokładnej lokalizacji skippera nie zna nawet The President Of The Ju-Es-Ej
x 345

Re: Jerk i Acceleration, o co gramy?

Post autor: roman »

No to chyba wychodzi na to, że jednak ja tego nie rozumiem, bo na tym filmiku to w mojej ocenie porównanie pomiedzy jakąś akceleracją (być może jest to s-curve) a "zwykłym posuwem" (nie "posówem" - sorry za wcześniejszy błąd) bez żadnych akceleracji, czyli że jest stała prędkość V albo jej nie ma.
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 3
Posty: 8943
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5873
Kontakt:

Re: Jerk i Acceleration, o co gramy?

Post autor: dziobu »

Teraz już chyba nikt niczego nie ogarnia bo temat trochę spłynął...
Berg
Awatar użytkownika
roman
Postów w temacie: 6
Posty: 508
Rejestracja: 02 wrz 2022, 00:27
Lokalizacja: Dokładnej lokalizacji skippera nie zna nawet The President Of The Ju-Es-Ej
x 345

Re: Jerk i Acceleration, o co gramy?

Post autor: roman »

O, tu dobrze widać:
https://www.youtube.com/watch?v=C0XjXqO6Ji8&t=27s

Widać po zachowaniu płynów tuż po zatrzymaniu - przy "normalnej akceleracji" płyn zachowuje się dokładnie tak gdy dodajemy do niego stały wektor siły a później go nagle wyłączamy - powierzchnia płynu jest wzburzona. A przy s-curve dodanie i odjęcie wektora siły następuje narastająco dzięki czemu to co obserwujemy to "przekrzywiającą się" powierzchnie tafli płynów zachowującą jednolitą płaszczyzne.
Awatar użytkownika
roman
Postów w temacie: 6
Posty: 508
Rejestracja: 02 wrz 2022, 00:27
Lokalizacja: Dokładnej lokalizacji skippera nie zna nawet The President Of The Ju-Es-Ej
x 345

Re: Jerk i Acceleration, o co gramy?

Post autor: roman »

dziobu pisze:Teraz już chyba nikt niczego nie ogarnia bo temat trochę spłynął...
:) Ej, a wiecie, że to bardzo łatwo "rozwikłać", bo wystarczy zajrzeć w kod marlina, tylko nikomu się nie chce ;) ...no dobra, przyznaje się bez bicia: mnie się nie chce :D
Awatar użytkownika
Rozarh
Drukarz
Postów w temacie: 1
Posty: 631
Rejestracja: 12 kwie 2021, 10:45
Lokalizacja: opolskie
Drukarka: Fenix, A20M, TT1SM..
x 258

Re: Jerk i Acceleration, o co gramy?

Post autor: Rozarh »

Ale namotaliście - a to jest dużo prostsze...
Jerk - zryw - to maksymalna prędkość JAKĄ MOŻNA ZIGNOROWAĆ.

W fizyce normalny ruch odbywa się od zera poprzez akcelerację aż do prędkości maksymalnej i potem zwalnia do zera.
W drukarkach 3D zamiast zera wstawia się "Jerk"...
Czyli jak głowica stoi w miejscu i ma wykonać ruch to napęd zostaje wysterowany na prędkość "Jerk" po czym zgodnie z akceleracją przyspiesza do prędkości zadanej. Tak samo się dzieje przy zwalnianiu - zwalnia ale do Jerk'a i na tym kończy lub przechodzi w kolejny ruch.

Utwierdziło mnie w tym zdanie z przytoczonego wcześniej linka:
"There’s the initial running jump up to the “jerk” speed, then it’s accelerating, going at constant velocity, decelerating, and finally jerking off to zero speed."
morf, denior
Parafrazując wpis by artusiek:
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
ODPOWIEDZ

Wróć do „Pytania o sprawy podstawowe”