VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií
DIPLOMOVÁ PRÁCE
Brno, 2016
Bc. Radek Špringer
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION
ÚSTAV TELEKOMUNIKACÍ DEPARTMENT OF TELECOMMUNICATIONS
NÁVRH A REALIZACE 3D TISKÁRNY S PODPOROU SÍŤOVÉHO TISKU DESIGN AND IMPLEMENTATION OF 3D PRINTER WITH NETWORK PRINTING SUPPORT
DIPLOMOVÁ PRÁCE MASTER'S THESIS
AUTOR PRÁCE
Bc. Radek Špringer
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR
BRNO 2016
Ing. Ondřej Krajsa, Ph.D.
Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Ústav telekomunikací Student: Bc. Radek Špringer Ročník: 2
ID: 146971 Akademický rok: 2015/16
NÁZEV TÉMATU:
Návrh a realizace 3D tiskárny s podporou síťového tisku POKYNY PRO VYPRACOVÁNÍ: Navrhněte a realizujte síťovou 3D delta tiskárnu založenou na platformě BeagleBone. K této platformě realizujte rozšiřující modul pro řízení krokových motorů . U tiskárny optimalizujte vyhřívání tiskového prostoru a kontrolu chlazení výtisku. DOPORUČENÁ LITERATURA: [1] BELL, Charles. 3D Printing with Delta Printers. Berkeley, CA: Apress, 2015. DOI: 10.1007/978-1-4842-1173-1. ISBN 148421174X. [2] YAU, Hunyue. Learning BeagleBone. Packt Publishing, 2014. ISBN 178398290X. [3] GRIMMETT, Richard. Mastering BeagleBone Robotics. Packt Publishing, 2014. ISBN 1783988908. Termín zadání: Vedoucí práce:
1.2.2016
Termín odevzdání: 25.5.2016
Ing. Ondřej Krajsa, Ph.D.
Konzultant diplomové práce: doc. Ing. Jiří Mišurec, CSc., předseda oborové rady
UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.
Fakulta elektrotechniky a komunikačních technologií, Vysoké učení technické v Brně / Technická 3058/10 / 616 00 / Brno
ABSTRAKT Cílem této diplomové práce je navrhnout 3D tiskárnu typu delta. Popsat technologie 3D tisku používané touto tiskárnou, základní vlastnosti tiskárny a komerčně dostupný materiál používaný při tisku a jeho srovnání. Stanovit veškeré hardwarové komponenty, které jsou nezbytně nutné ke konstrukci vlastní 3D tiskárny typu delta. Vytvořit návrh a estrojit expanzní desku, ke které budou připojeny veškeré hardwarové komponenty tiskárny. Optimalizovat vyhřívání tiskového prostoru a chlazení výtisku. Rozšířit 3D tiskárnu o webový server, přes který bude zaručena možnost síťového tisku.
KLÍČOVÁ SLOVA 3D, 3D tiskárna, delta, BeagleBone Black, vlákno, expanzní deska, síťový tisk
ABSTRACT The goal of this thesis is to design a 3D printer type delta. To describe 3D printing technologies used by this printer, basic printer features and commercially available material used at the print and its comparison. To define all hardware components, which are necessary for construction of the 3D printer type delta. To create a proposal and construct an expansion board to which all hardware components of the printer will be connected. To optimize the print space heating and cooling of the printout. To extend the 3D printer with a Web server, which will ensure the network printing possibility.
KEYWORDS 3D, 3D printer, delta, BeagleBone Black, filament, expansion board, network printing
ŠPRINGER, Radek Návrh a realizace 3D tiskárny s podporou síťového tisku: diplomová práce. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, 2015. 72 s. Vedoucí práce byl Ing. Ondřej Krajsa, Ph.D.
PROHLÁŠENÍ Prohlašuji, že svou diplomovou práci na téma „Návrh a realizace 3D tiskárny s podporou síťového tisku“ jsem vypracoval(a) samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor(ka) uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušil(a) autorská práva třetích osob, zejména jsem nezasáhl(a) nedovoleným způsobem do cizích autorských práv osobnostních a/nebo majetkových a jsem si plně vědom(a) následků porušení ustanovení S 11 a následujících autorského zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb.
Brno
...............
.................................. podpis autora(-ky)
PODĚKOVÁNÍ Rád bych poděkoval vedoucímu diplomové práce panu Ing. Ondřeji Krajsovi, Ph.D. za odborné vedení, konzultace, trpělivost a podnětné návrhy k práci.
Brno
...............
.................................. podpis autora(-ky)
Faculty of Electrical Engineering and Communication Brno University of Technology Technicka 12, CZ-61200 Brno Czech Republic http://www.six.feec.vutbr.cz
PODĚKOVÁNÍ Výzkum popsaný v této diplomové práci byl realizován v laboratořích podpořených z projektu SIX; registrační číslo CZ.1.05/2.1.00/03.0072, operační program Výzkum a vývoj pro inovace.
Brno
...............
.................................. podpis autora(-ky)
OBSAH Úvod
13
1 3D tisk 14 1.1 Proces 3D tisku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2 Vlákno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Hardware 2.1 Konstrukce . . . . . . . 2.2 Osy . . . . . . . . . . . . 2.3 Komponenty . . . . . . . 2.3.1 Extrudér . . . . . 2.3.2 HotEnd . . . . . 2.3.3 Lineární kolejnice 2.3.4 Krokový motor . 2.3.5 Základní deska . 2.3.6 Rám . . . . . . . 2.3.7 Elektronika . . . 2.3.8 BeagleBone Black
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
3 Expanzní deska 3.1 Napájení . . . . . . . . . . . . . . . . . . 3.2 Ovladače krokových motorů . . . . . . . 3.3 MOSFET ovladače . . . . . . . . . . . . 3.3.1 Pulzně šířková modulace . . . . . 3.3.2 I2C sběrnice . . . . . . . . . . . . 3.3.3 I2C měnič úrovní . . . . . . . . . 3.3.4 PWM driver . . . . . . . . . . . . 3.4 Koncové stupně . . . . . . . . . . . . . . 3.5 Teplotní senzory . . . . . . . . . . . . . . 3.5.1 Termistor 100K . . . . . . . . . . 3.5.2 Teplotní senzor Dallas DS18B20 . 3.6 Porovnání s expanzní deskou Ramps 1.4 4 Software 4.1 Computer Aided Design . . . . 4.2 Computer Aided Manufacturing 4.2.1 Slic3r . . . . . . . . . . . 4.3 Firmware . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . . .
. . . .
. . . . . . . . . . .
19 20 22 24 24 25 26 27 28 28 29 29
. . . . . . . . . . . .
31 32 34 36 36 37 37 37 39 39 39 41 41
. . . .
44 44 45 47 48
4.4
Síťové ovládání 3D tiskárny . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 OctoPrint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5 Optimalizace vyhřívání tiskového prostoru a kontrola chlazení výtisku 51 6 Shrnutí hardwaru 3D tiskárny a její cenová kalkulace 53 6.1 Srovnání s Raspberry Pi a Ramps 1.4 . . . . . . . . . . . . . . . . . . 54 7 Závěr
56
Literatura
57
Seznam symbolů, veličin a zkratek
59
Seznam příloh
60
A Popis GPIO pinů BeagleBone Black
61
B Screenshoty z webové aplikace OctoPrint.
62
C Schéma zapojení a deska plošných spojů expanzní desky
63
D Ukázky zdrojových kódů
71
SEZNAM OBRÁZKŮ 1.1 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3 5.1 6.1 A.1 B.1 B.2 C.1 C.2 C.3
Blokové schéma technologie 3D tisku. . . . . . . . . . . . . . . . . . Porovnání konstrukce 3D tiskáren. . . . . . . . . . . . . . . . . . . . Blokové schéma 3D tiskárny typu delta. . . . . . . . . . . . . . . . . Geometrie tiskárny typu delta. . . . . . . . . . . . . . . . . . . . . . Vzájemné umístění os tiskárny typu delta. . . . . . . . . . . . . . . Grafické znázornění výpočtu vzájemné polohy os. . . . . . . . . . . Extrudér používaný pro tiskárny Kossel Mini. . . . . . . . . . . . . Hnací ozubené kolo používané v extrudéru. . . . . . . . . . . . . . . HotEnd v6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lineární vedení. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Krokový motor využívaný pro 3D tisk. . . . . . . . . . . . . . . . . Vyhřívaná základní deska. . . . . . . . . . . . . . . . . . . . . . . . Blokové schéma expanzní desky. . . . . . . . . . . . . . . . . . . . . Informační štítek ATX zdroje. . . . . . . . . . . . . . . . . . . . . . Zapojení 12 V napájecí větve expanzní desky. . . . . . . . . . . . . . Blokové schéma zapojení ovladače krokového motoru DVR8825 doporučené výrobcem. . . . . . . . . . . . . . . . . . . . . . . . . . . . Možnosti nastavení velikosti střídy u PWM. . . . . . . . . . . . . . Zapojení měniče I2C úrovní PCA9306 na expanzní desce. . . . . . . Zapojení PWM LED driveru PCA9685 na expanzní desce. . . . . . Zapojení obvodu CD4050BD pro ovládání koncových stupňů na expanzní desce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zapojení analogového termistoru 100 K na expanzní desce. . . . . . Zapojení digitálního teplotního čidla Dallas DS18B20 na expanzní desce a jeho vizuální podoba. . . . . . . . . . . . . . . . . . . . . . Expanzní deska Ramps 1.4. . . . . . . . . . . . . . . . . . . . . . . Nabídka nastavení kvality tisku v CAM aplikaci Slic3r. . . . . . . . Příklady tisku výplní objektu v pořadí 5 %, 10 %, 15 %, 20 %, 50 %. Blokové schéma firmware na platformě BeagleBone Black. . . . . . . Detail mezery mezi HotEndem a tištěným objektem. . . . . . . . . Blokové schéma síťového tisku. . . . . . . . . . . . . . . . . . . . . . Popis GPIO pinů pro BeagleBone Black. . . . . . . . . . . . . . . . Hlavní nabídka webové aplikace OctoPrint. . . . . . . . . . . . . . . Nabídka Control webové aplikace OctoPrint. . . . . . . . . . . . . . Schéma zapojení expanzní desky - 1. část. . . . . . . . . . . . . . . Schéma zapojení expanzní desky - 2. část. . . . . . . . . . . . . . . Schéma zapojení expanzní desky - 3. část. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
16 19 21 22 23 24 25 25 26 27 27 28 32 33 34
. . . .
35 36 38 38
. 39 . 40 . . . . . . . . . . . . .
41 42 48 48 49 52 55 61 62 62 63 64 65
C.4 Schéma zapojení expanzní desky - 4. část. . . . . . C.5 Schéma zapojení expanzní desky - 5. část. . . . . . C.6 Schéma zapojení expanzní desky - 6. část. . . . . . C.7 Předloha desky plošných spojů spodní strana. . . . C.8 Předloha desky plošných spojů vrchní strana. . . . C.9 Osazovací plán spodní strany desky plošných spojů. C.10 Osazovací plán vrchní strany desky plošných spojů.
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
66 67 68 69 69 70 70
SEZNAM TABULEK 1.1 1.2 2.1 3.1 3.2 3.3 3.4 4.1 4.2 6.1 6.2
Druhy aditivní výroby. . . . . . . . . . . . . . . . . . . . . . . . . . Druhy vláken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Porovnání technických specifikací vývojových desek. . . . . . . . . . Výstupní konektory osazené na expanzní desce. . . . . . . . . . . . Výkon jednotlivých periferií 3D tiskárny. . . . . . . . . . . . . . . . Formát nastavení velikosti jednoho kroku na ovladači DVR8825. . . Porovnáno rozhraní a vlastností mezi Ramps 1.4 a expanzní deskou tohoto projektu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Srovnání CAD aplikací pro tvorbu 3D modelů. . . . . . . . . . . . . Příklady příkazů G-code. . . . . . . . . . . . . . . . . . . . . . . . . Cenový rozpočet jednotlivých komponent včetně celkové ceny. . . . Soupis tisknutelných dílů včetně množství kusů. . . . . . . . . . . .
. . . . . .
15 17 30 31 34 35
. . . . .
43 45 46 53 54
ÚVOD V současné době se technologie 3D tisku stává stále více populární v průmyslové oblasti, ale také v amatérské. Existuje mnoho řešení 3D tiskáren, které si může člověk zkonstruovat doma sám bez nutnosti speciálních nástrojů a technologií. Díky této skutečnosti se lze setkat s lidmi, kteří se otázkami 3D tisku zabývají nebo přemýšlejí o realizaci vlastní 3D tiskárny. Skupinu těchto amatérských vývojářů 3D tiskáren různých typů, designových prvků a tvarů zaštiťuje projekt nazývaný RepRap. V tomto projektu jsou hlavními přispěvateli samotní autoři tiskáren, kteří sdílí své vlastní řešení 3D tiskárny. Jedná se o projekt s otevřeným zdrojovým kódem, ve kterém je možno aktuálně nalézt veliké množství unikátních řešení 3D tiskáren, anebo jednoduché návody na stavbu vlastní domácí tiskárny a to za cenu řádově nižší, než je tomu u komerčních tiskáren. Cílem této práce je navrhnout a sestrojit 3D tiskárnu s podporou síťového tisku. Mezi širokou škálou designových typů 3D tiskáren byla zvolena tiskárna typu delta, která bude v této práci zkonstruována. Na této tiskárně bude postupně popsána technologie 3D tisku, jeho základní vlastnosti včetně komerčně dostupných vláken (filamentů) s jejich srovnáním. Budou zde uvedeny veškeré hardwarové komponenty, které jsou nezbytně nutné k realizace vlastní 3D tiskárny typu delta. Posléze, na již sestrojené tiskárně, budou vysvětleny kroky ke správné kalibraci a postup k realizaci prvního tisku. Tato práce se dále zabývá výrobou vlastní expanzní desky, ke které jsou připojeny veškeré hardwarové komponenty 3D tiskárny. Existuje veliké množství již vyrobených expanzních desek, které by mohly být využity pro toto řešení, ale žádná z těchto desek nesplňuje veškeré požadavky pro připojení specifických komponent použitých v této práci. Jako hlavní výpočetní jednotkou tohoto systému je vývojový mikropočítač BeagleBone Black, který s počtem svých vstupně / výstupních pinů, může konkurovat platformě Arduino Mega, které je v odvětví amatérského 3D tisku hojně využívána. Bude zde vysvětlena problematika optimalizace vyhřívání tiskárny a kontrola chlazení výtisků, která má velký vliv na kvalitu a přesnost tisku u objektů velkých rozměrů.
13
1
3D TISK
Technologie trojrozměrného (3D) tisku se v posledních letech stává stále více populární, svojí popularitu uplatňuje především u lidí, kteří si pořizují 3D tiskárny pro domácí využití, výrobu dárků, uměleckých či abstraktních modelů a samozřejmě také pro rychlou výrobu komponentů nebo prototypů určených k výrobě. Technologie 3D tisku je hojně uplatňována v jednotlivých oborech průmyslu, jako je stavební, strojírenský, či potravinářský průmysl, kde je možné tisknout například pomocí čokolády objekty libovolných tvarů. Dále je 3D tisk uplatňován ve zdravotnictví, pro jednoduchý tisk protéz končetin lidského těla na míru pacientovi, bez nutnosti vytváření finančně nákladných forem, nebo předoperační modely náročných chirurgických zákroků pro lepší vizualizaci a další modely usnadňující práci lékařů. K velkému rozšíření přispívá zejména fakt, že 3D tiskárny jsou více finančně dostupné pro obyčejného zákazníka (koupě nové, či stavba vlastní tiskárny) nebo lze najít maloobchodníka, který se zabývá 3D tiskem na zakázku. Hlavními problémy pro člověka, který se rozhodne pořídit 3D tiskárnu jsou, kde tiskárnu zakoupit, kde získat informace o tom, zda koupit nebo stavět svoji vlastní tiskárnu buď ze stavebnice, nebo úplně od nuly. Pokud stavět vlastní tiskárnu, který stavebnicový model zakoupit, jaký typ vlákna (filamentu) při tisku použít a možná nejdůležitější otázka, jakou tiskovou technologii zvolit. Tato práce popisuje jak se vyhnout základním problémům při tvorbě vlastní 3D tiskárny se zvláštním důrazem na delta tiskárny. Důraz je kladen zejména na zamezení chyb v tisku (vznik nežádoucích artefaktů v průběhu tisku), odstranění nedostatečné kvality tisku a správnou kalibraci tiskárny. Budou popsány spotřební materiály používány v 3D tisku, včetně typů vláken. [1][2][8]
1.1
Proces 3D tisku
Proces 3D tisku spočívá ve vytvoření trojrozměrného modelu a přípravy jeho tisku. Tento vícestupňový proces začíná jako softwarový model a končí jako soubor pokynů, které může tiskárna aplikovat. Model objektu je vytvořen za použití programů CAD (Computer-Aided Design), hotový a vytvořený model je dále exportován do STL (Standard Tessellation Language) pro definici 3D modelu jako soubor trojúhelníků různých velikostí v závislosti na požadovaném rozlišení (.stl soubor). Výsledný .stl soubor je rozdělen do vrstev a je vytvořen soubor na úrovni strojových instrukcí (soubor .gcode) za pomocí
14
programů CAM (Computer-Aided Manufacturing). Výsledný soubor obsahuje instrukce pro ovládání jednotlivých os, směru pohybu, definice teplot pro HotEnd a další. Kromě toho každá vrstva obsahuje mapu stopy, po které se pohybuje tryska s vláknem a vytváří obrys či obsah objektu. Je důležité pochopit proces a technologii, kterou jsou objekty tištěny. Znalost této technologie napomáhá k lepšímu pochopení hardwaru tiskárny nebo v její údržbě. Výše popsaná technologie se nazývá aditivní a používá se u většiny 3D tiskáren. Aditivní tisk má několik forem a typů, které odkazují na použití materiálů a postupů k vytištění objektu. Nicméně, všechny tyto formy využívají stejné základní kroky (výrobní postup) k vytvoření objektu. Nejběžnější aditivní technologie pro 3D tiskárny je FFF (Fused Filament Fabrication), která tiskne z termoplastů jejich roztavením a nanášením v tenkých vrstvách. Když tiskárna tiskne objekt, použitý materiál přichází ve formě vlákna (navinutého na cívce) vloženého do extrudéru, který se skládá ze dvou částí. První část získává vlákno z cívky a tlačí jej do topného tělesa (ColdEnd), druhá část extrudéru zahřívá vlákno na jeho bod tání (HotEnd), zde je materiál vytlačován z trysky ve formě tenkých vláken. Další formy aditivní výroby se mohou lišit použitými mechanismy a materiály k vytváření objektu, které jsou popsány v tabulce 1.1. Tab. 1.1: Druhy aditivní výroby. [1] Typ
Výrobní proces
Materiály
Vlákno
objekt tisknutý vrstvu pro vrstvě, kde je materiál ve formě vláken vytlačován z vyhřívané trysky elektronový paprsek je použit k roztavení drátu, objekt vzniká vrstvu po vrstvě nanesený prášek je působením laseru nataven a dochází k jeho spékání v požadovaném místě, okolní materiál zůstává nespečen a slouží jako podpora model je tvořen velkým množstvím fólií, jednotlivé fólie jsou přilepené k předchozí vrstvě a laserem je následně vyřezána kontura objektu
různé plasty, dřevo, nylon, atd.
Drát Prášek
Laminát
většina kovových slitin polyamin, nylon, vosk, sádra, kovové prášky
papír, kovová fólie, plastová fólie
Na obrázku 1.1 je zobrazen nákres procesu 3D tisku včetně komponent popsaných v tomto oddílu. Dále zobrazuje maketu extrudéru a cívku s vláknem. Vlákno
15
je vloženo do extrudéru (ColdEnd) a poté je přivedeno do trysky (HotEnd) pomocí bovdenové (PTFE) trubky. Po zahřátí se vlákno vytlačuje na základní desku, tloušťka vlákna je dána velikostí otvoru trysky, který je v rozpětí od 0,2 mm až 0,5 mm nebo větší. [1][2][8]
Extrudér (ColdEnd)
Cívka s vláknem
Bovdenová trubka Efektor
HotEnd
Základní deska
Obr. 1.1: Blokové schéma technologie 3D tisku. [1]
1.2
Vlákno
Existuje mnoho typů vláken a mnoho dalších vzniká každý rok. Vlákno se vyrábí v různých velikostí průměru (obvykle 1,75 mm nebo 3,0 mm) a v desítkách barevných odstínů. Může být zakoupeno vlákno, které má lesklý nebo matný povrch, svítí ve tmě, vlákno s malými kousky kovu či blýskající se na denním světle. Vlákno se obvykle prodává navinuté na plastové či dřevěné cívce v čisté hmotnosti 1 kg a celkové délce navinutého vlákna přibližně 400 m. Mezi nejběžnější typy vláken patří plasty nazývané PLA (polylaktidová vlákna) a ABS (akrylonitril butadien styren). Každé z těchto vláken má své určité vlastnosti a požadavky na nastavení topného tělesa tiskárny. Tabulka 1.2 uvádí nejběžnější
16
vlákna, včetně jejich zkratek, teploty tání (vlákno se stává dostatečně měkké k tisku) a popisu vlastností jednotlivých materiálů. Tab. 1.2: Druhy vláken. [1][8] Druh vlákna
Zkratka
Teplota tání [°C]
Popis
Polykarbonát
PC
155
Polyamid 6.6
Nylon
220
Vysoce houževnatý polystyren
HIPS
180
Akrylonitril butadien styren
ABS
215
Polyethylen tereftalát
PET
210
Polyvinylalkohol
PVA
180
Polylaktid
PLA
160
odolné proti nárazu, dobré optické vlastnosti nízké tření, nízká stálost, sklon ke vzniku statického náboje podobný jako ABS, odolnost proti nárazu, možný přímý styk s potravinami odolnost, flexibilnost, snadno modifikovatelný, odolnost proti vyšším teplotám vyrobeno z potravinářského substrátu, zcela recyklovatelný rozpustný ve vodě, použití jako podpora materiálu získané z rostlin, biologicky odbouratelné
Nezáleží na tom, jestli je tiskárna zakoupena nebo postavena, ale výběr vlákna bude hrát velkou roli ve volbě specifického hardwaru. Především se jedná o tyto parametry: • šířka extruderu a HotEndu, • teplotní charakteristika HotEndu a jeho maximální teplota, • vyhřívaní základní desky. Šířka extrudéru a HotEndu je určena podle toho, jaký průměr vlákna bude využíván v budoucím tisku. Lze si vybrat z průměrů 1,75 mm nebo 3,0 mm. Teplotní charakteristika HotEndu a jeho teplotní nastavitelnost dává možnosti tisknout libovolným druhem vlákna. Vyhřívaná základní deska je potřebná při tisku specifickým vláknem (ABS, HIPS, Nylon a PC), kde je zapotřebí tisknutý objekt vyhřívat. Většina tiskáren, které lze v dnešní době pořídit, jsou konstruovány tak, aby byly schopny tisknout z PLA nebo ABS materiálu. V tomto případě vyvstává otázka, který z těchto materiálů je kvalitnější a který použít pro navržený objekt. Názory
17
lidí se v tomto ohledu hodně liší a každý doporučuje ten materiál, se kterým je nejvíce spokojený. Nejdříve je vhodné uvážit, jaké fyzikální a chemické vlastnosti od tištěného objektu jsou požadovány a poté se rozhodnout, který materiál využít. [1][8] • PLA: od klasických vláken se odlišuje tím, že je vyrobeno čistě z přírodních materiálů a obnovitelných zdrojů. Hlavní surovinou pro výrobu je rostlinná biomasa, kukuřičný škrob a další přírodní látky. Takto vyrobené vlákno je zdravotně nezávadné a je možné jej ekologicky odbourat. Vlákno si zachovává pružnost, tvrdost a odolnost jako jiné plasty. PLA je považováno za univerzální materiál pro 3D tisk, který je vhodný pro tisk modelů se složitým povrchem nebo velikými rozměry. Nevýhodou je, že ve vlhkém prostředí absorbuje vlhkost a na povrchu objektu vznikají povrchové vady ve formě malých bublinek, proto klade vyšší nároky na skladovací podmínky. • ABS: je označováno jako nejpoužívanější vlákno při 3D tisku. Výhodami tohoto vlákna je především zdravotní nezávadnost, odolnost vůči nízkým i vysokým teplotám a mechanickému poškození. Nevýhodou tohoto vlákna je, že při ochlazení může docházet k deformaci již vytištěného objektu. Pro své vlastnosti je hojně využíváno pro výrobu široké škály produktů od domácích potřeb, hraček, až po díly v automobilovém a dalším průmyslu.
18
2
HARDWARE
Naprostou většinu doma nebo komerčně vyráběných 3D tiskáren zastupují kartézské tiskárny nebo delta tiskárny. Existují i další návrhy 3D tiskáren, ale tyto návrhy zastupují pouze malou skupinu. Mezi kartézskými a delta tiskárnami lze nalézt velké rozdíly. Největší rozdíl spočívá v samotné konstrukci tiskárny. Kartézské tiskárny mají obdélníkový nebo čtvercový tvar sestavení a delta tiskárny trojúhelníkový nebo válcovitý tvar. Většina delta tiskáren používá kruhovou nebo šestiúhelníkovou základní desku a umožňuje tisknout vysoké objekty. Naproti tomu kartézské tiskárny mají čtvercovité nebo obdélníkové základní desky a umožňují tisknout modely o větší šířce. Další rozdíl spočívá v orientaci výchozího bodu ([0,0,0]) na základní desce. Kartézské tiskárny využívají k nastavení výchozího bodu libovolného rohu základní desky. Delta tiskárny nastavují svůj výchozí bod na střed kruhové základní desky. U kartézské 3D tiskárny se každá osa pohybuje v jedné rovině a jednotlivé osy jsou na sobě nezávislé. Delta tiskárna využívá malé pohyby ve všech 3 osách, aby se přesunula na definované místo ([X,Y,Z]). To znamená, že se nemůže pohybovat v ose X (nebo v ose Y) z jedné polohy do druhé bez změny všech tří os, jako je tomu u kartézských tiskáren (delta tiskárna se mohou pohybovat pouze ve vertikálním směru). Nejjednodušší pohyb je v ose Z, kde se všechny 3 osy pohybují současně. Na Obrázku 2.1 jsou zobrazeny tyto dvě tiskárny, mezi kterými lze pozorovat výše popsané rozdíly.
Delta tiskárna Kossel Mini. [8]
Kartézská tiskárna Prusa i3. [8]
Obr. 2.1: Porovnání konstrukce 3D tiskáren.
19
Výše zmíněné 3D tiskárny lze rozdělit do třech základních kategorií: • Profesionální: tato kategorie obsahuje ty dodavatele, kteří nabízejí 3D tiskárny vyrobené ke komerčnímu prodeji, včetně záruční lhůty a možností podpory. Tyto tiskárny nabízejí vyšší úrovně kvality a přesnosti tisku. • Zákaznická: do této kategorie spadají tiskárny, které si lze zakoupit jako „stavebnici“ a sestavit si je vlastnoručně podle přiloženého návodu. Prodejci těchto tiskáren většinou neposkytují záruku na produkt a jeho budoucí podporu jako je tomu v profesionální kategorii. Takto postavené tiskárny nabízejí stejnou kvalitu tisku jako profesionální tiskárny, ale s výrazně nižší pořizovací cenou. • Amatérská: uživatelé v této kategorii nabízejí tiskárny implementované z jednoho nebo více RepRap (Replicating Rapid Prototyper) návrhů. Tyto návrhy jsou založeny na OpenSource a jsou určeny především pro vlastní výrobu tiskárny. To znamená, že tyto tiskárny jsou uživatelem stavěny od nuly. Tato kategorie není cílená na uživatele, kteří chtějí otevřít krabici a začít hned tisknout, ale na uživatele, kteří mají technické znalosti nebo jenom touhu si postavit vlastní 3D tiskárnu. Výhodou této kategorie je otevřenost systému RepRap, do kterého můžou přispívat jednotliví uživatelé se svými návrhy a vylepšeními. Většina uživatelů poskytuje dostatečnou dokumentaci ke svým modelům, proto není problém pro konečného uživatele implementovat více rozdílných řešení do své 3D tiskárny. Tato práce se bude zabývat poslední kategorií (amatérskou) a tiskárnám typu delta, proto je v následujícím textu věnována pozornost pouze těmto tiskárnám.[1][2][8]
2.1
Konstrukce
Tato podkapitola popisuje základní komponenty 3D tiskárny, které tvoří delta tiskárnu z hlediska celku a jak tyto komponenty pracují. Znalost funkce jednotlivých komponent poskytuje výhodu při stavbě, opravách nebo kalibraci tiskárny. Postupně bude popsána konstrukce hlavních os, umístění HotEndu, funkce extrudéru, elektroniky a základní desky. Obrázek 2.2 ukazuje maketu delta tiskárny s popisky jednotlivých komponentů.
20
Osa Z
Osa X
Vozík Osa Y
Efektor HotEnd
Vlákno Extrudér
Základní deska
Obr. 2.2: Blokové schéma 3D tiskárny typu delta. [1]
Výše uvedený obrázek vyobrazuje tyto komponenty: • Extrudér: také nazývaný jako ColdEnd (studený konec), zodpovídá za dodávání vlákna pro HotEnd. • Základní deska: zde jsou tisknuty objekty, některé desky mohou být vyhřívané. • Osy: jsou uspořádány svisle a označují se proti (po) směru hodinových ručiček jako X, Y a Z. • Vozík: je připevněn jako pohyblivý bod na jednotlivé osy a jsou k němu připojeny delta ramena pro nastavování pozice efektoru. • Efektor: základna, na které je instalován HotEnd. • Delta ramena: se připojují k vozíku a efektoru dvojicí paralelních ramen. • HotEnd: speciální ohřívač, který zahřívá vlákno na požadovanou teplotu a následně ho vytlačuje skrze trysku na tištěný objekt.
21
2.2
Osy
Každá osa je konstruována tak, aby umožňovala pohyb ve vertikálním směru. Vozík je upevněn na pohyblivou část os a tvoří jednu stranu pro připojení paralelních ramen, které propojují vozík s efektorem a zajišťují jeho pohyb. Kombinace ramen, efektoru a vozíku tvoří pravoúhlý trojúhelník, jak je zobrazeno na obrázku 2.3. Zde lze vidět, že delta ramena tvoří přeponu pravoúhlého trojúhelníku a zbylé strany A, B jsou naznačeny pomyslnými čarami.
B
Efektor
A
90°
HotEnd
Odsazení vozíku
Osa
HotEnd odsazení
Obr. 2.3: Geometrie tiskárny typu delta. [1] Existují zde dva druhy odsazení, se kterými musí být počítáno. První odsazení je dáno vzdáleností od středu osy do přípojného bodu delta ramen a druhé odsazení specifikuje vzdálenost mezi středem trysky HotEndu a přípojného bodu delta ramen na efektoru. Tato odsazení je zapotřebí vzít v úvahu při výpočtu pohybu efektoru po tiskové ploše. Za pomocí goniometrické rovnice pravoúhlého trojúhelníku lze snadno spočítat pohyb jedné strany (B) v závislosti na pohybu druhé strany (A). V tomto případě je známa přesná délka delta ramen, proto lze určit požadovaný pohyb s využitím
22
vzorce pro výpočet stran pravoúhlého trojúhelníku (Pythagorova věta). Dále je také zapotřebí znát pozici každé jedné osy ve vztahu k ostatním osám. Při pohledu dolů z horní části tiskárny jsou osy umístěny dle obrázku 2.4. Zde si lze všimnout imaginárních trojúhelníků a poloměru kruhu (poloměr delta) tvořeného protnutím středu každé věže. S těmito znalostmi lze snadno vypočítat umístění každé osy za pomocí funkcí Sinus a Cosinus. Výpis 2.1 ukazuje příklad tohoto výpočtu. Osa Z
30° 30°
r 120°
120° 120°
30°
r
r
30°
30°
30°
Osa X
Osa Y
Obr. 2.4: Vzájemné umístění os tiskárny typu delta. [1]
Listing 2.1: Příklad výpočtu vzájemné polohy os. //Osa X #define DeltaTower1_X #define DeltaTower1_Y //Osa Y #define DeltaTower2_X #define DeltaTower2_Y //Oza Z #define DeltaTower3_X #define DeltaTower3_Y
−SIN_60∗POLOMER −COS_60∗POLOMER SIN_60∗POLOMER −COS_60∗POLOMER 0.0 POLOMER
Na obrázku 2.5 je graficky znázorněn výše popsaný výpočet vzájemné polohy os. Pokud je známa pozice každé věže ve vztahu k ostatním, tak lze vypočítat všechny pohyby přesunutí pomocí umístění věže či pomocí souřadnic.
23
y
Z x=0 y=r
120°
-x
120°
x
120°
x = r * sin(60) y = - r * cos(60)
x = - r * sin(60) y = - r * cos(60)
X
Y -y
Obr. 2.5: Grafické znázornění výpočtu vzájemné polohy os. [7]
2.3
Komponenty
Hardware a použité materiály pro konstrukci delta tiskárny se značně liší. Lze nalézt tiskárny, které jsou vyrobeny ze dřeva, plastu či z pevného kovového rámu, ale většina dnes vyráběných tiskáren se skládá z kombinací těchto materiálů. V této sekci bude popsáno, z jakých komponent bude tiskárna realizována včetně popisu. Závěrem bude uveden stručný souhrn všech potřebných hardwarových komponent, včetně počtu potřebných kusů a celkové ceny, za kterou lze tiskárnu realizovat. [1][2]
2.3.1
Extrudér
Extrudér je součást, která řídí množství vlákna k vytvoření tištěného objektu. Existuje mnoho možností umístění extrudéru na tiskárnu. Na tiskárně typu delta je nejčastěji připevněn v pevné poloze na rám tiskárny. Extrudér je dále propojen pomocí bovdenové trubky s HotEndem, která zajišťuje bezproblémové dodávání vlákna k vytlačování. Je možno se setkat i s řešením, kde se extrudér nachází v těsné blízkosti HotEndu, na efektoru. Taková to konstrukce u tiskáren typu delta je spíše výjimkou, protože je snaha snížit hmotnost efektoru, delta ramen a HotEndu na minimum. Nižší hmotnost těchto součástí zajišťuje rychlejší a plynulejší pohyb při tiskovém procesu.
24
Obrázek 2.6 vyobrazuje celkový pohled na extruder, kde se vlákno přivádí spodní částí k pohonné jednotce extruderu, která zajištuje správné dávkování vlákna pro HotEnd. Jedná se o přímý pohon extrudéru, který nevyužívá převody. Lze použít i převodové krokové motory, pokud potřebujeme jiný poměr dávkování.
Obr. 2.6: Extrudér používaný pro tiskárny Kossel Mini. [6] Na obrázku 2.7 je ukázán příklad hnacího ozubeného kola, které se stará o pohyb vlákna. Lze si zde všimnout drážky, nebo drážek uvnitř hnacího kola. Ty zvyšují přilnavost při pohybu vlákna. Nevýhoda těchto drážek je v možnosti jejich ucpání, což vede k prokluzování vlákna. Jedná se o běžný problém, a proto si extrudér vyžaduje údržbu před každým tiskem, aby se těmto problémům zamezilo.
Obr. 2.7: Hnací ozubené kolo používané v extrudéru. [3]
2.3.2
HotEnd
HotEnd je koncový prvek, který přijímá podávané vlákno z extrudéru a zahřívá ho na bod tání. Na obrázku 2.8 lze vidět HotEnd používaný pro 3D tiskárny. Tento HotEnd může být využíván ve velkých teplotních rozsazích a poskytuje velmi dobrou rychlost vytlačování pro PLA, ABS a dalších vláken. Lze si všimnout ventilátoru umístěného tak, aby chladil teplotně namáhavou část HotEndu. Chlazení této části je použito,
25
aby vlákno neměklo (netálo) ještě dříve, než vstoupí do HotEndu. Případné měknutí (tání) vlákna by mělo neblahé účinky v průběhu tisku, kdy je nutné zastavit tisk a vlákno posunout zpět. V tomto případě by se vlákno pouze natáhlo, ale tisk by pokračoval dál a mohlo by dojít k tisku nadbytečných artefaktů.
Obr. 2.8: HotEnd v6. [4] Existuje mnoho typů HotEndů, a proto zde nastává otázka, jaký typ řešení zvolit. V tomto projektu byl zvolen HotEnd s celokovovým tělem a teflonovou vložkou. Při výběru tohoto HotEndu byly vzaty v úvahu jeho vlastnosti: • Vyšší teplotní rozsah, který umožnuje použít větší škálu vláken. • Kvalita tisku je vyšší vzhledem k tomu, že HotEnd umožňuje menší tepelnou zónu a tím lepší zatažení vlákna a menší vytékání. • Většina těchto HotEndů má málo součástí, a proto se snadněji udržují.
2.3.3
Lineární kolejnice
Pohyb efektoru po tiskové ploše zajištují lineární vedení, které jsou připevněny na jednotlivé osy tiskárny. Existuje zde několik různých mechanismů jako hladké tyče s ložisky, kolečkové vozíky a další. V tomto projektu jsou použity lineární kolejnice zobrazené na obrázku 2.9. Lineární kolejnice používají 15 x 10 mm tlustý ocelový profil s drážkami na každé straně, ve kterých se pohybuje vozík. Kolejnice je konstruována tak, aby bylo možné ji připevnit na rám 3D tiskárny několika šrouby. Lineární kolejnice jsou velice pevné a můžou poskytnout zvýšenou odolnost rámu tiskárny delta. Tato vlastnost je výhodná pro všechny delta tiskárny větších rozměrů. Na pohyblivou část lineární kolejnice (vozík) jsou připojena delta ramena, která se
26
Obr. 2.9: Lineární vedení. [5]
starají o pohyb efektoru. Toto řešení je jedno z nejpřesnějších a nepožaduje žádnou speciální údržbu kromě občasného namazání kolejnice pro hladší pohyb vozíku.
2.3.4
Krokový motor
Krokový motor je speciální typ elektromotoru. Na rozdíl od typického elektromotoru, který roztáčí hřídel, je konstruován tak, aby umožňoval rotaci v obou směrech a částečné (krokové) otáčení v čase. Většina krokových motorů používaných v 3D tiskárnách má minimální úhel otočení (kroku) 1,8 stupně. Obrázek 2.10 znázorňuje typický krokový motor používaný pro 3D tisk.
Obr. 2.10: Krokový motor využívaný pro 3D tisk. [8] Další vlastností krokových motorů, která je velice užitečná u 3D tiskáren, je schopnost držet nebo opravit rotaci. To znamená, že lze s motorem udělat určitý počet kroků a posléze zastavit a držet si dále tuto pozici. Tyto krokové motory mají tzv.
27
statický moment, který udává, kolik točivého momentu vydrží bez toho, aby se hřídel otočila. Tiskárny typu delta využívají celkem čtyři krokové motory. První 3 motory se využívají k pohybu v osách X, Y a Z a poslední motor se používá v extrudéru, který dodává vlákno pro HotEnd.
2.3.5
Základní deska
Základní deska může být vyrobena ze skla, dřeva, hliníku nebo kompozitních materiálů. Největší zastoupení mezi těmito deskami představuje sklo. Některé desky obsahují i topný prvek, tzv. vyhřívání základní desky, které je umístěno pod krycím sklem. Vyhřívané desky jsou obvykle požadovány při tisku specifickým vláknem. Na obrázku 2.11 lze vidět základní desku, která je tvořena z desky plošných spojů a obsahuje topné těleso, termistor a tlustou krycí tabuli skla, na kterou je objekt tištěn.
Obr. 2.11: Vyhřívaná základní deska. [9]
2.3.6
Rám
Většina tiskáren typu delta má podobnou konstrukci rámu. Existují zde ale značné rozdíly, z jakých materiálů jsou vyrobeny. Nejvíce využívané jsou kovové nosníky nebo hliníkové profily pro svislé komponenty rámu. Lze najít i tiskárny, které jsou vyrobeny celé ze dřeva včetně rámu tiskárny, ale tento design není běžnou volbou. Delta tiskárny mají dvě základny, ve spodní základně jsou umístěny krokové motory pro osy, napájecí zdroj, elektronika a další. Horní základna obsahuje napínací kladky pro osy a lze zde umístit cívku s vláknem.
28
Rám použitý v tomto projektu je tvořen z hliníkových profilů 20 x 20 mm a tištěných krajních dílů. Celkové rozměry tiskárny nepřesahují 70 cm na výšku a 30 cm na šířku a zaručují celkovou skladnost takto zvolené konstrukce tiskárny typu delta. Jelikož se jedná o tiskárnu typu RepRap, lze najít na internetových stránkách Thingiverse1 mnoho dalších konstrukcí, doplňků, ozdob a vylepšení pro rám tiskárny typu delta.
2.3.7
Elektronika
Elektronika je část hardwaru, která je zodpovědná za čtení G-code souborů a jejich převod na signál, který řídí krokové motory. Dále se stará o potřebné výpočty, měření teploty a sleduje maximální (minimální) polohu efektoru nad základní deskou. Většina krokových motorů vyžadují speciální desky tzv. krokový ovladač. Některé desky mají již tyto ovladače implementované nebo je používají jako zásuvné moduly. Většina tiskáren typu delta využívá rozšiřující desky (RAMPS, RAMBo, atd.), do kterých se přímo připojují jednotlivé hardwarové komponenty jako teplotní senzory, krokové motory, vyhřívání základní desky, HotEnd a mnoho dalších. Tyto desky jsou přímo připojeny k řídící jednotce. Jako řídící jednotka se nejčastěji využívá Arduino Mega, které se stará o všechny potřebné výpočty. V tomto projektu není použita ovládací ani rozšiřující deska, která je zmíněná výše. Jako hlavní výpočetní jednotka byla zvolena platforma BeagleBone Black, tato platforma je velice podobná mikropočítači Raspberry Pi. Oproti Raspberry Pi obsahuje větší počet GPIO pinů a proto ji lze využít k tomuto řešení. Dále deska obsahuje ethernetový port, díky kterému můžeme docílit síťového tisku za pomoci speciální aplikace. Řešení, popsané výše, potřebuje ke správnému provozu počítač, který přes USB posílá G-code informace do Arduina a to tyto příkazy vykonává. S využitím mikropočítače BeagleBone Black starost potřeby dalších řídících jednotek odpadá a veškeré operace jsou implementovány v jednom mikropočítači.
2.3.8
BeagleBone Black
Jak již bylo zmíněno, jako hlavní výpočetní jednotka tiskárny byl zvolen mikropočítač BeagleBone Black, který implementuje výpočetní a řídící jednotku do jedné platformy. Jedná se o vývojovou platformu založenou na procesoru ARM Cortex-A8. Výhodou tohoto mikropočítače je možnost instalace linuxových distribucí jako Debian, Android, Ubuntu a další. Tato skutečnost nám umožnuje instalaci potřebných 1
http://www.thingiverse.com/
29
programů pro správu tiskárny přímo na mikropočítač. Porovnání technických specifikací vývojové desky BeagleBone Black a Arduina Mega je zobrazeno v tabulce 2.1. Tab. 2.1: Porovnání technických specifikací vývojových desek.
Procesor Maximální takt procesoru Analogové piny Digitální piny Paměť
USB Video Audio Podporovaná rozhraní
BeagleBone Black
Arduino Mega
AM3358 ARM Cortex-A8 (32-bit) 1 Ghz
ATmega2560 (8-bit)
7 65 (3,3 V) 512MB DDR3, 2GB integrované úložiště využívající eMMC, microSD slot USB 2.0 microHDMI microHDMI 4 x UART, 8 x PWM, LCD, GPMC, MMC1, 2 x SPI, 2 x I2C, A/D převodník, 4 časové spínače
16 54 (5 V) EEPROM 4 KB, 256 KB Flash, SRAM 8 KB
16 MHz
4 x UART, 15 x PWM, SPI, LCD, I2C, A/D převodník
Rozložení včetně popisu jednotlivých GPIO pinů lze nalézt v příloze A. [10]
30
3
EXPANZNÍ DESKA
Expanzní deska (zásuvná deska, shield) je nadstavbou nad logickým ovládáním tiskárny, ke kterému jsou připojeny veškeré periferie 3D tiskárny. Desku lze tedy označit jako hardwarový interface, který ovládá jednotlivé funkční prvky tiskárny. Existuje široká škála expanzních desek, které se dají využít pro připojení periferií 3D tiskárny. Většina desek je konstruována pro připojení k platformě Arduino Mega, která je dominantně zastoupena jako logická (výpočetní) část konstruovaných tiskáren. V současnosti pro platformu BeagleBone existuje velice málo komerčních expanzních desek, které jsou pro svoji unikátnost na trhu předraženy. Je možné nalézt desky vyrobené uživateli, kteří implementovali vlastní řešení pro jejich tiskárny a volně je zpřístupnili pro komunitu RepRap. Žádná z těchto desek neobsahuje potřebné vstupně / výstupní piny, proto je nelze využít v této práci. Tato práce se zabývá výrobou vlastní expanzní desky, která bude kompatibilní s platformou BeagleBone Black. Deska je konstruována jako modulární, výhodou této konstrukce je především snadná výměna a oprava součástí. Lze měnit základní nastavení hardwaru s využitím jumperů a další. Expanzní desku je možné přímo osadit do GPIO pinů na platformě BeagleBone. Takto se lze zbavit nepřehledné a nadbytečné kabeláže při propojování. Výsledná deska bude obsahovat konektory se zámkem pro snadné připojení jednotlivých periférií 3D tiskárny. V tabulce 3.1 jsou uvedeny vstupně / výstupní konektory, kterými je expanzní deska osazena. Tab. 3.1: Výstupní konektory osazené na expanzní desce. Konektor
Počet [ks]
Externí napájení 12V Externí napájení 5V Externí napájení 3,3V HotEnd Základní deska LED osvětlení Ventilátor Extrudér Korkový motor Analogový termistor Digitální termistor Koncové stupně
1 1 1 2 1 1 4 2 3 4 2 7
31
Na obrázku 3.1 je zobrazeno blokové schéma výše popsané desky. Blokové schéma je rozděleno do jednotlivých bloků, které jsou níže popsány a je vysvětlena jejich funkcionalita.
Ventilátor 4x
Koncové stupně 7x
Základní deska
LED osvětlení
HotEnd 2
Analogový termistor 4x
HotEnd 1
Rozšiřující deska Digitální termistor 2x
3,3 V
5V
12 V
GND
OSA X
OSA Y
OSA Z
Extruder 1
Extruder 2
Krokové motory
Obr. 3.1: Blokové schéma expanzní desky.
3.1
Napájení
Expanzní deska neobsahuje vlastní zdroj napájení. Proto je nutné použít externí zdroj, po kterém je požadováno výstupní stejnosměrné napětí 12 V, 5 V a 3,3 V. Tyto vlastnosti dokonale splňuje počítačový ATX zdroj, který je hojně využíván k napájení amatérských 3D tiskáren. Výhoda tohoto zdroje je především v jeho ceně, která se pohybuje pod jedním tisícem korun. Za tuto cenu lze získat zdroj, který bude mít minimální zvlnění výstupního napětí pro jednotlivé větve. Pro napájení 3D tiskáren jsou také využívány průmyslové zdroje s výstupním napětím 12 V nebo 24 V. Tyto zdroje se využívají pro systémy, které jsou navrhovány pouze na jejich napájení, nebo expanzní desky obsahující usměrňovače a stabilizátory pro jiná napětí. Cena těchto zdrojů je řádově vyšší než u počítačových ATX zdrojů. V tomto projektu je využit ATX zdroj s výkonem 550 W a jmenovitým proudem 16 A pro 12 V větev. Na obrázku 3.2 je zobrazen štítek, z kterého lze vyčíst ostatní
32
parametry zdroje. Na zdroj jsou kladené vysoké nároky především pro 12 V větev, která je výkonová. K této větvi jsou připojeny ventilátory, ovladače krokových motorů, vyhřívání základní desky, LED osvětlení a HotEnd. BeagleBone je připojen k 5 V větvi ATX zdroje a nejsou na ni kladeny takové nároky. Expanzní deska obsahuje i konektor pro připojení 3,3 V pro napájení logických obvodů desky. Toto napětí není nutné připojovat, protože ho lze vyvést z GPIO pinů BeagleBone Black. Pokud bude využito interní napájecí 3,3 V větve, je nutno jej na expanzní desce aktivovat pomocí jumperu, který propojuje GPIO pin s 3,3 V větví. Při externím napájením je nutné daný jumper odstranit.
Obr. 3.2: Informační štítek ATX zdroje. Největší nároky na zdroj jsou kladeny při zahájení tisku, kdy je zapotřebí zahřát základní desku a HotEnd na požadovanou teplotu. V tabulce 3.2 jsou uvedeny výkony jednotlivých prvků 3D tiskárny a celkový potřebný výkon pro 12 V větev. Uvedené výkony jsou brány jako maximálně možné pro každý prvek tiskárny. Celkový výkon pro 12 V větev je vypočítán na 382,5 W. Přidáním dostatečné rezervy lze využít počítačový ATX zdroj s výkonem 550 W. Jmenovitý proud by při takovéto zátěži dosahoval hodnoty 32 A, ale této hodnoty se v reálných podmínkách nelze přiblížit. Při zahájení tisku je aktivní pouze základní deska, HotEnd, popřípadě je zapnuto osvětlení. Tato předtisková příprava tiskárny (zahřátí tiskárny) má v průběhu tisku největší proudový odběr, který je roven maximálně 18,75 A. V průběhu tisku se již tiskárna nemusí zahřívat, ale pouze se teplota udržuje, čímž klesají nároky na proudový odběr z 12 V větve. Na obrázku 3.3 je zobrazeno zapojení 12 V větve na expanzní desce. Tato větev je dimenzována na maximální proudovou zátěž 22 A a je doplněna pouzdrem pro osazení autopojistky. Pouzdro je určeno pro pojistky typu standard s maximální (doporučenou) hodnotou pojistky 20 A. Dále obvod obsahuje diodu D1, která chrání zapojení proti přepólování a LED diodu LED12, která signalizuje připojení napájení
33
Sleep (inverted)
1B
Step
VDD
Dir
GND
J11-4 2
1
STEP_Z DIR_Z
1
VDD_5V
SJ5
3
GND
D
Tab. 3.2: Výkon jednotlivých periferií 3D tiskárny.
4 4
Periferie
Výkon
HotEnd 5 Základní deska 5x Ventilátor 5x Ovladače krokového motorku 5 LED osvětlení
50 W 150 W 7,5 W 150 W 25 W 382,5 W
6 6
z ATX zdroje. Zapojení 5 V a 3,3 V větve expanzní desky je totožné s 12 V větví. Pouze u těchto větví není osazena pojistka, protože zde nejsou očekávány veliké proudové odběry jako u 12 V větve.
POWER IN
red LED12
12V-1
VDD_12V
2K4 F1 FUSE
12V-2 12V POWER ATX
D1
12V-3 12V-4
GND
MBRA340T3
12V POWER ATX
A
R25
B
GND
red LED2 Obr. 3.3: Zapojení 12 V napájecíR24 větve expanzní desky. VDD_5V
2K4
5V POWER ATX 5V-2 Ovladače krokových 5V POWER ATX
motorů D6
3.2
MBRA340T3
5V-1
C
MBRA340T3
Ovladače krokovýchGND motorů byly zvoleny DRV8825 od společnosti Pololu. Tyto ovladače byly zvoleny z důvodu nastavování velikosti kroků u krokového redvětšího rozsahu GND LED1 R23 JP1 motoru. Ovladač DRV8825 dovoluje nastavit velikost kroku na hodnotu 1 / 32 1oproti VDD_3.3V 2K4 hodnotu 1 / 16. To nám 2umožjiným komerčním ovladačům, 3.3V POWER ATXkteré umožňují pouze ňuje zvýšit 3.3V-1přesnost při tisku detailních nebo malých předmětů a celkového tisku. Na obrázku +3V3 3.3V-2 3.4 je zobrazeno doporučené zapojení ovladače dle výrobce. 3.3V POWER ATX Vstupní napájení motorů je připojeno na 12 V větev, která zaručí maximální GND (2 A). Elektrolytický kondenzátor byl nahrazen za tanproudový odběr ovladače D7
P2
SJ6 GND
GND
34
D
Obr. 3.4: Blokové schéma zapojení ovladače krokového motoru DVR8825 doporučené výrobcem. [14]
talový z důvodu osazení na expanzní desku pod ovladač DRV8825. V pracovním režimu se ovladač zahřívá a může dosahovat vysokých teplot, které lze eliminovat přidáním pasivního chladiče na čip ovladače. Z těchto teplotních důvodů byl zvolen právě tantalový kondenzátor, který má širší škálu pracovních teplot než elektrolytický. Porty STEP a DIR se ovládá počet kroků a směr otáčení motorů. Tyto porty jsou připojeny přímo k GPIO pinům BeagleBone. Připojením logické úrovně 0 na pin ENABLE je povoleno ovládání krokového motoru. Logickou 1 je ovládání krokového motoru vypnuto. Jak již bylo zmíněno výše, ovladač krokových motorů DRV8825 umožňuje nastavovat velikost jednoho kroku v rozmezí 1 – 1 / 32. Toto nastavení lze realizovat pomocí pinů M0 (MODE0) až M2 (MODE2), které je zobrazeno v tabulce 3.3. Velikost kroku je nastavena připojením logické 1 nebo 0 na piny M0 až M2. Aby bylo možné nastavení kroků jednoduše měnit, je expanzní deska osazena třípólovým kódovým spínačem umístěným pod samotným ovladačem krokového motoru. [13] Tab. 3.3: Formát nastavení velikosti jednoho kroku na ovladači DVR8825. [13] MODE2
MODE1
MODE0
Mód kroku
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
Plný krok 1 / 2 kroku 1 / 4 kroku 8 mikrokroků / krok 16 mikrokroků / krok 32 mikrokroků / krok 32 mikrokroků / krok 32 mikrokroků / krok
35
3.3
MOSFET ovladače
Expanzní deska je osazena osmi tranzistory typu MOSFET. Tyto tranzistory je potřeba ovládat, proto jako ovládací prvek těchto tranzistorů byl zvolen PWM kontrolér PCA9685. Zvolený kontrolér pro řízení MOSFET tranzistorů využívá pulzně šířkovou modulaci (PWM).
3.3.1
Pulzně šířková modulace
Pulzně šířková modulace (PWM) je diskrétní modulace pro přenos analogového signálu pomocí dvoustavového signálu. Za dvoustavovou veličinu může být použito například elektrické napětí, proud či další fyzikální veličiny. V tomto případě je využíváno pro přenos informace napětí, kde přenášený signál nese informaci o hodnotě, která nabývá stavů logické 1 nebo logické 0. Hodnota přenášených informací je zakódována jako poměr mezi stavy logické 1 a logické 0. Tomuto poměru se říká střída, její výpočet je uveden ve vzorci: 𝐷=
𝜏 × 100 [%]. 𝑇
Kde 𝑇 udává periodu signálu a 𝜏 udává dobu trvání logické jedničky. Pokud výsledek vynásobíme stem, je střída vyjádřena procentuálně. Na obrázku 3.5 jsou znázorněny možnosti nastavení střídy.
Střída
Průběh napětí
100 %
T 90 % 50 % 10 % 0,1 %
Obr. 3.5: Možnosti nastavení velikosti střídy u PWM.
36
3.3.2
I2C sběrnice
Sběrnice I2C využívá pro komunikaci pouze dva vodiče, sériový hodinový (SCL) a sériový datový (SDA) kanál. To znamená, že se jedná o synchronizovaný přenos dat pouze v jednom směru (poloduplexní komunikace). V daném okamžiku existuje pouze jedno vysílající zařízení a libovolný počet zařízení (většinou jen jedno), která data přijímají. Každé zařízení, připojené na tuto sběrnici, je softwarově adresovatelné jednou unikátní adresou pro celý systém a v každou chvíli existuje jednoduchý vztah master/slave (řídící/řízený) obvod. Masterem se stává obvod, jestliže zahajuje přenos dat po sběrnici a generuje hodinový signál. V tomto čase jsou chápána ostatní zařízení jako slave. Master může operovat jako vysílač či přijímač. Jde o pravou sběrnici typu multi-master se zabudovanou detekcí kolizí či více obvodů, které vysílají v jednom okamžiku. Počet zařízení, připojitelných na sběrnici, je omezen maximální kapacitancí sběrnice a počtem využitelných adres. [12]
3.3.3
I2C měnič úrovní
Pro ovládání MOSFET tranzistorů je využit PWM driver, který je ovládán přes sběrnici I2C. BeagleBone Black obsahuje dvě oddělené sběrnice, které mají napěťovou úroveň 3,3 V. Tato úroveň napětí není pro ovládání tranzistorů dostačující, proto se zde musí použít I2C měnič napěťových úrovní z 3,3 V na 5 V. Tímto napětím lze tranzistor otevřít s dostatečnou rezervou pro řízení výkonových zařízení 3D tiskárny. Jako měnič napěťových úrovní byl použit čip PCA9306, který má 2-bitový obousměrný měnič pro I2C datové linky SDA a SCL. Tento měnič má velice malé zpoždění, které nepřesahuje 1,5 ns pro standardní a fast mód sběrnice I2C. Povoluje převod napěťových úrovní od 1,2 V až do 5 V, které jsou na výstupu požadovány. Čip obsahuje pin enable (EN), který při připojení logické 1 zapíná měnič úrovní a povoluje oboustranný přenos mezi datovými linkami SDA, SCL. Když je na pin EN přivedena logická nula, je čip PCA9306 ve vypnutém stavu. Zapojení tohoto měniče úrovní je zobrazeno na obrázku 3.6. [15]
3.3.4
PWM driver
Jako řídící prvek všech MOSFET tranzistorů pro ovládání výkonových periferií 3D tiskárny a ovládání ventilátorů byl zvolen driver PCA9685. Jedná se o 16 kanálový ovladač svitu LED diod, který je řízený mikrokontrolérem (BeagleBone Black) přes I2C sběrnici. Tento driver umožňuje pro každý výstup 12 bitové rozlišení (4096 kroků), programovatelné nastavení frekvence od 24 Hz až do 1526 Hz s možností
37
C
C
I2C - MENIC UROVNI MENIC_I2C 2 7
VREF1 VREF2
R11
8
EN
100K
3 I2C2_SCL I2C_SCL_5V 6
SCL1 SCL2
1
GND
VDD_5V
VDD_3.3V 100K
R12
D
GND
4 5
SDA1 SDA2
I2C2_SDA 100K
VDD_5V
R13 I2C_SDA_5V
D PCA9306DCTR
Obr. 3.6: Zapojení měniče I2C úrovní PCA9306 na expanzní desce.
1
2
3
4
ENABLE_X
1
STEP DRIVERS
3
4
5
5 2
SW_X
A
1
6
6
nastavení střídy signálu od 0 % do 100 %. S volbou tohoto nastavení jsou všechny výstupy nastaveny na stejnou PWM frekvenci a není možné měnit frekvenci pro 1 Nelze tedy nastavit dva2PWM signály o dvou různých 3 frekvenkaždý pin zvlášť. cích. Změna nastavení frekvence se prování nastavením děličky (prascaleru), jedná se VDD_5V o konstantu, pomocí které se dělí frekvence vnitřního oscilátoru, který má frekvenci MOTOR X 25 MHz. Driver obsahuje pin, pro možnost připojení externích hodin, s frekvencí GND 100uF vypínat / zapínat jednotlivé výstupní nepřesahující 50 MHz. PWM driver umožnuje A C4-SD-X piny a nastavovat vlastní hodnotuVDD_12V střídy. [18] A4988 Carrier
2
MOTOR_X
3
4
J5-1
S těmito vlastnostmi můžeme tento PWM LED driver využít i pro řízení MOSVDD_5V J5-2 FET tranzistorů. Zapojení driveru PCA9685 je zobrazeno na obrázku 3.7. 2B
MS3
2A
Reset (inverted)
1A
Sleep (inverted) VDD_5V
1B
PWM EXTENSION GND
ENABLE 23 I2C_SCL_5V 26 25
VDD_3.3V
4
4
SDA
5 LED0
LED1 6 LED2 LED3 A0 LED4 VDD_5V A1 LED5 A2 LED6 A3 LED7 A4 LED8 A5 LED9 LED10 VSS LED11 LED12 LED13 LED14 GND LED15
14
ENABLE_H
4
MOTOR H GND
3
5 2
6
C
1
C
SW_H
AN3
5
B
4
~OE 5 SCL EXTCLK 6
1 2 3 4 5 VDD_5V 24
6
B
VDD
1
GND
SW_E
28
GND
B
3
PW M
0.1uF
B
J5-4
VDD
Dir
2
GND
VDD_5V
MOTOR EXTRUD
SJ8
A
Step
27 3 I2C_SDA_5V 3 6 2 2 7 8 1 1 9 HEATER_H 10 HEATER_HTB VDD_5V 11 HEATER_E 12 HEATER_LED 13 FAN0 15 FAN12 16SJ1FAN2 17 FAN3 STEP_E 18 GND DIR_E 19 20 21 22
GND
A4988 Carrier GND
MS2
2B
MS3
2A
Reset (inverted)
1A
Sleep (inverted)
1B
Step
VDD
Dir
GND
G
100uF
VDD_12V
MOTOR_H
3
3 2
SJ3 GND
MS1
GND
MS2
2B
MS3
2A
Reset (inverted)
1A
J13-2 J13-3
I2C - MENIC UROVNI 38
STEP_H DIR_H
Sleep (inverted)
1B
Step
VDD
Dir
J13-4 2
C
1
C
Vmot
GND
MENIC_I2C
3
GND
1
SJ4
2
1
A4988 Carrier PCA9685 na expanzní J13-1desce. Obr. 3.7: Zapojení PWM LED driveru VDD_5V
Vmot
MS1
PCA9685PW C8-SD-H Enable (inverted)
100uF
C7-SD-E VDD_12V Enable (inverted)
3
A
STEP_X DIR_XC3
1
1
SJ9
J5-3
ENABLE_E
3
GND
MS2
2
T
Vmot
MS1
3
1
AN1
2
Enable (inverted)
VDD_5V
3.4
1
2
Koncové stupně
3
4
Pro kontrolu pohybu vozíků po jednotlivých osách 3D tiskárny jsou velmi důležité koncové stupně (spínače), které kontrolují maximální nebo minimální pozici. MaxiA Dallas 1W(nejvyšší -1 Dallas 1Wz-důvodu 2 mální možná pozice vozíku bod na ose) je hlídána vyjetí z kolejPIN Dallas 1 PIN Dallas VDD_3.3V systému VDD_3.3V nice a rozbití ložiskového vozíku. Minimální úroveň vozíku J4-1 J15-1 (nejnižší možný DALLAS_MY DALLAS_W1 J4-2 bod na ose) je hlídána z důvodu rozbití skleněné tiskové plochyJ15-2 hrotem HotEndu. GND
GND
J4-3
J15-3
Tyto úrovně jsou řešeny spínacími prvky, které při sepnutí informují program o dosažení maximální nebo minimální polohy a zakáže jej. Na obrázku 3.8 je zobrazeno schéma zapojení spínacích tlačítek pomocí obvodu CD4050BD. Tento obvod B zabraňuje zákmitu při stisku tlačítka a zaručí okamžité vypnutí pohybu vozíku v daném směru. [17]
0.1uF
C2
R8 4K7
VDD_3.3V
TLACITKA 1
4K7
R9 4K7
R6 4K7
C
R7 4K7
R4
R5 4K7
ENDSTOPS DRIVER VDD_5V
GND ENDSTOP_X1_IN 3 ENDSTOP_Y1_IN 5 ENDSTOP_Z1_IN 7 ENDSTOP_X2_IN 9 ENDSTOP_Y2_IN 11 ENDSTOP_Z2_IN 14
VCC A B C D E F
13 16
NC_2 NC
8
VSS
2 4 6 10 12 15
G=A H=B I=C J=D K=E L=F
ENDSTOP_X1 ENDSTOP_Y1 ENDSTOP_Z1 ENDSTOP_X2 ENDSTOP_Y2 ENDSTOP_Z2
D GND
CD4050BD
Obr. 3.8: Zapojení obvodu CD4050BD pro ovládání koncových stupňů na expanzní desce.
3.5
1
2
3
4
1
2
3
4
Teplotní senzory
MOSFET DRIVERS
FAN DR
D4
MBRA340T3
2K4
R30
R29
2K4
LED6 green
LED5 green
D2
Termistor 100K
MBRA340T3
R27
R26
3
4K7
C10
4.7uF
FAN0 4K7
Q4 BUZ11
1
HEATER_H R34
3
4K7
C9
4.7uF
R37
B
Q1 BUZ11
1
HEATER_E
Q6 BCW66
2
2
Většina 3D tiskáren RepRap využívá těchto typů termistorů, kterými se měří teplota X1-1 X3-1 HotEndu. Jako druhá, či další možnost využití, je měření teploty základní desky.
R41
3.5.1
2K4
2K4
VDD_12V Expanzní deska obsahuje čtyři konektory pro připojení analogovýchVDD_12V termistorů a dva A PORT H_E PORT H_H MOSFET E MOSFET H DS18B20. konektory pro připojení digitálních teplotních čidel Dallas X1-2 X3-2
39 GND GND
GND
GND
GND
GND
GND
ENDSTOP_
ENDSTOP
ENDST 1 2 3
ES_Z2
ENDSTOP
ENDST 1 2 3
ES_Y2
ENDSTOP
ENDST 1 2 3
ES_X2
B
ENDSTOP_Z2_IN
ENDSTOP_Y2_IN
ENDSTOP_X2_IN
B
Výhoda těchto termistorů je v možnosti měření vysokých teplot v rozsahu od -55 °C do +250 °C. Tyto teploty lze měřit díky skleněnému zapouzdření odporového prvku, který dokáže odolat vysokým teplotám.
VDD_5V GND
Termistory jsou rezistory, které mění svojí rezistenci v závislosti na změně teploty. Za ideální termistor lze považovat takový, který má přesně známou hodnotu odporu pro aktuální teplotu měřeného prostředí. Termistory lze rozdělit na dva základní druhy. První druh termistoru má kladný teplotní součinitel (PTC), který udává, že s rostoucí teplotou se zvyšuje rezistence termistoru. Druhý druh termistoru má záporný teplotní součinitel (NPC), kde se zvyšující teplotou rezistence termistoru klesá. Teplotní charakteristika těchto termistorů není v reálných podmínkách lineární, převodní tabulku měřených hodnot lze nalézt v dokumentaci pro daný termistor. Zapojení tohoto typu termistoru je zobrazeno na obrázku 3.9.
THERMISTORS 4K7
C
4K7
VDD_ADC
R20
C
10K
R19
10K
TERM_EXT1
J14-2
R46 J14-1
PORT_TEP0
TERM_HTB C5
4.7uF
4.7uF
GND_ADC
GND_ADC
Obr. 3.9: Zapojení analogového termistoru 100 K na expanzní desce. 4K7
R21
D
4K7 R22
V tomto projektu jsou využity NPC termistory, které se v praxi využívají nejčas10K TERM_EXT2 J6-2se neměří odpor přímo, ale využívá se předřadného těji. U těchto rezistorů odporu TERM_MORE R47 s přesně definovanou hodnotou a měří se napětí C7 (potenciál) mezi těmito odpory. J6-1 Na obrázku PORT_TEP1 3.9 je zobrazeno schéma zapojení termistoru pro měření teploty Ho4.7uF tEndu, na kterém je odpor R20 a termistor připojen mezi napájení (Vdd = 5 V) a zemí. Tyto dva odpory jsou zapojeny jako dělič napětí, mezi kterými je napětí GND_ADC GND_ADC děleno dle vztahu: 𝑅2 . 𝑈2 = 𝑈 × 𝑅1 + 𝑅2 Odpor R46 slouží jako proudové omezení a kondenzátor vyhlazuje nerovnosti napětí. Výsledná hodnota teploty se vypočítá jako poměr mezi referenčním napětím (Vref = vstupnímu napětí Vdd) a výstupním napětím na odporovém děliči Vout (TERM_EXT1). [8][4]
D
1
2
40
R18
C6
10K C8
R48
4.7uF
3.5.2
Teplotní senzor Dallas DS18B20
Jedná se o digitální teplotní senzor, který má měřitelný teplotní rozsah od -55 °C do +125 °C, s garantovanou přesností ±0.5°C v rozsahu teplot -10 °C až +85 °C a poskytuje 9 až 12 bitovou přesnost při měření teploty. Tento senzor komunikuje přes sběrnici 1-Wire, která ze své podstaty požaduje pouze jednu datovou linku (a zem) pro komunikaci s centrální řídící jednotkou. Každý senzor má jedinečnou 64 bitovou adresu, která umožňuje připojit na jednu 1 Wire sběrnici až 127 zařízení (maximální počet podporovaný sběrnicí). Zapojení teplotního senzoru DS18B20 a jeho vizuální podoba je zobrazena na obrázku 3.10. [16]
Obr. 3.10: Zapojení digitálního teplotního čidla Dallas DS18B20 na expanzní desce a jeho vizuální podoba. [16] Expanzní deska je osazena 2 konektory pro připojení dvou nezávislých sběrnic pro tato teplotní čidla. Tímto lze dosáhnou připojení až 254 teplotních čidel. Počet možných připojených čidel je značně naddimenzován, ale s počtem volných GPIO pinů bylo zvoleno toto řešení.
3.6
Porovnání s expanzní deskou Ramps 1.4
Většina 3D tiskáren, které využívají jako hlavní řídící jednotku platformu Arduino, jsou osazeny expanzní deskou Ramps 1.4. Tato deska je modulárně konstruována a je označována jako nízkonákladová, protože její cena nepřesahuje 500 Kč. Dají se zakoupit i daleko levnější desky, například přes aukční portál eBay. Výhodou této desky je její jednoduchost. Deska neobsahuje žádné zbytečné rozhraní či konektory. Obsahuje pouze rozhraní, které bude běžný uživatel pro funkci 3D tiskárny potřebovat. Ale pokud uživatel bude chtít připojit jiné rozhraní, například pro ovládání osvětlení, měření teploty a jiné, bude nucen si koupit desku novou, nebo si vyrobit desku vlastní, aby splňovala veškeré jeho požadavky.
41
Další výhoda této desky je, že Arduino má 5 V logiku vstupně / výstupních pinů. Díky této logice není zapotřebí využívat žádné měniče úrovní, jako je tomu u expanzní desky vytvářené v tomto projektu. Nevýhoda této desky je v osazování novými perifériemi, které nejsou definované v softwaru. Tyto desky již mají předpřipravený software na řízení tiskárny a při jakékoliv úpravě kódu se zvyšuje riziko chyby a z toho plynoucí nefunkčnost tiskárny, nebo procházení tisíce řádků kódu pro přidání nové periferie. Expanzní deska Ramps 1.4 pro platformu Arduino je zobrazena na obrázku 3.11. [8]
Obr. 3.11: Expanzní deska Ramps 1.4. [8] Expanzní deska vytvořená v toto projektu má oproti Ramps 1.4 řadu výhod. Umožňuje připojení až 4 výkonových zařízení řízených MOSFET tranzistory, připojení 4 analogových termistorů typu 100 K a až 254 digitálních teplotních čidel DS18B20. Možnost připojení až 4 řízených ventilátorů pro lepší cirkulaci vzduchu a chlazení tisknutého modelu. Porovnání jednotlivých rozhraní a vlastností desky je uvedeno v tabulce 3.4.
42
Tab. 3.4: Porovnáno rozhraní a vlastností mezi Ramps 1.4 a expanzní deskou tohoto projektu. [8] Rozhraní a v vlastnosti desky
Expanzní deska
Ramps 1.4
Externí napájení 12V Externí napájení 5V Externí napájení 3,3V Pojistka proti přetížení Počet řízených výkonových MOSFET Počet řízených ventilátorů Počet analogových termistorů Počet digitálních termistorů Počet ovladačů krokového motoru Počet koncových stupňů Možnost automatické kalibrace Externí I2C sběrnice Připojení displeje
Ano Ano Ano Ano 4 4 4 až 254 5 6 Ano Ano Ne
Ano Ne Ne Ne 3 1 3 0 5 6 Ano Ano Ano
43
4
SOFTWARE
Cesta od samotného vytvoření modelu v návrhovém programu až k samotnému tisku vyžaduje dva základní softwarové kroky, než daný objekt 3D tiskárna vytiskne. V prvním kroku dojde k vytvoření (vymodelování) objektu a exportování do souboru s koncovkou .stl. Dále v druhém kroku je potřeba převést .stl soubor do souboru G-code, který umí zpracovat firmware tiskárny a ovládá jednotlivé periferie připojené přes expanzní desku. Existuje mnoho různých softwarových řešení pro výše popsané kategorie. V následujících podkapitolách budou popsány jednotlivé softwarové řešení pro každý krok přípravy tisku.
4.1
Computer Aided Design
Computer Aided Design (CAD) lze do češtiny přeložit jako počítačem podporované kreslení. Jde o software, který umožňuje vytvoření objektu pomocí grafických programů pro projektování. CAD aplikace vždy obsahují grafické, geometrické, matematické a inženýrské nástroje pro kreslení plošných výkresů a modelování objektů. Díky tomu lze objekt realizovat v různých prostorových zobrazeních a manipulovat s ním (změna velikosti, otáčení, atd.). Existuje mnoho CAD softwarů, které umožňují využití velkou škálu funkcí. Pro použití s 3D tiskárnou je zapotřebí, aby software umožňoval navrhovat objekty ve třech rozměrech, definovat interiérové prvky, jako jsou různé otvory, díry, funkce pro zkosení či zaoblení povrchu a další. Důležitou funkcí je podpora ukládání již vytvořených objektů do datových formátů, které jsou podporovány dalšími programy pro přípravu tisku (datová formát .stl). Toto kritérium omezuje využití některých CAD softwarů, ale většina z nich tyto datové formáty podporuje. Při výběru správného CAD softwaru lze nalézt licencované nebo OpenSource aplikace, které jsou zdarma, ale jejich nevýhoda může být v možnosti omezení některých funkcí, které je nutno dokoupit. Většina z těchto aplikací disponuje grafickým uživatelským rozhraním (GUI), ve kterém si lze prohlížet modelovaný objekt. Některé z těchto aplikací mohou vyžadovat složité ovládání a je nutná dlouhá doba k učení se jejich ovládání. Obecně lze říci, čím více funkcí a možností daná aplikace nabízí, tím obtížnější bude se s ní naučit pracovat. V tabulce 4.1 je uvedeno několik oblíbených CAD aplikací v komunitě uživatelů RepRap. Veškeré tyto aplikace umožňují exportovat vytvořený model do datového formátu .stl, který je nutný pro další zpracování pro přípravu 3D tisku.[1][2]
44
Tab. 4.1: Srovnání CAD aplikací pro tvorbu 3D modelů. [1] Název
Adresa (URL)
Licence
Uživatelské Obtížnost rozhraní
Blender 123D (Autodesk) Inventor (Autodesk) SketchUp
www.blender.org www.123dapp.com
OpenSource Zdarma, Placená Placená
GUI Web / GUI
Vysoká Vysoká
GUI
Vysoká
Zdarma, Placená OpenSource Zdarma, Placená
GUI
Střední
GUI Web
Střední Lehká
www.autodesk.com www.sketchup.com
FreeCAD www.freecadweb.org ThinkerCAD www.tinkercad.com
4.2
Computer Aided Manufacturing
Computer Aided Manufacturing (CAM) lze do češtiny přeložit jako počítačově řízená výroba. CAM software má za úkol přijmout a zpracovat definici modelu (soubor .stl) a převést jej do souboru, který bude obsahovat instrukce pro tiskárnu, jak daný objekt vytisknout a to vrstvu po vrstvě (soubor .gcode). CAM aplikace daný objekt rozdělí na jednotlivé vrstvy a uloží jej do souboru instrukcí G-code, které firmware 3D tiskárny umí zpracovat. Může zde nastat otázka, co to vlastně G-code znamená? G-code je zkrácený zápis pro sadu strojových instrukcí, které řídí pohyb jednotlivých částí daného zařízení. Tyto kódy nejsou omezeny pouze na 3D tiskárny, ale mají širší základnu včetně CNC stojů a dalších zařízení. S rozvojem 3D tisku byl G-code upraven tak, aby zahrnoval nové kódy a možnosti specializované pro 3D tisk. Tyto kódy jsou tvořeny písmenem, které označuje definovanou třídu příkazu, číslem (indexem) a jedním nebo více parametry, které jsou odděleny mezerami (mezery jsou nepovinné). Jsou zde definovány kódy pro umístění HotEndu, nastavení teploty, pohyb jednotlivých os a mnoho dalších. V tabulce 4.2 je zobrazeno několik příkladů těchto kódů a ve výpisu 4.1 je zobrazen krátký výňatek z .gcode souboru. První řádky souboru obsahují středníky, které označují komentář. Tyto komentáře se využívají pro popis základních informací o tisknutém objektu. Pomocí těchto komentářů lze zjistit tyto informace bez nutnosti zpětného překladu souboru. Při výběru správného CAM softwaru, lze najít různé druhy, které se liší v imple-
45
Tab. 4.2: Příklady příkazů G-code.[1][2][8] Kód
Popis
Parametry
Příklad
G1
Posun do nové pozice
G28 M84 M104 M105 M106 M114
Nastav domovskou pozici Vypnout motory Nastav teplotu na HotEndu Získej teplotu HotEndu Zapni ventilátor Získej pozici všech os
X, Y, Z souřadnice a rychlost pohybu Žádné Žádné Teplota v °C Žádné Rychlost (0 - 255) Žádné
G1 X20 Y35 Z5 F5000 G28 M84 M104 S220 M105 M106 S160 M114
mentaci jednotlivých funkcí, uspořádání zobrazení, definice parametrů a další. Bez ohledu na tyto vlastnosti všechny tyto CAM aplikace fungují na stejném základním principu. Po instalaci zvolené CAM aplikace lze načíst již vytvořený .stl soubor s vymodelovaným objektem. Po načtení objektu je automaticky umístěn do středu základní desky, či je možnost změnit jeho pozici. Většina těchto aplikací umožňuje přidávání více objektů na tiskovou plochu, čímž je tyto objekty možné tisknout najednou. Důležitou vlastností těchto aplikací je nastavení vlastností tisku, jako jeho kvalita, vlastnosti vrstev, vyhřívání, chlazení, výplň objektu a další. Po nastavení jednotlivých vlastností objektu lze vytvořit výsledný .gcode soubor a přejít k samotnému tisku. [1][2] Listing 4.1: Zobrazení krátkého výňatku ze souboru G-code. ; generated by Slic3r 1.2.9 on 2016−05−22 at 22:46:42 ; ; ; ; ;
external perimeters extrusion width = 0.26mm perimeters extrusion width = 0.20mm infill extrusion width = 0.40mm solid infill extrusion width = 0.24mm top infill extrusion width = 0.24mm
M190 S110 ; set bed temperature M104 S230 ; set temperature G28 ; home all axes G1 Z5 F5000 ; lift nozzle M109 S230 ; wait for temperature to be reached G21 ; set units to millimeters
46
G90 ; use absolute coordinates M82 ; use absolute distances for extrusion G92 E0 M106 S153 G1 E−2.00000 F3000.00000 G92 E0 G1 Z0.200 F4200.000 G1 X15.912 Y−17.342 F4200.000 G1 E2.00000 F3000.00000 M204 S200 G1 X17.342 Y−15.912 E2.03720 F1500.000 G1 X17.342 Y15.912 E2.62238 G1 X15.912 Y17.342 E2.65959 G1 X−15.912 Y17.342 E3.24477 G1 X−17.342 Y15.912 E3.28197 G1 X−17.342 Y−15.912 E3.86715 G1 X−15.912 Y−17.342 E3.90435 G1 X15.852 Y−17.342 E4.48843 Další důležitou vlastností při výběru CAM softwaru je vybrat takovou aplikaci, která bude podporovat tisk s delta tiskárnami. Ne všechny dostupné aplikace toto nastavení podporují. Nejvíce oblíbenou aplikací v komunitě RepRap a také využívanou v tomto projektu je aplikace Slic3r.
4.2.1
Slic3r
Jak již bylo zmíněno, tato CAM aplikace se těší velké oblibě v RepRap komunitě, které nabízí jednoduchý nástroj na nastavování vlastností a kvality tisku. Výhoda této aplikace je v podpoře všech druhů tiskáren, které právě komunita RepRap zaštiťuje. V příloze je zobrazena hlavní stránka aplikace, na které lze nalézt základní desku předdefinované tiskárny. Ovládání aplikace a nastavování jednotlivých vlastností je intuitivní i bez přečtení přiložené dokumentace. Obrázek 4.1 popisuje nejdůležitější nabídku aplikace pro volbu vlastností a kvality tisku. [20] V těchto položkách lze nastavovat tyto vlastnosti: • Layers and perimeters: nastavení šířky jedné vrstvy a počet plně vyplněných spodních a horních vrstev objektu pro jeho větší pevnost, • Infill: možnosti pro definování výplně objektu, pro lepší představu jsou na obrázku 4.2 vytištěné objekty o hodnotách výplně 5 %, 10 %, 15 %, 20 %, 50 %,
47
Obr. 4.1: Nabídka nastavení kvality tisku v CAM aplikaci Slic3r. [20] • Skirt and brim: nastavení šířky tisknutého okraje objektu pro první vrstvu, tím je docíleno vyšší stability na základní desce, • Support material: povolení a zakázání tisku podpěr, například při tisku oblouku atd., • Speed: nastavení rychlosti pohybu pro HotEnd v závislosti na tištěných částech objektu (okraj, výplň, podpěry a další).
Obr. 4.2: Příklady tisku výplní objektu v pořadí 5 %, 10 %, 15 %, 20 %, 50 %.
4.3
Firmware
Firmware je hlavní softwarovou řídící jednotou 3D tiskárny a je zodpovědný za čtení souboru G-code a umožňuje interpretaci těchto kódů pro jednotlivé periferie tiskárny, jako jsou regulace teploty, nastavení pozic HotEndu a další. Existuje mnoho OpenSource firmwarů pro 3D tiskárny, které se dají zdarma stáhnout z internetu a obsahují podrobnou dokumentaci. Jejich výhoda je v podpoře veliké škály uživatelů 3D tiskáren a neustálé vylepšování. Nevýhoda nastává
48
v okamžiku, když není jako výpočetní platforma využito Arduino, ale jiný hardware, například BeagleBone či Raspberry Pi a další. Tyto firmwary jsou napsány pouze pro platformu Arduino a s ostatními platformami jsou nekompatibilní. Na internetu lze nalézt malé skupinky nadšenců, kteří se tímto řešením zabývají a vytváří si vlastní firmware. V tomto projektu byl jako hlavní výpočetní jednotkou zvolen mikropočítač Beagle Bone Black. Pro tuto platformu existuje velmi malé množství firmwaru a navíc pokud nějaký existuje, pracuje pouze z vybranými typy expanzních desek. Výhoda této platformy je v široké podpoře programovacích jazyků pro napsání firmwaru tiskárny nebo jejich kombinací. Většinou se využívá programovací jazyk Python, který bývá doplněný z malé části jazykem C. Na tuto platformu lze nainstalovat plnohodnotný operační systém Linux, v tomto případě byl vybrán systém Debian. Možnost instalace linuxových distribucí na Beagle Bone umožnuje využít tuto platformu ne jen jako výpočetní zařízení, ale také jako síťový ovladač tiskárny, server pro připojení web kamery sledující aktuální stav tištěného objektu a další funkce, které platformy jako Arduino nepodporují. Firmware, který se stará o ovládání expanzní desky vyrobené v tomto projektu, je kombinací volně dostupných systémů pro platformy Raspberry Pi a BeagleBone. Jelikož každá deska je unikátní, bylo zapotřebí přeprogramovat přístupy k jednotlivým logickým obvodům expanzní desky, ovládání pohonu krokových motorků, ovládání MOSFET tranzistorů přes PWM Led driver a jiné. Blokové schéma firmwaru na platformě BeagleBone je zobrazeno na obrázku 4.3. Ukázky zdrojových kódů jsou uvedeny v příloze D. [1]
G-code soubor
Firmware Python
C
Periferie expanzní desky
Obr. 4.3: Blokové schéma firmware na platformě BeagleBone Black.
4.4
Síťové ovládání 3D tiskárny
Jak již bylo zmíněno, platforma BeagleBone umožňuje podporu vzdáleného tisku. Pod pojmem vzdálený tisk se rozumí připojení 3D tiskárny do místní LAN sítě
49
prostřednictvím kabelu nebo bezdrátovým připojením (Wi-Fi). Připojením tiskárny do LAN sítě, popřípadě internetu, lze získat schopnost ovládání a sledování stavu tiskárny odkudkoliv, kde se lze připojit k internetu.
4.4.1
OctoPrint
Softwarovou aplikaci OctoPrint lze označit jako rozhraní mezi 3D tiskárnou a uživatelem. Jedná se o webový tiskový server, který umožňuje na dálku ovládat a řídit tiskárnu. Nejedná se zde o CAM aplikaci, ale pouze o dálkové ovládání tiskárny. Tato aplikace umožňuje nahrávat již vytvořené G-code soubory prostřednictvím webového rozhraní, vytvářet databázi modelů a provádět jejich tisk. Po připojení webové kamery lze sledovat video z tiskového procesu nebo po nastavení určitého časového intervalu zobrazovat fotografie tisku. Přístup na webový server je opatřen uživatelským účtem, který zabezpečuje tiskárnu před zneužitím nepovolanou osobou, pokud je tiskárna připojena do internetu. Před samotným tiskem je zapotřebí nahrát G-gode objektu do aplikace a nastavit počáteční teploty pro základní desku a HotEnd v závislosti na zvoleném materiálu (vláknu). Na obrázku v příloze B.1 lze vidět hlavní stránku aplikace, která zobrazuje graf s aktuálními teplotami periferií a tabulku zobrazující základní informace o tištěném objektu. Z tabulky je možno vyčíst: • odhadovanou spotřeba vlákna při tisku, • dobu tisku, • výšku objektu, • uplynulý čas od začátku tisku, • čas, který zbývá do vytištění celého objektu. Záložka Contol obsahuje tlačítka pro manuální ovládání tiskárny (ve směru jednotlivých os), vytlačování či zatahování vlákna o určitou délku, ovládaní chladícího ventilátoru a vypínání krokových motorů. Největší část této záložky zaujímá živý videopřenos z tiskového přenosu (pokud je k dispozici webová kamera). Obrázek záložky Controls je zobrazen v příloze B.2. Záložka Viewer zobrazuje vrstvy aktuálně tištěného objektu. V záložce Terminal lze sledovat komunikaci mezi webovým tiskovým serverem a firmwarem 3D tiskárny. [19]
50
5
OPTIMALIZACE VYHŘÍVÁNÍ TISKOVÉHO PROSTORU A KONTROLA CHLAZENÍ VÝTISKU
Většina amatérsky vyráběných 3D tiskáren je konstruována bez ochranných prvků, kterými lze tiskárnu zapouzdřit. Nezapouzdřené tiskárny mají výhodu v lepší cirkulaci vzduchu, hmotnosti tiskárny a její skladnosti. Naproti tomu zapouzdřené tiskárny (například do průhledných plastových desek) mají svou výhodu při tisku objektů velkých rozměrů, kde je zapotřebí objekt vyhřívat v celé jeho velikosti. Díky zapouzdření tiskárny lze získat daleko větší teplotní stabilitu uvnitř tiskárny a tuto teplotu regulovat. Není zde zapotřebí přídavných topných těles, které tištěný objekt vyhřívají. Plně dostačující pro vyhřívání vnitřních prostor je základní deska, kterou je nutné zahřát před začátkem tisku na specifickou teplotu pro daný materiál (vlákno) tisku. Pokud je tiskárna kvalitně zapouzdřena (utěsněna), tak je základní deska schopna vyhřát vnitřní prostor tiskárny v průběhu tisku objektu. Není nutné vyhřívat celý vnitřní prostor tiskárny před začátkem tisku a tato procedura se stává až zbytečnou. Ohřev základní desky na požadovanou teplotu (například pro ABS 110°C) trvá necelých deset minut. V tomto krátkém časovém intervalu lze vyhřát dolní třetinu tiskového prostoru nebo se přiblížit této teplotě. V samotném průběhu tisku udržuje základní deska konstantní teplotu (110 °C) a než je dosaženo výšky jedné třetiny tištěného objektu, je základní deska schopna vyhřát celý vnitřní prostor tiskárny. Vyhřívání vnitřního prostoru tiskárny a její zapouzdření přináší i svá úskalí. Vnitřní prostor tiskárny je vyhříván z důvodů lepšího spojení (navázání, propojení) jednotlivých vrstev. Například pro materiál ABS je základní deska zahřívána na teplotu 110 °C a teplota HotEndu pro tavení vlákna je 220 °C. Nevýhoda nastává v okamžiku tisku malých nebo drobných detailů objektu. Na obrázku 5.1 je zobrazen detail z tiskového procesu, kde si lze všimnout malé mezery mezi tištěným objektem a zahřátou částí HotEndu na 220 °C. Při tisku velkých ploch se HotEnd pohybuje v těsné blízkosti nad tištěným objektem a dochází k lokálnímu ohřevu objektu. Nevýhoda tohoto lokálního ohřevu se projevuje na malých detailech, špičkách, hranách tisknutého objektu, kde jsou tyto útvary zahřáty na teplotu, při které materiál ztrácí svoji pevnost a může dojít k deformaci či zkroucení těchto míst vedoucí ke znehodnocení tištěného objektu. Těmto problémům lze předejít přidáním chladícího ventilátoru. Úskalí nastává v okamžiku směrování proudu vzduchu mezi tištěný objekt a HotEnd a regulaci vý-
51
Obr. 5.1: Detail mezery mezi HotEndem a tištěným objektem.
konu ventilátoru. Regulace výkonu ventilátoru je velice důležitá vlastnost, protože při velkém výkonu je vysoká pravděpodobnost změny pozice vytlačovaného vlákna a znehodnocení tisku. Při malém výkonu ventilátoru nemusí docházet k efektivnímu chlazení mezery mezi HotEndem a objektem. Většina expanzních desek má speciální rozhraní pro připojení chladících ventilátorů, kde je jejich výkon řízen pomocí MOSFET tranzistorů. Jejich výkon specifikuje software CAM, který umožňuje nastavení výkonu ventilátoru pro specifickou fázi tisku (tisk podpěr, malých prostor, atd.). Po úspěšném vytištění předmětu, bez sebemenších chyb, je potřeba daný objekt efektivně ochladit. Při prudkém ochlazení objektu může dojít k jeho zkroucení či v extrémních případech oddělení jednotlivých vrstev. Proto je nutné zajistit, aby se vytištěný objekt velkých rozměrů chladil pozvolna a nedocházelo zde k velkým teplotním rozdílům. Pokud je tiskárna zapouzdřena, lze přidat do jejího rámu ventilátor, který bude vhánět do tiskového prostoru čerstvý vzduch s malým výkonem, aby se objekt pozvolna a postupně chladil. Pokud tento ventilátor není k dispozici, nejlepší možnost je nechat objekt samovolně vychladnout. Po dosažení pokojové teploty je možné s ním začít manipulovat. Tato metoda se může zdát poněkud zdlouhavá, ale v porovnání s dobou tisku velkého objektu je doba samovolného chladnutí zanedbatelná.
52
6
SHRNUTÍ HARDWARU 3D TISKÁRNY A JEJÍ CENOVÁ KALKULACE
V předešlých kapitolách byly uvedeny základní funkce, materiály, hardware a expanzní deska, které jsou nezbytné pro konstrukci tiskárny typu delta. Tato kapitola se zabývá specifikací finálních komponent, včetně jejich ceny a stanovení výsledné ceny, za kterou lze 3D tiskárnu typu delta zakoupit. Při výběru komponent bylo diskutováno, zda zakoupit originální drahé nebo neoriginální levné díly z Číny. V tomto ohledu byl zvolen kompromis, kdy komponenty, které jsou pro kvalitu tisku klíčové, byly zakoupeny z originálních obchodů a ostatní byly zakoupeny jako neoriginální. Většina dílů byla zakoupena na internetovém serveru eBay, kde lze nalézt veliký výběr požadovaných komponent za rozumné ceny. Rám konstrukce, krokové motory a HotEnd byly zakoupeny z oficiálních stránek obchodů, které se specializují na jejich prodej a garantují jejich kvalitu pro využití v 3D tisku. Soupis jednotlivých komponent včetně jejich ceny je zobrazen v tabulce 6.1. Tab. 6.1: Cenový rozpočet jednotlivých komponent včetně celkové ceny. Komponenta
Počet kusů
Rám konstrukce HotEnd Krokové motory Ovladače krokových motorů Delta ramena Řemenice s hřídelemi Lineární vedení Počítačový ATX zdroj Extruder Hnací ozubené kolo Extruderu Expanzní deska BeagleBone Black LED osvětlení
3 x 600 mm, 9 x 240 mm 1 4 5 6 1x5m 3 1 1 2 1 1 1
Cena 1549 Kč 1700 Kč 916 Kč 252 Kč 650 Kč 425 Kč 1750 Kč 700 Kč 250 Kč 74 Kč 685 Kč 1400 Kč 230 Kč 10578 Kč
Po zakoupení těchto komponent není tiskárna zdaleka kompletní. Dále je zapotřebí obstarat díly jako krajní držáky konstrukce, efektor a další. Výhoda těchto dílů spočívá v tom, že je lze vytisknout na již sestavené 3D tiskárně a tím značně
53
ušetřit. Pro tisk výše zmíněných dílu je potřebné pouze vhodné vlákno, které se prodává na cívce o hmotnosti 1 kg za cenu přibližně 600 Kč. S takovouto cívkou lze vytisknou díly pro více než 3 tiskárny. Soupis všech tisknutelných dílů, včetně počtu potřebných kusů, je uveden v tabulce 6.2. Tab. 6.2: Soupis tisknutelných dílů včetně množství kusů.
6.1
Díl
Počet kusů
Efektor Spodní díl konstrukce (držák motoru) Horní díl konstrukce (držák řemenice) Vozík End stop Uchycení základní desky Uchycení chladícího ventilátoru pro HotEnd Držák pro uchycení cívky s vláknem
1 3 3 3 6 3 3 3
Srovnání s Raspberry Pi a Ramps 1.4
Raspberry Pi se v technologii 3D tisku nevyužívá jako hlavní řídící jednotka, ale je využito jako zařízení, skrze které lze zajistit podporu síťového tisku 3D tiskárny. Podporu síťového tisku na Raspberry Pi lze zajistit 2 způsoby. První způsob spočívá v instalaci softwarového nástroje pro tisk v systému Raspberry Pi s využitím vzdálené plochy (VNC viewer) pro ovládání software. Tato možnost není elegantním řešením síťového tisku, ale bývá hojně využívána. Druhý způsob síťového tisku je podobný systému využitém v této práci. Na platformě Raspberry Pi běží webový server, přes který lze 3D tiskárnu vzdáleně ovládat. Arduino Mega s expanzní deskou Ramps 1.4 jsou připojeny přes USB kabel k Raspberry Pi, kde webový server přistupuje k USB rozhraní a posílá skrze něj G-code příkazy. Arduino tyto příkazy zpracovává a ovládá periferie 3D tiskárny prostřednictvím expanzní desky. Na obrázku 6.1 je zobrazeno blokové schéma porovnání síťového tisku mezi platformami Raspnerry Pi a BeagleBone Black. Nevýhoda řešení síťového tisku s Raspberry Pi je v počtu užitých zařízení a jeho ceně. Při realizaci tohoto typu síťového tisku je zapotřebí Raspberry Pi jako řídící část a Arduino Mega jako výpočetní část 3D tiskárny.
54
Řešení navržené v tomto projektu spojuje řídící a výpočetní část do jedné platformy, kterou je v této práci BeagleBone Black. Tím lze ušetřit náklady za pořízení Raspberry Pi jako tiskového serveru.
Síťový tisk realizovaný s Raspberry Pi Raspberry PI
Arduino Mega
Webový server
Expanzní deska
3D tiskárna
Síťový tisk realizovaný s BeagleBone Black BeagleBone Black
Webový server 3D tiskárna Expanzní deska
Obr. 6.1: Blokové schéma síťového tisku.
55
7
ZÁVĚR
Cílem této diplomové práce bylo navrhnout amatérskou 3D tiskárnu typu delta s výběrem a popisem jednotlivých hardwarových komponent. Tyto komponenty byly vybírány na základě vlastností při kvalitě a přesnosti tisku v závislosti na původu daného dílu a jeho ceny. Veškeré popsané komponenty v této práci zaručují tyto vlastnosti pro amatérské využití 3D tiskárny. Hlavní výpočetní jednotkou byla zvolena platforma BeagleBone Black, která umožňuje implementovat řídící a ovládací funkce v jednom mikropočítači. Výběrem této výpočetní jednotky vznikla potřeba navrhnout rozšiřující modul (expanzní desku), který řídí jednotlivé periferie 3D tiskárny. Expanzní deska byla navržena pro přímé osazení do GPIO pinů platformy BeagleBone Black. Tímto návrhem je dosaženo snížení počtu potřebné kabeláže a zpřehlednění připojení periférií k této desce. Deska je konstruována jako modulární. Tato konstrukce zajišťuje snadnou výměnu a opravu jednotlivých hardwarových dílu 3D tiskárny. Oproti komerčním řešením je deska rozšířena o připojení LED osvětlení, digitálních teplotních senzorů a většího počtu ventilátorů, které jsou využity při chlazení výtisku. Optimalizace vyhřívání tiskového prostoru a kontrola chlazení výtisku byla popsána na základě zkušeností z tisku jednotlivých dílů při různých nastaveních 3D tiskárny. Z tohoto pozorování bylo popsáno nejefektivnější řešení zaručující optimalizaci teplot. Platforma BeagleBone Black umožňuje připojení do LAN sítí prostřednictvím ethernetového kabelu či Wi-Fi. Díky této konektivitě je možné přistupovat na nainstalovaný webový server, který je využíván k vzdálenému ovládání tisku. Skrze webové rozhraní lze monitorovat průběh tisku a ovládat 3D tiskárnu z libovolného místa.
56
LITERATURA [1] BELL, Charles. 3D Printing with Delta Printers. 1. New York: Apress, 2015. ISBN 978-1-484211-74-8. [2] HORVATH, Joan C. Mastering 3D printing. Berkeley, California: Apress, 2014, xxiii, 196 pages. Technology in action series. ISBN 9781484200261. [3] MK7 Drive gear - 3D Printers. Scoob.net [online]. 2015 [cit. 201512-14]. Dostupné z: http://www.scoob.net/index.php/3d-printers/ mk7-drive-gear.html [4] E3D Online [online]. 2015 [cit. 2015-12-14]. Dostupné z: http://e3d-online. com/ [5] Make Bournemouth. Kossel Mini WIP | Make Bournemouth [online]. 2015 [cit. 2015-12-15]. Dostupné z: http://www.makebournemouth.com/?p=270 [6] Thingiverse. Compact Bowden Extruder, direct drive 1.75mm [online]. 214 [cit. 2015-12-15]. Dostupné z: http://www.thingiverse.com/thing:275593 [7] Thingiverse. Delta printer calibration object calibrate tower position and rod lengths errors + instructions [online]. 2015 [cit. 2015-12-15]. Dostupné z: http: //www.thingiverse.com/thing:745523 [8] RepRap - RepRapWiki [online]. 2015 [cit. 2015-12-15]. Dostupné z: http:// reprap.org/wiki/Main_Page [9] 3D Printer parts - Prusa Research [online]. 2015 [cit. 2015-12-15]. Dostupné z: http://shop.prusa3d.com/en/18-3d-printer-parts [10] BeagleBoard.org - black [online]. 2015 [cit. 2015-12-15]. Dostupné z: http:// beagleboard.org/black [11] Gpio Class | guh - developer [online]. 2013 [cit. 2015-12-15]. Dostupné z: http: //dev.guh.guru/gpio.html [12] PRAX, Jakub. Využití sběrnice I2C pro komunikaci s externím zařízením. Brno, 2007. Dostupné z URL:
. Diplomová práce. Vysoké učení technické v Brně. [13] DRV8825 Stepper Motor Controller IC: Texas Instruments [online]. 2014 [cit. 2016-05-25]. Dostupné z: http://www.ti.com/lit/ds/symlink/drv8825.pdf
57
[14] DRV8825 Stepper Motor Driver Carrier, High Current. Pololu Robotics and Electronics [online]. Las Vegas, 2016 [cit. 2016-05-25]. Dostupné z: https:// www.pololu.com/product/2132 [15] PCA9306 Dual Bidirectional I2C Bus and SMBus Voltage-Level Translator: Texas Instruments [online]. 2016 [cit. 2016-05-25]. Dostupné z: http://www. ti.com/lit/ds/symlink/pca9306.pdf [16] Programmable Resolution 1-Wire Digital Thermometer: DS18B20 [online]. 2015 [cit. 2016-05-25]. Dostupné z: https://datasheets.maximintegrated.com/ en/ds/DS18B20.pdf [17] CMOS Hex Buffer/Converters: CD4049UB, CD4050B [online]. 2015 [cit. 201605-25]. Dostupné z: http://www.ti.com/lit/ds/symlink/cd4049ub-mil.pdf [18] PCA9685: 16-channel, 12-bit PWM Fm+ I2C-bus LED controller [online]. 2015 [cit. 2016-05-25]. Dostupné z: https://cdn-shop.adafruit.com/datasheets/ PCA9685.pdf [19] OctoPrint’s documentation: OctoPrint [online]. 2016 [cit. 2016-05-25]. Dostupné z: http://docs.octoprint.org/en/master/ [20] Documentation: Slicer 4 [online]. 2015 [cit. 2016-05-25]. Dostupné z: https: //www.slicer.org/slicerWiki/index.php/Documentation
58
SEZNAM SYMBOLŮ, VELIČIN A ZKRATEK 3D
trojdimenzionální
CAD
Computer-Aided Design
STL
Standard Tessellation Language
CAM
Computer-Aided Manufacturing
FFF
Fused Filament Fabrication
PC
Polykarbonát
Nylon
Polyamid 6.6
HIPS
Vysoce houževnatý polystyren
ABS
Akrylonitril butadien styren
PET
Polyethylen tereftalát
PVA
Polyvinylalkohol
PLA
Polylaktid
PTFE
Polytetrafluorethylen
RepRap
Replicating rapid prototyper
USB
Universal Serial Bus
PWM
Pulse Width Modulation
LCD
Liquid crystal display
I2C
Inter-integrated circuit
GPIO
General-purpose input/output
LED
Light-Emitting Diode
WEB
World Wide Web
GUI
Grafické uživatelské rozhraní
LAN
Local Area Network
59
SEZNAM PŘÍLOH A Popis GPIO pinů BeagleBone Black
61
B Screenshoty z webové aplikace OctoPrint.
62
C Schéma zapojení a deska plošných spojů expanzní desky
63
D Ukázky zdrojových kódů
71
60
A
POPIS GPIO PINŮ BEAGLEBONE BLACK
Obr. A.1: Popis GPIO pinů pro BeagleBone Black. [11]
61
B
SCREENSHOTY Z WEBOVÉ APLIKACE OCTOPRINT.
Obr. B.1: Hlavní nabídka webové aplikace OctoPrint.
Obr. B.2: Nabídka Control webové aplikace OctoPrint. [11]
62
A
R6 4K7
R4
MOSFET E
2K4
R8 4K7
2
2
GND
8
13 16
GND ENDSTOP_X1_IN 3 ENDSTOP_Y1_IN 5 ENDSTOP_Z1_IN 7 ENDSTOP_X2_IN 9 ENDSTOP_Y2_IN 11 ENDSTOP_Z2_IN 14
1
VDD_12V PORT H_E
X1-1
X1-2
G=A H=B I=C J=D K=E L=F
TLACITKA
GND
MOSFET H
2 4 6 10 12 15
DALLAS_W1
CD4050BD
VSS
NC_2 NC
A B C D E F
VCC
VDD_3.3V
MOSFET DRIVERS
1
R7 4K7 R26
R5 4K7
1
2K4
D
R9 4K7 R27 LED5 green
C
J4-3
GND
4K7
ENDSTOPS DRIVER VDD_5V
J4-2
D2
B
J4-1
DALLAS_MY
0.1uF
VDD_3.3V
2K4
PIN Dallas 1
3
3
PORT H_H
VDD_12V
ENDSTOP_X1 ENDSTOP_Y1 ENDSTOP_Z1 ENDSTOP_X2 ENDSTOP_Y2 ENDSTOP_Z2
J15-3
J15-2
J15-1
PIN Dallas
2K4
VDD_3.3V
R29
C2 MBRA340T3
Dallas 1W - 2
D4
Dallas 1W - 1
MBRA340T3
A
R30 LED6 green
X3-1
X3-2
4
4
4
Q6
VDD_3.3V J9-2
J9-1
PORT FAN0
VDD_12V
FAN DRIVERS
5
5
5
6
Q7
GND
I2C1
1 3
I2C1 2 4
6
6
VDD_3.3V J1-2
J1-1
PORT FAN1
VDD_12V
R2
R1 4K7 1%
4K7 1%
I2C1 PINOUT
I2C1_SDA I2C1_SCL 2K4
3
2K4
2
R38 LED4 orange
A
D
D
A
C
B
A
C
B
A
VDD_5V
GND
SJ9
C3
2
1
1
R12
100K
R11
100K
STEP_X DIR_X
2
28
PCA9685P
VSS
A0 A1 A2 A3 A4 A5
8
2 7
VDD_5V
1
GND
P
2
2
SCL1 SCL2
EN
VREF1 VREF2
M
100uF
A4988 Carrier
G
V
1B
Dir
Step
1A
MS3
Sleep (inverted)
2A
MS2
Reset (inverted)
G 2B
MS1
V
C4-SD-X VDD_12V
GND
MOTOR X
Enable (inverted)
GND
3 I2C2_SCL I2C_SCL_5V 6
VDD_3.3V
I2C - MENIC
GND
14
1 2 3 4 5 24
25
~OE SCL EXTCLK
VDD
PW M
PWM EXT VDD_5V
ENABLE 23 I2C_SCL_5V 26
0.1uF GND
1
4
1
3 1
R40 LED8 orange
5
VDD_5V
6
6 1 1
5 2
4 3
63
2
Obr. C.1: Schéma zapojení expanzní desky - 1. část.
SW_X
SCHÉMA ZAPOJENÍ A DESKA PLOŠNÝCH
3
SPOJŮ EXPANZNÍ DESKY
ENABLE_X
C
Q6
2K4
5
5
VDD_3.3V
J9-2
J9-1
PORT FAN0
VDD_12V
DRIVERS
R38
LED4 orange
Q7
GND
I2C1
1 3
2 4
I2C1_SDA I2C1_SCL
2K4
I2C1
6
6
VDD_3.3V
J1-2
J1-1
PORT FAN1
VDD_12V
R2
R1 4K7 1%
4K7 1%
A
D
C
B
A
A
D
C
B
A
SW_X
VDD_5V
GND
SJ9
C3
2
1
1
R12
100K
R11
100K
GND
STEP_X DIR_X
2
28
PCA9685PW
VSS
A0 A1 A2 A3 A4 A5
SDA LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8 LED9 LED10 LED11 LED12 LED13 LED14 LED15
6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22
27
8
2 7
VDD_5V
1 GND
2
100uF
A4988 Carrier
Dir
GND
VDD
1B Step
Sleep (inverted)
2A
MS3
1A
2B
MS2
Reset (inverted)
GND
MS1
Vmot
C4-SD-X VDD_12V
GND
SDA1 SDA2
4 5
PCA9306DCTR
2
SCL1 SCL2
EN
VREF1 VREF2
MENIC_I2C
MOTOR X
Enable (inverted)
GND
3 I2C2_SCL I2C_SCL_5V 6
VDD_3.3V
MOTOR_X
J5-4
J5-3
J5-2
4
3
STEP DRIVERS
4
4
3
VDD_5V
I2C_SDA_5V
R13
100K
J5-1
3
I2C2_SDA
HEATER_H HEATER_HTB HEATER_E HEATER_LED FAN0 FAN1 FAN2 FAN3
I2C_SDA_5V
I2C - MENIC UROVNI
GND
14
1 2 3 4 5 24
25
~OE SCL EXTCLK
VDD
PW M
PWM EXTENSION
ENABLE 23 I2C_SCL_5V 26
0.1uF
4
I2C1 PINOUT
R40
LED8 orange
5
VDD_5V
6
6
1
1
5
2
4 3
2
VDD_5V
ENABLE_X
1
2
6
SW_Y
GND
SJ10
VDD_5V 3 1
3
3
1
6 6 1 1
5 5
4 2
STEP_Y DIR_Y
2
4 3 2
5
VDD_5V
ENABLE_Y
64 3
Obr. C.2: Schéma zapojení expanzní desky - 2. část. Dir
GND
VDD
1B Step
Sleep (inverted)
2A
MS3
1A
2B
MS2
Reset (inverted)
GND
MS1
Enable (inverted)
Vmot
C5-SD-Y VDD_12V
100uF
MOTOR Y GND
A4988 Carrier
5
5
5
2
J10-4
J10-3
J10-2
J10-1
MOTOR_Y
6
6
6
A
D
C
B
A
A
D
C
B
A
4K7
1
GND
HEATER_HTB
MOSFET HTB
HEATER_E
MOSFET E
G=A H=B I=C J=D K=E L=F
2 4 6 10 12 15
GND
HEATER_LED
MOSFET LED
HEATER_H
MOSFET H
CD4050BD
VSS
NC_2 NC
A B C D E F
VCC
GND
ENDSTOP_Z1 ENDSTOP_Y1 ENDSTOP_X1
GND
GND GPIO1_6 GPIO1_2 TIMER4 TIMER5 GPIO1_13 EHRPWM2B
BEAGLEBONEPINOUT P8 GND GPIO1_7 GPIO1_3 TIMER7 TIMER6 GPIO1_12 GPIO0_26
3
3
1
GND
Q5 BUZ11
4.7uF
C10
GND
PORT LED
VDD_12V
GND
4.7uF
C12
GND
ENDSTOP_X2 ENDSTOP_Y2 ENDSTOP_Z2
GND
3
3
1
Q4 BUZ11
PORT H_H
VDD_12V
ENDSTOP_X1 ENDSTOP_Y1 ENDSTOP_Z1 ENDSTOP_X2 ENDSTOP_Y2 ENDSTOP_Z2
ENDSTOP_AUTOLVL DALLAS_MY
BEAGLEBONE BLACK PINOUT
2
GND
4.7uF
C11
X2-1
X2-2
1
GND
PORT HTB
X1-1
X1-2
2
1
Q3 BUZ11
4.7uF
C9
GND
VDD_12V
GND
Q1 BUZ11
PORT H_E
1
GND
1
VDD_12V
MOSFET DRIVERS
2
1
R8 4K
2
GND
8
13 16
GND ENDSTOP_X1_IN 3 ENDSTOP_Y1_IN 5 ENDSTOP_Z1_IN 7 ENDSTOP_X2_IN 9 ENDSTOP_Y2_IN 11 ENDSTOP_Z2_IN 14
0.
1
2K4
D
R7 R26 R32
R30
R9 4K7 R27 LED5 green R33 LED13 green
R37 2K4 R28
D2 D3
2K4 2 3
2K4 2 3
R29 R35
X4-1
X4-2
X3-1
X3-2
4
4
4
4 5
5
FAN2
FAN0
GND
FAN1
5
5
J2-2
J2-1
FAN3
PORT FAN2
VDD_12V
GND
Q2 BCW66H
GND
GND
Q6 BCW66H
J9-2
J9-1
PORT FAN0
VDD_12V
FAN DRIVERS
R38 LED4 orange
GND
6
6
J3-2
J3-1
PORT FAN3
VDD_12V
GND
Q8 BCW66H
GND
GND
Q7 BCW66H
J1-2
J1-1
PORT FAN1
VDD_12V
6
6
A
D
C
B
A
D
C
A
D
C
B
A
D
C
SJ9
VDD_5V
SW_X
GND
2
1
1
R12
100K
R11
100K
4
C2 MBRA340T3 MBRA340T3
2K4 R34 2K4 R31
4K7 4K7
2 3
4K7 4K7
2K4
D4 D5
2K4 2 3
LED6 green R36 LED7 green
R41 R43
MBRA340T3 MBRA340T3
4K7 4K7
2K4 2K4
R39 R45
R44 LED10 orange
4K7 4K7
2K4 2K4
5
VDD_5V 6 6 1 1
5
STEP_X DIR_X
2 2
4 3 3 6
3 1
1
1
GND
SJ3
VDD_5V
SW_H
R40 LED8 orange R42 LED9 orange
5 5 2
8
2 7
STEP_H DIR_H
1
GND
PC
2
2
SCL1 SCL2
EN
VREF1 VREF2
100uF
4
2
END STO
Dir
2
A4988 Carrier
Sleep (inverted) Step
10 C8-S VDD_12V
GND
Reset (inverted)
MS3
MS2
MS1
6
5
4
MOTOR H
Enable (inverted)
VDD_5V
GND
VDD_5
6
5
1B VDD
1A
Dir
Step
Sleep (inverted)
MS3 Reset (inverted)
GND
2A
MS2
Vmot
2B
MS1
SW_E
A4988 Carrier
C4-SD-X VDD_12V
GND
MOTOR X
Enable (inverted)
GND
3 I2C2_SCL I2C_SCL_5V 6
VDD_3.3V
MENI
I2C - MENIC
VDD_5V
2 2
6 1 1 3 1
ES_X1
4 4 3 3 1 2 3
DSTOP_X1_IN
ENABLE_H ES_Y1
ENABLE_X ENDSTOP P
1 2 3
DSTOP_Y1_IN
TLACITKA
ENDSTOP P
1 2 3
C
ES_Z1
65
NDSTOP_Z1_IN
Obr. C.3: Schéma zapojení expanzní desky - 3. část.
4K7
4K7
5
5
ND
FAN1
6
5
GND
GND
Q8 BCW66H
J3-2
J3-1
PORT FAN3
VDD_12V
6
FAN3
GND
GND
Q7 BCW66H
J1-2
J1-1
PORT FAN1
VDD_12V
6
6
5
J2-2
J2-1
PORT FAN2
VDD_12V
GND
Q2 BCW66H
ND
GND
Q6 BCW66H
J9-2
J9-1
PORT FAN0
VDD_12V
DRIVERS
R41
R43
R38
LED4 orange
2K4
2K4
R39
R45
R44
LED10 orange
4K7
4K7
2K4
2K4
A
D
C
B
A
D
A
D
C
B
A
D
GND
SJ9
VDD_5V
SW_X
2
1
R12
100K
R11
100K
1
5
VDD_5V
6
6
1
1
5
4
STEP_X DIR_X
2
2
6
3
1
1
1
GND
SJ3
VDD_5V
SW_H
R40
LED8 orange
R42
LED9 orange
2
8
2 7
STEP_H DIR_H
1 GND
100uF
4
Dir
2
GND
Vmot
GND
VDD
1B
1A
2A
2B
END STOPS
Dir
2
A4988 Carrier
Sleep (inverted) Step
100uF
C8-SD-H VDD_12V
GND
Reset (inverted)
MS3
MS2
1
6 1
2
3
3
2
1
GND
GND
SJ1
VDD_5V
2
3
GND
3
5
4
MOTOR H
Enable (inverted) MS1
GND
VDD_5V
6
5
1B VDD
1A
Step
Sleep (inverted)
2A
MS3 Reset (inverted)
GND
Vmot
2B
MS2
SW_E
A4988 Carrier
MOTOR_X
GND
100uF
3
5 2
STEP_Y DIR_Y
1
VDD_5V
J12-4
J12-3
J12-2
J12-1
MOTOR_E
GND
4
SJ6 GND
2
VDD_5V
STEP_Z DIR_Z
VDD_5V
12V-2
12V-1 12V POWER ATX
MOTOR Y
100uF
GND
2A
MS3
FUSE
F1
2K4
GND
Dir
5
VDD
1B Step
5
Sleep (inverted)
1A
2B
MS2
Reset (inverted)
GND
Vmot MS1
R25
A4988 Carrier
C6-SD-Z VDD_12V
GND
Enable (inverted)
Dir
MOTOR Z
1B VDD
1A
Step
Sleep (inverted)
2A
MS3 Reset (inverted)
GND
MS2
Vmot
2B
MS1
Enable (inverted)
A4988 Carrier
C5-SD-Y VDD_12V
100uF
GND
3
GND
3
VDD_5V
J10-4
VDD_12V
6
VDD_5V
J11-4
6
1
J11-3
J11-2
J11-1
MOTOR_Z
1
J10-3
J10-2
J10-1
MOTOR_Y
6
5
GND
6
5
red LED12
VDD_5V
12V POWER ATX
POWER IN
4
3
GND
4
GND
Dir
1B
Sleep (inverted) VDD
1A
Reset (inverted)
Step
2A
MS3
GND
MS2
Vmot
2B
MS1
Enable (inverted)
A4988 Carrier
C7-SD-E VDD_12V
GND
VDD_5V
SJ10
MOTOR EXTRUDER
4
4
3
VDD_5V
VDD_5V
1
J13-4
J13-3
J13-2
J13-1
MOTOR_H
STEP_E DIR_E
VDD_5V
J5-4
J5-3
J5-2
J5-1
STEP DRIVERS
3
2
MS1
Enable (inverted)
VDD_5V
I2C_SDA_5V
R13
100K
I2C2_SDA
3
C4-SD-X VDD_12V
GND
4 5
PCA9306DCTR
SDA1 SDA2
2
SCL1 SCL2
EN
VREF1 VREF2
MOTOR X
VDD_5V
VDD_5V
GND
3 I2C2_SCL I2C_SCL_5V 6
VDD_3.3V
MENIC_I2C
SJ8
4 3 3 5 2
6
1
1
3
1
ES_X1
5
I2C - MENIC UROVNI
ES_EF_LVL
4
2
4 3 3
1 2 3
DSTOP_X1_IN
ENABLE_H ES_Y1
2 3
SW_Y 2
SW_Z
C
ES_Z1
2
3 1 6
1 1 2 3
SJ2 6 1 1
3 1
ENABLE_E
6 6 1 1
5 2
4 3
2 4
ENABLE_Y ENABLE_Z
3
5 5 2 2
4 3 3
ENABLE_X ENDSTOP P
1 2 3
DSTOP_Y1_IN
ENDSTOP P
1 2 3
NDSTOP_Z1_IN
ENDSTOP P
SJ4 ENDSTOP
2 2
C
40T3
SJ7 SJ5
66 TOP_AUTOLVL
Obr. C.4: Schéma zapojení expanzní desky - 4. část.
A
D
C
B
A
D
C
Obr. C.5: Schéma zapojení expanzní desky - 5. část.
D
C
B
A
D
HEATER_HTB
2K4 R28
GND
DIR_H STEP_H
STEP_X ENABLE_X STEP_E
DIR_Y ENABLE_Y
ENDSTOP_Z1 ENDSTOP_Y1 ENDSTOP_X1
GND
1
GND
TERM_MORE TERM_HTB TERM_EXT2 R3 TERM_EXT1 ENABLE 4K7
I2C1_SCL I2C2_SCL ENABLE_Z DIR_Z
+3V3 VDD_5V
GND
GND VDD_3V3EXP VDD_5V SYS_5V PWR_BUT UART4_RXD UART4_TXD GPIO1_16 I2C1_SCL I2C2_SCL UART2_TXD GPIO1_17 GPIO3_21 GPIO3_19 SPI1_DO SPI1_SCLK AIN4 AIN6 AIN2 AIN0 CLKOUT2 GND GND
2
BEAGLEBONE_OUTLINE
P9
GND GPIO1_6 GPIO1_2 TIMER4 TIMER5 GPIO1_13 EHRPWM2B GPIO1_15 GPIO0_27 EHRPWM2A GPIO1_30 GPIO1_4 GPIO1_0 GPIO2_22 GPIO2_23 UART5_CTSN UART4_RTSN UART4_CTSN UART5_TXD GPIO2_12 GPIO2_10 GPIO2_8 GPIO2_6
BEAGLEBONEPINOUT P8
GND VDD_3V3EXP VDD_5V SYS_5V SYS_RESETN GPIO1_28 EHRPWM1A EHRPWM1B I2C1_SDA I2C2_SDA UART2_RXD UART1_TXD UART1_RXD SPI1_CS0 SPI1_DI VDD_ADC GNDA_ADC AIN5 AIN3 AIN1 GPIO0_7 GND GND
GND GPIO1_7 GPIO1_3 TIMER7 TIMER6 GPIO1_12 GPIO0_26 GPIO1_14 GPIO2_1 GPIO1_31 GPIO1_5 GPIO1_1 GPIO1_29 GPIO2_24 GPIO2_25 UART5_RTSN UART3_RTSN UART3_CTSN UART5_RXD GPIO2_13 GPIO2_11 GPIO2_9 GPIO2_7
R35 GND
4.7uF
C12
GND
D5 ENDSTOP_X2 ENDSTOP_Y2 ENDSTOP_Z2
GND
3
3
1
R36 LED7 green Q5 BUZ11
MBRA340T3
ENABLE_E VDD_ADC GND_ADC
GND
3
+3V3 VDD_5V
I2C1_SDA I2C2_SDA DALLAS_W1 STEP_Z
GND
ENABLE_H
DIR_X DIR_E
STEP_Y
ENDSTOP_AUTOLVL DALLAS_MY
BEAGLEBONE BLACK PINOUT
2
R32
1
GND
4.7uF
HEATER_LED
2K4 R31
R33
GND
D3
2
1
C11
MBRA340T3
1
GND
4K7
X4-1
4
4
4
FAN2 4K7 GND
R43
2K4 2 3
2K4 2 3
LED13 green Q3 BUZ11
X2-1
4K7
LED1 orang GND
5
5
4
3
2
1
GND
4K7
5
EEPROM
GND
A2
A1
A0
VCC
7
6
5
CAT24C256
~WC
SCL
SDA
EEPROM
VDD_3.3V
0.1uF8
C1
GND
FAN3
LED9 orang GND
Q8 BCW66H
R45
6
6
6
D
D
C
B
B
C
A
D
A
D
C 1
SW
1
PORT_TEP1
J6-1
J6-2
PORT_TEP0
J14-1
J14-2
1
1
GND
SJ3 STEP_H DIR_H
2 2
3
2
VDD_5V
1 3 1
ES_X1 ES_X2
C C8-S VDD_12V
2
END STO
Dir
Step
Sleep (inverted)
Reset (inverted)
MS3
MS2
MS1
2
A4988 Carrier Enable (inverted)
10K
4K7
4.7uF
C6
TERM_EXT1
4.7uF
C7
TERM_EXT2
R21
GND_ADC
R47
10K
GND_ADC
R46
R20
4K7
2
G
TER
G
TE
VDD_
THERMISTOR
ENDSTOP ENDSTOP
ENABLE ES_Y1 ES_Y2
Q2 BCW66H
J3-2
ENDSTOP ENDSTOP
J2-2
I2C2_SDA I2C2_SCL
ES_Z1 ES_Z2
3
1 2 3
ENDSTOP_X1_IN 1 2 3
ENDSTOP_X2_IN
1 2 3
ENDSTOP_Y1_IN 1 2 3
ENDSTOP_Y2_IN
1 2 3
ENDSTOP_Z1_IN 1 2 3
ENDSTOP_Z2_IN
C
VDD_3.3V
67
4K7
ND
LED1 orang
GND
5
5
4
3
2
1
GND
4K7
5
EEPROM
GND
A2
A1
A0
VCC
7
6
5
CAT24C256
~WC
SCL
SDA
EEPROM
VDD_3.3V
0.1uF8
C1
GND
LED9 orang
GND
6
6
6
D
C
B
A
D
D
C
B
A
D
1
1
SW
2
STEP_H DIR_H
A4988 Carrier
1
PORT_TEP1
J6-1
J6-2
PORT_TEP0
J14-1
J14-2
2
1
10K
GND
4.7uF
C7
TERM_EXT2
2
GND_ADC
TERM_MORE
R18
10K R48
4.7uF
C8
R22
R21
2
10K
4.7uF
C5
R19
GND_ADC
3
VDD_5V
4K7
GND_ADC
R47
C6 4.7uF
GND
4K7
TERM_HTB
VDD_ADC
ES_EF_LVL
4K7
GND_ADC
R46
TERM_EXT1
R20
4K7
THERMISTORS 10K
GND
END STOPS
2
Dir
VDD
1B
Step
1A
2A
MS3
Sleep (inverted)
2B
MS2
Reset (inverted)
GND
Vmot
MS1
Enable (inverted)
1
GND
SJ3
3
1
ES_X1
ES_X2
R43
2
ENDSTOP_X2_IN
FAN3
ENDSTOP ENDSTOP
R45
3
2
VDD_5V
ENABLE ES_Y1 ES_Y2
3
3
VDD_5V
J7-1
J7-2
3
PORT_TEP3
J8-1
J8-2
PORT_TEP2
GND
VDD_5V
1
J13-4
J13-3
J13-2
J13-1
MOTOR_H
STEP_Z DIR_Z
GND
4
GND
3.3V-2 3.3V POWER ATX
3.3V-1
3.3V POWER ATX
GND
5V-2 5V POWER ATX
5V-1
ENABLE_Z
12V POWER ATX
5V POWER ATX
12V-4
12V-3
12V-2
12V-1
12V POWER ATX
POWER IN
4
4
SW_Z SJ6 GND
2
VDD_5V
2 2
3
1 2 3
ENDSTOP_X1_IN 1 2 3
1 2 3
ENDSTOP_Y2_IN
3 3
C8-SD-H VDD_12V
ENDSTOP ENDSTOP
C
ES_Z1 ES_Z2
C
ENDSTOP_Z2_IN
ENDSTOP_Y1_IN 1 2 3
1 2 3
ENDSTOP_Z1_IN 1 2 3
ENDSTOP ENDSTOP
1 2 3
ENDSTOP_AUTOLVL
SJ4 ENDSTOP
1 1
3 1
Q8 BCW66H
J3-2
100uF
R25
2A
MS3
5
red LED1
red LED2
FUSE
F1
red LED12
2K4
R23
2K4
R24
2K4
GND
Dir
5
VDD
1B
Step
5
Sleep (inverted)
1A
2B
MS2
Reset (inverted)
GND
Vmot
MS1
Enable (inverted)
A4988 Carrier
C6-SD-Z VDD_12V
GND
GND
MBRA340T3 GND
MBRA340T3 GND
6
VDD_5V
J11-4
6
1
VDD_5V
VDD_12V
2
6
+3V3
2
VDD_3.3V 1 JP1
GND
3
J11-3
J11-2
J11-1
MOTOR_Z
SJ5
Q2 BCW66H
I2C2_SDA
I2C2_SCL
D1 D6 D7
68
MBRA340T3
J2-2
Obr. C.6: Schéma zapojení expanzní desky - 6. část.
D
C
B
A
D
C
Obr. C.7: Předloha desky plošných spojů spodní strana.
Obr. C.8: Předloha desky plošných spojů vrchní strana.
69
Obr. C.9: Osazovací plán spodní strany desky plošných spojů.
Obr. C.10: Osazovací plán vrchní strany desky plošných spojů.
70
D
UKÁZKY ZDROJOVÝCH KÓDŮ
Listing D.1: Ukázka kódu pro nastavení domácí pozice. def execute(self, g): if g.num_tokens() == 0: #Pokud G−Code neobsahuje zadne parametry g.set_tokens(["X0", "Y0", "Z0", "E0", "H0"])#Manualni nastaveni domaci pozice axis_home = [] for i in range(g.num_tokens()): #Nastaveni domaci pozice jednotlivym osam axis = g.token_letter(i) if self.printer.config.getboolean(’Endstops’,’has_’ + axis.lower()): axis_home.append(axis) self.printer.path_planner.wait_until_done() self.printer.path_planner.home(axis_home) logging.info("Homing done.") self.printer.send_message(g.prot, "Homing done.")
Listing D.2: Ukázka kódu pro vypnutí krokových motorů. def execute(self, g): logging.debug("Execute M18") self.printer.path_planner.wait_until_done() # Pokud G−Code neobsahuje zadne parametry, vypnou vsechny motory if g.num_tokens() == 0: g.set_tokens(self.printer.steppers.keys()) for i in range(g.num_tokens()): # Vypnuti vsech motoru axis = g.token_letter(i) # Nazvu motoru, X, Y, Z or E self.printer.steppers[axis].set_disabled() # Vypnuti
71
Listing D.3: Ukázka kódu pro krokové motory. def execute(self, g): if g.has_letter("F"): # Rychlost pohybu # Prevod z mm/minutu na mm/sekundu self.printer.feed_rate = float(g.get_value_by_letter("F")) self.printer.feed_rate /= 60000.0 g.remove_token_by_letter("F") smds = {} for i in range(g.num_tokens()): axis = g.token_letter(i) #Ziskani nove pozice value = float(g.token_value(i)) / 1000.0 if axis in (’E’, ’H’, ’A’, ’B’, ’C’) and self.printer.extrude_factor != 1.0: value ∗= self.printer.extrude_factor smds[axis] = value if self.printer.movement == Path.ABSOLUTE: path = AbsolutePath(smds, self.printer.feed_rate ∗ self.printer.factor, self.printer.accel) elif self.printer.movement == Path.RELATIVE: path = RelativePath(smds, self.printer.feed_rate ∗ self.printer.factor, self.printer.accel) else: logging.error("invalid movement: " + str(self.printer.movement)) return
72