Uživatelské nástroje

Nástroje pro tento web

Překlady této stránky?:

cs:designs:3dprint

3D tisk ve stavebnici MLAB

Technologie 3D tisku je v MLABu stále více využívána pro tvorbu nestandardních mechanických dílů. Nejčastěji jde o části přístrojů a mechanické adaptéry mezi různými jinak vzájemně nekompatibilními díly.

Navržené tisknutelné komponenty mají svoje zdrojové soubory uloženy v SVN databázi MLAB. Publikované verze dílů jsou také publikovány v MLAB organizaci na thingiverse.

Konstrukční části přístrojů

3D tisk byl v MLABu využit pro tyto přístroje a zařízení:

Mechanické adaptéry - Breakout Frame

Účelem breakout frame je umožnit použití jinak mechanicky nekompatibilních zařízení se stavebnicí MLAB. Jejich konstrukce je myšlena tak, že do základního bloku materiálu jsou vytvořeny díry pro šrouby se vzájemnou roztečí základní desky MLAB. Tyto otvory jsou opatřeny i šestihrany pro zafixování matky šroubu. Šroub tak může být pevně uchycen v adaptéru. Díry pro šrouby jsou zapuštěny do výšky ostatních MLAB modulů nad základní deskou, což umožňuje přišroubování breakout frame do základní desky stejně jako v případě obvyklého modulu MLAB.

Do původní kostky materiálu ze které je adaptér vytvořen jsou však připraveny i otvory pro uchycení potřebného zařízení přes jeho montážní úchyty (V těchto místech jsou pak vynechány pozice z MLAB mřížky). Uchycení zařízení přes montážní otvory je pak podobné jako uchycení breakoutframe do základní desky. Opět je v breakoutframe zespodu zacvaknuta matka a do ní se šroubuje šroub z vrchní strany přes montážní úchyt zařízení.

Při návrhu adaptéru snaha umožnit jiná zařízení montovat do breakoutframe pomocí standardních MLAB imbus šroubů rozměrů M3x12, které často využívané i konstruktéry jiných přístrojů. Návrh breakout frame se také snaží, aby co nejvíce využitého materiálu bylo na perimetrech konstrukce, neboť takto umístěný materiál má největší příspěvek k pevnosti. Proto jsou uprostřed breakoutframe umístěny otvory, které odebírají nepotřebný materiál.

Tisk breakoutframe

Protože je snahou umožnit tisk breakoutframe na většině 3D tiskáren, tak jeho konstrukce je optimalizována pro minimální technologické požadavky na kvalitu 3D tisku. Navržené breakoutframe lze pak tisknout i na amatérských 3D tiskárnách reprap.

Výplň dílů je obvykle 15% ve tvaru včelích pláství (honeycomb), která dobře kopíruje tvar šestihranných děr pro matice. Počet perimetrů je obvykle nastaven na 3. U částí které mají tenké stěny je dobré po slicování zkontrolovat napojení nejbližších stěn na sebe a případně upravit šířku extruze tak, aby došlo k horizontálnímu propojení extrudovaného materiálu.

Protože šestihran, do kterého se zespodu upevňuje matice montážních šroubů obsahuje most s otvorem, tak tento tvar musí být tištěn s pomocným materiálem v modelu. Technologický materiál v jedné tiskové vrstvě překrývá celý šestihran včetně díry pro šroub. Tento materiál pak umožňuje plánovači naplánovat tisk plného mostu přes všechny šestihrany. Následně je po vytištění pomocný technologický materiál jednoduše odstraněn protažením otvoru vrtákem ze spodní strany. Použitý průměr vrtáku je obvykle 3mm.

Raspberry Pi

Raspberry Pi má v MLABu také vlastní breakout frame.

Hardkenel ODROID

Ve stavebnici MLAB je navržena sada adaptérů pro tyto ARM počítače ODROID.

3D tiskárna bez firmware - 3DPRINT01A

Pokus o profesionální verzi RepRapu. Remake klasického mechanického paskvilu RepRap do profesionální podoby s ohledem na mechanické konstrukční parametry, jako je tuhost, přesnost a vyrobitelnost, replikovatelnost. Původním plánem byl RepRap postavený ze stavebnice Merkur - Tato stavebnice je však dnes natolik předražená a zastaralá, že o jejím použití nelze uvažovat.

Odlišnost přístupu

Většina dnešních 3D tiskáren obsahuje firmware, který přímo interpretuje G-kód, který tiskárna obvykle přijímá přes seriovou linku. Tento koncept značně limituje technické možnosti tiskárny, neboť zpracování G-kódu je algoritmicky poměrně náročný problém a tiskárna navíc musí řešit aritmetické problémy týkající se řízení krokových motorů. (Krokové motory jsou obvykle řízeny sekvencí pulzů a ovládáním směru. Tento princip řízení proto navíc potřebuje velmi přesné časování pro zachování přesnosti pohybu.) Tiskárna proto musí obsahovat poměrně výkonný a tím pádem i relativně drahý mikrokontroler, který tyto problémy řeší. Ovšem díky sekvenčnímu přístupu ke G-kódu je znemožněno jakékoli pokročilé plánování pohybu, protože není možné pracovat při vykonávání části Gkódu s následujícími příkazy, které mají být vykonány v budoucnu. Není tak možné optimalizovat ani rychlosti přejezdů.

