Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Pezo Z-Probe
#1
Hola a todos. Mi problemas es que compre el sensor piezo z-prove para montarlo en una anet A6. Y este sensor te manda 0 cuando esta inactivo.
He leido todos los post relacionados con el autolevel , pero en ninguno pone nada sobre si se puede cambiar el estado en el z-prove desde el firware.
O sea cuando no presiono el piezoelectrico el estado en la Anet es cerrado. Y cuando pulso el estado de la Anet pasa a abierto.

¿Se puede cambiar la forma de detectar el estado desde el firware o tengo que poner un inversor e señal?
resim
Citar
#2
Hola, en Marlin puedes configurar la lógica de los endstops y del Z-probe.
En el archivo configuration.h, son estas líneas:
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.

Lo anterior está configurado para usar los del tipo NO (normalmente abiertos) que es lo habitual en las Anet.
Si tu sensor es NC (normalmente cerrado), hay que ponerlo a false.
Como tienes que conectarlo en lugar del endstop del eje Z, tienes que descomentar la línea #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN y tienen que estar los dos iguales (false en tu caso) o sino te dará un error al compilar.
Para tu sensor quedarían así:
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
Citar
#3
Ok gracias. Habia probado eso pero cierto me daba un error de compilacion. Porque no cambiaba los 3.
Citar
#4
Yo estuve hace unos meses probando este sensor piezoeléctrico, el principal problema de este sensor es la calibración, al ser muy sensible requiere re-calibraciones muy continuadas y es por eso que lo deseché.
Citar
#5
He conseguido que funcione, pero tienes razon. Posiblemente me pase al capacitivo.
Citar