• No results found

Konstruktion av en Binder Jetting 3D-skrivare

N/A
N/A
Protected

Academic year: 2021

Share "Konstruktion av en Binder Jetting 3D-skrivare"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

TVE-F 18012

Examensarbete 15 hp

Juni 2018

Konstruktion av en Binder Jetting

3D-skrivare

(2)

Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student

Abstract

Konstruktion av en Binder Jetting 3D-skrivare

Andreas Sving, Erik Hållström, Oscar Larsson, Sari Shaybany

Projektet gick ut på att montera ihop en Binder Jetting 3D-skrivare som är en del av ett större projekt med syfte att framställa individanpassade läkemedel inom sjukvården. Skrivaren fungerar genom att om vartannat applicera tunna skikt pulver och bindemedel. Under konstruktionen av skrivaren tillverkades ett Boost-Demultiplexer kretskort, skrivarens chassi monterades; varpå bland annat axlar, matarkolvar och byggkolvar, spridare och motorer fästes. Slutligen drogs

elektronik mellan de olika komponenterna och inställningar gjordes i både firmware och mjukvara.

För att testa skrivaren skrevs en kalibreringskub med måtten 20x20x20 mm ut, först utan pulver på ett pappersark för att avgöra om skrivarhuvudets rörelse var korrekt, sedan i 3D med gips i pulverform och skrivarbläck som bindemedel. Från utskriften på papper framgick det att skrivarhuvudet rör sig som önskat, däremot höll inte 3D-utskriften ihop. Detta förklaras med att bläcket inte band ihop gipset tillräckligt bra. Dock bekräftades att både matarsystemet och skrivytan rör sig som tänkt, eftersom skrivytan rört sig nedåt lika långt som utskriften krävde. Med ett lämpligare bindningsmedel antas därför skrivaren vara fullt funktionell, även om ingen konkret slutsats kan dras från testutskrifterna.

(3)

Populärvetenskaplig sammanfattning

Framtidens läkemedel inom sjukvården är på framfart genom individanpassade tabletter. För att ge patienten rätt dos läkemedel baserat på personliga förut-sättningar som ålder, kroppsvikt och andra eventuella faktorer kan tabletter med anpassad storlek skrivas ut med hjälp av en 3D-skrivare. I detta projekt har stu-denter på Ångströmlaboratoriet i Uppsala monterat och installerat en 3D-skrivare som med ett fungerande bindemedel har goda förutsättningar att skriva ut objekt i pulverform.

(4)

Innehåll

Populärvetenskaplig sammanfattning I 1 Introduktion 1 1.1 Bakgrund . . . 1 1.2 Målsättning . . . 1 2 Teori 2 2.1 Binder Jetting skrivare . . . 2

2.2 Arduino Megatronics v3.0 . . . 3

2.3 Boost-Demultiplexer kretskort . . . 3

2.3.1 Demultiplexer . . . 4

2.3.2 Darlingtonpar . . . 5

2.3.3 Relä och strömförsörjning . . . 6

2.4 Firmware och mjukvara . . . 6

2.4.1 Firmware . . . 6

2.4.2 Geometric Code och Plan B kod . . . 6

2.4.3 Mjukvara . . . 7 2.5 Motorer . . . 7 2.6 Värmebädd . . . 8 2.7 Nätaggregat . . . 9 3 Metod 9 3.1 Tillverkning av kretskort . . . 9 3.2 Montering av skrivaren . . . 12

3.2.1 Chassi och övriga delar . . . 12

3.2.2 Installation av värmebädd . . . 15

3.2.3 Installation av Arduino . . . 16

3.2.4 Dragning av elektronik . . . 16

3.2.5 Installation av motorer och drivers . . . 17

(5)

1 Introduktion

1.1 Bakgrund

Detta projekt är en del av ett större projekt som är ett samarbete mellan Institu-tionen för teknikvetenskaper, Biomedicinskt Centrum och Akademiska Sjukhuset i Uppsala. Syftet med det större projektet är att skriva ut individanpassade ta-bletter där storleken justeras för att anpassa dosen. Den främsta målgruppen för dessa läkemedel är barn som ofta kräver mindre doser än de som finns i färdiga tabletter. För att undvika att dela på tabletterna ska därför läkemedelstabletter skrivas ut med anpassningsbar storlek.

