Hobby CNC programování

visuallmill4-vidlicka

… předchozí část CNC frézka – lineární vedení, ložiskové domečky, kuličkové šrouby, krokové motorky, elektronika

Podotýkám, že nejsem obráběcí profesionál, ale amatér samouk, který potřebuje, aby stroj jel z bodu X do bodu Y a abych uměl tu dráhu nějak vygenerovat. Profíci samozřejmě chtějí to samé, ale oni na to mají nástroje za statisíce Kč, kdežto já začínám s Poznámkovým blokem z Windows.

Existuje několik kódů, nebo programů, nebo jak to nazvat, které popisují pohyby stroje po zadaných souřadnicích. Můžete se setkat s termíny jako CNC programování, postproces a CAM.

Jako první jsem zkusil kód APT a jelikož zcela postačuje pro mé hobby potřeby, je jednoduchý a srozumitelný, tak ho používám dosud. Nejlepší bude ukázat kus programu. Tento prográmek roztočí vřeteno, nastaví rychlost posuvu na 1500mm za minutu, dojede do bodu nula, udělá drážku, vrátí se na nulu a vypne vřeteno.

SPINDL/RPM, 30000, CLW // roztočím vřeteno
FEDRAT/mmpm, 1500 // nastavím rychlost pohybu na 1500mm za minutu
GOTO/ 0, 0, 5 // jedu do bezpečné výšky 5mm nad materiálem
GOTO/ -1, -10, 5 // jedu na začátek drážky
GOTO/ -1, -10, -3.500 // jedu dolů do hloubky 3.5mm
GOTO/ -1, 70, -3.500 // dělám drážku
GOTO/ -1, 70, 5 // na konci vyjedu nahoru do výšky 5mm
GOTO/ 0, 0, 5 // jedu do nuly
GOTO/ 0, 0, 0 // jedu do bodu 0,0,0
SPINDL/RPM, 0, CLW //vypnu vřeteno

Jak takový řídící program / kód získám?

Vyzkoušel jsem a střídavě používám několik způsobů:
1. Poznámkový blok
2. Corel Draw
3. Jednoúčelový program
4. 3D modelování

1. Poznámkový blok
Když je to opravdu tak jednoduché jako na ukázce, tak program napíšu v Poznámkovém bloku (Notepad), respektive v editoru, který je v Total Commanderu na klávese F4. To je dobré pro rovné dráhy typu jeď tam a zpátky, typicky pro nějakou drážku anebo díru obdélníkového tvaru.

2. Corel Draw
Když je dráha složitější, ale je to dráha, která má jednu vrstvu, například gravírování nějakých písmen, tak si obrázek nakreslím v programu Corel Draw. Koupil jsem si ho pro tyto účely právě proto, že Corel umožňuje soubor uložit ve formátu PLT, což je formát pro plottery, také se nazývá HPGL. Ten formát je poměrně jednoduchý, vlastně říká, kam má pero plotteru jet a jestli má být pero nahoře anebo dole. Programem napsaným v Delphi čtu řádek za řádkem a generuji z toho APT kód. Dráha se musí přepočítávat z počtu bodů na milimetry a zohlednit počet bodů na palec, při kterém se to exportuje. (Palec má 25.4mm a bodů na palec je typicky 1016.)

Dva řádky souboru.plt (vyleze z Corelu)
PU20093 2969; //jeď do x=20093bodů y=2969bodů s perem nahoře
PD20084 2929; //jeď do x=20084bodů y=2929bodů s perem dole

A tomu odpovídají tyto tři řádky souboru.apt (tohle se šoupne do stroje)
GOTO/ 502.325, 74.225, 5 //jeď do x=502.325mm y=74.225mm z=5mm
GOTO/ 502.325, 74.225, -2 //jeď do z=-2mm
GOTO/ 502.100, 73.225, -2 //jeď do x=502.100mm y=73.225mm z=-2mm

Řádky jsou tři, ten prostřední řádek představuje zajíždění do materiálu. Zvládnete to naprogramovat jako jeden cyklus v jakémkoliv programovacím jazyce.

Postupem času jsem program vylepšil tak, že umí dělat víc vrstev. Když potřebuji udělat drážku hlubokou 20mm, tak stejnou dráhu projedu dvacetkrát, pokaždé o 1mm hlouběji. Někdy je potřeba vyjet nahoru a pak jet na začátek, někdy je možné použít zkratku a rovnou jet na nižší dráhu. Jsou to takové drobnosti, na které člověk postupně přichází a každá ta drobnost a vylepšení ušetří kousek času. Ono je rozdíl, jestli nějaká dráha má 20 metrů a obrábění trvá 10 minut, nebo jestli ji zkrátíte na 10 metrů a obrábění trvá 5 minut. A pak jde také o kompromis mezi rychlostí pohybu vřetena, velikostí třísky, otáčkami vřetena … a rizikem, že fréza (nástroj) to nepřežije.

