Stránka 1 z 1

nefungující babystep

PříspěvekNapsal: 15.02.2021 00:33
od RadaRD
Po letech jsem se konečně rozkýval aktualizovat si Marlina ve svém Rebelu a při té příležitosti jsem se těšil na to, že si zapnu babystep pro osu Z a budu moct jemně poladit první vrstvu "za chodu". Jelikož mám Arduino Mega a RAMPS 1.4, šel jsem do verze 1.1.9.1, dvojkové verze jsou pro novější boardy. Nemám žádnou autoleveling probe.

V configuration_adv.h jsem si nastavil babystepping - viz níže - jaké však bylo moje zklamání, když to nefungovalo. Možnost babystep Z, se mi v menu "Tune" po zahájení tisku sice nabízela (BTW taky vím, že lze do toho menu vstoupit doubleclickem encoderu), ale změna hodnot, v tom menu, se nijak neprojevovala pohybem krokáčů osy Z. Ty závitovky se prostě ani nehly.

Kód: Vybrat vše
#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
  //#define BABYSTEP_XY              // Also enable X/Y Babystepping. Not supported on DELTA!
  #define BABYSTEP_INVERT_Z false    // Change if Z babysteps should go the other way
  #define BABYSTEP_MULTIPLICATOR 18   // Babysteps are very small. Increase for faster motion.
  //#define BABYSTEP_ZPROBE_OFFSET   // Enable to combine M851 and Babystepping
  #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
  #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
                                        // Note: Extra time may be added to mitigate controller latency.
  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
#endif


Začal jsem tedy zkoumat, co by mohlo být špatně. Napřed jsem si na YouTube omrknul, jak se má babystepping vlastně chovat. Zjistil jsem, že osa Z se změnou babystepu hned a v reálném čase mění a dochází k pohybu závitových tyčí. Nefunguje to tedy tak jak jsem původně myslel, že by se nejprve nastavila rotačním encoderem požadovaná hodnota a po potvrzení se změna teprve projeví.

Změnil jsem v konfiguraci ledacos, Googlil jsem co se dalo, ale nic kloudného jsem nenašel. Až jsem narazil na tohle vlákno a zjistil jsem, že musím nastavit v configuration.h:

Kód: Vybrat vše
#define DISABLE_Z false


...a potom mi babystepping konečně začal fungovat.

Nicméně mi trochu vadí, že jsou teď oba krokáče Z + driver stále pod proudem, jelikož to způsobuje, že krokáče vydávají různé pisklavé a tklivé vysokofrekvenční zvuky a taky se víc zahřívají, včetně driveru.

Pohrál jsem si s proudem na driveru a ubral na nejnižší možnou únosnou hodnotu (na závitovkách naštěstí není třeba takový torque), ale přesto by mne zajímalo, jestli náhodou někdo nevíte, zda-li to nemá nějaké lepší řešení? Disableovat krokáč pomocí G kódu, po first layeru, se mi taky jako řešení moc nelíbí.