Vår uppgift var att konstruera en 3D-skrivare designad av en ingenjör från Neder-länderna, Yvo de Haas. Skrivarens namn är Plan B och är av Binder Jetting-typ, även känt som 3DP-printing. 3DP-printing opererar genom att applicera tunna lager av pulver om varannat med bindemedel. En bläckpatron sprutar ut bin-demedlet i tunna strålar enligt det önskade mönstret, binbin-demedlet kan bytas ut genom att tömma patronen och fylla den med önskat bindemedel. Under hela utskriftens gång värms pulverbädden underifrån för att bindemedlet ska binda pulvret bättre. Instruktioner angående skrivarens montering samt en fullständig materiallista finns tillgänglig på Yvo de Haas hemsida1.

En fördel med en Binder Jetting-skrivare jämfört med en filamentskrivare av ty-pen fused deposit modeling (FDM) är att inkjet-teknologin i bläckpatronen hos en Binder Jetting skrivare ofta har högre upplösning än en FDM skrivare. Vida-re elimineras behovet av stöd för utskriften eftersom att varje lager av objektet har stöd av det omkringliggande pulvret. Dessutom kan det kvarvarande pulvret i matningsbehållarna efter utskriften återanvändas vid ett senare tillfälle. Nackde-larna med Binder Jetting är att det är svårt att hålla rent runtomkring skrivaren, samt att ihåligheter i utskriften innehåller pulver som måste tömmas efter att utskriften är klar.

De metalldelar som krävs för att montera skrivarens chassi är utskurna i alu-minium och därefter eloxerade. Plastdelarna är utskrivna i PLA plast med en vanlig 3D-skrivare. I projektet ingår att konstruera två kretskort, montera chassit, dra sladdar som kopplar samman elektroniken och konfigurera en Arduino Mega-tronics v3.0 som styr skrivaren. För att förbereda en 3D-modell för utskrift görs inställningar i programmet Slic3r och konverteras sedan till Geometric Code (G-code). Den konverteras sedan till en specialanpassad kod för Plan B med hjälp av en konverterare skapad av Yvo de Haas.

1.2 Målsättning

Målet med projektet är montera och installera en pulver-3D-skrivare av Binder Jetting-typ och sedan göra testutskrifter där precisionen undersöks.

(6)

Precisionen på utskrifterna kontrolleras för att avgöra om skrivaren är lämpad till vidare tester av individanpassade läkemedelstabletter inom sjukvården eller ej.

2 Teori

2.1 Binder Jetting skrivare

Skrivaren som byggs i detta projekt är av Binder typ. Binder Jetting-skrivare arbetar med tunna pulverlager som binds ihop i önskat mönster med ett bindemedel som sprutas ut från ett inkjet-skrivarhuvud. Hur en generell Binder Jetting skrivare ser ut syns i figur 1 nedan.

Figur 1: Schematisk bild av en generell Binder Jetting skrivare2.

Innan utskriften påbörjas fylls matarbehållaren med pulvret som utskriften till-verkas i. Sedan appliceras pulvret i ett tunt lager över skrivytan med hjälp av spridaren. Patronen på skrivarhuvudet sprutar ut bindemedlet i det mönster som önskas för första lagret av utskriften. Därefter appliceras ett nytt lager pulver över skrivytan; skrivarhuvudet sprutar ut bindemedlet för lager två och detta fortskri-der tills utskriften är klar. Efter varje lager rör sig skrivytan nedåt med ett lagers tjocklek samtidigt som matarbehållaren rör sig lika mycket uppåt. Varje lager byggs på det tidigare utan något behov av stödstrukturer eftersom pulvret agerar som stöd åt utskriften. Under hela utskriften värms både matarbehållaren och skrivytan underifrån för att bindemedlet ska binda ihop pulvret mer effektivt. Eftersom att skrivarhuvudet har flera munstycken och inga externa stöd för utskrif-ten krävs, så är processen ofta snabbare jämfört mot andra typer av 3D-skrivare.

(7)

Binder inte bindemedlet tillräckligt bra med pulvret måste utskriften behandlas i efterhand för att stärka hållfastheten, vilket kan motverka tiden som sparats genom att använda Binder Jetting-skrivaren från början.2 Specifikt för Plan B är att det finns två matarbehållare, en på vardera sida av skrivytan. De två matarbehållarna växelverkar och rör sig uppåt och nedåt om vartannat.

2.2 Arduino Megatronics v3.0

