przemek

sie 282011
 

Spotkałem się ostatnio z opiniami, że na drukarkach typu FDM, takich jak RepRap nie można drukować organicznych kształtów. Aby przetestować możliwości drukarki w tym zakresie, zaprojektowałem więc organiczny model lampy, używając Generative Components. Video poniżej :

Oto zaś zdjęcia mniejszej wersji lampy :

Wkrótce więcej na temat techniki projektowej oraz zamiany modelu na plik STL a potem na ścieżkę głowicy (g-code).

 

Tak jak pisałem w jednym z poprzednich postów, nadszedł czas na wyjaśnienie istoty działania Skeinforge’a. Jest to z pewnością najlepszy program do drukowania 3d na drukarce RepRap (albo raczej do generowania ścieżki). Istnieją coprawda inne programy (RepRap Host, ReplicatorG, RepSnapper), ale jakość generowanych obiektów jest dużo gorsza – może z wyjątkiem Replicatora, bo ma w siebie wbudowanego właśnie Skeinforge’a.

Żeby lepiej zrozumieć istotę techniki drukowania 3d, popatrzmy na poniższy szkic :

W pierwszym kroku budujemy nasz 3d model w programie 3d, lub poprostu ściągamy go z internetu (np ze strony Thingiverse.com). Niezależnie od tego jakiego programu 3d używamy (może to być Sketchup, Blender, 3d Studio, AutoCad, Microstation itd) musimy ustawić sobie jednostki na milimetry, i wyznaczyć obszar roboczy w pliku tak, żeby miał wielkość pola drukowania naszej drukarki. Najczęściej jest to obszar pomiędzy punktem (0,0) i (200,200), czyli poprostu kwadrat. Pamiętajmy też o tym, że obiekty położone w tym kwadracie muszą dotykać wysokości '0′, czyli leżeć poprostu płasko na 'stole’, a nie wisieć w powietrzu.

Uwaga : części muszą być zamodelowane jako bryły (solid) i każda bryła musi być jednym, zamkniętym obiektem. Jeśli wygenerujemy ścieżki z wielokrotnie przenikających się osobnych brył lub otwartych powierzchni, dostaniemy bardzo dziwne i nieprzewidywalne rezultaty (raczej nienadające się do użytku). Jeśli modelujemy w programie, który nie może modelować bryłowo (np sketchup), to trzeba koniecznie stworzyć obiekt jako zamknięte 'wodoszczelne pudełko’, tzn bez dziur. Jest duża szansa, że Skeinforge to łyknie 🙂

Po ułożeniu części na obszarze roboczym (kwadracie) upewniamy się, że żadna z nich nie wystaje po za niego (a najlepiej jeśli ma też jakiś margines bezpieczeństwa, np 5mm). Następnie eksportujemy plik do formatu STL. STL jest to najbardziej rozpowszechniony format zapisu danych służący do druku 3d lub podobnych technik fabrykacji… oryginalnie stosowany do techniki zwanej Stereolitografią (stąd STL), właściwie jest najprostszym sposobem zapisu geometrii w przestrzeni – jako lista wierzcholków pogrupowanych w trójkąty.

W związku z powyższym, zanim zamienimy skomplikowaną geometrię zbudowaną np. na powierzchniach NURBS na plik STL warto jest  ją najpierw zmeshować. Meshowanie polega na triangulizacji geometrii, tak że pojawi się siatka. Wiele programów robi to automatycznie podczas zapisywania jako STL, ale dobrze czasem mieć to pod kontrolą i zrobić to osobno. Jedne z ważniejszych parametrów podczas meshowania to tolerancja kątów (polecam coś ok 20 stopni) oraz tolerancja odchyłu geometrii (stroke tolerance), co w milimetrach może być czymś pomiędzy 0.1 do 1 mm.

Oczywiście jeśli modelujemy obiekt od początku jako mesh, powyższe czynności są niepotrzebne – pamiętajmy tylko o tym, żeby obiekt był jedną zamkniętą 'skorupą’, bez innych obiektów w środku lub samoprzecinających się części i dziur.

 