Na obrázku je část sluníčka (jedno prkno na vrátka) namalovaná v Corelu.

corel-slunce-prkynko

Část sluníčka převedená z plt do apt kódu. Pro převod není nutné to nějak vykreslovat, ale je potřeba nastavit několik parametrů, alespoň rychlost posuvu a velikost třísky. Rychlost posuvu měním podle toho, jestli se právě obrábí (pomaleji) anebo se jede na jiné místo (co nejrychleji :-), to už jsou zase vychytávky pro úsporu času.

 mycnc-slunce-prkynko

A hotové sluníčko na vrátkách

slunce-plot

3. Jednoúčelový program
Zkoušel jsem vyrábět dřevěné soustružené krabičky. Pro tento účel jsem v Delphi napsal program, který podle požadovaného vnějšího a vnitřního průměru krabičky vygeneruje obráběcí dráhy.

mycnc-krabicka

Program má spoustu různých parametrů … bylo to několik hodin programování, několik hodin vylepšování a zkoušení (oba díly krabičky musí pasovat s přesností ani ne desetina milimetru). Výsledkem je několik dřevěných krabiček. Pokud bych to přepočítával na peníze, tak cena jedné krabičky by šla do tisíců Kč. Ale mám pod kontrolou každý pohyb stroje a o to tady šlo. Něco se naučit a vyzkoušet. Světlejší krabička je z ořechu a ta tmavší ze dřeva amazakoue.

krabicky-soustruzene

4. 3D modelování
Zatím jsem nepotřeboval obrábět skutečnou 3D plochu a tak jsem jenom zkoušel, jestli to jde. Obrobek jsem vymodeloval v Cinema 4D 6 CE, což je free verze modelovacího programu, která byla součástí stejnojmenné knihy. Za pár stokorun dostanete slušný modelovací nástroj, který má jediné omezení – výsledek jde renderovat (vykreslovat) pouze v nízkém rozlišení. To ale v tomto případě vůbec nevadí, protože vy ten model nevykreslujete ani netisknete, ale exportujete ho (uložíte ho ve vhodném formátu) a pak podle něj vygenerujete obráběcí dráhu v jiném programu.

cinema4d-vidlicka

Pro vygenerování dráhy z modelu obrobku jsem použil program FreeMill, což je free verze (nebo spíš jakási hodně stará verze) programu VisualMILL od firmy MecSoft. Dost jsem se natrápil s výběrem vhodného 3D formátu, ve kterém jsem to převáděl mezi oběma programy. Cinema umožňuje export do asi 10ti formátů a do FreeMill se mi podařilo načíst jenom jeden z nich a už si nepamatuji, který. Chce to trošku experimentovat. Program pak skutečně vygeneroval 3D dráhu, ovšem pouze v jedné vrstvě. Pokud by to člověk chtěl používat na obrábění, musel by generovat několik drah pro různé vrstvy (výšky) a slepit si to do jednoho souboru. Nebo si tu dráhu projet nějakým skriptem a posouvat souřadnici Z, nebo obrábět po jedné vrstvě a měnit souřadnici Z na stroji.

freemill-vidlicka

Pokud bych potřeboval používat opravdové 3D CNC obrábění, vyhlédnutý jsem měl VisualMILL (verze 4,5 nebo 6) od MecSoft, případně RhinoCAM.

Takhle to vypadá ve VisualMILL 4.0 Porovnejte si nabídku menu a celkovou „košatost“ programu s verzí FreeMill.

visuallmill4-vidlicka

VisualMILL 6.0 STD pro 3 osy stojí 999USD. Což mi přijde jako skvělá cena, když to porovnám s cenami jiných programů a trápením, které jsem zažíval při pokusu použít free nástroje. Tento program má všechny (pro mne) myslitelné funkce. Demo má jednu drobnou (zásadní) nevýhodu. Dráha jde generovat, ale nejde vyexportovat a vyzkoušet. Pokud hledáte nějaký CAM program za rozumnou cenu, určitě si vyzkoušejte VisualMILL.

A to je všechno … vlastně není. Dráhu jsme vygenerovali a jdeme jí šoupnout do stroje. Někdy příííštěěě …

Pokračování …Hobby CNC obrábění, dneska to roztočíme …

