Zacznę od tego, że sama konstrukcja Creality CR10 i CR10S jest bardzo sztywna i stabilna, a raz dobrze ustawiony stół pozwala na wiele dni drukowania bez obawy o problemy z przywieraniem druku, co jakiś czas mimo wszystko należy delikatnie skorygować poziom, aby wciąż drukować bez przeszkód.

Duży problem pojawia się, gdy sam stół jest krzywy, wtedy pomimo największych starań może być tak, że wydruk nie będzie przywierał i przysporzy nam to sporo frustracji. Ten problem jak u wielu innych użytkowników występował również u mnie i nawet po wymianie fabrycznej tafli szkła na polecane wszędzie lustra Ikea Lots problem mimo wszystko, co jakiś czas się pojawiał.

Uważam, że dołożenie czujnika auto poziomowania, to swego czasu najlepsza modyfikacja jaką wykonałem w poprzedniej drukarce (Anet A6) i szczerze polecam każdemu wykonanie tego samego

Zaraz po zainstalowaniu “auto bed levelingu” skończyło się wiele moich problemów z wydrukiem i dlatego postanowiłem ten sam zabieg wykonać również w Creality CR10S. W tym przypadku pomimo, że procedura w teorii jest bardzo podobna to mimo wszystko należy wiedzieć co się robi (plus, minus, bo sam nie jestem elektronikiem i nie znam się na układach scalonych, ale działa i to chyba najważniejsze)

Jak dodać auto bed level sensor do CR10 i CR10S

Obecnie dostępnych jest kilka gotowych rozwiązań, które są bardziej przyjazne użytkownikom, którzy nigdy nie mieli lutownicy w ręku, ale:

Nie są dostępne w Polsce, chyba, że sam zacznę je sprzedawać :)

Są stosunkowo drogie +/- 350 zł z wysyłką z Wielkiej Brytanii

Koszt własnoręcznego zamontowania czujnika nie powinien przekroczyć 50 zł, więc różnica jest dość znaczna, a cała procedura naprawdę nie jest tak skomplikowana i zostanie opisana poniżej w sposób ogólny, abyś wiedział na co się przygotować. Każdy punkt szerzej opiszę później. Z szerszego opisu dowiesz się przede wszystkim na co zwracać uwagę przy każdym punkcie oraz jakie są konsekwencję i ograniczenia wszystkich tych działań, które wykonasz. Do dzieła!

1. Zamów czujnik auto poziomowania: Czujnik dla CR10S

2. Zamów odpowiedni optoizolator z AliexpressAllegro lub Gotronik

3. Wydrukuj uchwyt i przykręć do drukarki Uchwyt do czujnika

4. Podłącz odpowiednio czujnik

5. Wgraj nowy firmware do drukarki (TH3DUF lub Marlin 1.1.8)

6. Ustaw Z Offset w nowym firmware

7. Dodaj komendę G29 do każdego swojego nowo pociętego modelu w slicerze (Cura, Simplify 3D).

I to wszystko. Po przebrnięciu przez te 7 punktów będziesz mógł cieszyć się po pierwsze nowym, lepszym oprogramowaniem w drukarce, które pozwala na bardzo łatwą zmianę wielu parametrów oraz oferuje kilka dodatkowych opcji jak np. babystepping, a po drugie skończą się twoje problemy z poziomowaniem stołu i odlepiającymi się wydrukami.

 

1. Zamów czujnik auto poziomowania dla Creality CR10S

Dlaczego akurat ten, skoro wszędzie, gdzie napotkam ludzie używają czujnika w kształcie cylindra?

czujnik indukcyjny sensor cylinder

Zasada działania jest taka sama, natomiast “mój” niebieski czujnik idealnie sprawdził się przy wcześniejszej drukarce, jest solidnie wykonany, a do tego jest mniejszy, ma duży zakres tolerancji na zasilanie 6V-36V (choć bez problemu działał nawet na 5V), nie jest drogi, a do tego jego zakres działania to aż 8 mm, dlatego nawet przy drukowaniu na szkle o grubości 4-5 mm nie powinien sprawiać żadnych problemów.