Kiedy już przygotujemy plik STL, otwieramy program Skeinforge. Jest on zestawem różnych narzędzi służących do przerobienia obiektu trójwymiarowego na zestaw instrukcji poruszających głowicę, czyli gkody. Z pewnością niektórzy z Was spotkali się z gkodami już wcześniej, np w maszynach CNC – gdyż, co tu dużo gadać, RepRap tak naprawdę jest maszyną CNC, tylko że nie subtraktywną (jak frezarki), lecz addytywną.

UWAGA : Ten tutorial dotyczy wersji 39. Począwszy od wersji 40 inaczej ustawia się prędkość tłoczenia – postaram się przerobić ten opis jak tylko to przetestuję  !

Skeinforge’a można ściągnąć ze strony http://fabmetheus.crsndoo.com/, trzeba jednak wcześniej zainstalować język programowania Python (w wersji 2.x).  Więcej informacji także na stronie wiki

Po ściągnięciu i instalacji odpalamy poprostu plik skeinforge.py i otwiera nam się okno jak poniżej :

 

Do RepRapa zawsze używamy profilu o nazwie Extrusion, oraz przycisku Craft (takie powinny być domyślne ustawienia)

Poniżej szybkie wyjaśnienie poszczególnych zakładek :

Bottom : włączone, definiuje wysokość pierwszej warstwy

Additional Height over Layer Thickness = 0.5 (w połowie wysokości warstwy)

Altitude : 0.0mm

Carve : podstawowe narzędzie do 'ciachania’ obiektu STL na plasterki… generuje ono tylko obwódkę zewnętrzną bryły, kolejne narzędzia dokonują dalszych modyfikacji (np. wypełnienia). Wyjątkiem jest sytuacja gdy jest w obiekcie tzw. 'mostek’, i drukarka musi drukować przez chwilę w powietrzu – wtedy narzędzie to generuje wypełnienie w kierunku 'mostka’. Opcję tą można włączyć/wyłączyć – Infill in Direction of Bridge.

Layer Thickness : ok 0.3 – 0.4, najczęściej używa się 0.38

reszta ustawień domyślna

Chamber : wyłączone

Clip : włączone, zapobiega powstawaniu mikroblobów na obwodzie, w miejscu gdzie początek styka się z końcem obwodu.

Clip over Perimeter Width : 0.5

Connection distance : 10

Comb: wyłączone

Cool : ważne przy drukowaniu małych szpiczastych zakończeń – pozwala na schłodzenie plastiku przed nałożeniem kolejnej warstwy.

Minimum layer time : 8s

Dimension : jeden z najważniejszych modułów, definiuje sposób 'zasysania’ plastiku wgłąb ekstrudera pomiędzy osobnymi ruchami, tak aby wyciekający plastik nie znalazł się w niepożądanych miejscach.

Absolute Extrusion distance : tak

Extruder Retraction Speed : 500

Retraction Distance : 100

Restart extra distance : 0.1

Export : służy do zapisywania gkodów, wszystkie ustawienia jak domyślnie

Fill : Służy do wypełniania obiektow plastikiem za pomocą wewnętrznego wzoru (np linii)

Extra shells : 2,2,2

Infill : line

Infill perimeter overlap : 0.15

Infill solidity (ratio) : 0.7 lub 0.8 . Wartość 1 da nam 100% wypełniony obiekt

Infill width over thickness : 1.5

Solid surface thickness : 1 (lub 2)

reszta ustawień jak domyślnie

Fillet, Home, Hop : wyłączone

Jitter, Lash : wyłączone

Limit : służy do nałożenia limitów na prędkości osi.

Maximum initial Feed Rate : 30

Maximum Z feed rate : 1 (prędkość przesuwu na osi Z – lepiej nie przekraczać 1, gdyż silnik może gubić kroki)

Multiply : służy do wielokrotnego drukowania tego samego obiektu. Uwaga : jest to też bardzo wygodne narzędzie do ustawiania obiektu na środku stołu. Ustawiamy wtedy :

