Rajzoló bővítmény 3D nyomtatóra

Rajzoló bővítmény 3D nyomtatóra

Rajzoló bővítmény 3D nyomtatóra

Loading Likes...

Láttam egy videót a lehetetlen kocka kinyomtatásáról 3D nyomtatóval.

Én is ki szerettem volna nyomtatni, mert éppen nem volt semmi dolgom, viszont nekem nem tetszett, hogy a kinyomtatott kockát csak egy bizonyos szögből nézve láthatjuk úgy, mintha egy lehetetlen kocka lenne. Az egyetlen szóbajöhető megoldáshoz folyamodtam, mégpedig ahhoz, hogy 2D-ben nyomtatom ki.

Terveztem egy kiegészítőt a Creality Ender 5 nyomtatómra, amit gyorskötözővel egyszerűen rá lehet erősíteni a mozgó fejre. [Letöltés] Pont akkora luk van rajta, hogy egy ceruza beleszoruljon. A Z irányú kalibrációt el kellett tolni kicsit, mert a ceruza lejjebb lóg, mint a nozzle. Én egy kis fadarabot erősítettem a nyomásérzékelő szenzor alá.

A rajzot úgy alakítottam 3D fájllá, hogy beillesztettem Fusion 360-ba, körberajzoltam a besatírozandó területeket, majd kiextrúdáltam egy réteg vastagságnyit (a slicerekben ez a layer height beállítás).

Biztos nem a leggyorsabb megoldás, de ez jutott eszembe és nem keresgéltem sokat.

A slicer programban be kell állítani a bed és a nozzle hőmérsékletét 0-ra, hogy feleslegesen ne melegítsük a papírt. A Z-hop paramétert beállítottam valami pozitív számra, hogy felemelkedjen a ceruza, amikor egy másik alakzatot kezd el rajzolni, így nem lesznek átkötő vonalak. Miután kiexportáltam a .gcode fájlt, megnyitottam egy szövegszerkesztőben és kiszedtem az összes olyan sort, ami tartalmazott E betűt. Erre azért volt szükség, mert az E parancs felel az extruder vezérléséért a gcode nyelvben és én nem kívántam kinyomott filamenttel összekenni a csodálatos rajzomat. A kész fájlt elmentettem a microSD kártyára és 15 perc múlva kész is volt a szép kis rajz.

Nézheted innen…

…innen…

….vagy akár innen is:

Az eredeti problémámat már meg is oldottam, elkészült a több szögből nézhető lehetetlen kocka 3D nyomtatóval nyomtatva.

Itt viszont nem álltam meg, kinyomtattam a Foki-kártyát is, aminek teljes méretű verziója a Fazekas pinceklubjában tekinthető meg az egyik falon.

Foki Tamás Igazgatóhelyettes

Ezt már picit több idő volt körberajzolni, közben sokat gondoltam rá, hogy kéne erre találni valami automatizált megoldást, de ez még a jövő feladata.

A képek nyomtatása után elkezdtem kísérletezni azzal, hogy hogyan tudom irányítani egy USB kábelen keresztül számítógépről a nyomtatót. Soros porton [serial port] keresztül gcode parancsokat lehet átküldeni a nyomtatónak, amiket az rögtön végre is hajt. Olyan parancs is létezik, ami elküldi a gépnek a nyomtatófej aktuális pozícióját, így tudok olyan programot írni, ami vár addig, amíg egy adott feladatot el nem végzett a nyomtatófej.

Írtam TypeScriptben (JavaScript, csak típusokkal) NodeJS-ben egy könyvtárat, amivel programból tudunk egyszerű metódushívásokkal kommunikálni a nyomtatóval. Feltöltöttem Githubra és NPM-re is és ez volt az első olyan kódom, amit szépen dokumentáltam és már mások is használhatnak saját kódjukban.

A dokumentáció és a forráskód elérhető ezen a github repo-n: https://github.com/tothambrus11/3d-printer-controller

A program elején létre kell hozni egy új Printer példányt, megadva konstruktor paraméterként a COM portot, a baud rate-et, valamint a nyomtatási területet. (Ezen túl nem mehet a nyomtatófej.)

const myPrinter = new Printer("COM5", 115200, {x: 220, y: 220, z: 300});

Ezután meg kell hívni az init() metódust, hogy kapcsolódni tudjon a program a nyomtatóhoz.

await myPrinter.init();

Itt mutatok pár példát a vezérlésre:

// Nyomtatófej kalibrálása a megadott tengelyeken
await myPrinter.autoHome(["X", "Y", "Z"]);

// GCode küldése
await myPrinter.sendGCode("G28");

// Mozgási sebesség beállítása
await myPrinter.setSpeed(80);

// Mozgatás megadott pozícióra
// A nozzle a (30mm; 60mm; 1mm) koordinátára megy:
await myPrinter.goTo({x: 30, y: 60, z: 1}); 

await myPrinter.goTo(50, 90, 2); // A nozzle a (50mm; 90mm; 2mm) koordinátára megy.
await myPrinter.goTo(30, 50); // Nincs megadva Z koordináta, ezért az ugyanaz marad, mint előbb. XY irányban mozog a (30mm; 50mm) koordinátára.

Ezzel eljátszogattam kicsikét, kb. úgy lehet programozni, mint az Imagine Logo-t – tollat fel, tollat le…

Leave a Comment

Az email címedet nem tesszük publikussá. A kötelező mezők *-ként vannak jelölve.

Show Buttons
Hide Buttons