Buscar contenido en este blog

jueves, 21 de julio de 2016

Comunicación rs232 fagor 8010 8020 8025

COMUNICACIÓN A ORDENADOR POR RS232 CNCS FAGOR 8010 , 8020 , 8025

Este esquema de conexión es valido para la comunicación de cncs fagor 8010 , 8020 ,8025 por la linea RS232 ,siempre utilizando el conector trasero de la unidad cnc conector DB9 Hembra,
a todos los que queráis usar un adaptador usb aseguraros que es chip max232 no pl , ser o 340 no funcionan correctamente con el soft WinDNC de fagor que es el encargado de comunicar.

Siempre utilizar cable apantallado de 4 hilos 0.25 mm.





miércoles, 13 de julio de 2016

AJUSTANDO BACKLASH EN CNC FADAL

AJUSTANDO BACKLASH EN CNC FADAL


Ajustar la holgura en maquinas con cnc Fadal propio, es relativamente fácil, debemos medir la holgura del eje en cuestión, provistos de base magnética y reloj comparador, debemos saber la holgura en lado izquierdo centro y derecho, con el comando BL,1,10,15,10 donde el primer dígito es eje a compensar 1 =X 2=Y 3=Z segundo dígito valor a compensar lado izquierdo, 3º dígito valor a compensar centro, 4º valor a compensar lado derecho ,los valores son introduciros en pulgadas 
0.0010 inch = 0,0254 mm
0.00010 inch = 0,00254 mm .

El comando se introduce en modo manual y quedaría así BL,1,10,15,10 para eje X.
La compensación en eje Z no se pueden introducir zonas así que quedaría así BL,3,17


Ejemplo del comando BL


AJUSTANDO BACKLASH EN CNC FADAL

AJUSTANDO BACKLASH EN CNC FADAL


Ajustar la holgura en maquinas con cnc Fadal propio, es relativamente fácil, debemos medir la holgura del eje en cuestión, provistos de base magnética y reloj comparador, debemos saber la holgura en lado izquierdo centro y derecho, con el comando BL,1,10,15,10 donde el primer dígito es eje a compensar 1 =X 2=Y 3=Z segundo dígito valor a compensar lado izquierdo, 3º dígito valor a compensar centro, 4º valor a compensar lado derecho ,los valores son introduciros en pulgadas 
0.0010 inch = 0,0254 mm
0.00010 inch = 0,00254 mm .

El comando se introduce en modo manual y quedaría así BL,1,10,15,10 para eje X.
La compensación en eje Z no se pueden introducir zonas así que quedaría así BL,3,17


Ejemplo del comando BL


domingo, 7 de febrero de 2016

BALLBAR DIY CON ARDUINO

BALLBAR DIY CON ARDUINO PARTE 1


En el mundo de la maquina herramienta disponer de un sistema de medición ballbar es muy importante para tener controlados como la maquina realiza los movimientos, a continuación detallo como construir uno de forma artesana y funcional, con una precisión aprox 0.02 a 0.03 mm el material que nos hará falta, es un proyecto entretenido y el resultado final nos puede sorprender.


  1. arduino UNO
  2. 4 pins para arduino
  3. cable usb tipo A tipo B
  4. resistencia 200 ohm
  5. condensador 10 micros.
  6. led rojo
  7. cable apantallado 4 hilos 0.25mm 1,5 mt 
  8. Regla medición o calibre digital
  9. base magnética
  10. Base rodamiento angular de 8 o 10 mm
Yo hice el proyecto con una regla de medición que se utiliza en taladros pero se puede hacer perfectamente con un  calibre o pie de rey lcd económico.


La conexión del calibre con el arduino ya se hizo anteriormente, y es la que yo he utilizado , funciona bien tanto como el scrip de arduino, solo hay que modificar unas lineas que detallare mas adelante.

puedes encontrar información para realizar la conexión aqui ,en ingles.

Recordad que muchos dispositivos de este tipo posen un puerto mini usb B , este puerto en realidad no es un usb y si lo conectas al ordenador romperás el calibre.

Utilizando una regla medición china que es igual que un calibre digital.
Conexión 


Una vez que hemos conectado nuestro calibre a arduino, cargamos el scrip en nuestra tarjeta arduino utilizando el idle de arduino. 
Pagina oficial https://www.arduino.cc/

Utiliza este  scrip para que la lectura sea en milímetros y los datos mas rápidos.

------------------------------------------------------------------------------------------------------------------
volatile int count = 0;

int total = 0;
char data[14];
int dataPin = 4;
int gauge = 0; // display of calipers reading
int linea = 1; // separa linea
int factor = 0;
unsigned long sec;