Skrivaren styrs med ett Arduino Megatronics v3.0-kort som har stöd för de sex motorerna med tillhörande endstops, LCD-skärmen, knappsatsen och värmebäd-den samt dess termistor. På Megatronics v3.0 finns även en inbyggd SD-kortläsare, något som inte finns på alla Arduino. Firmware laddas upp på Arduinon via USB-kontakten till vänster om SD-kortläsaren, vilket syns i figur 2.

Figur 2: Arduino Megatronics v3.0 med ingångar utmärkta och drivers och kyl-flänsar monterade3.

2.3 Boost-Demultiplexer kretskort

Boost Demultiplexer kretskortet som tillverkats har två syften, att omvandla spän-ningen från nätaggregatet från 12V till 20V, samt att avkoda fyra bitar som skickas från Arduino till 16 bitar som styr bläckpatronens munstycken.

(8)

Spänningen omvandlas då nätaggregatet som används ger ut maximalt 12V, men patronen kräver en spänning på 20V. Spänningsomvandlingen skapas med kon-densatorer, motstånd och en regulator av typen MC34063A. Detta sker överst till vänster på kretskortet, enligt figur 3. Signalen från Arduinon kopplas till 2x4 stiften längst ned till vänster på kortet och kopplas vidare via 16 stifts-kontakten längst ner till höger på kortet till det mindre kretskortet. Det mindre kretskortet som syns i figur 3 fungerar således enbart som en kontakt mellan Boost-Demultiplexer kretskortet och skrivarhuvudet. Det består av två kontakter, en för flatkabeln som går till skrivarhuvudet och en 16 stifts-kontakt som förbinder de två kretskorten.

Figur 3: Det färdiga Boost-Demultiplexer kretskortet 2.3.1 Demultiplexer

(9)

Utöver de 20 nämnda kanalerna finns en kanal ¯E som slår av eller på hela kretsen. Vilken kombination av bitar in som motsvarar varje kanal ut kan avläsas i tabell 1. Det är denna avkodning som svarar mot demultiplexer-delen i namnet Boost-Demultiplexer.

Tabell 1: Sanningstabell för en CD74HC4067-demultiplexer som redovisar kombi-nationen av bitar in som avkodas till vilken utgång4.

S0 S1 S2 S3 E Utgång X X X X 1 -0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 2 1 1 0 0 0 3 0 0 1 0 0 4 1 0 1 0 0 5 0 1 1 0 0 6 1 1 1 0 0 7 0 0 0 1 0 8 1 0 0 1 0 9 0 1 0 1 0 10 1 1 0 1 0 11 0 0 1 1 0 12 1 0 1 1 0 13 0 1 1 1 0 14 1 1 1 1 0 15

Skrivarhuvudet som används är HP C6602A, vilket är skrivarhuvudet till en vanlig inkjet-skrivare. HP C6602A har 12 munstycken för bindemedlet. Det finns 16 olika kanaler ut från demultiplexern, detta innebär att fyra av dem inte är kopplat till något munstycke. Eftersom minst en av kombinationerna måste medföra att inget munstycket är aktivt, så är demultiplexerns högsta kapacitet 15 munstycken. 2.3.2 Darlingtonpar

De två kvarvarande integrerade kretsarna på kretskortet är identiska och består av åtta darlingtonpar vardera. Varje kanal ut från demultiplexern har varsitt dar-lingtonpar. Darlingtonparens funktion är enbart att förstärka strömmen till skri-varhuvudet.

(10)

2.3.3 Relä och strömförsörjning

De två gröna kontakterna i nedre delen av kortet, samt komponenten till höger om dem som syns i figur 3 är till strömförsörjningen, en säkerhetskoppling till Arduino samt ett relä. Reläets funktion är att skydda motstånden i patronen från att brinna upp genom att begränsa längden av strömpulserna till maximalt 5 µs5. När skrivaren inte ska spruta ut bindemedlet slår reläet av, då blir spänningen över skrivarhuvudet 0V. När skrivarhuvudet ska spruta ut bindemedel slår reläet på, då år spänningen över skrivarhuvudet återigen 20V.

2.4 Firmware och mjukvara

2.4.1 Firmware

Arduinon styrs av firmware som är skriven av de Haas och finns att hämta på hemsidan6. Firmwaren är skriven i Arduinos egna utvecklingsmiljö Arduino IDE7, vilket är baserad på programspråket Java. I firmwaren görs inställningar gällande motorernas hastighet i olika riktningar, samt antal steg per millimeter.

2.4.2 Geometric Code och Plan B kod