Czujnik CR10 Auto bed level

Należy jednak uważać na podróbki, o których czytałem w sieci oraz które znalazłem np. na Aliexpress czujniki te są identyczne, ale o 2 lub 3 dolary tańsze, jednak zakres ich działania jest zmniejszony do 4 lub 6 mm, co może już stanowić problem w niektórych sytuacjach, dlatego polecam zakup jedynie oryginalnego czujnika stąd: Oryginalny czujnik autopoziomowania do CR10/CR10S

2. Zamów odpowiedni optoizolator

optoizolator-auto-bed-leveling

Nie będę ukrywał, że nie jestem specjalistą w dziedzinie elektroniki. O tym, że konieczny jest taki układ jak optoizolator i co to w ogóle jest dowiedziałem się pytając w kilku miejscach w sieci. Fachowo jest to:

[bs-quote quote=”moduł z izolatorem optoelektronicznym, przeznaczony do sterowania układami pracującymi z napięciami do 70 V przez układy cyfrowe 3-5V np. mikrokontrolery. Moduł separuje układ wykonawczy od sterownika, przez co zabezpiecza system sterowania oraz niweluje występujące szumy i zakłócenia” style=”style-9″ align=”center”][/bs-quote]

W wielkim skrócie nasz czujnik dla pewności precyzji odczytów będzie zasilany z 12V zasilacza sieciowego, ale płyta główna w CR10S może przyjąć co najwyżej 5V, a więc, aby wszytko działało jak należy (sterowanie silnikami) i aby nie doprowadzić do spalenia płyty głównej stosujemy tzw. optoizolator czy też transoptor. To do niego będziemy wpinali większość kabli, ale o tym później.

3. Wydrukuj uchwyt i przykręć do drukarki

cr10-auto-bed-leveling-sensor-mount

Uchwyt na czujnik znajdziecie na oczywiście na thingiverse.

Jest to projekt mojego autorstwa i polecam użycie właśnie tego uchwytu z tego względu, że idealnie pasuje do tego czujnika, jest łatwy w montażu (nie wymaga żadnych dodatkowych śrub, stosujemy te same, które są już w obudowie wiatraka i dyszy), a oprogramowanie, które wgrasz później ma wpisane odpowiednie odsunięcie czujnika od dyszy drukującej.

Zalecam ustawienie wysokości warstwy na 0,1 mm oraz dodanie supportów, które pozwolą na wydrukowanie go w obecnej orientacji i zachowanie detali takich jak miejsca na nakrętki sensora w tylnej części uchwytu.

4. Podłącz odpowiednio czujnik

No to przed nami najtrudniejsza część, ale bez obaw jeżeli w przeciwieństwie do mnie już na starcie wiesz “co i jak” sprawa staje się o niebo łatwiejsza.

a) Zasilanie czujnika

W praktyce musimy zasilić czujnik z 12V. Do tego wykorzystamy zwykły zasilacz sieciowy 12V 1A lub większy (o większym natężeniu, czyli 2, 3 czy 5 Amperów). Taki zasilacz bez problemu znajdziesz u siebie w domu, a jeżeli nie, to za kilka groszy kupisz na Allegro czy w jakimś innym sklepie z elektroniką. Wtyczkę w zasilaczu należy odciąć (można by też ją zachować, ale zdecydowałem, że to raczej permanentna konstrukcja, więc niech już będzie polutowane na stałe. Po odcięciu wtyczki zasilacza w zależności od jego rodzaju możemy mieć już 2 osobne przewody, gdzie plus zazwyczaj oznaczony ciągłą lub przerywaną białą linią

zasilacz-sieciowy

lub coś w rodzaju kabla koncentrycznego, gdzie żyła wewnętrzna to nasz plus, a jej oplot to nasz minus. Bez względu na to jaki zasilacz posiadasz powinien się nadawać bez problemu.

W pierwszym etapie próbowałem zasilić czujnik bezpośrednio z zasilacza CR10S (tam też mamy 12V), ale niestety z niewiadomych mi przyczyn ten zabieg nie działał, więc polecam mimo wszystko osobne zasilanie.

b) Czujnik autopoziomowania