Alternativním přístupem je přesunout co největší množství výpočetních operací do nadřazeného řídícího systému. Takovým řídícím systémem může být v dnešní době některý ARM počítač. Na něm pak bude běžet softwarová interpretace Gkódu např. LinuxCNC, která bude přímo kontrolovat hardware. Hardware tiskárny musí být však koncipován tak, aby vyřešil absenci real-time ovládání. To vyžaduje hlavně použití vhodných budičů krokových motorů, které ovládají samostatně rychlost otáčení motoru. Takové budiče krokových motorů by pak bylo možné ovládat i přes rozhraní s nižší datovou propustností, jako je například i2c, což by přineslo možnost rozvedení sběrnice po celé tiskáně a bylo by možné připojovat další snímače. např. absolutní odměřování.

Zpětná vazba

  • Měření absolutní pozice vozíku na pojezdech
  • Moment na krokových motorech
  • Hmotnost tištěného předmětu

Fail safe systém

U současných konstrukcí 3D tiskáren není bezpečné je nechávat bez dozoru. Neboť obsahují tepelné zdroje, které mohou v nejhorším případě způsobit požár (v přípdě poškození termistoru/termočlánku). Nastávají však i některé méně kritické mimořádné události na které je nutné během tisku reagovat.

  • Utržení výrobku od podkladové desky
  • Utržení vrstvy tisknutého předmětu
  • Přeskočení zubů řemenu
  • Poškození budiče motoru.

Bylo by proto vhodné tyto události v řídícím systému detekovat a zabránit dalším možným škodám. K tomu je však potřeba do konstrukce přidat čidla. V případě vysokých požadavků na samostatnost systému i nějaké zařízení schopné uvést tiskárnu do Fail safe režimu.

Podloužení Střední doby mezi poruchami

Běžně dostupné 3d tiskárny mají dnes velmi krátké MTBF. Je to však jeden z parametrů, které je nutné zlepšit.

OctoPrint

sudo apt install virtualenv
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint/
virtualenv venv
./venv/bin/python setup.py install

Spuštění Octoprintu pak provedeme následovně:

./venv/bin/octoprint

Převzato ze stránek octoprint.org

Připojení kamery

Kamera by měla nejlépe podporovat formát MJPG, který potřebuje nejmenší HW nároky. Je možné použít i kameru s jiným výstupním formátem dat, avšak je potřeba počítat s výšším vytížením CPU. Na ODROID-C1 webkameru zprovozníme následujícím postupem.

sudo apt-get install libv4l-dev libjpeg-dev
sudo ln -s /usr/include/libv4l1-videodev.h   /usr/include/linux/videodev.h 
git clone https://github.com/Trouffman/mjpg-streamer-odroid.git
cd cd mjpg-streamer-odroid/mjpg-streamer/
export LD_LIBRARY_PATH=.
make clean all
mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"

LinuxCNC

Kompilace v Ubuntu 14.04

Ne jprve je potreba nainstalovat zavislosti

sudo apt-get install tk-dev tcl-dev libmodbus-dev bwidget libtk-img tclx python-tk libboost-python-dev python-opengl libglib2.0-dev libgtk2.0-dev autoconf libreadline-dev libxmu-dev libusb-1.0-0-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev libreadline-gplv2-dev
git clone https://github.com/MLAB-project/linuxcnc.git
cd linuxcnc/src
./autogen.sh
./configure --with-realtime=uspace

Po úspěšné konfiguraci můžeme spustit kompilaci přikazem

make -j2
sudo make setuid
cd ..
. scripts/rip-environment

Pak můžeme linuxCNC spustit

linuxcnc

Nastavení přístupových práv

Ve složce /etc/udev/rules.d vytvoříme soubor 80-linuxcnc.rules s následujícím obsahem:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

KERNEL=="spidev*", SUBSYSTEM=="spidev", GROUP="spi", MODE="0660"

Machinekit

Machinekit je vyvojova vetev linuxcnc.

sudo apt-get install uuid-runtime libprotobuf-dev python-protobuf liburiparser-dev libssl-dev uuid-dev python-pyftpdlib libczmq-dev protobuf-compiler libjansson-dev libwebsockets-dev libavahi-client-dev
git clone https://github.com/machinekit/machinekit.git
git clone git://git.libwebsockets.org/libwebsockets
cd 

Zatím však nejde přeložit na jiných linuxových distribucích, než Debian Wheezy.

Další možnosti použití

Při vylepšení tiskárny nad dnešní standardní úroveň 3D tisku a přidání dalších nástrojů by bylo teoreticky možné 3D tiskárnu využít v následujících případech.

