Autor Tema: Pin 2 Final de carrera.  (Leído 1686 veces)

Moucho

  • Nuevo
  • *
  • Mensajes: 15
  • Karma: +0/-0
    • Ver Perfil
  • Ubicación: A Coruña
Pin 2 Final de carrera.
« en: Mayo 12, 2015, 09:53:57 pm »
Hola, he construido una CNC de tres ejes con una placa Arduino Mega y Ramps v1.4.
Estoy utilizando el Firmware CNC V 1.0.16 y funciona todo perfectamente excepto un final de carrera. Los motores se mueven correctamente con un consumo adecuado.

Todos los finales de carrera están conectados a +5V a través de una resistencia y cuando se cierra el micro-switch se pone a cero voltios. Pero  la salida 2 de Arduino está siempre a 0V. Parece como si en alguna parte del programa se configure esta patilla como salida en lugar de entrada. Pero no consigo ver en qué parte del Firmware se produce esto.
He comprobado por medio de otro programa de Arduino que no estuviese dañado el pin 2, y funciona correctamente de entrada y de salida. También comprobé la Ramps por si hubiese una soldadura fría o algún componente mal, pero es una conexión directa al Arduino y repasé las soldaduras. Incluso hice cambios entre los pines 2 y 3, pero el 2 continuaba dando 0V mientras el resto estaba a 5V.

Si alguien puede ayudarme estaría muy agradecido.
A continuación incluyo la única parte del Firmware que he modificado.
Al utilizar la placa Ramps 1.4 estoy obligado a usar estos pines.

CNC_V1.0.16

#define FAST_XY_FEEDRATE 250
#define FAST_Z_FEEDRATE     250

// X axis configuration
#define X_STEP_PIN    A0  // Step control PIN.
#define X_DIR_PIN       A1  // Direction control PIN.
#define X_MIN_PIN        2  // min detection switch PIN
#define X_MAX_PIN     3  // max detection switch PIN
#define X_ENABLE_PIN 38 // Driver enable pin

// Y axis configuration
#define Y_STEP_PIN    A6  // Step control PIN.
#define Y_DIR_PIN       A7  // Direction control PIN.
#define Y_MIN_PIN       15  // min detection switch PIN
#define Y_MAX_PIN      14  // max detection switch PIN
#define Y_ENABLE_PIN A2 // Driver enable pin

// Z axis configuration
#define Z_STEP_PIN      46  // Step control PIN.
#define Z_DIR_PIN       48 // Direction control PIN.
#define Z_MIN_PIN       19  // min detection switch PIN
#define Z_MAX_PIN      18  // max detection switch PIN
#define Z_ENABLE_PIN A8 // Driver enable pin

#define MOTOR_PIN    A9   // Spindle motor control pin

Muchas gracias y un saludo.

ngc1300

  • Administrador
  • Usuario de CNCs
  • *****
  • Mensajes: 2904
  • Karma: +48/-2
    • Ver Perfil
    • cncControl
  • Ubicación: Terrassa
Re:Pin 2 Final de carrera.
« Respuesta #1 en: Mayo 13, 2015, 07:23:35 am »
probare con esa configuración, pero en el firmware 1.0.16 los pines se activan con 5v, con lo que cuando se cierra el micro-switch tiene que haber 5v en el pin del arduino.


Foshland

  • Moderador Global
  • Usuario de CNCs
  • *****
  • Mensajes: 1400
  • Karma: +23/-4
    • Ver Perfil
  • Ubicación: Ceuta
Re:Pin 2 Final de carrera.
« Respuesta #2 en: Mayo 13, 2015, 10:31:24 am »
Que resistencia pullup tienes? Como dice NGC tienes invertidos el tema de los finales, tienes que llevarlos a 0V siempre y a 5 cuando llega al final de carrera. Lo raro es que te funcione el resto de ejes, a no ser que tengas invertidos los finales en el firm
Me sigue fascinando el ingenio humano

Moucho

  • Nuevo
  • *
  • Mensajes: 15
  • Karma: +0/-0
    • Ver Perfil
  • Ubicación: A Coruña