Geometric Code (G-code) är en metod för att ge instruktioner till en 3D-skrivare angående skrivarhuvudets rörelser. Rörelsekommandona är koordinatbaserade och mängden bindemedel kan också regleras. För att skrivaren ska använda sig utav samtliga 12 munstycken måste G-code omvandlas till en speciell Plan B kod. Precis som för G-code är även Plan B kod koordinatbaserad för skrivarhuvudets rörelse. Däremot är inte mängden bindemedel reglerbart. Varje munstycke är antingen av eller på. Dessutom finns kommandona D0 och D1 som instruerar spridaren att sprida ut ett nytt lager pulver. D0 betyder att spridaren ska flyttas i negativ riktning, medan D1 motsvarar förflyttning i positiv riktning. Exempel på skillnader mellan G-code och Plan B-kod för samma utskrift visas i figur 4.

5http://nicholasclewis.com/projects/inkshield/theory/ 6http://ytec3d.com/plan-b-firmware/

(11)

(a) (b)

Figur 4: I (a) visas ett exempel på G-code och i (b) motsvarande Plan B kod. X, Y och Z är i båda alternativen koordinater på skrivytan som beskriver hur skrivarhuvudet ska röra sig. E-kommandona i G-code betyder extrude och talar om för skrivaren att spruta ut bindemedel. Motsvarande Plan B-kod talar om vilka av de 12 munstycken N0 till N11 som ska spruta ut bindemedel.

2.4.3 Mjukvara

En 3D-utskrift kan skapas genom att en digital 3D-modell konverteras så firmwaren kan tolka modellen. Detta sker i flera steg. Först skapas en 3D-modell i ett CAD-program. Därefter modifieras och konverteras modellen till G-code i Slic3r8. Slic3r har inställningar för bland annat utskriftens lagertjocklek, storleken på skrivytan, samt skalan på utskriften. Firmwaren i skrivaren kan läsa av G-code, men då utnyttjas endast ett av de 12 munstycken som finns tillgängliga. För att utnyttja samtliga munstycken måste modellen konverteras till Plan B-kod. Detta sker med ett program skrivet av de Haas, vid namn Plan B Converter. Filtypen för Plan B-kod är .txt.

2.5 Motorer

Motorerna som används för att driva skrivarens axlar är stegmotorer av typen NEMA-17 och tar 200 steg per varv, vilket motsvarar 1.8°. Noggrannheten i mo-torernas steg kan justeras med stepper drivers, dessa tillåter motorerna att ta bråkdels steg. De stepper drivers som används är av modellen A4988 och tillåter motorerna att ta hela, halva, fjärdedels, åttondels eller sextondels steg.

(12)

Figur 5: En stepper driver av modellen A4988.

Steglängden justeras med tre stift på drivern, MS1, MS2 och MS3 som syns i figur 5. Precis som för demultiplexern får stiften antingen en logisk etta eller en logisk nolla. Resultatet för respektive kombination avläses i tabell 2.

Tabell 2: Sanningstabell för steglängden hos en A4988 driver 9. MS1 MS2 MS3 Steglängd 0 0 0 Hela 1 0 0 Halva 0 1 0 Fjärdedels 1 1 0 Åttondels 1 1 1 Sextondels

På dessa drivers finns även en trimpotentionmeter som bestämmer strömmen som går genom motorerna. Inkorrekt ström genom motorerna medför en risk att tappa steg när skrivaren körs. Strömmen genom motorerna som används ska vara ungefär 2.5A för att inte tappa steg. Oavsett om strömmen är korrekt eller inte finns risken att tappa steg om motorerna körs med för höga hastigheter. För att motorerna ska veta när de nått ändläget av skrivaren finns sex stycken end-stops monterade, ett för varje motor. En liten metallflagga monterad längs varje axel och kolv passerar in i end-stoppet vilket ger Arduino en signal till motorn att stanna.

2.6 Värmebädd

För att effektivare binda pulvret och bindemedlet används en värmebädd. Vär-mebädden värms av värmeresistorer som fästs på undersidan av skrivytan och matarbehållarna. Motstånden är av storleken 2.2⌦ och ger en effekt på 25W. Ef-tersom motstånden är inneslutna i aluminiumskal ökar värmeledningsförmågan mellan motstånden och metallplattorna.

(13)

Temperaturen styrs genom att reglera strömmen genom motstånden. En termis-tor med resistansen 100k⌦ fästs på undersidan av skrivytan för att kontrollera värmen.

2.7 Nätaggregat