To opravdu musím mít kvůli babystepingu na Z stále driver a krokáče pod proudem? :( Je to divný, jelikož v závěru toho vlákna se píše, že:
Marlin now enables steppers if needed for babystepping.


Toto však není pravda. BTW zkoušel jsem i úplně poslední nightly build "bugfix-1.1.x" ale bez efektu.

Re: nefungující babystep

PříspěvekNapsal: 15.02.2021 15:31
od lachtan86
Sorry jesi nechápu ale pokud tiskneš tak do motorů jde proud. Ten se vypne pokud nejede nastavený interval některý z motorů. Při přejezdech pokud máš nastavenej Z-lift tak stejně Ztový motory makaj.. btw pokud bys při tisku vypínal Ztový motory a měl větší stoupání závitovek tak by ti osa mohla sama začít sjíždět dolů..

Re: nefungující babystep

PříspěvekNapsal: 15.02.2021 15:53
od RadaRD
Mám klasický závitovky, tam nehrozí samovolný pohyb, metrický závit je samosvorný. Pohyb v ose Z je narozdíl od os X a Y potřeba jen když se vytiskne celý layer, tedy je zde celkem dlouhá prodleva. Z-lift nepoužívám, mám ho vypnutý.

Ale v pohodě - mne akorát zajímalo, jestli to třebas nemá jiný řešení nějakým nastavením ve FW, který jsem přehlídnul. Zdá se, že nikoliv.

BTW objednal jsem na zkoušku "tichý" TMC drivery, tam bude třeba situace potom jiná.

Re: nefungující babystep

PříspěvekNapsal: 15.02.2021 16:51
od Rebel
Při tisku žádné drivery nevypínej. Je k tomu řada důvodů, které teď nemám moc čas vysvětlovat, ale má to své opodstatnění už jen proto, že mikrokrokuješ a motor nemá v případě vypnutí proudu stabilní polohu (pokud teda není zrovna v plném kroku) , protože kotva není ideálně v magnetickém poli pólových nástavců.

Re: nefungující babystep

PříspěvekNapsal: 16.02.2021 12:12
od RadaRD
Rebel píše:Při tisku žádné drivery nevypínej. Je k tomu řada důvodů, které teď nemám moc čas vysvětlovat, ale má to své opodstatnění už jen proto, že mikrokrokuješ a motor nemá v případě vypnutí proudu stabilní polohu (pokud teda není zrovna v plném kroku) , protože kotva není ideálně v magnetickém poli pólových nástavců.

OK, tomu rozumím a celý to dává smysl, hlavně ta část s mikrokrokováním mi vůbec nedošla.

Celý to vzniklo kvůli tomu, že jsem sice provedl pečlivou přípravu před nahráním nového FW a napřed si zjistil veškerý důležitý hodnoty, ale neměl jsem k dispozici původní configuration.h atd.

Po nahrání nového FW vše fungovalo víceméně "na první dobrou" až na to, že mi "pištěly" krokový motory. Což s původním FW nedělalo. Ani po provedení "autohome" ne.

Z toho jsem usoudil, že v původním FW musely být krokový motory vypnutý (tj. DISABLE_X, DISABLE_Y a DISABLE_Z bylo na hodnotě true). Ale je možný, že v mnoho let starým FW, byly některý věci řešený jinak. Za chodu, během tisku, jsem nikdy na tiskárně rukou nezkoušel, jestli jsou krokový motory stále zapnutý nebo ne. A jestli vydávaly nějaký zvuky, když se zrovna nepohybovaly, to při tisku také slyšet nebylo :)

Tak třeba to někomu pomůže :) Díky všem.

Re: nefungující babystep

PříspěvekNapsal: 21.02.2021 03:50
od antoans
Hm a to tě to pustilo přes koncák? Já jsem totiž taky chtěl poladit výšku osy z přes babystep ale nějak mne to nechtělo pustit jelikož když začínám tisknout tak je to ramínko koncáku ještě napružené tak že to prostě nejde do mínusu ale jen do plusu nahoru.

Re: nefungující babystep

PříspěvekNapsal: 22.02.2021 10:27
od Stefinek
antoans píše:Hm a to tě to pustilo přes koncák? Já jsem totiž taky chtěl poladit výšku osy z přes babystep ale nějak mne to nechtělo pustit jelikož když začínám tisknout tak je to ramínko koncáku ještě napružené tak že to prostě nejde do mínusu ale jen do plusu nahoru.

Napíšu zkušenost z enderu 3, jelikož Rebela II V34 s průša extruderem a skr1.3 ještě nemám dodělanýho, v enderu mám taky skr1.3 a vlastní konfiguraci marlinu. Při babysteppingu mi normálně ignoruje koncák, dá se to přímo v marlinu nastavit. Možná odpoledne najdu jak se to jmenuje.

Aha tak je to tím, že já všude používám marlin 2.x.x a ten už defaultně při babysteppingu ignoruje endstopy
Babystepping.png

Re: nefungující babystep

PříspěvekNapsal: 24.02.2021 16:51
od RadaRD
antoans píše:Hm a to tě to pustilo přes koncák? Já jsem totiž taky chtěl poladit výšku osy z přes babystep ale nějak mne to nechtělo pustit jelikož když začínám tisknout tak je to ramínko koncáku ještě napružené tak že to prostě nejde do mínusu ale jen do plusu nahoru.

Ano, normálně to pustí i přes koncák. Viz kousek kódu z konfigurace babystepu z Marlina 1.1.x

Obrázek