Teraz czas na czujnik. Z jego wtyczki wychodzą 3 przewody, na zdjęciu produktowym powyżej jest to czarny, czerwony i żółty, ale w rzeczywistości będą to przewody:

Brązowy – plus

Niebieski – minus

Czarny – sygnał

Obcinamy wtyczkę i zdejmujemy koszulki ze wszystkich trzech przewodów. Czarną, grubą, zewnętrzną koszulkę można śmiało rozciąć (uważając, aby nie pociąć kolorowych przewodów w środku).

c) Z endstop

Kolejnym krokiem będzie doprowadzenie sygnału o położeniu osi Z do płyty głównej. Oryginalnie tą rolę pełni tzw. endstop (taki sam znajduje się “na końcu” każdej osi.) Aby drukarka wiedziała odczytywała pozycję z czujnika auto poziomowania musimy wysłać sygnał do płyty głównej. W tym celu wykorzystamy bieżące przewody, które biegną właśnie z płyty głównej do mechanicznego endstopu osi Z umieszczonego z lewej strony drukarki. Tu też musimy rozróżnić, który przewód jest który. Najprościej jest spojrzeć na Endstop, bo tam wejścia na kable są podpisane.

d) Kable przygotowane czas na podłączenie

Centrum naszego podłączania to wcześniej wspomniany optoizolator. Model który zastosowałem ma z lewej strony dwa wejścia + i –, a z prawej 3 wyjścia VCC, OUT, GND.  Wyjścia VCC w tym przypadku nie używamy, więc podłączenie jest dość proste i w miarę oczywiste.


Z lewej strony do plusa podpinamy 2 przewody zasilające:
Plus od zasilacza oraz plus od czujnika
Z lewej strony do minusa podpinamy 1 przewód:
Sygnał z czujnika
Z prawej strony to wyjścia OUT podpinamy 1 przewód:
Plus z naszego Z-endstopu
Z prawej strony do wyjścia GND podpinamy 3 przewody:
Minus z czujnika, minus z zasilacza oraz sygnał z Z-endstopu

optoizolator Cr10s

Wszystko podłączone? Sprawdzone? Jeżeli jesteś pewny to śmiało włączaj drukarkę i zaraz zobaczymy.

Czujnik nie będzie jeszcze działał prawidłowo, a drukarka nie rozpozna, że ma się zatrzymać, więc nawet nie próbuj opcji Auto Home! Najlepiej unieś oś Z mniej więcej do połowy obszaru roboczego i rozpocznijmy test. Jeżeli wszystko zrobiłeś poprawnie to po podłożeniu metalowego przedmiotu pod czujnik, na czujniku oraz na optoizolatorze powinna zaświecić się czerwona dioda. Jeżeli się nie świeci sprawdź kable jeszcze raz.

Sprawdzanie sensora

5. Wgraj nowy firmware do CR10S

Poradników na sieci o tym jak wgrać inny firmware do CR-10 czy CR-10S jest mnóstwo. Nie będę wchodził tutaj w szczegóły. Z pewnością znajdziesz odpowiednią instrukcję na YT. To co musisz wiedzieć to to, że jeżeli posiadasz wersję zwykłą (bez S) to musisz w pierwszej kolejności wrzucić na płytę główną Bootloader oraz to, że oba pliki firmware, które przygotowałem nadają się tylko do wersji ulepszonej, czyli CR-10S. Dla CR-10 należałoby wprowadzić tam kilka modyfikacji.

Jeżeli posiadasz drukarkę Creality CR-10S możemy zaczynać.

1. Pobierz i zainstaluj Arduino IDE z tej strony