Re:Pin 2 Final de carrera.
« Respuesta #3 en: Mayo 13, 2015, 12:46:31 pm »
Hola, antes de nada daros las gracias por vuestro interes en ayudar a los demás.
En principio tenía la instalación al revés, es decir, tenía a 0V los finales y cuando cerraba en fin de carrera se ponía a 5V, pero no me funcionaba. Así que lo hice al revés, y funcionan perfectamente (excepto el 2). Las resistencias que uso son de 1K, con lo que la corriente que tenemos son 5mA, pienso que es un valor que no va a generar ningún problema.
Estoy pensando de intentar poner en alguna parte del progama un indicador que me diga en todo momento como está configurado ese pin y que tensión tiene, pero no se muy bien como hacerlo y en que parte hacerlo. No se mucho de programación, mi profesión está relacionada con la electrónica, y de informática se lo justo, o sea ofimática.
Pero por no dejar de probar ninguna posibilidad, voy a intentar cambiar tal como comentáis, poniendo los finales de carrera al revés.
Hasta el sábado no podré probarlo, ya que estoy trabajando en Madrid y mi residencia es en un pueblo cerca de Santiago.
Muchas gracias y cualquier ayuda será de agradecer.

Foshland

  • Moderador Global
  • Usuario de CNCs
  • *****
  • Mensajes: 1400
  • Karma: +23/-4
    • Ver Perfil
  • Ubicación: Ceuta
Re:Pin 2 Final de carrera.
« Respuesta #4 en: Mayo 13, 2015, 01:06:07 pm »
Que raro, primero yo pondria otras resistencias mayores, de 4K7 o 10K, pero bueno, no creo que este ahi el problema.

Si has comprobado y el pin 2 esta bien, pues solo te queda comprobar la resistencia asociada de 1K que le has puesto, a ver si esta mala...

Tambien comprueba que dandole con la mano al final de carrera te cierra el circuito y que por consiguiente te activa 5V, tanto con el pin conectado al arduino como quitado
Me sigue fascinando el ingenio humano

Moucho

  • Nuevo
  • *
  • Mensajes: 15
  • Karma: +0/-0
    • Ver Perfil
  • Ubicación: A Coruña
Re:Pin 2 Final de carrera.
« Respuesta #5 en: Mayo 13, 2015, 03:44:37 pm »
Hola Foshland, como ya comenté el pin está comprobado, y la resistencia forma parte de un array y en su momento cambié las patillas para descartar que estuviera mal.
Por otra parte lo de accionar manualmente el micro-switch, lo hice y de los aprox. 165mV que marca el polímetro pasa o los 0V. Ambas tensiones, lógicamente, son interpretadas por el Arduino como un LOW, y bloquea el motor.
Muchas gracias Foshland por tu ayuda.

Foshland

  • Moderador Global
  • Usuario de CNCs
  • *****
  • Mensajes: 1400
  • Karma: +23/-4
    • Ver Perfil
  • Ubicación: Ceuta
Re:Pin 2 Final de carrera.
« Respuesta #6 en: Mayo 13, 2015, 04:43:11 pm »
Invierte los finales de carrera en el firmware, solo que ahora te irian mal los otros, pero por probar.... Casi seguro que mejor desconectas los otros y juega solo con el que te va mal, a ver si te mejora ese pin
Me sigue fascinando el ingenio humano

jfelipe

  • Aprendiz
  • **
  • Mensajes: 299
  • Karma: +7/-1
    • Ver Perfil
Re:Pin 2 Final de carrera.
« Respuesta #7 en: Mayo 13, 2015, 06:38:38 pm »
Rebuscando entre los ficheros que tengo de cuando usaba la RAMPS, he encontrado un esquema en el que marcan con un asterisco los pìnes 2 y 3. Son los únicos. No viene reseña en el esquema indicando qué significa el asterisco, ni recuerdo de dónde lo bajé.
La solución que se me ocurre es cortar con un cutter la pista que va del conector al pin 2 y soldar un cablecillo a otro pin.

jfelipe

  • Aprendiz
  • **
  • Mensajes: 299
  • Karma: +7/-1
    • Ver Perfil
Re:Pin 2 Final de carrera.
« Respuesta #8 en: Mayo 13, 2015, 06:48:21 pm »
El esquema:



Moucho

  • Nuevo
  • *
  • Mensajes: 15
  • Karma: +0/-0
    • Ver Perfil
  • Ubicación: A Coruña
