Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Miejsce na rozmowy o drukarkach typu delta
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 16
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: dziobu »

samezrp pisze:Ma działać tak, żeby zapobiegło pierdolnięciu czujnika w stół jeśli zapomnę go odłączyć a puszczę druk czy wymuszę zjazd głowicy.
Aż mnie to zaciekawiło i postanowiłem poświecić kawałek nocy żeby to sprawdzić. Przecież to nie może być trudne...

W skrócie - prosto i tylko programowo to się nie da.
Od strony programowej: teoretycznie to już tak działa. Tak wynika z opisów, podobnie można wywnioskować z pierdyliarda instrukcji warunkowych (a przeglądanie tego w "notatniku" jest upierdliwe, zwłaszcza jak IDE Arduinowe nie pokazuje co jest kompilowane) oraz licznych postów w sieci. Kijem w tej kupie jest fakt że tu mamy DELTĘ i programowe endstopy co komplikuje sprawę niebywale. No i to działa jak działa, czyli nie działa. Czyli w kontekście Arduina - normalka ;)

Jednak - jestem hardkorem i mnie takie pierdoł nie powstrzymają. Pomyślałem chwilę i wpadłem na to jak stosunkowo prostymi zmianami w kodzie zrobić tak żeby działało (instrukcja na końcu posta).
Ale to wciąż tylko pół drogi.

Dochodzimy do sprzętu: czujnik jest normalnie zamknięty. Czyli wjechanie w stół go rozwiera. Sensowne.
Niestety tutaj potykamy się o element właśnie tego zabezpieczenia - wypięcie czujnika (czyli normalna praca) również jest stanem aktywnym... Innymi słowy - jeśli to ma działać to trzeba zmienić logikę pracy sprzętu i to już na poziomie wspomnianego czujnika. Praktycznie sprowadza się to do tego:
cz.jpg
Czerwony krzyżyk nie oznacza skarbu tylko ścieżkę którą trzeba przeciąć. Zielona kreseczka to pożądane połączenia. Prościej chyba nie da się tego opisać - jeśli ktoś nie czuje się na siłach może oddać płytkę starszemu bratu. Albo babci ;)

(koniec posta - zapowiedziana instrukcja modyfikacji Marlina 1.1.9 - w poprzednich jest pewnie tak samo ale nie sprawdzałem)
Nie odpowiadam za straty wynikłe z zadziałania, lub nie, tego poniżej ;)
Configuration.h
1. Z_MIN_ENDSTOP_INVERTING -> true
2. Z_MIN_PROBE_ENDSTOP_INVERTING -> true

Endstops.cpp
3. (linia 53; zamienic "false" na "true")
volatile bool Endstops::z_probe_enabled = true;

4. (linia 243; zakomentowac linię, tj wstawić "//" na poczatku)
//z_probe_enabled = onoff;


Tak popatrzyłem na to wszystko...chyba łatwiej pamiętać o czujniku ;)

Jeśli jest tu jakiś smiałek potrafiący zrobić to normalnie, to miło żeby się odezwał. Chętnie się dowiem co i jak.

edit.
Uprzedzając pytania dlaczego tak a nie inaczej:
- jak wspomniałem - to teoretycznie powinno teraz działąć bo PROBE jest tożsame z Z_MIN. Słowem klucz jest "teoretycznie",
- sam czujnik (PROBE) działa prawidłowo i też zatrzymuje jazdę - ale tylko na żądanie; wystarczy wymusić jego pracę cały czas (krok 3 i 4) i jest jak trzeba ;)
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 21
Posty: 7564
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2662

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: Berg »

tylko tak. Niezmodyfikowany czujnik i "orgyginalna" konfiguracja zabezpiecza przed odwrotną sytuacją. To znaczy - zapomniałem założyć czujnika i włączam kalibrację. Bez czujnika wbijemy się w stół. Nie dużo, bo ograniczenie max_z powinno zadziałać o ile jest dobrze ustawione. Przy czym skoro robimy kalibrację to bardzo prawdopodobne, że nie jest.
Z resztą to jest zmiana między Kossel v1 a v2 , tą modyfikacją zrobiłeś downgrade do v1
Do marlina 2. jest dołożony konfig do Anycubi Kossel, gdzie wybiera się v1/v2 . Tak że jak rozumiem po Twoim modzie wystarczy w konfigu ustawić v1
(rozwiązaniem było by dołożenie trzeciego kabelka.)

