Strona 1 z 1

Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 15 cze 2018, 21:30
autor: Woszu
Witojcie.

Puściłem dosyć duży przedmiot do druku z PLA. Pierwsze warstwy były gładkie, więc wszystko było ok. Potem zaczęły się ściany pionowe, i głowica ciągnie za sobą filament, tworząc brzydkie wąsy. Chciałbym zmienić retrakcję, ale szkoda mi dotychczasowego wydruku, dlatego zastanawiam się czy da się przerwać wydruk, wygenerować w slic3r nowy gcode i kontynuować po zamianie gcodu na pendrive?

Moja drukarka to Jgaurora A5. Ma funkcję wznawiania wydruku po zaniku zasilania i można by to wykorzystać, tylko pytanie, czy po zmianie retrakcji, liczba i ułożenie linii w gcode się nie zmieni? (bo pewnie wznawianie jest na zasadzie zliczania wykonanych linii).

Ewentualnie, jeśli by się dało sprawdzić w którym miejscu gcodu jest drukarka, przy zatrzymaniu, to mógłbym z nowego gcodu wywalić dotychczas wydrukowany kod.

Proszę o dobre rady:)

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 17 cze 2018, 23:01
autor: virgin71
I tak i nie. To jest na tyle dużo zabawy, że raczej gra nie jest warta świeczki.

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 17 cze 2018, 23:03
autor: dragonn
http://marlinfw.org/docs/features/fwretract.html istnieje coś takiego i tylko to bym miało sens w tym przypadku. Ale tak naprawdę mało kto tego używa bo trzeba mieć slicer który to wspiera i firmware.

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 07:09
autor: virgin71
Można to zrobić ręcznie, tylko resety stanu E, szukanie wysokości itp. jest bez sensu. Musiałbyś być w 4 dniu, 12-dniowego wydruku, żebyśmy rozmawiali poważnie o takim zastosowaniu.

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 09:45
autor: dziobu
Wznowienie po zaniku zasilania Marlin (tylko o Marlinie mówię choć widzę że w Smoothie też się da) pamięta pozycję w pliku. Tak jak pauza.
Podmieniasz plik, na początku dodająć tyle śmieci żeby pozycja się zgadzała i lecisz dalej. Oczywiście musisz wiedzieć gdzie się zatrzymałeś, ale mająć pozycje w pliku da się to określić (fw samo po odzyskaniu zasilania inicjalizuje kartę i otwiera plik). Tak na prawdę dodając znaczniki do pliku (np co warstwę), modyfikująć fw i dopisująć mały soft na PC który nowego gcode przytnie o X warstw - da się to zrobić. Albo jeszcze lepiej - fw po otwarciu nowego pliku samo szuka stosownej warstwy (oszczędzamy na jednej operacji na PC, bo w fw i tak jest parser).
Także da się to zrobić.
Co ciekawe - nie jest to przesadnie skomplikowane, tylko bezużyteczne, o czym świadczy mnogość takich rozwiązań ;)
(btw - ja to robiłem żeby zmieniać wypełnienie w trakcie 2-3 dniowego wydruku ale w sumie to nie jest dobra droga)

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 13:09
autor: Cosik
dziobu pisze:Wznowienie po zaniku zasilania Marlin (tylko o Marlinie mówię choć widzę że w Smoothie też się da) pamięta pozycję w pliku.

A możesz jeszcze napisać o jakim dokładnie Marlinie piszesz? Bo z tego co pamiętam to oficjalny rel 1.1.8 nie wspiera tego.

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 14:59
autor: dziobu
Na jakimś forum odkopałem zmodyfikowane (oidp ~1.1.2) bo chciałem zobaczeć jak to ludzie robią. Pogrzebałęm w kodzie i dałem sobie spokój.
Gość zapisywał pozycję w eepromie...

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 15:18
autor: sp6vgx
W sumie miałem okazję raz tego użyć w Anycubic I3 Mega. Jedno co ludzie mówią to mimo tego że drukarka idzie do pozycji home to nie przeszkodził jej nawet stosunkowo duży obiekt, druk poszedł bez problemu ponownie - jedyny minus był z ABS więc w miejscu wznowienia był bardzo słaby i praktycznie udało się niewielką siłą oderwać część drukowaną od wznowienia, z drugiej strony klej kropelka rozwiązał problem :lol:

Gdzieś był nawet opis jak to robi Anycubic - na podstawie części źródeł jakie kiedyś udostępnili i właśnie zapis był w eepromie, ale z tego co pamiętam nie było to robione ciągle. W sumie nie pamiętam ile cykli zapisu ma eeprom z ATMegi ale coś mi się zdaje że ciągły zapis w nim (nawet stosując jakiś algorytm zmieniający komórki) to nie najlepszy pomysł jeśli chodzi o jego trwałość.

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 15:31
autor: dziobu
ATmega2560, jak chyba większość AVRów ma 100k cykli. Przy zapisie co sekundę to 27 godzin. Do takich rzeczy jest pamięć podtrzymywana bateryjnie.