center X : 100

center Y : 100

number of columns : 1

number of rows : 1

Oozebane : wyłączone

Preface : dodaje odpowiednie linie gkodów do naszego pliku. Zazwyczaj są to instrukcje do wyzerowania pozycji osi, włączenia ekstrudera, ustawienia temperatury, wyboru systemu miar (metryczny czy imperialny) itp.

Set Positioning to Absolute : włączone

Set units to milimeters : tak

start at home : tak

turn extruder off at shutdown : tak

Raft : przydaje się przy drukowaniu bez podgrzewanego stołu, lub przy nierównym podłożu. Przy podgrzewanym stole dobrze jest wyłączyć 'tratwę’ (add raft, elevate nozzle, orbit), ale pozostawiając opcję 'activate raft’. Możemy wtedy spowodować, że nasza pierwsza warstwa wydrukuje się o połowę wolniej i lepiej przyklei się do powierzchni stołu.

Object first layer feed rate infill multiplier : 0.5

Object first layer feed rate perimeter multiplier : 0.5

object first layer flow rate multiplier : 0.6

reszta jak domyślnie

Uwaga : opcja support pozwala na generowanie 'podpórek’ dla obiektów które ich wymagają (np mają części wiszące w powietrzu)

Scale : wyłączona

Speed : najważniejsza zakładka, służy do ustawienia prędkości wydruku i skalibrowania ilości wytłaczanego plastiku.

Add flow rate : tak

Feed rate : 30

Flow rate : 30

Uwaga : powyższe dwie wartości zależą bardzo od twojej maszyny oraz od budowy ekstrudera. Dużo zależy też od wartości E_STEPS_PER_MM w oprogramowaniu na elektronice sterującej . Zmieniając te dwie rzeczy mamy bardzo duży wpływ na jakość wydruku !

Perimeter feed rate over operating feed rate : 0.5 – prędkość przesuwania głowicy podczas drukowania zewnętrznej warstwy plastiku – zaleca się, żeby była o połowę wolniejsza niż normalna prędkość.

Perimeter flow rate over operating feed rate : 0.5 – prędkość tłoczenia plastiku (podobnie jak powyżej, zaleca się o połowę wolniej)

Travel feed rate : 50 mm/s (prędkość przesuwu głowicy gdy nie jest tłoczony plastik)

Uwaga :  od wersji Skeinforge 40 kalkulowanie ilości tłoczonego plastiku odbywa się w inny sposób – więcej o tym wkrótce.

Splodge, Stretch, Temperature, Tower, Unpause, Widen, Wipe : wyłączone

——————————————————————————————-

po wprowadzeniu tych ustawień, możemy załadować nasz plik STL ! Aby to zrobić, wystarczy kliknąć na dole przycisk 'Skeinforge’ (warto jeszcze przedtem zapisać swoje ustawienia przyciskiem Save All). Wybieramy więc plik z modelem STL i voila !

Teraz już wystarczy trochę poczekać (zazwyczaj ok kilku minut) obserwując instrukcje wyświetlane w okienku tekstowym, i po zakończeniu generowania pliku można przystąpić do drukowania gkodów.

 

Oto model 3D Wydziału Architektury Politechniki Wrocławskiej, zamodelowany przez studentów w programie Microstation (na podstawie zdjęć i narzędzi do fotogrametrii). Model jest zapisany jako jedna bryła (to bardzo ważne!). Zwizualizowany poniżej jako zrzut ekranu z programu Netfabb (o tym później).

Ten sam model po przerobieniu go przez Skeinforge wygląda tak:

A pojedyncza warstwa tak (strzałki pokazują kierunek przesuwu głowicy):

(dzięki drobnym modyfikacjom ustawień w zakładce Fill – model wydrukował się bez wypełnienia, czyli duuużo szybciej!)