14 komentářů u „Hobby CNC programování

    1. VíTeK

      Tome, děkuji za připomenutí.

      V dílně mám notebook, na kterém je program, který stroj řídí. Ten program načte soubor s dráhami a posunuje vřetenem, vypíná a zapíná vřeteno, kontroluje koncové spínače. Řídící program a elektroniku jsem nedělal, ale koupil od firmy Comets v osobě pana Petra Nevařila cnc(zavináč)comets.cz. Udělám pár obrazovek a napíšu článek … tento týden.

      Hezký den 🙂

  1. Praktik

    Taky jsem nadšenec pro CNC obráběcí stroje, ale na rozdíl

    od většiny podobných lidí, mám na hraní a zkoušení skutečný

    soustruh řízený systémem Fanuc. Takže mohu studentům

    poradit takové ty základní informace.

    Začíná to tím, že dostanu výkres a materiál. Výkres si překreslím

    tak, aby všechny délkové míry začínaly na pravé straně kresby,

    říkáme tomu na čele kusu. Řekněme, že máme materiál průměr

    20mm a máme na něm osoustružit průměr 12mm do délky 22mm

    Do nožové hlavy stroje upnu nůž, většinou tzv. rohový s výměnnými

    plátky. Tímto nožem můžeme soustružit čelo i průměry.

    Zapnu stroj a v ručním režimu se dotknu čela kusu

    a na indikaci nastavím v režimu G54 Z = 0

    pak se špičkou nože dotknu průměru 20mm a na indikaci zapíši X = 20

    Tím mám nastavený stroj a mohu psát program.

    Všecky moje programy začínají stejně – jako první píši automaticky

    číslo programu O 0001, na další řádek

    N010 G54 T0101 ;

    Stroj si to vyloží jako nastavení nástroje číslo jedna v režimu

    G54, což je volba odměřování tohoto nože ke skutečnému kusu.

    V dalším řádku dám povel k roztočení vřetene

    N020 G97 S1000 M3 ; G97 = přímá volby otáček, S1000 = tisíc

    a M3 = start – pokračuji –

    N030 G0 X25.0 Z0 ; = pojezd rychloposuvem na průměr 25,

    a v Z na nastavenou nulu. pak

    N040 G1 X0 F0.2 ; = zarovnání čela pracovním posuvem 0,2mm na otáčku.

    N050 G0 X16.0 Z1.0 ; rychloposuvem na průměr 16 a milimetr před kus

    N060 G1 Z-22.0 F0.2 ; pracovním posuvem do délky 22

    N070 G0 Z1.0 ; rychloposuvem před kus

    N080 G0 X12.0 ; rychloposuvem na průměr 12

    N090 G1 Z-22.0 F0.2 ; pracovním posuvem do délky 22

    N100 G1 X18.0 F0.3 ; zarovnání zadního čela

    N110 G1 X20.0 Z-23.0 F0.1 ; sražení hrany 1/45

    N120 G0 Z1.0 ; rychloposuvem před kus

    N130 G0 X10.0 Z0 ; rychloposuvem na výchozí polohu pro sražení

    N140 G1 X12.0 Z-1.0 F0.1 ; sražení hrany 1/45 u průměru 12

    N150 G0 X100. Z1.0 ; rychloposuvem odjezd

    N160 M30 ; konec programu a návrat na začátek

    %

    Takto vypadá skutečný fungující program ( v ISO kódu ).

    Pracuje stejně dobře ve Fanucu, Sinumeriku, Haidenhainu nebo Fagoru.

    1. VíTeK

      Dobrý den, děkuji za ukázku.

      Ano, je to jak píšete. Také jsem už přešel z APT na ISO kód a to hlavně kvůli obsluze více vřeten a jednoduchému dělání oblouků. Některé věci mám jednodušší, například nemám možnost nastavit otáčky.

      Hezké dny a radost z práce přeju 🙂

  2. ros

    Ahoj! jeto super , chápu to i já…chci se naučit trochu programovat, jen tak abych si doma mohl něco udělat /dělám si parní strojky jen tak pro radost / a chtělo by to pokračovat!ros

    1. VíTeK

      Dobrý den a ahoj,

      Období parních strojků a Stirlingových motorů se mi vrací každých několik let. Naštěstí ho teď už prožívám pouze teoreticky na papíře. První motor, co jsem vyrobil, se netočil, ale snahu měl 🙂 Kdyžtak můžete poslat odkaz na fotky, jestli nějaké máte na internetu, ať se potěšíme …

      Hezké dny a radostné kutění přeju 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *