First CNC machine

aneb jak si to zkusit snadno a rychle



Jelikož se začínám zajímat o CNC mašinky, dospěl jsem do situace, jak snadno a rychle odzkoušet ovládání takového stroje prostřednictvím programu MACH3. Jak známo, program ovládá stroj pomocí klasického paralelního portu a vyžaduje, aby připojené krokové motory byly řízeny pouze prostřednictvím dvou signálů: STEP a DIR. Je tedy nutné použít speciální drivery krokových motorů. Protože zatím netuším, kam se budu na tomto poli ubírat dál, jestli stavbou vlastního stroje, nákupem hotového stroje, nebo nákupem nějakého polotovaru, nechci zatím utrácet peníze za hotové drivery, bo nevím jaké. Jenže vyzkoušet si to prostě musím a tak jsem se rozhodl, že si jednoduchý driver zbastlím sám. Za tím účelem se zvykle používají buď specializované obvody (např. L297), nebo Arduino. Speciála nemám a na Arduino seru. Takže nezbývalo použít staré dobré TTL integráče a postavit to z nich. Není to vůbec těžké, tedy pokud se bavíme o unipolárním motorku malého výkonu. V mém případě se jedná o klasický dvoufázový motorek TEAC ze stejnojmenné 5,25" disketové mechaniky.


TTL driver STEP & DIR pro krokový motor

Základem driveru je obousměrný binární čítač 74193, který přes dekodér 1 ze 4 ovládá tranzistorové pole ULN2803 spínající již jednotlivé cívky motorku. Pole je využito jen z jedné poloviny a bylo by jej možné využít i pro driver další osy. Jelikož dekodér 1 ze 4 musí mít výstupy aktivní v H, nepoužil jsem nic hotového, ale sestavil jej ze 4 hradel NOR (7402) a 2 invertorů (7404). Signál STEP je přes přepínací logiku z hradel NAND (7400), ovládanou signálem DIR, přiveden buď na Cup, nebo Cdown vstup čítače 74193. Funguje to bezvadně a použitý motor lze jednak krokovat po jednom kroku, či jej plynule roztočit a to vše oběma směry. Maximální frekvence pulsů STEP je pro daný motor asi 800Hz. Při vyšší frekvenci již motor stojí a jen píská a někde kolem této frekvence začíná ztrácet kroky. Ty dva integráče vlevo na poli jsou generátor impulsů (7414) a dělič (74393) a slouží jen pro otestování driveru bez připojeného PC. Pochopitelně tento jednoduchý driver neumí mikrokrokování a podobné ptákoviny. Také neumí ovládat bipolární motor, pouze unipolární. Na první seznámení se s CNC a MACH3 ale stačí a je to v podstatě zadarmo...


TTL stepper driver
TTL stepper driver
First CNC machine:-)
First CNC machine:-)


Na druhém obrázku je můj první jednoosý "CNC stroj":-) Jak je vidět, je to postavené ze stavebnice Merkur, mé nejoblíbenější hračky z dětství. Pohon jediné pohyblivé osy obstarává již zmíněný krokový motorek TEAC z FDD mechaniky, který je řízen z LPT portu pomocí výše popsaného TTL driveru. Převod od motoru je řemenový, kde řemen a jeho napínání supluje gumička:-) Gumička přímo z osy motoru nahání kolo z Merkura. Na stejné ose, jako je kolo z Merkura, je i menší kolo z Merkura (sic!), které pomocí špagátku (napínaného pružinkou) pohání vozík jezdící po kolejničkách. Celkové provedení je jasné z obrázků:


First CNC machine:-)
First CNC machine
First CNC machine:-)
First CNC machine

First CNC machine:-)
First CNC machine
First CNC machine:-)
First CNC machine


Simulaci obrábění a chlazení zajišťují dvě LED, které jsou přes oddělovací invertory 7404 připojeny také přímo na LPT. Červená = zapnutá fréza, Zelená = zapnuté chlazení. Po instalaci a konfiguraci programu MACH3 jsem si v poznámkovém bloku napsal první jednoduchý G-code program a už to frčí. Funguje to parádně! Já si prostě potřebuju nejprve všechno "vošahat a vočuchat":-)

 
% Muj prvni G-code program pro Mach3
%
G90 (absolutní pozicování)
G40 (vypnutí kompenzace nástroje)
G17 (nastavena plocha XY)
G21 (programování v mm)
G00 X90.0 (Rychlý přechod na pozici 90)
M7 (zapnout chlazení)
M3 (zapnout frézu)
F 200 (rychlost posuvu pri obrabeni)
G01 X125.0 (řezání po ose X na souřadnice 125)
M5 (vypnout frézu)
M9 (vypnout chlazení)
G00 X90.0 (Rychlý přechod na pozici 90)
M7 (zapnout chlazení)
M3 (zapnout frézu)
G01 X45.0 (řezání po ose X na souřadnice 45)
M5 (vypnout frézu)
M9 (vypnout chlazení)
G30 (návrat home)
M30 (konec programu)


Poznámka: nutno přiznat, že to prvotní seznámení se s MACHem3 nebylo tak idylické, jak vyznívá z textu. Instalace a následný test systému byl OK, ale když jsem chtěl poprvé stroj rozhýbat, měl jsem hroznou chuť celé PC prohodit oknem s tím, že takovou neintuitivní sračkou si nebudu kazit život. Ale pak jsem si vzal k ruce český návod a pomalu to šlo...:-)


Co dál?

V další fázi jsem si chtěl postavit jednoduchý kreslící plotr, tzv. Čmarofix a zkoušet kreslení ve 2D. Jenže jsem nakonec usoudil, že to je už ztráta času. To, co jsem do začátku potřeboval, tedy osahat si to, mi dal už můj jednoosý stroj a teď už nemá smysl ztrácet čas dalším provizoriem. Je nutné poohlédnout se po skutečném CNC...

Navíc mě s tím čmáráním předešel kolega z práce. Vzal dvě staré CD mechaniky, posadil je křížem na sebe a vytvořil kreslící mikroplotřík s kreslící plochou cca 4x4 cm. A funguje mu to bezvadně:-) Motory ovládá také z LPT portu MACHem3 prostřednictvím driverů, původně zakoupených jako moduly pro Arduino:


CD CNC mikroplotr
CD CNC mikroplotr
CD CNC mikroplotr
CD CNC mikroplotr



CD CNC mikroplotr
CD CNC mikroplotr



RET



Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2017