Re:Pin 2 Final de carrera.
« Respuesta #9 en: Mayo 13, 2015, 07:31:06 pm »
Hola jfelipe. Es cierto lo que dices del esquema, no me había fijado en el detalle de asterisco. También estoy viendo asteriscos en las patillas 18-19-20-21. Puede ser que dicha señalización sea porque estas patillas pueden usarse en otras funciones.
La opción que propones de usar otro pin, es una buena salida, pero me gustaría saber que está pasando antes de recurrir a ella.
Como comentaba hasta el sábado no podré hacer pruebas, y sin duda me estáis dando muchas ideas, y alguna más que me estáis inspirando. Muchas gracias por vuestro apoyo.

Cambiando de tema, estoy intentando insertar una imagen y no soy capaz. Supongo que se hace pinchando en el icono de insertar imagen y que se abrirá un explorador, pero lo único que aparece es esto "". Sin duda estoy haciendo algo mal.
Un saludo.

jfelipe

  • Aprendiz
  • **
  • Mensajes: 299
  • Karma: +7/-1
    • Ver Perfil
Re:Pin 2 Final de carrera.
« Respuesta #10 en: Mayo 13, 2015, 07:42:22 pm »
Yo no he encontrado en el firmware que ese pin se use para otra cosa.
Sobre cómo subir fotos, onaisis lo explicó en un tutorial
http://cnccontrolapp.com/smf/index.php?topic=289.0
últimamente subefotos a mi no me deja subir, y lo hago mediante imgur, que también lo sugerían en ese hilo.

ngc1300

  • Administrador
  • Usuario de CNCs
  • *****
  • Mensajes: 2904
  • Karma: +48/-2
    • Ver Perfil
    • cncControl
  • Ubicación: Terrassa
Re:Pin 2 Final de carrera.
« Respuesta #11 en: Mayo 13, 2015, 07:56:15 pm »
El tema de los pines de arduino es un poco complicado, yo he encontrado arduinos en los que cierta combinación de pines daba problemas, por ejemplo con la sonda de contacto, hay ciertos pines con los que no funciona y en teoría debería funcionar. lo mismo te esta pasando igual, date cuenta que ciertos pines tienen asignadas funciones internas para hacer ciertas cosas y puede ser que no se comporten del todo bien.


Moucho

  • Nuevo
  • *
  • Mensajes: 15
  • Karma: +0/-0
    • Ver Perfil
  • Ubicación: A Coruña
Re:Pin 2 Final de carrera.
« Respuesta #12 en: Mayo 13, 2015, 09:24:33 pm »
Gracias jfelipe, ahora ya podré mostrar las imágenes de mi CNC.
Referente a lo comentas, ngc1300, si el problema no es de software sin duda que va a ser lo que dices tú. Los procesadores tienen sus particularidades y cuando se juntan con Murphy, entonces ya la tenemos liada.
Si no me equivoco, por lo que he leído en los foros el firmware CNC es obra tuya, lo que viene a decir que sabes mucho de programación. Y si es así, te pregunto en cual de las partes del programa está el bucle principal del programa para poder insertar algo que me indique como está la salida del pin 2. No se si seré capaz pero lo intentaré, porque principalmente todo esto de la CNC lo hago para aprender este mundillo que me parece muy gratificante.
Gracias, un saludo.

ngc1300

  • Administrador
  • Usuario de CNCs
  • *****
  • Mensajes: 2904
  • Karma: +48/-2
    • Ver Perfil
    • cncControl
  • Ubicación: Terrassa
Re:Pin 2 Final de carrera.
« Respuesta #13 en: Mayo 14, 2015, 07:31:51 am »
La única forma fácil de ver el estado de un pin es ponerle un led, que mas o menos te indicara si recibe algo o no, en principio el firmware funciona correctamente, ya que nadie se ha quejado de este error en concreto, y por mi experiencia creo que lo que ocurre es lo que te comentaba en el post anterior, yo probare el firmware poniendo un final de carrera en ese pin para asegurar que no es un error del firmware. Puedes probar a ver si te pasa lo mismo con otro pin.


josekbzas

  • Nuevo
  • *
  • Mensajes: 68
  • Karma: +1/-0
    • Ver Perfil
    • CANAL DE YOUTUBE
Re:Pin 2 Final de carrera.
« Respuesta #14 en: Mayo 23, 2015, 12:58:14 am »
podrías usar este circuito para ponerle un led a los finales de carrera
yo lo estoy montando en la protoboard para probarlo, al menos en el simulador funciono bien