Skrivarens strömförsörjning ges av ett nätaggregat som visas i figur 6. Nätaggre-gatet levererar 12V och strömmar mellan 0A och 20A. Det finns nio ingångar på nätaggregatet. Tre av dem kopplas till vägguttaget och motsvarar live, neutral och jord. De övriga sex består av tre jord och tre plus vilket betyder att det finns totalt tre utgångar eftersom både matning och jord krävs för alla anslutningar.

Figur 6: Nätaggregatet som använts till att driva skrivaren10.

3 Metod

Vid monteringen av skrivaren tillverkades först ett Boost-Demultiplexer-kretskort samt ett mindre kretskort som endast består av två kontakter. Därefter monterades chassits delar och de 3D-utskrivna delarna ihop. Sist drogs elektroniken mellan Arduino, nätaggregatet och komponenterna som krävde strömförsörjning.

3.1 Tillverkning av kretskort

Vid tillverkningen av skrivarens Boost-Demultiplexer kretskort tillverkades först ett mönsterkort, det vill säga ett kretskort utan komponenter. Det önskade led-ningssystemet skrevs ut på ett fotopappersark med en vanlig laserskrivare. Led-ningssystemet för kretskortet, designat av de Haas, syns i figur 7.

(14)

Figur 7: Mall av det önskade ledningssystemet3.

Efter ledningssystemet skrivits ut på ett fotopapper skars det ut en glasfiberskiva med ett tunt kopparlager på ena sidan i matchande storlek. Kopparytan rengjor-des med Svinto, en stålull med såpa, för att avlägsna eventuella fingeravtryck. Ledningssystemet laminerades på den rengjorda kopparytan och fotopappret togs sedan bort med ljummet vatten och tvål, så att bara tonern blev kvar på skivan. Den laminerade skivan placerades i etsningsbad med natriumpersulfat som het-tades upp för att påskynda etsningsprocessen. Under etsningsprocessen löstes all koppar som inte täcktes av tonern upp, vilket resulterade i att bara den koppar längs det önskade ledningssystemet blev kvar. Kortet avlägsnades från etsnings-badet omgående efter oskyddad koppar frätts bort. Detta så att ledningssystemet inte skulle frätas bort underifrån. Tonern avlägsnades efter etsningen med aceton. Etsningsprocessen och det färdigetsade mönsterkortet ses i figur 8.

(a)

(b)

(15)

Efter etsningsprocessen borrades hål för komponenternas ben i mönsterkortet, varpå ledningssystemet förtennades för att undvika oxidation av kopparen. Vid förtenningen av kopparen applicerades först ett flussmedel, för att tennet skul-le binda till kopparen lättare. Slutligen ströks lödtenn över skul-ledningarna med en lödkolv. Det borrade och förtennade mönsterkortet ses i figur 9.

Figur 9: Mönsterkortet efter borrning och förtenning.

Med mönsterkortet färdigt löddes komponenter fast enligt instruktionen3. Kom-ponenterna som löddes fast på Boost-Demultiplexer-mönsterkortet var kondensa-torer, motstånd, en spole, dioder, en lysdiod, ett relä, diverse kontakter, tre typer av integrerade kretsar som innefattar en regulator, en demultiplexer och två styc-ken uppsättningar av åtta darlingtonpar. På det mindre mönsterkortet löddes en 16-stifts-kontakt och en flatkabelskontakt fast. De färdiga kretskorten kan ses i figur 3.

(16)

3.2 Montering av skrivaren

Vid montering av skrivaren skruvades först alla de mindre 3D-utskrivna delarna ihop enligt instruktion11 till större delar så som kolvar, spridare, x-axel och y-axel. Många av de 3D-utskrivna delarna behövde filas för att skruvarna och muttrarna som användes för att hålla ihop delarna skulle få plats, något som kunnat åtgärdats med en mer noggrann skrivare när delarna skrevs ut. Slutligen monterades de eloxerade aluminiumdelarna ihop till skrivarens chassi och de övriga delarna fästes på chassit. Hur axlarna på skrivaren är definierade kan ses i figur 10.

Figur 10: Schematisk bild av skrivaren sedd ovanifrån med axlarnas riktningar ut-märkta, den mittersta plattan motsvarar Build-kolven och de två mindre plattorna motsvarar Feed 1- och Feed 2-kolven12.

3.2.1 Chassi och övriga delar

