Hobby CNC – Mach3 beállítása
Ha már összeraktuk a CNC masinánk mechanikáját, a motorok bedrótozva, kézzel finoman megmozgattuk a tengelyeket, és nem feszülnek, akkor itt az ideje megtanulni “beszélgetni” vele. Ehhez szükségünk lesz egy motorvezérlő kártyára (egy- vagy többtengelyes), számítógépre (de lehet akár egy laptop, mikroPC, telefon), azon egy szoftverre, ami jeleket formál és küld a vezérlőkártyának LPT, COM, USB, IrD, de akár Wi-Fi kommunikációs csatornán, és sok türelemre, míg ezeket összehangoljuk.
Kezdjük talán a PC-vel. Legtöbbünk számára már ismerős eszköz, sőt, mindennapi segítőtárs, barát (örülünk, ha megfelelő információval lát el, és aggódunk, ha “gyengélkedik”). Kevésbé ismert lehet azonban az a terület, ahova most indulunk, a PC “lelke”: a BIOS. Ez egy kis csip, mely egy kis programot tartalmaz, és az a feladata, hogy kapcsolatot teremtsen a hardver – a vas – és a szoftver – a program – között. Többek között BIOS-ban tudjuk engedélyezni/tiltani bizonyos eszközök elérhetőségét, illetve integrált eszközök beállítását elvégezni. Ezekből számunkra az Integrated Peripherals->Parallel Port beállításai az érdekesek. Itt állítjuk be a párhuzamos port működési üzemmódját (Normal, ECP, EPP), a port memória címének helyét (0x0278, 0x0378,0x03BC) és az IRQ (megszakítás) számát. Ezeket az értékeket meg kell adni a Mach3 program kártyameghajtó szoftverének is később, hogy megfelelően tudjon kommunikálni a vassal. Ezután jöhet a mentés és az operációs rendszer indítása.
CNC meghajtó szoftver létezik több operációs rendszerre, de mivel a Mach3 szoftver az egyik legnépszerűbb a hobbi esztergálók között, ezért Windows operációs rendszerre lesz szükségünk, ráadásul az egyik korábbi verziót ajánlanám (W2000, W2003SR2, XP), mert azok még nem akadályozzák a felhasználó munkáját. Az én választásom egy lebutított W2003SR2Sp2-re esett, mert egy matuzsálem PCn is elfut (AMD Athlon 1500, 1GB RAM, 40GB HDD), és a hobbi eszközöknél a hatékonyság a fontos, nem pedig a félig-áttetsző ikonok sokszínűsége. A Mach3 CNC kezelő szoftver telepítése két módban lehetséges: demó és teljes. Demó verzió négy pontban korlátozva lett a teljeshez képest:
- csak 500 G-kód sorig fut,
- a G-kód csak az elejétől indítható, megadott sorból nem,
- csak 25000Hz léptetési frekvenciával működtethető,
- egyes kiterjesztések csak teljes verzióra telepíthetőek,
de ezek legfőképpen a megmunkálás sebességét korlátozzák, illetve ezek miatt a bonyolultabb művelet kicsivel több emberi munkát igényel. Hobbi területen talán elfogadható ez a kompromisszum a komplex integrált megoldásokért cserébe. Magát a szoftvert magyarországi viszonteladóknál (t2cnc) vagy a fejlesztő csoport oldalán (ArtSoft) letölthető, megvásárolható. Magyar nyelvű leírás a szoftverhez és CNC programozásához szintén elérhető Sasovits Sándor oldalán és biztonsági másolat kedvéért az oldalunkon (Mach3HU).
LPT port és kábel teszteléséhez (mert bárhol megbújhat a kisördög) Parallel Port Viewer java alkalmazást használhatunk, melynek használata egyszerű és intuitív. Futtatásához szükségünk lesz egy JVM-re (Java Virtual Machine), mely az Oracle oldaláról letölthető szintén ingyen. Ha már mindkét alkalmazást felraktuk, következhet egy gyors újraindítás és lehet vizsgálni, hogy a párhuzamos port az előírtaknak megfelelően működik-e.
Első lépésként a Windows meghajtószoftver beállításait ellenőrizzük: Sajátgép->Tulajdonságok->Hardver->Eszközkezelő-> Nyomtató port->Tulajdonságok, ahol a port memóriacímét és megszakítását ellenőrizhetjük. Parallel Port Viewer elindítása után beállíthatjuk a port memóriaregiszterek értékét egérrel (csak a 1, 2-9, 14, 16, 17 portok használhatóak kimeneti jel továbbítására, 18-25. lábak földre vannak kötve). LPT vezeték teszteléséhez egy túlfeszültség védelemmel ellátott diódát szoktam használni egy sorosan ráforrasztott 470Ohm-os ellenállással. Ha egy LED-nél nagyobb terhelést szeretnénk rákötni (20mA) egy tüskére, érdemes optó-leválasztást végezni (4n25 ~150mA-ig terhelhető).
HYTB5HV 5-tengelyes motorvezérlő és a Mach3 házasítása bár eltér a korábbi kártyáktól, azonban jól van dokumentálva a használati útmutatóban. Pár szóban a kártyáról: a vezérlés lelkét az 5 darab Toshiba TB6560AHQ léptetőmotor-vezérlő chip alkotja, mely akár 3,5A árammal is képes ellátni a motorokat, és lényegében ezeknek az integrált sémáknak a tulajdonságait hordozza a kártya többszörös kivitelben. A csipek bemenetelét opto-leválasztókkal elektromosan szeparálták a PC elektronikájától és kiegészítő csatlakozókkal látták el, hogy vezér-, illetve visszacsatoló-egységeket lehessen kötni a kártyára. A kártyán megtaláljuk a maró motor reléjét is, ami akár 7,5A arám kapcsolását is elvégezheti 36V feszültség mellet. Motoronként 3 jel szükséges vezérlésükhöz: Enable, Impulse, Direction (engedélyezés, impulzus, irány), vagyis meghatározzuk, hogy a motor kap-e áramot vagy sem, forog-e, és ha igen, melyik irányba és milyen sebességgel. Ezenkívül DIP mikrokapcsolóval be tudjuk állítani a léptető motor nyomatékát (max.3,5A, 3/4, 1/2, 1/5), mikroléptetés mértéket (1/1, 1/2, 1/8, 1/6 – 3200 lépés fordulatonként), illetve a fázisok közötti átmenetek meredekségét. A PC illetve Mach3 szoftver párhuzamos porton közli a kártyával a szándékait, de ehhez pontos beállítások szükségesek.
Minden lényegi beállításunk a Config menüben kezdődik. Select Native Units menü a metrikus és az angolszász mértékegységek közötti átváltást teszi lehetővé — csak a motorok beállításánál van jelentősége, a programkódoknál nem számít. Azonban, hogy a gépezetünk életre keljen, a Port and Pins menüben szükséges a csatoló felület beállításait rendezni. Ezen beállítások felelősek a vezérlő kártyával történő kommunikációért, helyes beállításuk kötelező jellegű.
Port Setup and Axis Selection fül Port#1 konfigurációs értékkel már találkoztunk a BIOS, és a Windows LPT beállításainál. A szoftvernek is tudnia kell, hol találhatóak a párhuzamos port regiszterei, ugyanis saját meghajtószoftvert használ. Figyeljük meg, hogy a Mach3 két LPT portot is képes kezelni egyszerre. Ez majd a ki- és bemeneti jelek konfigurálásánál kap szerepet. A kernel sebességének a beállítása is szükséges lehet, különösen, ha gyorsabb motorokkal, kártyákkal dolgozunk. TB6560 esetén a 35 KHz kernel sebesség pont jó.
Motor Outputs – életbevágó beállítások, minden esetre, a gép szempontjából ez teljesen igaz. Ezen táblázat adatai elmondják a Mach3 szoftvernek, hogy a párhuzamos port mely csatlakozóin milyen vezérjeleket szükségeltetik elküldeni. Az első oszlopban (Enable) beállítjuk, hogy foglalkozzon-e a jel képzéssel, vagyis fogjuk-e használni az a tengelyt. A második oszlop (Step Pin#) a sebesség impulzus jelek lábainak a számát tartalmazza, a harmadik (Dir Pin#) pedig a forgásirányt megadó tüskéinek a számát tengelyenként. A Step Low Active és a Dir Low Active a jel negálását szolgálja, vagyis akkor lesz aktív (pozitív) a jel a port kimenetén, ha a szoftver 0-t küld ki. Erre azért van szükség, hogy a negált kimeneteket— ilyenek például az LPT port 1. 14. 17. tüskéi — megfelelő jelszinten lehessen tartani. A Step Port és a Dir Port értékét 1-re kell állítani (kivéve, ha több LPT portot használunk). A csatolt kép tartalmazza az 5-tengelyes vezérlőkártya helyes beállításait.
Output Signals tartalmazza azokat a vezérjeleket, melyek nem közvetlenül a tengelyek vezérléséről szólnak, hanem a vezérelektronika üzemi állapotát állítják be (H-híd feszültség alá helyezése, mikroléptetés, lecsengés sebessége). Számunkra az Enable 1-5 lehet érdekes, ugyanis ez a jel engedélyezi a motor üzemeltetését. Kártyánk esetében ez a jel közösítve van és a 14. portcímen kell küldeni a jelet. Itt is megtalálhatók a Port #, Pin Number és az Active Low beállítási lehetőség.
Input Signals végállás érzékelők jeleinek a bemeneti tüskéit határozzuk meg (pozitív — ++, negatív — —, és alaphelyzet — Home). Kártyánk összesen három ilyen tüskével rendelkezik (LPT 10-12.), vagyis három érzékelő állapotát tudjuk jelezni a szoftver felé függetlenül. Jobb, bal végállását ebben az esetben célszerű közösíteni, vagyis két érzékelő jeleit párhuzamosítani, esetleg OR logikával házasítani, de sorosan is lehet kötni, az a fontos, hogy a célunknak megfelelően alakuljon a jel. Ha CNCnk nem tartalmaz még érzékelőket, tegyük inaktívvá a bemeneteket, mert akadályozni fogja a szoftver inicializálását, vészleállás állapotból való visszatérését.
Még egy bemeneti jelet találunk az LPT port 13. tüskéjén — a vészleállás gombjának a jelét (EStop). Ez a beállítás a legördülő lista közepén található, és beállítása minden valamirevaló CNCnél kötelező. Ennek a jelnek a hatására a végrehajtási ciklus azonnal leáll, minden motor fékeződik. Hibaelhárítás után a ciklust elejétől vagy a megszakítás helyétől igényünk szerint újraindíthatjuk. Abban az esetben, ha hibásan jelöljük be a jelszint alapértékét a ciklus el sem indul, és piros gomb villog majd a szoftver aktuális nézetében. Ilyenkor a [RESET] gomb megnyomásakor a szoftver értelemszerűen kiírja a leállás okát is. Érdemes kipróbálni a vészleállás és a [RESET] gomb működését ismerkedés gyanánt — lássuk, ki tudjuk-e léptetni a rendszert vészleállítás üzemmódból? :)
System Hotkeys beállításai megadják a lehetőséget arra, hogy a CNC gépünket akár billentyűzetről is irányíthassuk. Ehhez a megadott irányokhoz billentyű parancsot kell illeszteni (általában ←, →, ↑, ↓, PgUp, PgDn). Ezen billentyűk beállítása után már tesztelhetjük is a motorokat, legjobb, ha egyesével, ha a főnézet Tool Information mezőben található Jog ON/OFF gomb aktív (zöld keret szegélyezi).
Diagnostics nézetet előhívó gomb a nézetünk felső-közép részén található, vagy [Alt+7] kombinációval előcsalogatható. Ez az ablak a berendezésünk tesztelésére szolgáló kis programokat tartalmazza. Egyik ilyen a Servo Frequency Generator — ennek a programnak a segítségével megkereshetjük azt a frekvenciát, melynél feljebb a motor mechanikája már nem tudja követni az elektromos jel változásának sebességet és “megcsúszik”. Terhel motor esetében még alacsonyabb sebességgel kell küldeni a vezérimpulzusokat. Ennek a frekvenciának az ismeretének a következő menüben még hasznát vesszük.
Motor Tuning menü adja meg azt a lehetőséget, hogy a motorok dinamikáját meghatározzuk, vagyis megadhatjuk a másodpercenkénti impulzusok számát, a motor maximális sebességét, a motor gyorsítási paraméterét — ebből a szoftver a G erőt is kiszámítja —, és az impulzusok szélességét. Az eszközök változatossága miatt a folyamatot egy példán könnyebb bemutatni.
Motorjaink 200 lépes/kör felbontással rendelkeznek (1,8°/lépés), mikroléptető kapcsolónk 1/16 állásban, vagyis összfelbontása a motornak: 200×16=3 200 lépés/fordulat. A motor direkt hajtja meg a tengelyt, vagyis 1:1 az áttét értéke. A tengely menetemelkedése (milyen messze mozog az asztal az orsó minden egyes elfordulásakor):10mm. Ebből számolható, hogy az 1mm megtételéhez 3 200/10=320 impulzus szükséges, és egy impulzus 0,03125mm elmozdulást eredményez (sajnos a mechanikánk minőségéből kifolyólag nem fogja tudni követni, de megfelelő korrekciós eljárások segítségével kompenzálhatjuk az elméleti értékektől való eltérést). A Motor Tuning alján található mezőket kitöltjük: lépes/mértékegység (az esetünkben 320), ezután lehet kicsit szórakozni: csúszkákkal állíthatjuk a motorok sebességét és gyorsulását. Eközben már lehet vigyorogni és menteni rendszeresen a [Save Axis Settings] gomb segítségével. A Velocity és Acceleration csúszkákkal próbáljunk találni egy olyan sebességet és gyorsulást, ahol a motor simán fut akadozás, lépésvesztés nélkül. Egyes vezérlők hosszabb lépés-impulzust igényelnek, amit a Step Pulse beállításnál módosíthatunk. Az alapbeállítások elvégzése után lehet foglalkozni a gép végső összeszerelésével, az egész gép hangolásával és kalibrációjával.
Ha már egyben van a gépünk, az alkatrészek egymáshoz fűzött viszonyát is górcső alá kell venni. A gépeken normális esetben jobbsodrású koordináta-rendszert használnak, ezért a 3-tengelyű marógép esetében, a gép előtt állva az X tengely balról jobbra mozog, az Y tengely tőlünk távolodva, a Z pedig lentről felfelé és vissza (leírt irányok pozitívak) — minden mozgás maró szerszámra értendő, és nem az asztalra. Ha a billentyűzet gombjait használjuk, akkor a számlálók a főnézeti ablakban ennek megfelelően növekednek (pozitív irányok: →, ↑, PgUp), vagy csökkennek (negatív irányok: ←, ↓, PgDn). Ha a számláló és a szerszám iránya nincs szinkronban (felfele számol, miközben a szerszám negatív irányban mozog),meg kell fordítanunk a motor irányát a Ports and Pins, Motor Outputs Dir Low fülén található táblázatban, beállítva a Dir LowActive értékét ellenkező értékre vagy a motor megfelelő vezetékeit szükséges felcserélni.
Motor Home/Soft Limits menüben határozzuk meg a Home pontokat, vagyis azt, hogy hova szereltük fel az alaphelyzeti kapcsolókat, illetve melyik oldalon helyezkednek el a motor mozgásteréhez képest — hova mozduljon, ha azt a parancsot kapta, hogy Go Home. Ebben a menüben meg tudjuk adni azt is, hogy a maximális sebesség mekkora töredékével közelítse meg a rendszer az alaphelyzeti pontot — minél lassabban közelíti, annál precízebb a pont megtalálása (kb. 15-20% érték elfogadható eredményt nyújt). A SlowZone az a távolság a végállástól, ahol a gép lelassul. Az AutoZero opció engedélyezi az automatikus számlálók lenullázását alaphelyzeti pont elérésekor. HomeNeg – megjelölésével meghatározzuk, hogy a mozgástérhez képest az alaphelyzeti pont legtávolabbi negatív pozícióban legyen, így a motor mozgástere mindig pozitív. A Home. Off – segítségével korrekciót végezhetünk abban az esetben, ha az érzékelők nem az út végén vannak, vagy a koordinátarendszerünk O-pontját nem az út végére szeretnénk tenni.
A gép alaphelyzetbe állítása. Ha beállítottuk a megfelelő szenzorértékeket, alaphelyzetbe állíthatjuk a gépünket a fő képernyőn található RefAll Home (a betűk függőlegesen vannak felírva), de álljunk készen megnyomni a vészleállító gombot, ha a szerszám rossz irányba mozdulna el. Ebben az esetben a “rosszalkodó” tengelyen változtassunk a HomeNeg értéken.
A gép végállásainak beállítása. Arra az esetre, ha a G-kód vagy mi manuálisan túlvezérelnénk a gépet, vagyis a fizikailag lehetséges pályán túlra küldenénk a szerszámot, szükséges egy biztonsági megoldás, amely hibajelzéssel megakadályozza ezt. Erre szolgálnak a SoftMax és a SoftMin beállítások. Pozitív tartományban a mozgó tengelyek esetén a SoftMin értéke 0, mig a SoftMax a lehetséges út hossza mm-ben (vagy hüvelykben). Negatív mozgástér esetén a SoftMax egyenlő a 0-val, míg a SoftMin az úthossz negatív előjellel. Tesztelésnél állítsuk a gépet alaphelyzetbe, engedélyezzük a SoftLimits gomb megnyomásával a szoftveres korlátozást (ettől a gomb kerete kizöldül). Ha túlvezéreljük, egy Soft Limits Movement Aborted üzenettel leáll a gép.
Beállítások biztonsági mentése. Mivel minden beállításunk egy fájlban található, ezért keressük meg a Mach3 szoftver mappájában a Mach3Mill.xml állományt és másoljuk több példányban át külső tároló egységekre vagy adatfelhőbe (cloud-ba).
És mindez csak a kezdet ;)