Estou tentando implementar o uso de apenas um servo, sem usar nivelamento de cama. O servo está sendo usado para uma finalidade totalmente diferente, portanto, o z_endstop padrão é necessário para funcionar normalmente.
No entanto, em Configuration.h, removendo o comentário abaixo e definindo o número de servos para 1
#define NUM_SERVOS 1
parece desabilitar z_endstop, o que pode levar a cabeça a cair na cama.
Eu configurei com sucesso o nivelamento automático da cama com sonda az como um teste, mas conforme observado acima, o servo está sendo usado para uma finalidade diferente, então o nivelamento da cama não é necessário e, de fato, o nivelamento da cama irá interferir no meu uso.
Minha análise inicial do código Marlin parece sugerir que o comportamento acima é por design, ou seja, #define NUM_SERVOS 1
, leva a um código
#if defined(NUM_SERVOS) && NUM_SERVOS > 0
...
#define HAS_SERVO_ENDSTOPS true
#define SERVO_ENDSTOP_IDS { X_ENDSTOP_SERVO_NR, Y_ENDSTOP_SERVO_NR, Z_ENDSTOP_SERVO_NR }
Minha pergunta é: - é possível usar um ou mais servos E continuar usando o z_endstop normal (e não usar nenhum código / endstops de nível automático)?
B ackground: - Firmware = Marlin 1.1.0 RC4, configurado e funcionando com Sunhokey Prusa i3
Com alguma sorte
Conditionals.h
@@ -704,11 +704,11 @@
#define SERVO_ENDSTOP_IDS { X_ENDSTOP_SERVO_NR, Y_ENDSTOP_SERVO_NR, Z_ENDSTOP_SERVO_NR }
#endif
#endif
#if ( (HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE ) && \
- ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED) )
+ ( ENABLED(FIX_MOUNTED_PROBE) || (Z_ENDSTOP_SERVO_NR >= 0) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED) )
#define HAS_Z_MIN_PROBE
#endif
#endif //CONFIGURATION_LCD
#endif //CONDITIONALS_H
é tudo de que precisamos.
Não é necessária sorte - funciona bem, obrigado e obrigado pela resposta super rápida.
Eu também gostaria de sugerir que isso se torna um recurso padrão da Marlin, já que mais e mais pessoas estão usando impressoras 3D (com servos) para uma ampla variedade de outros usos que não requerem o uso de servos para serem ligados ao nivelamento automático da cama.
Manteremos isso em mente para a próxima geração de Marlin. Obrigado pela sugestão.
obrigado.