De första större komponenter som monterades ihop var kolvarna. Dessa krävde att motorerna var inkopplade för att kunna fästas i chassit. Detta på grund av att de gängade stängerna i mitten av varje kolv inte går att att skruva i för hand. De släta stängerna med diametern 8 mm som sitter i kolvarna sågades och svarvades till 195 mm. De tre färdiga kolvarna ska sitta under matarbehållarna och skrivytan och kan ses i figur 11.

(17)

Figur 11: De färdigställda kolvarna. De två mindre kolvarna driver matarbehållar-na och den större driver skrivytan.

(18)

(a)

(b)

Figur 12: Figuren visar (a) chassits stomme, (b) chassits inre ram.

(19)

När chassit var färdigmonterat fästes axlarna och spridaren. Därefter drogs bälten för att motorerna skulle driva axlarnas rörelse. I figur 14 visas skrivaren från sidan och ovanifrån innan kolvarna monterats.

(a) (b)

Figur 14: Chassit med monterade axlar, matare, spridare samt motorer med mo-torband. Dels (a) från sidan, dels (b) uppifrån.

3.2.2 Installation av värmebädd

Innan topplattorna till kolvarna fästes monterades värmeresistorer på dem för att agera värmebädd. Under den större topplattan, som agerar skrivyta, fästes fyra värmeresistorer. Under de två mindre topplattorna, som sitter på matarkolvar-na, fästes två värmeresistorer vardera. För att fästa värmeresistorerna användes superlim samt kylpasta för att bevara värmeledningsförmågan. Termistorn som lå-ter Arduino veta skrivytans temperatur fästes med tejp. Eflå-tersom Arduino endast har en utgång till värmebädden kopplades värmeresistorerna på respektive platta i serie, därefter parallellkopplades plattorna. Seriekopplingen av värmeresistorerna ses i figur 15. Termistorn och värmeresistorerna anslöts till Arduino enligt figur 2.

(20)

3.2.3 Installation av Arduino

Bakom skrivarens funktioner ligger en Arduino Megatronics v3.0. För att koppla Arduino till övriga komponenter användes kablar av två tjocklekar beroende på hur mycket ström som kommer ledas genom dem. För LCD-skärmen, knappsat-sen, endstops samt kontakten mellan Arduino och Boost-Demultiplexer kretskortet användes kablar med diametern 0.2 mm. För kablarna som går till och från nätag-gregatet, säkerhetskopplingen från Arduino till Boost-Demultiplexer kortet samt från Arduino till värmebädden användes diametern 1.5 mm. Kablarna anslöts till Arduino enligt figur 2.

3.2.4 Dragning av elektronik

Först kopplades LCD-skärmen och knappsatsen in enligt 1-till-1 principen, vil-ket innebär att stift ett på LCD-kontakten på Arduino kopplas till stift ett på LCD-skärmen. Stift sju till tio på LCD-skärmen är namngivna i Megatronics do-kumentationen som LCD 0, 1, 2 och 3. Stiften från Arduino ska kopplas till LCD 4, 5, 6 och 7, vilket innebär att stift sju till tio lämnas tomma. Kopplingen mellan Arduino och skärmen visas i figur 16. Precis nedanför kontakten för LCD-skärmen på Arduino finns en potentiometer för att justera LCD-skärmens kontrast.

Figur 16: Illustration av monteringen av displayen.

Motorer och endstops kopplades in till Arduino enligt dokumentationen för Me-gatronics v3.0. För att kablarna från motorer och endstops skulle nå fram till Ar-duino behövdes dessa förlängas. Kablarna till värmebädden, temperatursensorn och Boost-Demultiplexer-kortet kopplades enligt figur 2. Slutligen kopplades nä-taggregatet till skrivaren. Då nänä-taggregatet kan leverera strömmar på upp till 20A designades en skyddskåpa i plast för att minimera risken för direktkontakt med kablarna till nätaggregatet. Med nätaggregatet och övrig elektronik färdigställd var den fysiska skrivaren komplett.13 14 15

13https://reprapworld.com/documentation/datasheet%20megatronicsv3.pdf 14http://www.reprap.org/wiki/Megatronics_3.0

(21)

3.2.5 Installation av motorer och drivers

