====== CNC ====== **CNC stroj není CNC strojař**. Myslet za tebe nebude. Co nedělat: * Neodpojovat motory když je k jednotce připojený napájení * Nezapínat řídící jednotku když nejsou připojený motory * Pokud arduino neblika po pripojeni k USB, tak nepripojuj napajeni motoru. Je tam asi zkrat. * Nepřipojovat napájení motorů, pokud arduino nemá 5V z USB. * Netočit manuálně s motorem moc rychle (generuje napětí?) * Nešahat na žádný kontakty na arduinu * Nenajizdet do kraju, zatim nejsou nainstalovany koncovy spinace * Nenamoč drevotriskovy desky na CNC * Nezapomeň vynulovat souřadnice před posláním G-kódu do stroje * Neposílej do stroje G-kód, kterej sis předtim pořádně neprohlídnul/nevyzkoušel ve vzduchu (rozměry, rychlosti, atd...) * Neutahuj při upínání šrouby do insertů moc hluboko nebo velkou silou. Neutahuj je ani proti šikmejm plochám! * Nenastavuj nic na VFD invertoru vretena!! Da se tak spalit invertor i s motorem. * Neutahuj klestinu vretene moc velkou silou (cim delsi klic tim snazsi je to prehnat). Vreteno pak ztrati presnost a je po srande. * Klestinu vzdycky nejdriv zacvakni do matky, nez do ni das frezu, nebo nez ji zacnes sroubovat do vretene. * Nenapínej řemeny silou. Šroub napínáku je velkej převod, takže bez námahy řemen přetrhne. * Frezy skladuj tak, aby se nemohly otresama mlatit o sebe (treba v jedny krabici nebo v pytli). Jsou krehky a vzajemne se ostipou a ztupi. * Alespoň jednou za pul roku pripoj VFD k sitovemu napeti a nech ho pul hodiny zapnute. Jestli bylo bez napeti dele nez rok, nesmi se pripojit do zasuvky bez reformovani kondenzatoru, jinak vybouchne! ===== Programy pro obsluhu CNC ===== * **Moje soucasny workflow** * **2D**: LibreCAD -> export do formatu DXF -> bCNC -> UGS-platform * **3D**: OpenSCAD -> export do formatu STL -> Kiri:Moto -> UGS-platform * **PCB**: gEDA/PCB (ma export primo do g-code) -> UGS-platform * **PCB**: KiCAD/pcbnew -> export do gerberu (soubor->kreslit) -> FlatCAM -> bCNC (s autolevelingem) * **V-Carving**: F-Engrave (+pypy) -> UGS-platform * **Ovládání CNC** * Universal G-Code Sender https://winder.github.io/ugs_website/ (doporučuju verzi ugs-platform) * bCNC https://github.com/vlachoudis/bCNC (Švýcarský nůž pro CNC, má autoleveling, probing, umí i generovat G-Kód z DXF výkresů, CAM funkcionalita, generování overcutů, umí upravovat a dlaždicovat g-kod, generovat krabice, ozubený kola a další tvary, trochu nepřehledný pro začátečníky) * ChiliPeppr http://chilipeppr.com/grbl (běží z prohlížeče přes json->serial server nainstalovanej na localhostu. Potřebuje WebGL.) * **2D CAM (Generování g-kódu)** * Potrebujete vykres v **DXF** nebo v horsim pripade **SVG** * bCNC (viz. vyse) * http://jscut.org/jscut.html (alternativa makercamu, 3D simulace nefunguje bez WebGL, umí navíc v-bit gravírování! taby umí generovat jen po přípravě v SVG) * http://www.makercam.com/ http://partkart.com/ (zakladni generovani z SVG krivek) * https://laserweb.github.io/LaserWeb4/dist/ (nastupce jsCutu, bohuzel jsem do nej zatim nepronikl. nefunguje bez WebGL. settings->application->cnc mode) * **3D CAM (Generování 3D g-kodu)** * Potřebujete **STL** model z **OpenSCAD**u, nebo FreeCADu http://www.openscad.org/ https://www.freecadweb.org/ * https://grid.space/ (3D CAM v browseru, je to zaroven slicer pro 3d tisk a laserovy rezani) * https://partmill.com/ (3D CAM v browseru, beta verze toho umi tak malo, ze je temer nepouzitelna, treba se casem zlepsi) * http://pycam.sourceforge.net/ * https://github.com/vilemnovak/blendercam http://blendercam.blogspot.cz/ * https://www.freecadweb.org/ FreeCAD Path Workbench * https://sites.google.com/site/heekscad/ (neni uplne zadarmo, ale vypada docela sikovne) * **V-carve** * F-Engrave http://www.scorchworks.com/Fengrave/fengrave.html * jscut (viz. vyse) * **PCB do g-kodu** * gEDA/PCB (ma export primo do g-code) * http://flatcam.org/ * http://copper.carbide3d.com/ http://carbide3d.com/apps/pcb/ * https://github.com/Traumflug/Visolate vtipne zjednodusuje pcb gerbery pomoci voronoi * https://github.com/micsche/kicad-laser-min taky voronoi, ale commandline co funguje bez javy a GPU. primo nad kicad_pcb souborem * **Webovky s jednoúčelovejma generátorama G-kódu** * http://www.thuijzer.nl/image2gcode/ (zpracovani vejskovy mapy do 3D g-kodu. pridat prikaz na feedrate, napr.: F1000) * https://www.shapeoko.com/wiki/index.php/Interactive_G-Code_Generators (ruzny jednoucelovy generatory) * http://www.intuwiz.com/engraving-rectangle-grid.html (generator mrizky) * https://sct-usa.com/thread-mill-code-generator/ (generator zavitu) * **Optimalizace g-kodu** (neni potreba, ale mam pocit ze to neni uplne blbej napad vzhledem k tomu co obcas leze z CAMu...) * Neosvedcilo se na 3D, je potreba kod po optimalizaci zkontrolovat! * bCNC (viz. vyse) * https://github.com/alsliahona/gcode-optimizer * https://github.com/runeSal/OPTI-G * **Simulatory G-kodu** * http://www.cncwebtools.com/Apps/GCode_Simulator/index.html (potrebuje WebGL, me chodi jen ve Firefoxu) * http://camotics.org (Dříve OpenSCAM) * FreeCAD (viz. vyse) * **3D scan** * Pomocí sondy * bCNC * Rekonstrukce z fotek [[:howto:multimedia:photogrammetry]] * **Vykresy ke stazeni** * https://grabcad.com/library * http://www.thingiverse.com/ * http://www.makercase.com/ (generátor krabic) * http://terrain.party/ (topograficky mapy cely planety ke stazeni) * **Ostatní** * http://www.flatfab.com/ Software na generování 3D koster z desek ===== Nástroje ===== * **Fréza** = ostrý nástroj, **Frézka** = obráběcí stroj do kterýho se fréza upíná * Odkazy * https://www.shapeoko.com/wiki/index.php/Endmills * http://makezine.com/2015/12/03/6-essential-end-mills-for-your-cnc-machine/ * Nejběžnější frézy * Podle materiálu * **carbide**, karbid wolframu, slinutý karbid, tungsten carbide, widium (Momentálně nejoblíbenější. Je extrémně tvrdý, vydrží dýl ostrý, není potřeba moc chladit, ale je křehký.) Dělají se z něj špičky vrtáků do zdi (aka "widiáky"). * **HSS**, high speed steel, vysokorychlostní ocel. Nejvíc obyč materiál, měkčí než karbid, snáž se tupí a přehřívá (=pozor na otáčky), ale hůř se láme. Je levnější a na měkčí materiály stačí. Dělají se z něj obyč černý vrtáky na ocel. * Podle průměru dříku * **1/8" = 3.175mm** = Jediný druh co lze dát do Dremelu. Do vřetena máme taky 1/8" kleštinu. * Délka ostří 22mm nejlevnější, 32mm, 42mm, 52mm předražený * **1/4"** i tuhle kleštinu máme, zatím ale s takhle velkejma frézama nemám moc zkušenosti * Podle tvaru * **end mill**, flat (česky **čelní fréza**) (běžné řezání, frézování, drážkování, vrtání) * **Ball head end mill** (endmill s hezčím finišem na 3D věci, muze rychleji odebirat material, nema namahanej roh) * **Tapered Ball Nose** (jako normalni ball nose, ale ke spicce se zuzuje, takze se s nim daj delat drobnejsi detaily, ale zaroven je pevnejsi) * **Rounded/radiused head/bull nose end mill** (zaoblený endmill, nemá namáhanou hranu, takže víc vydrží) * **V-Bit** různé úhly a velikosti, 30°, 60°, 90° (gravírování, výroba plošňáků, srazeni hran, drazkovani desek k ohybu) * **Half straight** (plasty, pěna, dibond, preklizka,...) * Podle počtu ostří * Dual flute (dřevo) * Single flute (plasty, hliník?) * 3-flute (jako 2-flute, ale tuzsi s mirne lepsim finisem, pokud nevadi vetsi pocet zubu za minutu) * 4-flute (hezci finis) * Podle spirály * **Upcut** (spirála jako vrták, lépe odklízí třísky, ale škube okraje) * **Straight** (hůř odklízí třísky, ale dělá hezčí hrany) * **Downcut** (opak upcutu, naopak ještě tlačí třísky zpátky do řezu, jen pro speciální situace, při vrtání snadno zapálí dřevo) * **Compression** (kombinace upcut/downcut, speciální) * Podle coatingu ===== Materiály ===== * Plasty * Lepší * Acetal, Delrin, POM * HDPE * PVC * Horší * ABS * Kompozity * Dibond (hlinik na plastu) ===== Parametry pro materiály ===== * http://carbide3d.com/files/Nomad883_feeds_125.jpg * https://www.shapeoko.com/wiki/index.php/Materials#Nomad_883 Co jsem pouzival ^ Material ^ Freza ^ Hloubka řezu ^ Stepover ^ Posuv XY /min (feed) ^ Posuv Z /min (plunge) ^ Vřeteno ^ RPM ^ Pozn. ^ | Dřevotříska | 3.175mm, 2 břity | 1mm | | 1000mm | 500mm | Dremel 3000 | Max | | Překližka | 3.175mm, 1 břit | 1mm | | 700mm | 300mm | Dremel 3000 | Max | místama to skákalo | | Hliník | 3.175mm, 1 břit | 0.1mm | | 150mm | 30mm | Dremel 3000 | Max | | Hliník | 3.175mm, 1 břit | 0.5mm | | 240mm | 124mm | lidl | 10k?? | Salam23 | | Dibond | 3.175mm, 1 břit | 1mm | | 250mm (400mm?) | 250mm | lidl | 20k?? | Salam23 | | Dibond | 3.175mm, 1 břit "half straight" na plast | 1mm | | 250mm (400mm?) | 100mm? | China 1.5kW VFD | 17k | rychle projit hlinikem (= ne zdlouhavej helix), taby ~3mm | | Hliník | 3.175mm, 1 břit | 0.25mm | | 300mm | 70mm | China 1.5kW VFD | 10k | 1mm2 taby, helical, gandalf podlozky | | Překližka | 3.175mm, 2 břity straight | 1mm | | 1500mm | 600mm | China 1.5kW VFD | 6000 | climb zpusobuje deflekci! velký otáčky taky. | | Překližka | 3.175mm, 1 břit half straight | 1mm | | 1500mm | 600mm | China 1.5kW VFD | 12000 | lepší než s dvoubřitkou, ale možná bych ještě snížil otáčky... | | HDPE | 3.175mm, 1 břit straight | 1mm | | 2000mm | 500mm | China 1.5kW VFD | 7200 | | | gutta hobbycolor 3mm pěnová PVC deska | 3.175mm, 1 břit | 1.5mm | | 4000mm | 2000mm | China 1.5kW VFD | 7200 | | Plexisklo PMMA (acrylic) | 3.175mm, 1 břit | 0.5mm | | 1000mm | 250mm | China 1.5kW VFD | 9000 | pomaha mazat (staci WD40), obcas skakalo | | Recyklát / Traplast | 3.175mm, 1 břit | 1mm | | 4000mm | 2000mm | China 1.5kW VFD | 7200 | Problémy s backlashem při CCW?? Half straight jsem zlomil kvuli nevyklizenejm triskam v hloubce. Chce to upcut nebo polovicni feedrate? | | PCB | 0.8mm, 2 břity | 0.6mm | | 400mm | 400mm | China 1.5kW VFD | 24000 | | | Dřevo (práh) | 0.8mm, 2 břity | 0.5mm | 0.4 | 400mm | 400mm | China 1.5kW VFD | 24000 | | | MDF | 6mm, 2 břity | 2.2-3mm | 45% | 1600mm | 250mm | China 1.5kW VFD | 8800 | Skakalo, Durazne doporucuju karbid nebo aspon coating | | Smrk | 30mm planer, 2 břity | 3mm | 50% | 1000mm | 0 | China 1.5kW VFD | 7200 | | | Smrk | 30mm planer, 2 břity | 5mm | 100% | 1000mm | 0 | China 1.5kW VFD | 24000 | Už je trochu děsivý u toho stát, jestli něco odletí, tak tě to nejspíš zastřelí | ==== Gravírování PCB ==== * 0.2mm 30° (nebo ostřejší) v-bit, 10-24 kRPM?, 400mm/min? * Jednoduchy THT desky s tlustejma silovejma cestickama se daj snadno delat 0.8mm endmillem. neudela clovek zadny detaily (SMD), ale na nektery veci to staci a vyhoda je, ze stejnou frezou se deska rovnou vyvrta a orizne. * Cuprexit prilepenej oboustrankou = nejsou potreba taby! * FlatCAM * Pri exportu z KiCADu je potreba pouzit pro vrtani format "Gerber X2", protoze format "Excellon" ve flatcamu zlobi. * nastavit vetsi v-bit nez je na nem napsany (0.3-0.4mm, asi by bylo dobry si riznout caru a zmerit to pod mikroskopem, bohuzel je tu jeste backlash...) * vic passu (do strany, ne do hloubky) treba 3? muzes i vic. spis s velkym prekryvem (50-60%) * hloubka rezu se osvedcila 0.01mm (ale asi zalezi na tloustce medi) * 0mm bylo malo a 0.1mm bylo HOODNE MOC (=je to pak nepouzitelne otrhany) * rozhodne delat korekci v setinach nebo tisicinach, nikdy ne po desetinach! * Mozna by davalo smysl nastavit v CAMu hloubku rezu 0 a posunout si origin o cca 0.01mm dolu az v senderu, protoze to stejne pak doladuju na miste... * Pri pouziti 0.8mm endmillu misto v-bitu hloubka 0.02mm nestacila, tak jsem dal 0.1mm (asi by stacilo i trochu min). * bCNC * Autolevel! Bez toho to asi ani nema cenu zkouset. Sit merenejch bodu s rozestupem 1cm nebo min. Probe feed cca 70mm/min. * Z0 jsem stanovoval taky pomoci kontaktniho sondovani primo frezou (potom jsem ho posunul niz o pozadovanou hloubku rezu) * Odsávat vysavačem a štětečkem * Při návrhu desky použít co nejširší možný trasy/pady. s výsledkem jsem byl spokojenej, SO8 smd pouzdra se daji s prehledem osazovat. ===== Fyzicke vlastnosti stroje ===== * Rozmery pracovniho kvadru * X 830 mm * Y 1340 mm * Z 95 mm * Rohy * X0 Y0 Z0 * X800 Y1300 Z90 * Možné upgrady * 15W Laser https://www.aliexpress.com/item/15W-Laser-Module-High-Power-15000mw-Blue-Color-Laser-Head-DIY-Metal-Engraving-450nm-Lasers-DIY/32807747581.html * 10w Laser https://www.aliexpress.com/item/Freeshipping-10-watts-10-000-MW-of-high-power-laser-engraving-laser-module-450nm-blue-laser/32797447168.html ===== Prislusenstvi ===== * klic 17 - na matku vretena er11-a * klic 13 - na osicku vretena er11 * klic 10 - na matku klestiny na dremlu ===== Ridici firmware ===== * GRBL (pouzivame, 3osy, freza, laser) * TinyG (6 os) * Smoothieboard (6 os, umi i nekartezsky roboty, krome CNC a laseru i 3d tisk, vyzaduje 32b mikroprocesor) * GNEA (budouci port GRBL na silnejsi mikroprocesor) ===== Microsteping ===== ==== A4988 (8-35V, 1A bez chlazeni, 2A s chlazenim) ==== ^ MS1 ^ MS2 ^ MS3 ^ Microstep Resolution ^ | Low | Low | Low ^ Full step | | High | Low | Low ^ Half step | | Low | High | Low ^ Quarter step | | High | High | Low ^ Eighth step | | High | High | High ^ Sixteenth step | ==== DRV8825 (8.2-45V, 1.5A bez chlazeni, 2.2A s chlazenim) ==== ^ MODE0 ^ MODE1 ^ MODE2 ^ Microstep Resolution ^ | Low | Low | Low ^ Full step | | High | Low | Low ^ Half step | | Low | High | Low ^ 1/4 step | | High | High | Low ^ 1/8 step | | Low | Low | High ^ 1/16 step | | High | Low | High ^ 1/32 step | | Low | High | High ^ 1/32 step | | High | High | High ^ 1/32 step | ===== Soucasne nastaveni ridici jednotky: ===== Microstepping: XY 1/4 Z 1/2 #define USE_SPINDLE_DIR_AS_ENABLE_PIN $0 = 10 (Step pulse time, microseconds) $1 = 25 (Step idle delay, milliseconds) $2 = 0 (Step pulse invert, mask) $3 = 0 (Step direction invert, mask) $4 = 0 (Invert step enable pin, boolean) $5 = 0 (Invert limit pins, boolean) $6 = 0 (Invert probe pin, boolean) $10 = 1 (Status report options, mask) $11 = 0.010 (Junction deviation, millimeters) $12 = 0.002 (Arc tolerance, millimeters) $13 = 0 (Report in inches, boolean) $20 = 0 (Soft limits enable, boolean) $21 = 0 (Hard limits enable, boolean) $22 = 0 (Homing cycle enable, boolean) $23 = 0 (Homing direction invert, mask) $24 = 25.000 (Homing locate feed rate, mm/min) $25 = 500.000 (Homing search seek rate, mm/min) $26 = 250 (Homing switch debounce delay, milliseconds) $27 = 1.000 (Homing switch pull-off distance, millimeters) $30 = 24000 (Maximum spindle speed, RPM) $31 = 0 (Minimum spindle speed, RPM) $32 = 0 (Laser-mode enable, boolean) $100 = 40.000 (X-axis travel resolution, step/mm) $101 = 39.968 (Y-axis travel resolution, step/mm) $102 = 400.000 (Z-axis travel resolution, step/mm) $110 = 4000.000 (X-axis maximum rate, mm/min) $111 = 4000.000 (Y-axis maximum rate, mm/min) $112 = 400.000 (Z-axis maximum rate, mm/min) $120 = 200.000 (X-axis acceleration, mm/sec^2) $121 = 200.000 (Y-axis acceleration, mm/sec^2) $122 = 100.000 (Z-axis acceleration, mm/sec^2) $130 = 200.000 (X-axis maximum travel, millimeters) $131 = 200.000 (Y-axis maximum travel, millimeters) $132 = 200.000 (Z-axis maximum travel, millimeters) ==== Kalibracni trojclenka ==== novy_pocet_kroku_na_mm = soucasny_pocet_kroku_na_mm * ocekavana_vzdalenost/ujeta_vzdalenost ==== Nastaveni invertoru Huanyang 1.5kW ==== * V tomhle se fakt radsi nehrabte, nebo to cely shori. * Vřeteno * Zhong Hua Jiang * 1.5kW 220V 8A 400Hz * prumer 65*205 * SN: 200730184245.5 * Kabel JZ-HF-CY 4G1 * Konektor GX20-4 * {{:howto:mechanical_engineering:huanyang_vfd_inverter_manual.pdf}} * http://www.cnczone.ru/forums/index.php?act=attach&type=post&id=7154 * http://www.jinlantrade.com/ebay/invertermanual.pdf * https://hobbytronics.co.za/Content/external/1159/Spindle_Settings.pdf * http://www.halfbakedmaker.org/blog/post_id TODO: udajne je nas motor od 8000 otacek, zamknout nastaveni, promyslet DC brzdu napr napeti 8% z max napeti po dobu 0.5s od 10Hz Automaticky chlazeni:\\ Vystup: * PD050 Multi-Output 1(DRV function) Factory Setting:01 * PD051 Multi-Output 2(UPF function) Factory Setting:05 * PD052 Multi-Output 3(FA, FB, FC function) Factory Setting:02 * PD053 Multi-Output 4(KA, KB function) Factory Setting:00 Nastavit na 06 = uniform frequency reach 1\\ PD060, PD061 = frekvence 1 a 2\\ PD062 = range pro hysterezi = 1-10Hz Preskoceni kritickejch otacek:\\ PD056-059 * PD130 = 1 (pocet pump) * PD052 = 25 (pumpa 1) * PD060 = high * PD061 = low ^ Systemovy veci ^^^ ^ PD000 ^ 1 | Zamek nastaveni, 1 = zamceno, 0 = odemceno | ^ PD013 ^ 8 | Vyresetuje invertor do defaultu, v zadnym pripade potom nesmi bejt pripojenej motor | ^ V/F Krivka ^^^ ^ PD003 ^ 400 | Default frekvence (Hz) | ^ PD004 ^ 400 | Rated frekvence (Hz) | ^ PD005 ^ 400 | Max frekvence (Hz) | ^ PD006 ^ 2.5 | Stredni frekvence (Hz) | ^ PD007 ^ 0.5 | Min frekvence (Hz) | ^ PD008 ^ 220 | Max napeti (V) | ^ PD009 ^ 14 | Stredni napeti (V) | ^ PD010 ^ 7 | Min napeti (V) | ^ PD011 ^ 120 | Min frekvence pro vzduchem chlazeny 120Hz (=7200 RPM), vodou chlazeny 0Hz | ^ Parametry Motoru ^^^ ^ PD141 ^ 220 | Max napeti motoru (V) | ^ PD142 ^ 7 | Max proud motoru (A) | ^ PD143 ^ 4 | Pocet magnetickych polu motoru | ^ PD144 ^ 3000 | Otacky motoru pri 50Hz (pro motory 24000 RPM @ 400Hz je to **3000** RPM @ 50Hz) | ^ PD145 ^ ??? | Kompenzace kroutaku??? Nevim presne co s tim, nechal jsem default | ^ PD146 ^ TODO | Proud motorem bez zateze v procentech maximalniho proudu, default je 40%, asi to stahnu | ^ Rozběh/Brždění ^^^ ^ PD014 ^ 2 | Akcelerace #1 (s), fungovalo to i při zlomcích sekundy, ale radši jsem dal rezervu, bCNC defaultne ceka na roztoceni 3sekundy a pak zacne rezat, to je potreba stihnout | ^ PD015 ^ 6 | Decelerace #1 (s), při 1s se to triplo, při 2s to natahovalo brždění na 5s | ^ PD026 ^ 0 | 0: zpomalí do zastavení snížením frekvence, 1: necha motor volne dobehnout | ^ PD028 ^ default 0.5 | Frekvence zastavení (Hz) Motor se pod ní nechá dotočit, nebo se zabrzdí DC brzdou | ^ PD030 ^ default 0 | Délka DC brždění při zastavovani (s) | ^ PD031 ^ default 2 | % z max napětí při DC brždění | ^ Externi ovladani rychlosti (volitelne); Piny: VI, AI, ACM, RS+, RS- ^^^ ^ PD001 ^ 1 | Run source = 0:Operator, 1:External analog terminal, 2:Serial communication port | ^ PD002 ^ 1 | Frequency source = viz. PD001 | ^ PD070 ^ 1 | Analog Input Range, 0: 0~10V, 1: 0~5V, 2:0~20mA, 3:4~20mA | ^ PD071 ^ default 20 | Analog Filtering Constant, zvysit pri problemech | ^ PD072 ^ 400 | Higher Analog Frequency (420?) | ^ PD073 ^ 0 | Lower Analog Frequency | ^ PD074 ^ default 0 | Bias Direction at Higher Frequency | ^ PD075 ^ default 0 | Bias Direction at Lower Frequency | ^ PD076 ^ default 0 | Analog Negative Bias Reverse | ^ PD163 ^ 1 | RS485 slave address, 0 = disabled, 1-250 = addr | ^ PD164 ^ 1 | RS485 baudrate, 0 = 4800, **1 = 9600**, 2 = 19200, 3 = 34800 | ^ PD165 ^ 3 | RS485 mode, 0 = 8N1 ASCII, 3 = 8N1 RTU | ===== Zapojeni kabelu ===== {{http://www.linengineering.com/wp-content/uploads/2015/10/Wiring_4_lead_Wires.png}} * steppery - a+ red - a- blue - b+ green - b- black * vřeteno - U - V - W - GND