This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
EndStops
#1
Hola a todos,



Tengo varias dudas.... os comento por si alguien pudiera aclararme el tema......




1/ Si en Marín #define ENDSTOPPULLUP_XMIN (por poner un ejemplo) con un polímetro se miden los dos pines (en éste caso)  de X-Stop en la placa.... ¿debería dar voltaje verdad?   ¿Si no diera voltaje cuál podría ser la causa?




2/ Otra duda.... si tuviéramos voltaje en X-stop..... y utilizáramos un swicth NC (entiendo que este swicht en reposo comunicaría los dos pines) ¿la placa como entiende ese "cortocircuito"?





3/ En caso de usar  Swicht NC como los definiríamos en Marlin ¿ ENDSTOPPULLUP o ENDSTOPPULLDOWN??




Muchísimas gracias!!!
  Responder
#2
Hola, voy a tratar de resolver tus dudas lo mejor que pueda:
1) Si tu placa tiene 3 pines para los finales de carrera estos son G V S que indican GND Voltaje y Signal, entre voltage y GND si debe haber tension, pero entre Voltaje y Signal dependerá de si es PULLUP o PULLDOWN, De ser PULLUP, debería haber voltage, y de ser PULLDOWN, no, esto se debe a como se monta cada uno de ellos, te dejo una imagen por aquí:
[Imagen: Captura.png]
Por otro lado si tu placa tiene 2 pines, deberás fijarte en ellos, ya que si es GND y S el deberás usar PULLUP, si por lo contrario son V y S, deberás usar PULLDOWN, de nuevo por como se montan, mira en la imagen anterior.

2) No sucede ningún cortocircuito, tal y como he respondido antes, siempre debe haber in pin S, donde se dará la señal a la placa.

3)  Si usas NC o NA, no depende del PULLUP o PULLDOWN, define si tienes que invertir o no la lectura en el código con "#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop."  Aunque si que hay que destacar que el PULLUP y el PULLDOWN si afectan a este sentido, ya que como ves en la imagen, uno da un constante 1 y el otro un constante 0, a pesar de que el botón es NA en ambos para esto haz la regla matemática del + y + = +; + y - = - ; - y - = +

Espero haberte sido de ayuda y haber aclarado tus dudas.
  Responder
#3
Muchísimas gracias!!! Genial explicado!!!

Una duda más xfa


<<<<<2) No sucede ningún cortocircuito, tal y como he respondido antes, siempre debe haber in pin S, donde se dará la señal a la placa.

pero en ocasiones GND será llevado a Signal a través del switch, y si signal está Pullup tendrá voltaje ¿como lo entiende la placa entonces, simplemente como valor 0? por eso decía lo de "cortocircuito"


Muchisimas gracias!!!
  Responder
#4
Hola, os indico algunas cosas sobre este tema.

Resistencias de Pull-Up/Pull-Down.
Como indica @Inderlard, se utilizan en este caso para fijar el estado en reposo del pin que controla el final de carrera, de forma que se eviten estados flotantes (indefinidos) que pueden engañar al firmware y también para otra función que indicaré más adelante
Las hay de dos tipos: internas, que vienen incorporadas en la MCU y pueden activarse/desactivarse por software; externas, implementadas en la circuitería de la placa o del interruptor.
Las primeras son las que se activan al definir los parámetros de Marlin (ENDSTOPPULLUPS/ENDSTOPPULLDOWNS); las segundas vienen en todas las placas que conozco, excepto en la RAMPS y por lo tanto, si la placa lleva ese circuito integrado, es indiferente la configuración de Marlin.
Para los finales de carrera, se utiliza de forma universal el Pull-Up: cuando no está activo, el pin está en estado alto (HIGH) y cuando se activa, en estado bajo (LOW), para lo que simplemente se conecta a GND.
Debido a esto y por el motivo indicado en el siguiente punto, Marlin tráe por defecto activadas las Pull-Up internas de forma preventiva (las versiones antiguas solo tenían las Pull-Up, ahora vienen las dos).

"Cortocircuito"

Realmente, siempre que se establece un circuito eléctrico, conectando los dos polos de una fuente de alimentación, se está realizando un cortocircuito, aunque esta palabra se utilice normalmente para cuando el circuito tiene resistencia casi nula, con los consabidos efectos desastrosos: la intensidad que recorre el circuito es inversamente proporcional a la resistencia de este y precisamente es la de Pull-Up la que lo evita en este caso: si se conectase directamente al pin sin una resistencia de Pull-Up, podrían producirse daños en la MCU, de ahí que Marlin tenga activadas las internas por defecto (para RAMPS sin interruptores Makerbot, es imperativo activarlas).

Conectores

En todas las placas que conozco, los conectores de final de carrera tienen 3 contactos, que como se indica son Vcc, GND y Señal: Vcc solo está ahí por si se necesita alimentación adicional y no interviene en la función del final de carrera, a no ser que el circuito de Pull-Up se encuentre en el mismo interruptor, como es el caso de los  de tipo Makerbot, diseñados en su día para las placas RAMPS; Señal va conectado al pin de la MCU que controla el final de carrera, siempre mediante un circuito de Pull-Up, sea interno a la MCU o externo.
Por tanto, sin tener nada conectado en la placa, tendrémos Vcc voltios entre Vcc/GND, 0V entre Vcc/Señal (los dos están a Vcc voltios por el Pull-Up) y Vcc voltios entre GND/Señal, aunque esto puede cambiar cuando conectemos el interruptor a la placa, dependiendo de que tipo sea: si es NC (normalmente cerrado), se invierten los voltajes de VCC/Señal y GND/Señal; si es NO (normalmente abierto), serían los indicados antes.

Lógica del final de carrera

El firmware detecta el final de carrera por el cambio de estado del pin, dependiendo la configuración, como hemos visto antes, del tipo de interruptor que se use: si el pin pasa de nivel alto a bajo al activarse el final de carrera (NO), la configuración es true; si pasa de nivel bajo a alto (NC), false.
Es decir, el tipo de Pull que se utiliza no es relevante para la funcionalidad, pues es el tipo de interruptor el que fuerza el estado del circuito, pero sí influye en el funcionamiento: de cara a la seguridad, lo más recomendable es que el final de carrera funcione con lógica false ya que, dado que se utiliza el Pull-Up, en caso de fallo en el interruptor por corte del cable, se activará automáticamente el final de carrera, lo que no ocurre con lógica true, pero tiene el inconveniente de que hace trabajar la resistencia de Pull-Up de forma contínua, con el consiguiente desgaste y previsible fallo con el tiempo.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Endstops o finales de carrera David 4 1,873 16-06-2014, 09:43 PM
Último mensaje: sacamantecas