Motorerna som driver skrivaren tar ursprungligen 200 steg per varv. För att moto-rernas steglängd ska matcha inställningarna i firmware, måste steglängden ställas in till fjärdedelars steg, så att motorerna istället tar 800 steg per varv. På Mega-tronics v3.0 finns stöd för att styra de tre stift på A4988 som avgör steglängden i form av tre jumpers som sitter under driverns fäste. Under varje jumper sitter tre par stift och med en jumper kan stift-paren kopplas ihop. Om stift-paren har kon-takt genom jumpern motsvarar detta en logisk etta. De tre stift-paren är ordnade uppifrån och nedåt, med MS1 längst upp. För att motorerna ska ta fjärdedels steg ska endast MS2 få en logisk etta, vilket kan ses i tabell 2. Detta motsvaras av att endast den mittersta jumpern ska sitta kvar. För att hindra dessa drivers från att bli för varma monteras kylflänsar. Kylflänsarna fästes med enbart kylpasta då lim påverkar värmeledningsförmågan väsentligt.

3.3 Konfiguration av firmware

Den firmware som användes för att styra Arduino är skriven av de Haas och hämtades från hans hemsida. Alla inställningar gällande motorernas hastighet, steglängd, skrivarens dimensioner och värmebäddens temperatur kontrollerades så att de stämde överens med de ursprungliga värdena de Haas angivit. Moto-rernas hastighet är då 75 mm per sekund, skrivytans storlek 150x150 mm och värmebäddens temperatur 50°C. I en utav klasserna i firmware, SD_read, fanns ett fel som ledde till att skrivaren inte läste av mer än ett lager av utskriften. Med andra ord läste inte skrivaren instruktionerna för utskriften på ett korrekt sätt. Felet låg i metoden clear_line_data() som ansvarar för att byta rad i filen som läses av. Orsaken till felet var att for-loopen gick till index sex i en array med endast fem element. Metoden i fråga kan ses i figur 17. Firmware är skrivet utan stöd för val av utskriftsfiler i menysystemet, och endast filer vid namn print.txt skrivs ut, alla andra filer ignoreras.

Figur 17: Den felaktiga metoden efter indexet i for-loopen ändrats från 6 till 5.

3.4 Konfiguration av mjukvara

(22)

Munstyckets storlek sattes till 0.26 mm eftersom skrivarhuvudets upplösning, 96 DPI (Dots Per Inch), motsvaras av det värdet. Slic3r har även inställningar gäl-lande motorernas hastigheter, dessa är dock irrelevanta eftersom dessa styrs av firmware. Efter att alla inställningar var anpassade laddades en 3D-modell av en kalibreringskub in och konverterades till G-code.

Figur 18: Användargränssnittet för Slic3r med en 3D-modell redo att konvertera till G-code.

Den andra mjukvaran som användes var den specialskrivna Plan B Converter. Plan B Converter är designad med Qt Creator16och kräver att programmet kompileras med version 5.2.1 av MinGW 32-bit compiler eller nyare, vilket kan väljas vid nedladdning av Qt Creator. Med Plan B Converter kan G-code konverteras till Plan B-kod. Utskriftsfilen kan sedan laddas över på ett SD-kort som placeras i SD-kortläsaren på Megatronics v3.0.

(23)

4 Resultat

Den fullbordade skrivaren, vilket är projektets slutprodukt ses i figur 19 nedan.

(a)

(b)

(24)

(a) (b)

Figur 20: I (a) visas resultatet av testutskriften på ett pappersark, i (b) visas skrivaren då den fylldes med pulver.

Resultatet blev att skrivaren rör sig som tänkt, dock höll inte skrivarbläcket ihop gipset och därav föll utskriften samman.

5 Diskussion

Målet med projektet var att bygga en skrivare som skriver ut 3D-objekt i pulver med hög precision för att kunna avgöra om detta var lämpligt för vidare försök att skriva ut individanpassade läkemedel eller ej. Även om utskriften i gips inte höll ihop antas skrivaren fungera som tänkt. Detta eftersom både skrivarhuvudet och kolvarna rör sig korrekt. Från figur 20(a) ses att kalibreringskuben började ta form och begynnelsen till bokstäverna X och Y kan ses på sidorna; X på sidan längst ned i bilden, och Y till höger i bilden. Även måtten på kuben var korrek-ta; 20x20 mm. Det glesare området kring kuben kommer från Slic3r som försökt göra en tjockare bottenplatta för objektet, något som Binder Jetting inte behöver men som är vanligt för filamentskrivare. Detta åtgärdades i Slic3rs inställningar inför försöket med gips. För att avgöra om skrivaren lämpar sig till att skriva ut läkemedel krävs fler tester med ett bindemedel lämpat till pulvret som valts, i det här fallet gips. För det krävs att bläckpatronen töms på bläck och fylls med nytt bindemedel. Vid byte av bindemedel måste hänsyn till viskositet tas, eftersom pa-tronen inte är designad för att spruta ut något annat än bläck.