Po wygenerowaniu pliku z gkodami (powinien znaleźć się w tym samym katalogu co STL), możemy załadować go do RepSnappera (lub innego programu – ostatnio np popularny jest Pronterface) i wydrukować. Po otwarciu pliku .gcode w RepSnapperze model wygląda tak :

Jak widać wszystko zwizualizowane jest za pomocą linii pokazujących ścieżkę głowicy. Kolor odzwierciedla prędkość, więc ciemniejsze linie (zewnętrzne) ekstrudują się wolniej, wewnętrzne szybciej – zazwyczaj daje to lepszą jakość. Fioletowe linie pokazują ruchy głowicy pomiędzy sekwencjami tłoczenia plastiku. Widoczne na samej górze kwadraty, to 'krążenie’ głowicy wokół wieży w oczekiwaniu na schłodzenie się plastiku. Tak więc otwierając taki plik w RepSnapperze nic nam się nie ukryje ! Widać jak na dłoni wszystko co będzie robiła drukarka przez najbliższą godzinę 🙂

Klikając na zakładkę 'Display Options’ można też obejrzeć tylko część linii (regulując suwakiem From – To):

 

Aby wydrukować gkody musimy :

– rozgrzać głowicę. W zakładce Print, lub Interactive – zależności od wersji, wpisujemy temperaturę – np 240 stopni dla plastiku ABS – i czekamy aż głowica się rozgrzeje.

– jeśli mamy podgrzewany stół, rozgrzewamy go przez wydrukiem – dla ABS potrzebujemy ok 100 stopni. Jeśli mamy zwykły stół, to albo drukujemy z 'tratwą’ (raft), albo poprzestajemy na drukowaniu małych obiektów – inaczej plastik nam się podkurczy i powygina na wskutek schładzania.

– wyzerować osie (Home All)

– wypuścić testowo trochę plastiku z głowicy (Run Extruder)

– kiedy zobaczymy że głowica jest w pełni wypełniona plastikiem, klikamy Print !

Po godzinnym brzęczeniu, dostajemy plastikową zabawkę jak poniżej :

(c.d.n.)

sie 072011
 

W okolicach weekendu 18-21 sierpnia odbędzie się w Łodzi impreza poświęcona 'namacalnemu’ programowaniu, Arduino, multimediom oraz technikom programowania audiowizualnego za pomocą narzędzi open source. Będzie tam też mowa o RepRapie, stołach interaktywnych oraz technikach cyfrowej fabrykacji. Wygląda na to, że jest to pierwszy tego typu event w Polsce, mamy nadzieję, że rozwinie się a także zainspiruje innych.

Link do programu :

http://pl-pl.facebook.com/notes/hackdays/agenda/257311707628890

 

oraz http://hackdays.pl/

Hacking w nowym wydaniu zatacza coraz szersze kręgi, i wydaje się, że będzie się rozprzestrzeniał coraz szybciej, tak samo jak łatwo dostępne narzędzia do tworzenia sztuki komputacyjnej. Jako hacking nie mam tutaj na myśli tradycyjnego pojęcia hackowania związanego z włamywaniem się do baz danych, lecz bardziej określenie wynajdywania nowych zastosowań do narzędzi, komputerów i programów które używamy każdego dnia. Takie zastosowania to sztuka, eksperymenty, audiowizualne instalacje itp.

Najlepszym przykładem jest tutaj chyba Kinect, którego przeznaczeniem były gry komputerowe, a dzisiaj można nim już skanować obiekty, używać do budowy stołów interaktywnych, multimediów itp – a to wszystko dzięki hackerom którzy napisali dla niego sterowniki mimo sprzeciwów Microsoftu.

Warto zajrzeć również na http://hackerspace.pl/

lip 052011
 

Sporo czasu zajęło mi zrozumienie jednej podstawowej rzeczy, która w świecie ludzi zajmujących się RepRapem jest oczywistością… nie ma lepszej opcji niż Skeinforge  ! 🙂 Porzuciłem zatem zupełnie RepRap host software, nie drukuję już także wogóle z użyciem ścieżki wygenerowanej przez RepSnappera… poprostu przerabiam pliki STL Skeinforge’m a potem ładuję je do oprogramowania RepSnapper, rozgrzewam głowicę (i stół) i klikam print. Proste ! 🙂

