Màquina CNC 3040T

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció

Encara no he construït la màquina CNC, o sigui que potser em decideixi a comprar-ne una. La màquina escollida és una xina que és bastant popular i que funciona prou bé, la 3040T. Significa que té un llit de 30cmx40cm. És una mica més gran que la 2030T.

Escollir una màquina CNC

A l'hora de comprar una màquina CNC, veig que el standard continua sent controladores amb el port paral.lel (Novembre 2016). Desde LinuxCNC continuen defensant la interfície del port paral.lel, doncs el port USB continua tenint problemes de latència i timing.

Evidentment que existeixen solucions USB, i que s'estan fent màquines CNC amb Raspberry Pi o Arduino. Però el tema és que si vull utilitzar LinuxCNC com a software controlador i una màquina CNC estàndar, més val utilitzar port paral.lel (existeixen portàtils amb port paral.lel en el cas de què no es vulgui utilitzar una torre). També existeixen ordinadors de sobretaula que no són torres: small form factor...

Com que la màquina amb port CNC és un estàndar, d'aquí a un temps podria haver una solució tecnològica fiable per connectar un portàtil amb USB a la 3040T. Avui en dia, però, els cables que prometen conversió USB/LPT no són una solució.

Aclaració: Les màquines CNC no són ni paral.lel ni USB. Les controladores, que es comuniquen amb el PC/laptop/raspberry/arduino són amb port paral.lel (menys la solució http://planet-cnc.com/ que és una controladora amb port USB). El tema és que hi ha solucions per connectar un ordinador amb USB a la controladora paral.lel. Però amb un cable conversor no n'hi ha prou. El que diuen els de LinuxCNC, que té la idea de ser un estàndar per connectar-se a molt tipus de fresadores/torns, és que no es pot utilitzar solucions USB. Això és degut a que la conversió USB a paral.lel no és fiable, no per la velocitat, sino pel timing/ritme. Ara bé, si no vull utilitzar LinuxCNC sí que hi ha solucions. Són solucions que controlen el ritme i velocitat amb què l'ordinador parla amb la controladora, de manera que no hi hagi problemes de tempo. Per exemple, amb la Raspberry tinc un shield que implementa GRBL, i parla amb la controladora CNC de forma adequada. Una altra solució que es comenta més avall: instal.lar un software/plugin i un cable especial (UC100) que és USB/paral.lel.

Quan estic comprant una màquina CNC en realitat estic comprant uns mòduls que són l'estructura, els stepper motors, una font d'alimentació, el router i la controladora. Per exemple, la 3040T és una solució vàlida. Si optés per la solució planet-cnc, he de fer servir la seva controladora. Si faig servir la solució RPi + GRBL, aprofitaré la meva màquina, però el tool chain canvia perquè no puc fer servir LinuxCNC.

Per tant, no he de tenir cap problema per comprar una màquina CNC que s'anuncïi com a USB. És un tema comercial.

Estic fent proves amb un portàtil antic amb port paral.lel que té un jitter molt gran i no el puc fer servir amb LinuxCNC. Ara bé, aquest mateix portàtil sí que es podria utilitzar amb altres solucions que tinguin una electrònica i un software que controlin el timing i buffers de la comuicació amb la controladora.

CNC amb Raspberry /Pi/Arduino (Novembre 2016)?

És una solució a mida, una solució particular, i per tant no és un estàndar de connectivitat entre màquines CNC i controladores/software CNC.

La idea és connectar una controladora CNC (Raspberry Pi CNC board) a la RPi. Aquesta controladora té un xip (Atmel ATMEGA328) on a dins s'ha programat un intèrpret de G-Code. Aquest intèrpret és el GRBL.

Però aquesta solució, que està molt bé, és una controladora que es connecta a la RPi. Necessito el hardware restant: font d'alimentació, motors pas a pas, etc... amb la idea de construir-te una màquina CNC des de zero, com volia fer. Però si tinc ja una màquina com la 3020T o la 3040T, això no em serveix.

Si vulgués construir-me la màquina, aquest board ja té uns drivers, però també hi ha la possibilitat de connectar uns drivers externs.

En qualsevol cas necessitaré un ordinador extern per dissenyar les peces (LibreCAD + dxf2gcode, etc), genero el fitxer G-Code, i es poso en un llapis USB a la RPi.

En aquest enllaç l'usuari té una 3040T amb port paral.lel com la que vull aconseguir, i pot connectar un conversor usb-paral.lel fet amb Arduino que té el GRBL. Per tant, si compro aquesta CNC, puc buscar si m'interessa una solució portable.

Compra CNC 3040T-DQ

Compte perquè sota el nom de 3040T sembla ser que hi ha diferents models no exactament, iguals. Els d'aquest enllaç diuen que la seva màquina és millor que les altres, però el que passa és que és USB.

La que jo voldria seria la 3040T-DQ de 3 eixos (la que diu que té ball screw).

D'altra banda, les màquines que s'anuncien amb USB, veig que tenen connector de port paral.lel en la controladora!

En aquest enllaç es veuen els diferents models de la marca VEVOR. Concretament, la 3040T-DQ és la que té el ball screw (coixinets rodants, va més suau), i és més cara.

Aclaració: 3040T amb USB

Aquestes màquines que s'anuncien d'aquesta manera no vol dir que siguin USB. La controladora és de port paral.lel, com es pot veure a les fotos, i de fet subministra un cable paral.le.

Llegint detingudament diu que This Machine Could Linked With USB, i també diu With USB function. També diu Installing a CNC control software and Drive such as the CNCUSB on your compute

El tema és que perquè funcioni, s'ha d'instal.lar un software a l'ordinador, i s'ha de tenir un cable USB a paral.lel especial, que és el cable UC100:

En aquest video es veu com es connecta una 3040T amb un cable UC100:

De fet utilitzen un portàtil, encara que no deu ser recomanable. (Can be controlled only by desktop computer,not suitable for laptop)

I compte, que potser aquest software no funciona a Linux.

El cas és que aquestes CNC que s'anuncien USB són normals amb el seu port paral.lel. El tema USB és purament comercial. Però tot plegat està molt mal explicat...

Compra

Al final he comprat una CNC 3040T-DQ:

Sliding unit: 	Chrome plate shaft
Maximum speed: 	0-4000mm/min
Carving speed: 	300-3000mm/min
Lathe structure: 	6061/6063 Aluminium alloy
Carving deepth: 	55mm
Repeat accuracy: 	0.05mm
Stepping motor: 	two-phase 1.8A
X,Y,Z Working Area: 	390(X)mm x 285(Y)mm x 55(Z)mm
Table size: 	390mm x 285mm
Shape dimension: 	610x485x395mm
Driving unit: 	1204 ball screw

Instal.lació de linuxcnc a un portàtil amb port paral.lel

NOTA: ha funcionat tota la instal.lació i aplicacions. Però el jitter és molt alt! (600000), i fa que no sigui usable per a LinuxCNC. Pensem que l'ordindor de sobretaula em dóna 6000. Per tant, queda descartat fer servir aquest laptop.

A l'institut tenim uns portàtils bastant antics amb port paral.lel. Especificacions:

1. Instal.lació Lubuntu Precise (12.04)

2. Instal.lació de LinuxCNC. Segueixo pas a pas les instruccions indicades a:

Ha funcionat tot molt bé.

7.2. Installing on Ubuntu Precise
Install Ubuntu Precise 12.04 x86 (32-bit). Any flavor should work (regular Ubuntu, Xubuntu, Lubuntu, etc). 64-bit (AMD64) is currently not supported. You can download the installer here: http://releases.ubuntu.com/precise/

Run the following to bring the machine up to date with the latest packages in Ubuntu Precise.

sudo apt-get update
sudo apt-get dist-upgrade
Add the LinuxCNC Archive Signing Key to your apt keyring by running

sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 3cb9fd148f374fef
Add a new apt source

sudo add-apt-repository "deb http://linuxcnc.org/ precise base 2.7-rtai"
Fetch the package list from linuxcnc.org.

sudo apt-get update
Install the RTAI kernel and modules by running

sudo apt-get install linux-image-3.4-9-rtai-686-pae rtai-modules-3.4-9-rtai-686-pae
If you want to be able to build LinuxCNC from source using the git repo, also run

sudo apt-get install linux-headers-3.4-9-rtai-686-pae
Reboot, and make sure you boot into the rtai kernel. When you log in, verify that the kernel name is 3.4-9-rtai-686-pae.

uname -r
Run

sudo apt-get install linuxcnc

Per arrencar linuxcnc veig que ho he de fer com a sudo:

$ sudo linuxcnc

3. Instal.lació de LibreCAD: sudo apt-get install librecad

4. Instal.lació de dxf2gcode

5. Altres coses: instal.lar joe, gedit, gimp, que es puguin veure videos del youtube en el chromium. Ficar accessos directes en l'escriptori. Deshabilitar actualitzacions o ficar-les cada dues setmanes.

Per veure els videos del Youtube:

sudo apt-get install lubuntu-restricted-extras

6. Entrar a la BIOS, i seleccionar el mode EPP/ECP (enhanced Port Parallel/Enhanced Capability Port). D'aquesta manera millora el senyal en el port paral.lel del portàtil. El problema dels portàtils és que la gestió de la bateria fa que el senyal dels pins sigui una mica dèbil. Per això és important el mode ECP. De fet, no es recomana l'ús d'un portàtil, encara que tingui port paral.lel. S'haurà de fer proves. Si realment la comunicació no és fiable, s'haurà de tornar a la idea original d'una màquina de sobretaula.

Instal.lació de linuxcnc a un ordinador de sobretaula (nov 2016)

LinuxCNC al portàtil no pot ser perquè dóna un jitter molt alt. Així que torno al PC. La instal.lació que ha funcionat en el portàtil (LUbuntu 12.04) ha donat bastants problemes en el PC degut a què el PC té una tarja NVIDIA i quan instal.lava els linux-headers real-time em donava problemes i no podia accedir al GRUB i no carrega bé els drivers de nvidia. Tant se val, instal.laré LinuxCNC a partir de la última imatge disponible. Aquesta és el Linux CNC 2.7 (novembre 2016) basada en Debian Wheezy.

S'instal.la sense problemes. El navegador web per defecte és el Icewheasel, i no sé per què el Chromium no funciona (he instal.lat el paquet chromium, crec que falta instal.lar el paquet chromium-browser). LinuxCNC i Gimp ja queden instal.lats. Instal.lo joe, gedit, LibreCAD i dxf2gcode.

La configuració de la màquina 3040T la faig igual que en l'apartat anterior, però en aquest cas em dóna més problemes. El cas és que selecciono el fitxer stepconf de la 3040T, i he de marcar que no tinc cap input en els eixos X i Y. He de posar /home/cnc en comptes de /home/jieter.

La configuració original és per un usuari que es va instal.lar els seus interruptors de final de carrera, que de moment jo no tindré. També s'ha d'actualitzar el valor de jitter amb els meus valors, que en principi és 15000 ns.

Faig una primera prova amb la tool-chain LibreCAD > dxf2gcode > LinuxCNC, i funciona correctament.

Compra de broques/bits

En aquest apartat ficaré les compres de broques que he fet, i el resultat que m'han donat.

Drilling bits

10x PCB Board Tungsten c End Mill Milling Micro 0.3-1.2mm
http://www.ebay.es/itm/10x-PCB-Board-Tungsten-Carbide-CNC-Drill-Bits-End-Mill-Milling-Micro-0-3-1-2mm-/142009057387?hash=item211066406b:g:W88AAOSw0gdXTAv4
Shank Diameter: Approx.3.175mm(1/8")

Aquest en principi és el diàmetre de les resistències, que serien de 0,45mm les de 1/4W, i 0,6mm les més grosses. (09-01-2017)

Punta De Carburo PCB Dremel 0.55mm Joyería Cnc Grabado Micro Brocas 5 piezas
http://www.ebay.es/itm/351762015395

0.7mm aniria bé per als cables, crec. En compro 5 unitats. (09-01-2017)

PCB CNC End Mill Milling Drill Bit Fresa Fresado Cortadora Final Molinos Extremo
size 0.7mm
http://www.ebay.es/itm/381468318616?_trksid=p2060353.m2749.l2649&var=650608052072&ssPageName=STRK%3AMEBIDX%3AIT

En compro 5 unitats de 1mm, Febrer 2017 (em pensava que era per fer milling, però ara veig que és drilling, després d'haver-me'n carregat una)

End Mill 1mm:
Carbide Tungsten 0.5-3.175mm PCB CNC End Mill Milling Cutter Engraving Drill Bit
http://www.ebay.es/itm/351580328000

He comprat 5 unitats de 0.5mm (per als components) i 5 unitats de 0.7mm (per als cables). Shank diameter: 3.175mm:

0.5-3.175mm PCB CNC Final Molinos de Extremo Fresa Cortadora de Fresado Taladro
http://www.ebay.es/itm/291617598533

Milling bits

NOTA. Recordar que per fer milling també tinc els V-shape.

compte! que aquests deuen ser drill. Per això me'ls carregava...

Silver-0-5-3-175mm-Carbide-PCB-CNC-End-Mill-Endmills-Milling-Cutter-Drills-Bits
http://www.ebay.es/itm/Silver-0-5-3-175mm-Carbide-PCB-CNC-End-Mill-Endmills-Milling-Cutter-Drills-Bits-/381468318159?var=&hash=item58d14899cf:m:mY0f-z2BJiP_MsNsG33lyag
De 0,5mm a 3,175mm
5x-HSS-CNC-4-Flauta-Fresa-Cortadora-Broca-Mill-Cutter-Profundidad-4-6-8-10-12mm
http://www.ebay.es/itm/5x-HSS-CNC-4-Flauta-Fresa-Cortadora-Broca-Mill-Cutter-Profundidad-4-6-8-10-12mm-/141765231013?hash=item2101ddc1a5:g:WMUAAOSwd0BV6W5P
10x 3.175mm Carburo Molino De Extremo Bits de grabado CNC PCB Moldura 3.0mm
http://www.ebay.es/itm/10x-3-175mm-Carburo-Molino-De-Extremo-Bits-de-grabado-CNC-PCB-Moldura-3-0mm-/331915688403?hash=item4d47b779d3:g:mVsAAOSwabhUXM7z

He de buscar bits de flauta amb diàmetre inferior a 3mm. Aquests són de 2mm (single flute en comptes de 2 flautas). Trobar diàmetre inferior a 2mm és cosa impossible. Recordar que per fer milling també hi ha els V-Shape. Març 2017:

2mm CNC Milling Carbide Single Flute Spiral Bit Tasteless Pack of 10
http://www.ebay.es/itm/2mm-CNC-Milling-Carbide-Single-Flute-Spiral-Bit-Tasteless-Pack-of-10-/361139754461

Milling bits for Alluminium (TIALN)

Tungsten Carbide 2 Flute Slot Drill End Mill CNC Cutter TiAlN 2/3/4/6/8/10/12mm

Flauta de carburo de tungsteno 2 Ranura Taladro Cortador TIALN 2/3/4/6/8/10/12mm CNC Molino de Extremo

En compro dues unitats: 3,71x2=8e

Engraving bits for PCB (V-Shape)

10Pcs 0.1mm 30Degree Carbide PCB Board Engraving Bits CNC Router Tool V-shape
http://www.ebay.es/itm/10Pcs-0-1mm-30Degree-Carbide-PCB-Board-Engraving-Bits-CNC-Router-Tool-V-shape-/162212025949?hash=item25c497165d:g:~KwAAOSwTA9X4rix
10x 0.1mm 10° Carburo PCB Acrílico ABS CNC Grabado Fresa Taladro Broca Bit Drill
http://www.ebay.es/itm/10x-0-1mm-10-Carburo-PCB-Acrilico-ABS-CNC-Grabado-Fresa-Taladro-Broca-Bit-Drill-/262623460689?hash=item3d2593fd51:g:rPwAAOSwFdtX17vt

Compte!: les broques de 10º, tot i que teòricament són més precises, tenen tendència a trencar-se. Provaré amb unes de 20º, que és un compromís entre 30º i 10º. Les de 30º són suficients quan les pistes són gruixudes, però quan he de passar una pista entre dos pins d'un xip, compte! amb les de 30º.

10Pcs 0.1mm 20 * bits de Grabado CNC Router Tool V-Diseño De Carburo PCB Board
https://vod.ebay.es/vod/FetchOrderDetails?ViewPaymentStatus&purchaseOrderId=170000030733329

Accessoris

Tinc broques de fins a 12mm de canya, i necessito collets per poder ficar aquestes broques.

How to hold pieces down on a CNC machine?:

CNC Ballpoint Plotter Pen

Per ex,

(TBD)

Configuració LinuxCNC / 3040T

Per configurar la màquina amb els paràmetres correctes s'utilitza la utilitat stepconf. Tanmateix, els fitxers de configuració necessaris es troben a la xarxa:

Video de com es configura una màquina:

La 3040T per defecte no té final de carro, per tant la configuració que necessito és 3040t_no-endstops.

Els fitxers principals són el .ini i el .hal, però n'hi ha d'altres.

cd /home/cnc/linuxcnc/configs
mkdir 3040t

wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t.stepconf

S'ha d'editar el fitxer 3040t i canviar coses:
*canviar /home/jieter per /home/cnc

cd 3040t

wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/3040t.hal
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/3040t.ini
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/README
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/autosave.halscope
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/custom.hal
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/custom_postgui.hal
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/face.ini
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/linuxcnc.var
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/postgui_backup.hal
wget https://raw.githubusercontent.com/jieter/linuxcnc-config/master/configs/3040t_no-endstops/tool.tbl
$ sudo linuxcnc /home/cnc/linuxcnc/configs/3040t/3040t.ini

Can't find module 'probe_parport'. Comentar a 3040t.hal:

#loadrt probe_parport

i ara ja funciona.

Primer havia d'executar linuxcnc com a sudo perquè els fitxers .axis_preferences i .axis_mdii_history, el propietari no sé per què era el root. Canvio a cnc:cnc, i ja puc executar linuxcnc amb l'usuari cnc, i creo un shortcup a l'escriptori amb la meva configuració:

$ linuxcnc /home/cnc/linuxcnc/configs/3040t/3040t.ini

Per crear shortcuts a Lubuntu:

$ lxshortcut -o ~/Escriptori/3040t

Però de moment no funciona si executo una comanda com a sudo. (TBD)

Workflow (tool chain) LibreCAD-dxf2gcode-LinuxCNC

Ja tinc el linuxcnc configurat, i puc practicar amb el flux de treball encara que no tingui la màquina.

Faig la primera prova:

  1. LibreCAD: creo una peça senzilla
  2. dxf2gcode: deixo els paràmetres bàsics: profunditat de 3mm amb dues passades a 1.5mm.
  3. LinuxCNC. Botó d'emergència; arrenco la màquina; faig el home dels eixos. I ja puc fer la simulació.

Primeres proves amb la CNC 3040T-DQ

Linuxcnc.png

Resolució de problemes

Quan carrego un fitxer ngc que he generat amb el dxf2gcode:

G-Code error near line 3333
...
Zero-radius arc...

A la línia 333 trobo:

G3 X  50.919 Y   9.693 I  -0.000 J   0.001

G2 o G3 signifiquen arcs de circunferència. El tercer paràmetre és el radi, i protesta perquè val 0. Dóna 0 perquè vol fer un arc molt petit. El millor és comentar aquesta línia per tal de què la sobrevingui.


creat per Joan Quintana Compte, novembre 2016

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines