Jak ustawić nową pozycję bazowania za pomocą oprogramowania i / lub krajalnicy bez zmiany końcowego zatrzymania sprzętowego?

9

Przed pytaniem, oto moja konfiguracja;

  • Prusa i3 (z płytą główną Mks Gen v1.2)
  • Repetier jako krajalnica
  • Kod źródłowy Marlin

Moim głównym zadaniem jest konwersja mojej drukarki 3D na drukarkę do czekolady. Zastąpiłem wytłaczarkę filamentu wytłaczarką do czekolady. I tam zaczął się mój problem. Ponieważ nowa wytłaczarka zatrzymuje się nieco poza osią Y podczas bazowania. Wychodzi ze standardowego łóżka 20x20 cm. Pozostałe osie X i Z są w porządku.

Grałem więc z #defineswyjaśnieniem poniżej, ale nie mogłem nawet zrobić żadnej różnicy mm bazując na bazowaniu. Wszystkie są ignorowane, gdy drukarka wykonuje bazowanie. Idzie i spoczywa na końcowych ogranicznikach sprzętowych i ostatecznie tam się zatrzymuje.

Chcę tylko 10 mm przesunięcia dla osi Y.

Zacząłem od tego;

// Travel limits after homing
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 190  <<<< (tested with 190 and 210)
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

i to;

// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used

//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 10 <<< (tested with 10 or -10)
#define MANUAL_Z_HOME_POS 0

Grałem również z ustawieniami narzędzia do krojenia (Repetier) , w których wspomniane są wartości związane z bazowaniem, ale nie ma też w tym radości.

Wszelkie uwagi bardzo mile widziane.

Sener
źródło

Odpowiedzi:

6

Ustawienie Y-Max nie pomaga, ponieważ jest to oprogramowanie krańcowe dla drugiego końca osi.

Pozycja początkowa Y również nie pomaga, ponieważ zmienia tylko współrzędną, którą drukarka przyjmuje, gdy osiągnie pozycję początkową. Służy to do drukarek (takich jak delty), w których znajdują się przełączniki maksymalnego końca.

To, co może pomóc, to trochę kodu G tuż po naprowadzeniu. Homing to G28. Następnie dodaj G1Y10. To spowoduje przesunięcie osi Y o 10 mm zaraz po bazowaniu. Więc będzie w żądanej pozycji. Jeśli następnie dodasz G92, ta pozycja stanie się pozycją początkową wydruku. Tak więc dodanie tych dwóch wierszy powinno to naprawić. Cura pozwala edytować te początkowe kody G, aby następnie automatycznie dodawał zmodyfikowane kody do wszystkich twoich wydruków.

Możesz także wypróbować G10 (z oprogramowaniem układowym, które go obsługuje.

Szczegółowe informacje na temat kodów G można znaleźć na stronie: http://reprap.org/wiki/Gcode

Lars Pötter
źródło
Na koniec był to również mój wniosek. To znaczy, koniec oprogramowania nie jest tym, czego chciałem. Ale tak naprawdę nie sprawdziłem, który G-Code może to dla mnie zrobić. Teraz wiem.
Sener,
Zastanawiam się nad ponownym zainstalowaniem ogranicznika końcowego sprzętu, aby wrócić do domu, tak jak chciałem. Chociaż do tej pory nie grałem zbyt wiele z G-Codes. Wygląda również obiecująco jako rozwiązanie. Ale, co rozumiem z twojego wyjaśnienia, korekta kodu G do pozycji bazowania Y jest obsługiwana tylko wtedy, gdy zaczniesz drukować, a nie po włączeniu zasilania lub zresetowaniu drukarki. Nadal wyjdzie poza granice. jeśli tak się stanie, niektóre płynne krople czekolady mogą nadal wypaść z obwodu. Dobrze?
Sener
Dokładnie proces bazowania będzie nadal przesuwał się do pozycji bazowania zdefiniowanej przez końcowe zderzaki sprzętowe. Kody G naprawiają to, ale przy każdym ruchu przesunie się do pozycji krytycznej, a następnie z powrotem.
Lars Pötter
Wielkie dzięki Lars i Kamuro. To rozwiązanie zdecydowanie uratowało mi dzień. Ale myślę, że lepiej byłoby albo ponownie zainstalować ogranicznik Y, albo powiększyć łóżko o 10 mm więcej na wszystkich krawędziach.
Sener
3

Teraz w końcu miałem czas na przyjrzenie się temu, ponieważ wiedziałem, że to istnieje, ale nie byłem pewien, jak to działa:

Użyj polecenia G-code M206 w oprogramowaniu sprzętowym Marlin, Sprinter, Smoothie lub RepRap, aby przesunąć współrzędną 0,0,0 stołu roboczego względem ograniczników.

Strona wiki reprap.org mówi:

Określone wartości są dodawane do położenia krańcowego, gdy odniesienia do osi. To samo można osiągnąć za pomocą G92 zaraz po bazowaniu (G28, G161).

W oprogramowaniu wewnętrznym Marlin wartość tę można zapisać w pamięci EEPROM za pomocą polecenia M500.

Podobnym poleceniem jest G10, dopasowanie tych dwóch jest przedmiotem dyskusji.

W przypadku Marlin 1.0.0 RC2 wartość ujemna dla z podnosi (!) Głowicę drukującą.

Widzimy, że w zasadzie jest to to samo sugerowane przez @LarsPoetter, ale ma tę wielką zaletę, że można go zapisać w EEPROM, dlatego nie trzeba go dodawać za każdym razem lub do każdego innego fragmentatora (jeśli dobrze to rozumiem , - Sam jeszcze tego nie próbowałem)

Daj nam znać, czy to działa na trwałe rozwiązanie.

kamuro
źródło
Ostatnio jestem z dala od mojej konfiguracji, ale na pewno spróbuję zapisać te kody G w pamięci EEPROM i zobaczyć, jak to pomaga. Na pewno podzielę się tutaj swoim doświadczeniem.
Sener,
1
Wielkie dzięki @Kamuro. Działa OK. Jeśli sprawa dotyczy punktów końcowych w przypadku Marlin, ponowne zainstalowanie punktów końcowych jest najlepszym rozwiązaniem.
Sener