Jerk ve Acceleration

3D yazıcı sektöründe, özellikle de açık kaynak yazıcılarda kullanılan yazılımlarda tamamen kullanıcının inisiyatifine bırakılan bu iki kavram oldukça kafa karıştırıcı ve bir çok soruya sebep olmaktadırlar.

Öncelikle bu iki kavramı birçok forum ve inceleme sitelerinde ele alınan konulardan derlediğim şekliyle açıklamaya çalışayım;

JERK

Yazıcının hareketsiz halde iken sıradaki hareket planını (Marlin Firmware planner.h dosyasında tanımlanan) uygulamak üzere ilk harekete başlayacağı zaman kullanacağı hızlanma oranıdır. Eğer yazıcı zaten hareket halinde iken bir yön veya hız değişikliği gerekiyorsa bu kez Jerk değeri bu yeni harekete geçmek için kullanılacak anlık adımı tanımlar. Burada dikkat edilmesi gereken konu Jerk değerinin yazıcının istenilen en yüksek hıza çıkması için gereken ivme olmadığı sadece sıfır hareket hızından tam hareketli konuma geçmek için kullanacağı ivme değeri olduğudur.

Bunu bir otomobil ile örneklemek daha açıklayıcı olacaktır; Yumuşak bir sürüş için durağan haldeki bir otomobili debriyaja basarak ilk vitese alır daha sonra debriyajı yavaş yavaş bırakırken gaz pedalınada aynı oranda basarsanız otomobil sakin ve sarsıntısız bir kalkış yaparak ilerlemeye başlar. Köşeleri yumuşak bir şekilde dönmek için ise önce neredeyse durma noktasına yakın bir hıza kadar yavaşlar köşeyi döner sonra hız limitine kadar yeniden yavaş yavaş hızlanırsınız. Doğal olarak tüm bu işlemler biraz zaman alacaktır. Eğer aceleniz varsa aracı ilk vitese takıp debriyajı olabildiğince hızlı bırakarak gaz pedalınada o oranda hızlı basarsınız araç büyük bir ivme ile yerinden fırlayarak harekete geçer. Köşelerde zaman kazanmak için ise aracı kaydırma pahasına bile olsa olabilecek en yüksek hız ile köşeyi dönersiniz ve köşeyi döndükten sonra aracı tekrar düz bir hatta sabitlemek için birkaç direksiyon hareketine ihtiyaç duyarsınız. İşte Jerk değeride yazıcınızın izin verilen hız limitleri dahilinde yavaş/kararlı veya hızlı/agresif hareketler ile çalışmasını ayarlar.

ACCELERATION


Öncelikle Acceleration kavramının hızlı gitmek değil hızın zaman içinde değişimi olduğunu belirtmek isterim. Bu konuda bir çok yanlış anlaşılma mevcut. Çoğu kullanıcı 
Acceleration kavramını yazıcının baskı hızı ile karıştırmaktadır.
Acceleration değerinin asıl amacı yazıcının en yüksek hıza aniden çıkmaya çalışması yerine bu hıza belli bir zaman içinde çıkmasını sağlamaktır. İşini çok ustaca yaptığı için hızlanma üzerindeki etkisi gözle görülemeyecek kadar hızlı olsa da baskıdaki kalitesi gözle görülecek kadar nettir.
Yumuşak hareketler ve köşe dönüşleri her zaman baskı kalitesini arttırır ancak hızı da aynı oranda düşürür. Bu yüzden Jerk ve Acceleration değerleri baskı ihtiyacınıza göre yazıcınızın limitleri dahilinde belirlenmesi gereken değerlerdir. 
Acceleration, Marlin yazılımı tarafından kontrol edildiğinden gcode dosyanızı yeniden oluşturmanıza gerek kalmadan değişiklikler gcode’larınıza anında yansır. Bunun yanında baskı hızı değerleri gcode içinde tanımlandığından eğer yazıcınızın baskı hızını değiştirdiyseniz gcode’larıda yeniden oluşturmalısınız.

Birçok hesaplamaların olduğu http://www.prusaprinters.org/calculator/ adresinde bu konu ile alakalı da bir hesaplama aracı bulunmaktadır. Hesaplamanın amacı doğru Acceleration değerini bulmanızdan çok belirlediğiniz Acceleration değerine göre yazıcının davranışını görebilmektir. Örnek bir hesaplama grafiğini aşağıda görebilirsiniz. Gerekli detayları elimden geldiğince açıklamaya çalıştım.

Örnek grafiğimiz Acceleration değerinin 3000 olarak tanımlandığı, baskı hızının 125mm/s ve baskı uzunluğunun 30mm olduğu bir senaryoyu içermektedir.

Grafikteki değerlerden sarı olan en yüksek hızı temsil etmektedir. Yani bu değerler ile yazıcı en fazla 300mm/s hıza ulaşabilir. Sarı çizginin tepe noktası olan ve 3 numaralı nokta hızın düşmeye başlamadan önce çıkabileceği en yüksek tepe noktasıdır. Bunun anlamı şudur; Bu değerler ile yazıcınızın en yüksek çıkabileceği hızı 300mm/s olarak ayarlayabilirsiniz. Yalnız bunun anlamı bu hızda kaliteli baskı alabilirsiniz demek değildir. Konuya yazının sonunda detaylı olarak değineceğim.

Grafiğimize tekrar dönecek olursak; yazıcı 1 ve 2 noktası arasındaki 3mm lik mesafeyi katettiğinde baskı hızımız olan 125mm/s değere ulaşmış oluyor. 2 ve 4 numaralar arasındaki mavi çizgi yazıcının 125mm/s hızda sabit olarak gideceği mesafeyi göstermekte. 4 ve 5 numaralar arası ise hareketin (30mm çizimin) bitiminden önce yavaşlamaya başlanacak ve bitiminde sıfıra düşülecek mesafeyi göstermekte.

Yani yazıcı 3mm boyunca yavaş yavaş hızlanıp 125mm/s hıza çıkacak. 24mm bu hızda ilerleyecek ve daha sonra 3mm boyunca 125mm/s hızdan sıfıra düşecektir.

Baskı hızı ve Varsayılan En Yüksek baskı (DEFAULT_MAX_FEEDRATE) hızları arasındaki ilişki ve farklılıklara da değinip yazımı sonladırıyorum.

Varsayılan en yüksek baskı hızı yani Marlin ayarlarındaki

DEFAULT_MAX_FEEDRATE olarak girilen değer yazıcının her ne olursa olsun daha üstüne çıkamayacağı bir değerdir. Baskı hızı ise bu tanımlamanın altında olmak koşulu ile ister doğrudan değer olarak ister yüzde olarak girilen ve tüm baskı işlemi boyunca değişiklik gösterebilen hızdır. Yani siz dilimleme yazılımında dolguların %80 hızla basılmasını ayarlarsanız ve DEFAULT_MAX_FEEDRATE 100mm/s ise yazıcı tüm dolguları 80mm/s hız ile basacaktır.

Kesinlikle tüm soru işaretlerini ortadan kaldıramadığımı biliyorum ama bu iki kavram yani Jerk ve Acceleration futboldaki ofsayt terimi gibi. Anlayan için çok kolay anlamayana ne yaparsanız yapın anlaması zor gelir. Benim tek amacım bir kapıyı aralayıp gerisi için yol göstermekten başka bir şey değil.