Ja w sumie kwesie olałem z innego powodu - część modeli, zwłaszcza dużych, odskakuje gdy stół wystygnie. Co mi po wznowieniu gdy detal odpadnie. A razem z tym poleciał pomysł zmiany projektu podczas druku. W tzw międzyczasie doświadczeniem dobiłem do poziomu w którym nie widzę sensu grzebania w drukarce po rozpoczęciu pracy. Nawet podświetlania wydruku nie mam; kamerki jeszcze zamontowane ale od ~roku z nich nie korzystałem ;)

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 15:37
autor: dragonn
Z tego co mi wiadomo w elektronice Anycubic jest dodatkowy układ który wykrywa obecność napięcia sieciowego i jak napięcie sieciowe padnie to wtedy szybko zapisuje zanim kondensatory w zasilacz oddają resztkę energii. Czyli w podobny sposób jaki robi to Prusa i3 MK3.
https://pl.aliexpress.com/item/3D-print ... 98064.html
Nawet znalazłem linka ale to chyba współpracuje tylko z wyświetlaczem MKS TFT gdzie tak naprawdę on zapisuje pozycję, wtedy tracimy parę komend które było w buforze.

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 15:48
autor: sp6vgx
dziobu pisze:Do takich rzeczy jest pamięć podtrzymywana bateryjnie.
A no dokładnie przy takiej koncepcji tak, ewentualnie można użyć pamięci na I2C lub SPI (FRAM kiedyś produkcji Ramtrona obecnie Cyoress) które nie mają takiego problemu. W sumie dostępne są też jako odpowiedniki popularnych eepromów na i2c...

Natomiast z tego co pamiętam właśnie jest tak jak pisze dragon... Z drugiej strony zapewne dało by się to zrealizować bez większych zmian w standardowej elektronice (lub bardzo prostej zmianie), potrzeba by tylko użyć ADC i przy opadającym napięciu zrobić zapis. Ewentualnie można by użyć wbudowanego analogowego komparatora który o ile pamiętam ma możliwość wygenerowania przerwania (niestety AVR-ami już się dawno nie bawię i nie pamiętam dokładnie Ddatasheet-ów). Reasumując sporo elektronik do drukarek Arduino + RAMPS itp. ma wyprowadzonych trochę GPIO do różnych celów więc szansa na to że będzie pin z ADC lub komparatorem jest dość spora...

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 16:08
autor: dziobu
No to nie jest aż takie proste. Brak napięcia powinno wykrywać się przed zasilaczem; nie pamiętam ile mówi norma ale brak 3-4 zer można już chyba traktować jako brak zasilania. Wtedy można jechać na tym co daje zasilacz.

ADC tu w niczym nie pomoże; trzeba by jeszcze dodać referencję zewnętrzną (te megi chyba nic nie mają) bo inaczej nie masz odniesienia. Do tego użycie eeproma pobiera więcej prądu niż standardowa praca, a AVRy są badziewne i niskie napięcie/utrata zasilania w złym momencie kasowania/zapisu do eeproma potrafi spieprzyć całą zawartość. Na taką bolączkę cierpi m.in mega8 bo tych używaliśmy hurtowo, wliczająć w to taki właśnie problem.

Imho najsensownejsze rozwiązanie do dodanie modułu RTC z bateryjką; przeważnie zegar ma jeszcze dostępną jakąś pamięć którą można w stosownym momencie/cały czas zapisywać.

Albo mam za wysokie wymagania co do jakości rozwiązań ;)

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 16:21
autor: sp6vgx
Lepiej już dać np. jakiegoś lepszego procka w stylu ARM np. STM32F4 czy F7 które backup-RAM podtrzymywany bateryjnie :)

Natomiast co do eepromów z AVR-ów to tam było więcej przypadłości np. związane z pierwszymi bajtami eepromu które o ile pamiętam potrafiły się nadpisać dziwnymi wartościami... ale pomijając to. Jako tako dokładnego źródła referencyjnego dla ADC nie potrzebujemy bo nie potrzebujemy robić dokładnych pomiarów, potrzebujemy jedynie wykryć różnicę... Oczywiście pomiar 12V bo z perspektywy procesora (nawet tak wolnego jak AVR) zanim napięcie spadnie tyle że przestanie on działać (niezależnie czy to 5V robi nam DC/DC, LDO czy prosty liniowy 7805) jest na tyle sporo czasu że można to zrealizować i widać to realizują :) Zresztą jak wspomniałem chyba nawet sprawdził by się komparator, a całą zmiana poza softem to kilka rezystorów 1% na wykonanie dzielników w najprostszym wydaniu... Inna sprawa to ewentualna pewność poprawnego działania takiego rozwiązania, no ale z drugiej strony drukarka 3D to nie samolot więc jak coś tam się stanie i nie zapamięta nic się nie stanie...

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 16:26
autor: dziobu
To imho takie rozwiązanie klasy "arduino". Tu sie klepnie, tam przyczepi i będzie. Nie moja bajka ;)
Procesory (i częsci) są na tyle różne, a sam uC fatalny, że nawet bym nie rozważał odwalenia takiej kichy. I w nagrodę można uwalić eeprom z konfigiem. Za przyzwoity jestem ;)

Re: Czy da się przerwać wydruk i kontynuować po zmianie parametrów?

: 18 cze 2018, 16:32
autor: sp6vgx
@dziobu edytowałem w międzyczasie swój post dodając zdanie odnośnie pewności działania itp. Owszem po części masz rację takie rozwiązania robi się za zwyczaj dobrze przemyślane, ale powiedzmy sobie otwarcie to jest RepRap gdzie nie takie rzeczy ludzie robią :) Inna sprawa że wiele płyt w drukarkach (nawet nie Arduino + Ramps) też pozostawia wiele do życzenia jak spojrzy się na nie od profesjonalnej strony... Dlatego IMHO nie ma co przesadzać z armatą na wróble... Szansa że polecą inne dane w eeprom są raczej małe, większe że nie zapisze się to co chcemy prawidłowo. Gorzej by było jak by to był Flash gdzie potrzeba kasować cały sektor....