Boa tarde amigos. Hoje gostaria de falar sobre o sensor de filamento PAT9125, bem como sobre minha experiência com ele.
PAT9125 é um sensor óptico usado em impressoras Prusa 3D. Este sensor pode rastrear não apenas o fim do filamento, mas também o momento em que ele emperra. Por exemplo, se você tiver um plugue de calor.
O principal problema do sensor é que ele não pode ser conectado diretamente à placa com o Marlin. Uma vez que o Marlin suporta apenas conexão de codificador, este codificador deve ser conectado via interface I2C. Para resolver esse problema, usei attiny85 digispark. O sensor está conectado ao Attiny e já o Attiny, por sua vez, emula o funcionamento do codificador.
Configurando o Marlin
No arquivo Configuration.h, você precisa descomentar o parâmetro #define FILAMENT_RUNOUT_SENSOR. Mas o parâmetro #define FIL_RUNOUT_PULLUP é melhor comentar, já que temos um codificador falso, então puxar o attiny para a linha de força só vai interferir no trabalho.
#define FILAMENT_RUNOUT_DISTANCE_MM Marlin , . 25. , - . 5 .
Configuration_adv.h #define ADVANCED_PAUSE_FEATURE
Pinout #define FIL_RUNOUT_PIN.
. , .
Attiny. P3 Attiny . , Attiny . P5, Attiny , Attiny. P1, .
Também quero observar que o sensor rastreia separadamente o movimento ao longo do eixo X e ao longo do eixo Y. No meu caso, o eixo X é usado, mas se você quiser posicionar o sensor de forma diferente. Por exemplo, se você posicioná-lo perpendicularmente ao movimento do filamento, será necessário substituir o eixo X por Y no firmware Attiny.
Esta é a aparência da minha impressora com um sensor.