(25)

Figur 21: Förbättrad design av kretskorten.

Firmware kan också programmeras om så att skrivaren kan läsa av alla namn från SD-kortet istället för endast print.txt. Även en meny för val av de olika filerna på SD-kortet saknas i dagsläget. Slutligen kan även en Raspberry Pi installeras till Arduino så att skrivaren får stöd för WiFi-överföring av utskriftsfiler. Detta för att undvika att ta ur SD-kortet, ladda över filen från en dator, för att sedan sätta tillbaka SD-kortet i SD-kortläsaren igen varje gång en ny utskrift skall göras.

6 Slutsatser

Eftersom testutskrifterna med det utskriftsmaterial som fanns tillgängligt inte höll ihop kan inte någon konkret slutsats gällande skrivarens lämplighet för läkeme-delsutskrifter dras. Skrivaren antas dock fungera som tänkt då resultaten tyder på att både skrivarhuvuden, kolvarna och spridaren rör sig korrekt.

Slutsatsen som kan dras blir därmed att med ett bindningsmedel bättre lämpat till pulvret som används skulle skrivaren antagligen vara fullt funktionell och lämpad för vidare tester.

7 Referenser

1. Plan B. Yvo De Haas. YTec. http://ytec3d.com/plan-b/

2. About Additive Manufacturing. Lougborough University.

http://www.lboro.ac.uk/research/amrg/about/the7categoriesofadditivemanufacturing/ binderjetting/

(26)

4. CD74HC4067 High Speed CMOS 16-Channel Analog Multiplexer/Demultiplexer. Texas Instruments. http://www.ti.com/product/CD74HC4067 5. Inkshield Theory. Nicholas C. Lewis

http://nicholasclewis.com/projects/inkshield/theory/ 6. Installing the firmware. Yvo de Haas. YTec.

http://ytec3d.com/plan-b-firmware/ 7. Software. Arduino.

https://www.arduino.cc/en/Main/Software 8. Slic3r G-code Generator for 3D printers. Slic3r.

http://slic3r.org/

9. A4988 Stepper Motor Driver Carrier Datasheet. Pololu. https://www.pololu.com/file/0J450/A4988.pdf

10. Power Supply 12V (240/115V / 20A MAX). Reprapworld

https://reprapworld.com/products/electronics/power_supply/power_supply_ 12v_240_115v_20a_max/

11. Productions Drawing Complete. Yvo de Haas. YTec

http://ytec3d.com/wpcontent/uploads/2014/02/Production-drawings-complete. pdf

12. Assembling Plan B. Yvo de Haas. YTec http://ytec3d.com/plan-b-assembly/ 13. Megatronics v3.1 Datasheet. Reprapworld.

https://reprapworld.com/documentation/datasheet%20megatronicsv3.pdf 14. Megatronics 3.0. RepRapWiki.

http://www.reprap.org/wiki/Megatronics_3.0

15. MEGATRONICS V3.0 QUICK START GUIDE. Reprapworld. https://reprapworld.com/documentation/mtQSv3.pdf

References

Related documents

Den direkta metoden 12 upplyser om in- och utbetalningar som integreras med rörelsen, till exempel inbetalningar från kunder och utbetalningar till leverantörer, anställda och

Programmen som k¨ors p˚a Raspberry Pi 3 testar alla kanaler automatisk men programmen f¨or de andra enkortsdatorerna m˚aste k¨oras manuellt f¨or varje antal kanaler p˚a grund

Utbildning, Temarapport 11, 2017). Ur figuren kan vi däremot se minimala differentieringar mellan relationen kön, utbildning och etablering på arbetsmarknaden. Anledningen till att

Since analog HES are able to register different level of magnetic flux, they could be used in the project to register either black or white pieces by having magnets with

This book is called Programming Interactivity because it’s focused primarily on pro- gramming for interaction design, that is, programming to create an application with which

I likhet med Lärare 6 säger Lärare 10: “Att man prioriterar läsning tror jag är superviktigt för att få dem, dels att få intresse för att läsa men också för att utöka sin

Therefore, the problem I will solve in this thesis is to connect a lightweight computer to the Internet of Things network by an IoT platform as well as evaluation about how the

Studiens syfte var därav att skapa en förståelse för analysmodellens praktiska användning vid fastställande av en oberoende revision inom revisorsyrket, genom att