2. Pobierz biblioteki u8glib z tej strony

3. Pobierz firmware dla CR10S od TH3DUF lub czysty Marlin 1.1.8

4. Otwórz plik TH3DUF.ino 

5. Przejdź do Szkic > Dołącz bibliotekę > Dodaj bibliotekę .ZIP i zainstaluj bibliotekę u8glib

6. Przejdź do Narzędzia > Płytka i wybierz Arduino/Genuino Mega or Mega 2560

7.Przejdź do Narzędzia > Procesor i wybierz ATMega2560

8. Wejdź w zakładkę Port i sprawdź jakie porty dostępne są obecnie przed podłączeniem drukarki do komputera. Następnie włącz drukarkę i kablem USB podłącz ją do komputera na liście Portów powinien pojawić się jeden nowy port COM. Wybierz go.

9. Teraz wybierz pierwszą ikonę po lewej stronie w górnym rogu i kliknij Zweryfikuj. Arduino IDE sprawdzi teraz czy na pewno w firmwarze nie ma żadnych konfliktów lub błędów oraz czy poprawnie zainstalowałeś bibliotekę. Jeżeli wszystko pójdzie dobrze ujrzysz komunikat Kompilacja zakończona oraz kilka informacji o tym ile pamięci zużywa szkic.

Arduino Cr10S

10. Teraz wystarczy, że wybierzesz przycisk wgraj i odczekasz na zakończenie całego procesu. Kiedy wgrywanie się zakończy na twojej drukarce będzie już zainstalowane nowe oprogramowanie, dzięki któremu będzie działał nasz czujnik auto poziomowania stołu, a do tego znajdziesz w nim wiele innych ustawień, których nie oferuje standardowy firmware CR-10S.

6. Ustaw Z Offset w nowym firmware

Zamiast opisywać całą procedurę posłużę się filmem przedstawiającym jak w prosty sposób skalibrować Z Offset. Pamiętaj, że czasami będziesz musiał delikatnie zmodyfikować go zanim znajdziesz idealną wartość dla twojej drukarki. Drukuj, testuj, zmieniaj, a w pewnym momencie uznasz, że jest to juz odpowiednia wartość. Offset ten ustawiasz tylko raz.

7. Dodaj komendę G29 Auto Poziomowanie w twoim slicerze

Aby czujnik zadziałał i procedura auto poziomowania stołu została uruchomiona należy dodać komendę “G29” – Auto bed leveling zaraz po komendzie “G28”, czyli Home all axis.

Update! Dla pewności, aby firmware zapisał, to co zebrał czujnik i to wykorzystał przy druku, należy dodać jeszcze komendę M420 S1 zaraz po G29. Poniżej cały, gotowy Start Script, którego używam w Simplify 3D.
G1 E10 F3000 ; Retract filament 1mm
G28; Home all axes
G29; Autolevel
M420 S1; Save mesh
M117; Purge extruder
G92 E0; Reset extruder
G1 Z1.0 F3000; Move z up little to prevent scratching of surface
G1 X0.1 Y20 Z0.32 F5000.0; move to start-line position
G1 X0.1 Y250.0 Z0.32 F1500.0 E15; draw 1st line
G1 X0.4 Y250.0 Z0.32 F5000.0; move to side a little
G1 X0.4 Y20 Z0.32 F1500.0 E30; draw 2nd line
G92 E0; Reset extruder
G1 Z1.0 F3000; Move z up little to prevent scratching of surface
M117 TechBoss.pl

Settings > Printer > Manage Printers > Machine Settings

Cura Autolevel

W Simplify3D

Edit Process Settings > Scripts > Starting Script

Simplify3D Autolevel

Jeżeli przebrnąłeś przez ten poradnik i dalej masz jakieś wątpliwości zapytaj w komentarzu, a chętnie pomogę. Auto Bed leveling to świetna sprawa i z pewnością warto dołożyć taką funkcjonalność do twojej drukarki 3D.