Výroba kompozitních materiálů

Vytištěním tkaninové kostry za pomoci 3D tiskárny by bylo možné vytvářet kompozitní konstrukce dosud nerealizovatelných parametrů díky limitům kladby tkaniny případně přímého tkaní. Při tisku tkaniny přímo na povrch kopita by pak mohly být použita vlákna, která mají nižší ohebnost za běžné teploty, než vlákna ve tkaninách používaná v běžných kompozitech.

Obě tyto technologie 3D tisk a konstrukce z kompozitních materiálů se budou v budoucnu dobře doplňovat.

Výroba prostorových spojů

Plošným spojům by za použití 3D tisku mohl přibýt nový rozměr. Zvláště pokud by se zkombinovala technologie SLS s fotocitlivou pryskyřicí. Pryskyřice by se pak dala použít jako materiál pro podpůrnou kostru. A sintrované kovové materiály pro vytváření vodivých cest. Zdrojový materiál pro výrobu prostorových spojů by pak byla suspenze kovových šupin ve fotocitlivě tvrdnoucím tavidle.

Elektronické součástky by pak mohly být osazovány již během výroby prostorových spojů do připravených dutin.

Homogenní komponenty

Při použití stojatého vlnění by ultrazvukovým tavením bylo možné vytváření komponentů z homogenního práškového materiálu. Materiál modelu by se pak tavil v místě kmiten. Pozicí uzlů a kmiten v tiskovém prostoru by se pak vytvářel model.

Značení vytištěných komponent

Nepatrnou změnou tloušťky každé vrstvy by při tisku bylo možné model označit. Tloušťka změny vrstvy by musela být tak nepatrná, aby nebyla problematická vzhledem k přesnostem tisku. Kód použitý pro změnu tloušťky vrstev by navíc měl být symetrický, aby přes součet vrstev dával chybu, která je menší, než nepřesnost tisku.

Údaje, které by v kódu měly být jsou:

  • Reálný čas
  • Identifikace G-kódu
  • Identifikace tiskárny

Tiskárna MLAB-3Dprinter s Octoprint rozhraním

Zdrojová data k celé tiskárně jsou umístěna v repozitáři na githubu. Kde jsou i konfigurace tiskárny dalšího potřebného software.

Tiskárna je také vybavena počítačem odroid C1, nebo Raspberry Pi 3 na kterém běží tiskový server Octoprint.

Firmware tiskárny

Zdrojové kódy firmwaru společně s jeho konfigurací si lze vygenerovat webovým konfigurátorem repetier.com. Pro usnadnění práce je možné využít přednastavení parametrů, tím že do webového konfigurátoru nahrajeme Configuration.h z repozitáře tiskárny.

Po průchodu webovým průvodcem a zadáním požadovaného nastavení je možné si stáhnout archiv s firmwarem, který pak lze přeložit v Arduino IDE a nahrát do tiskárny.

Upravený konfigurační soubor, který konfigurátor připraví je pak vhodné si uložit do vlastního forknutého repozitáře tiskárny.

Slic3r - převod tělesa na G kód

Je potřeba nainstalovat poslední verzi, dle návodu na stránkách programu. Slouží pro generování G kódu, který je následně možné poslat k tisku na této 3D tiskárně.

Configurační soubor pro tuto tiskárnu ke stažení v repozitáři.

Do sekce Settings/Print Settings/Custom G-code/ Start G-code vložit:

 G28 X0;
 G28 Y0;
 G1 Z0.7;
 G92 E0.0 ; reset extruder

Printrun - tisk z G kódu a ladění

Pro tisk již vygenerovaného G-kódu nebo ladění tiskárny je vhodný program Printrun.

Je potřeba si stáhnout repozitář z git a následně je možné program spustit následujícím příkazem:

 python pronterface.py

OctoPrint - tisk v síti

Pro připojení tiskárny do sítě je dobré nainstalovat na Raspberry Pi 3 program OctoPrint. Není nutné po dobu tisku mít připojené své PC.

V lokální síti je možné se připojit k tiskárně přes odkaz: http://octopi.local/

Po instalaci je standardně nastaven uživatel jako admin a heslo admin.

Postup tisku po přihlášení:

  1. Připojit se k dané tiskárně (Connection)
  2. Kalibrace osy Z. V nabídce Temperature nastavit teplotu 215 stupňů a počkat až bude teploty dosaženo. V nabídce Control dát u X/Y příkaz pro posun tiskové hlavy do domovské polohy (znak domku). Je potřeba v ose Z být s tiskovou hlavou cca 10 mm nad podložkou. V nabídce Terminal do příkazové řádky zadat příkaz “G32 S2” (bez uvozovek). Dojde ke kalibraci.
  3. Následně ověřit správnost nastavení příkazem G1 Z0 - přejede do nulové pozice v ose Z. Pokud je vše v pořádku pod tiskovou hlavu se vejde kancelářský papír.
cs/designs/3dprint.txt · Poslední úprava: 2021/02/03 11:43 autor: jacho