void setup(){
pinMode(dataPin, INPUT); //DATA line goes to Arduino digital pin 4 conectamos cable data
Serial.begin(115200);
delay(300);
//attachInterrupt(0,getBit,FALLING); //CLOCK  digital pin 2 conectamos cable clock

}

void loop(){
int i,time;
for(i=2;i<14;i++){ //initialize array of bits to 0
data[i]=0;
}
do{time = pulseIn(2, LOW);} //repeatedly get the length of LOW pulses until one is longer than 130uS
while(time < 130);

attachInterrupt(0,getBit,FALLING); //start watching data line

while(count < 14){} //wait till all bits are filled in

detachInterrupt(0);
count = 0;
for(i=2;i<14;i++){


}

gauge = 1; //the following is code for converts least significant bit first binary to decminal, units are thousandths of an inch
factor = 2;
for(i=2; i<14; i++){
gauge += data[i]*factor;
factor = factor*2;
}

sec = millis();
Serial.print(gauge/100.0);// muestra 2 decimales
Serial.print(",");
Serial.print(linea+gauge/100);//Precision entera
Serial.print(",");
delay(30);
Serial.println();
}


void getBit(){
char sample = 1
; //variable used for "triple sampling"
if(digitalRead(dataPin) == HIGH) //here the dataPin is checked three times for a HIGH value.
sample++;
if(digitalRead(dataPin) == HIGH)
sample++;
if(digitalRead(dataPin) == HIGH)
sample++;
if(sample > 1) //if the pin was HIGH at least twice, a 1 is recorded
data[count] = 1;
count++; //increment count so main() knows when the entire string of bits is ready
}

-----------------------------------------------------------------------------------------------------------------


Una vez programado nuestro arduino ya debería funcionar podéis probar con el serial monitor de idle de arduino , debéis conectar el apantallamiento del cable al GND del arduino para que no oscilen los números del calibre, si no os funciona revisar los pins 2 y 4 del arduino.

COMO VISUALIZAR LOS DATOS

Es este cometido he probado muchos programas y de momento me quedo con un serial osciloscopio que es fácil de manejar y gratuito se pueden utilizar otros.

Serial oscilloscope v1.5
Puedes encontrarlo aqui 

Lo primero que hacemos es seleccionar nuestro puerto com , la velocidad Baud rate si se a utilizado el scrip anterior ya viene por defecto a 115700.


Si nos aparece esto es buena señal, pulsamos la tecla puesta a cero de nuestro calibre o regla de medir. Abrimos osciloscopio y elegimos canal 1 y 2.


Nos abre la pantalla osciloscopio y muestra canal 1 y canal 2 
canal uno muestra medida en formato 0,00 y canal 2 muestra 1 digito ,separada en un 1 mm.
entre 0 y canal 2 hay una separación de 1 mm en fracciones de 0,05 mm. esto nos sirve de guía,la medición seguirá en todo momento podemos generar un archivo de puntos en formato XML, podemos aumentar rejilla , velocidad ,colores y podemos salvar esos datos para no tener que configurar cada vez, en esta primera etapa no se muestra círculos ya lo veremos mas adelante recordad que la medición de un ballbar en un circulo no varia, así que una linea recta nos valdrá de momento para ver el estado de nuestra maquina.

La parte mecánica es ya a elección de cada uno yo utilizo una base magnética de reloj comparador unida a unos rodamientos basculantes en ambos extremos esto funciona extremadamente bien, pero ojo no hay seguridad si mueves erróneamente la maquina lo rompes.

Una vez en maquina debemos representar un circulo para obtener la medición con nuestro ballbar este es un ejemplo de codigo G ,se devén hacer medición en ambos sentidos, para observar diferencias, tome precauciones y ensaye en vació.
Importante una vez colocado el ballabar en posición de medición a X -29.50 Y0 y con el cabezal en su sitio, pulse el botón 0 de su regla o calibre y asegúrese que el osciloscopio esta activado.

G17 G90 (circunferencia de diametro 120 mm)
G1 F200  (velocidad de giro)
G1 X-59.5 F500 (poner el calibre a cero)
M01 (parada ,requiere pulsar ciclo start)
G1 X-60. (indica comienzo de medición en el osciloscopio habrá un salto que indica comienzo)
G02 I60. (hace el circulo orario)
M01 (parada)
G03 I60. (hace el circulo anti orario)
G1 X-59.5 (desactiva medición habrá otro escalón)
M30

NOTA :El programa g code puede no funcionar en determinadas maquinas adaptelo siguiendo el mismo orden para medición ordenada.

Y de momento esto es todo iremos incorporando nuevas prestaciones próximamente.


Ballbar diy arduino Parte 1