https://github.com/MarlinFirmware/Marli ... bic/Kossel

Kod: Zaznacz cały

/**
 * Choose your version:
 */
// normal size or plus?
#define ANYCUBIC_KOSSEL_PLUS
// Anycubic Probe version 1 or 2 see README.md; 0 for no probe
#define ANYCUBIC_PROBE_VERSION 2
// Heated Bed:
// 0 ... no heated bed
// 1 ... aluminium heated bed with "BuildTak-like" sticker
// 2 ... ultrabase heated bed
#define ANYCUBIC_KOSSEL_ENABLE_BED 1
(....)

Kod: Zaznacz cały

#define Z_MIN_ENDSTOP_INVERTING (ANYCUBIC_PROBE_VERSION + 0 == 2) // V1 is NC, V2 is NO
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 16
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: dziobu »

Tylko dwie rzeczy:
1. Jak robimy kalibracje to raczej świadomie. Świadomie więc zakłądamy czujnik.
Kalibracja robi się chwile i pewnie w tym czasie robimy coś innego - wtedy przychodzisz do drukarki a ona czeka gotowa. Zero sygnałów żeby zdjąć czujnik.
(tu można by dodać jakiś komunikat na ekranie ale to tylko półśrodek)

2. Sprawa rozchodzi się o to że aktywacja czujnika nie zatrzymuje jazdy w dół. Powinna, ale to nie działa.
3. Zmiana logiki pracy jest tylko po to żeby dało się pracować bez wpiętego AL. Chodziło o zabezpieczenie pracy z podpiętym czujnikiem a nie kalibracji bez czujnika.

Jak to działa w Marlinie 2 - nie wiem.
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 21
Posty: 7564
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2662

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: Berg »

wiem, wiem :D. Trzeba dołożyć trzeci kabelek z zasilaniem do czujnika i dołożyć buzerek. Jak w ciężarowym przy cofaniu będzie.
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 16
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: dziobu »

dziobu pisze:Tylko dwie rzeczy:
1. (...)
2. (...)
3. (...)
Takich trzech rzeczy jak te dwie nie ma ani jednej :D
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 21
Posty: 7564
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2662

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: Berg »

Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 16
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: dziobu »

Można, tylko na co byś chciał tam czekać?
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 21
Posty: 7564
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2662

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: Berg »

na zero na pinie od z_probe . Jak jest założony, to jest 1 (albo odwrotnie)
W ten sposób zablokuję uruchomienie druku przy założonym czujniku.
Awatar użytkownika
samezrp
Postów w temacie: 8
Posty: 1022
Rejestracja: 29 paź 2016, 15:57
x 66

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: samezrp »

rafaljot pisze:na zero na pinie od z_probe . Jak jest założony, to jest 1 (albo odwrotnie)
W ten sposób zablokuję uruchomienie druku przy założonym czujniku.
Druku tak, natomiast momentu kiedy podczas kalibracji powinieneś zdjąć czujnik, a tego nie zrobiłeś, nie. Przydałoby się w tym miejscu nie sprawdzanie stanu czujnika, a kontrola zmiany stanu. Nieważne czy z 0 na 1, czy z 1 na 0, zmiana stanu = czujnik założony, trzeba zrobić stop.
Awatar użytkownika
Berg
Zasłużony
Postów w temacie: 21
Posty: 7564
Rejestracja: 05 lis 2016, 11:57
Lokalizacja: Kraków
Drukarka: Lume, K8400, HC Evo
x 2662

Re: Anycubiq Delta Kossel - moje zmagania (SQ9KRD)

Post autor: Berg »

a kiedy podczas kalibracji powinienem zdjąć? No wiem, tak chyba było w tamtym how-to, co wklejałem. ale to tak tylko za pierwszym razem. Potem to już tylko zakładasz czujnik ew. do levelingu, jak musiałeś zdjąć stół, czy do skalibrowania Z.
ODPOWIEDZ

Wróć do „Delta”