Lub może niezupełnie aż tak proste… skonfigurowanie Skeinforga to nie jest zadanie łatwe, ale z pewnością warto poświęcić mu trochę czasu.

Więcej już wkrótce !

(model głównego gmachu Wydziału Architektury we Wrocławiu wydrukowany przy użyciu Skeinforge’a. Ciągle jeszcze jakość może być lepsza, ale już widać dość dużo detali)

Linki :

strona twórcy Skeinforge : http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge (można go stamtąd ściągnąć)

RepSnapper (oprogramowanie do sterowania drukarką) : http://reprap.org/wiki/RepSnapper_Manual:Introduction

lut 112011
 

Mendel wersja 'classic’

Tutorial, lub też dziennik z 'podróży’, część pierwsza.

Zastanawiałem się przez pewien czas, jaką wersję wybrać do kolejnego 'pokolenia’ drukarki, którą posiadam. Powstała bowiem niedawno inna wersja klasycznego modelu Mendel, przeprojektowana przez czeskiego DJa i konstruktora o ksywie 'PrusaJr’, tak aby jej konstrukcja była dużo lżejsza i mniej skomplikowana.

Większość informacji, listy potrzebnych części, oraz instrukcje są pod adresem http://reprap.org/wiki/Prusa_Mendel (a także dużo nagrań video z demonstracją kolejnych kroków składania). Według komentatorów, będzie to najbardziej popularna wersja sprzedawana na portalu eBay w 2011 roku (!).

Mimo wszystko stwierdziłem jednak, że zdecyduję się na wersję klasyczną, a to z kilku powodów. Po pierwsze, Prusa bazuje na całkowitym braku łożysk, zamiast tego używa specjalnych tulejek (bushings), które muszą zostać wydrukowane z PLA. Ja niestety mam narazie na składzie tylko ABS, więc ta wersja odpada.

Poza tym mam już doświadczenie w składaniu wersji oryginalnej, więc stwierdziłem, że będzie bezpieczniej wykonać to na czym się trochę znam 🙂

Zacząłem więc od części poniżej, które posłużą do zbudowania ramy :

Do wydrukowania pierwszych części posłużyłem się klasycznym Mendlem (częściowo wyciętym laserem), którego budowałem przez ostatnie kilka miesięcy. Oto zdjęcia zrobione podczas drukowania narożników głównej ramy :

oraz video:

Linki do tych elementów są tu: http://www.thingiverse.com/thing:5094

Oczywiście można się pokusić o wykonanie tych części ręcznie, na podstawie modelu 3D. Jest to jak najbardziej możliwe, chociaż na pewno pracochłonne.

Potem wydrukowałem kolejne części opisane w sekcji 'Frame’ pod tym linkiem.

Aby wykonać kolejny krok, konieczna jest wizyta w Castoramie 🙂 Kupiłem kilkadziesiąt nakrętek i podkładek M8, oraz 6 prętów gwintowanych M8. Trzeba uciąć : 2 pręty o długości 440 MM (na rysunku w pliku z wymiarami jest on oznaczony jako A), 6 prętów 370mm (do złożenia 'trójkątów’), 4 pręty 294mm, 2 pręty 355mm, oraz 2 pręty 418mm.

Jeśli używamy elementów wydrukowanych innym RepRapem, należy pamiętać, aby przygotować otwory – najlepiej przewiercić je, żeby usunąć ze środka nadmiar plastiku.

Korzystając z rysunków instruktażowych bardzo łatwo można zbudować oba trójkąty. Trzeba pamiętać o odpowiedniej orientacji elementów osi Z! (uchwytu silnika Z oraz obu gwintowanych osi!)

Po złożeniu całości, rama wyglądać będzie mniej więcej tak :

Więcej w następnych odcinkach!

© 2011 Suffusion theme by Sayontan Sinha