Instalando o firmware Klipper na impressora 3D - parte 2


Na primeira parte mostrei como fazer a instalação do Klipper em conjunto com o Mainsail, após instalado ainda é necessário configurar fim de curso, passos por unidades (steps per unit), direção dos eixos, etc.

O Mainsail ajuda muito nessas configurações por ele trabalhar com interface gráfica, ao contrário do Klipper que roda apenas em modo texto (terminal via ssh).

As configurações são bem parecidas do que é feito no Marlin como foi mostrado nessa já antiga postagem, porém um pouco mais fácil. Para quem já tinha a impressora configurada antes pelo Marlin e salvou a configuração com o comando M503 não terá muita dificuldade.

Na tela do Mainsail em Machine, Config Files abra o arquivo printer.cfg, dentro dele é possível ver configurações de eixos e temperatura já bem instrutivas, nesta página tem detalhes de cada parâmetro.



A parte boa do Klipper é que as configurações dos pinos são de acordo com o micro controlador (PAx, PBx, PCx..), isso facilita muito e pode ser customizado caso necessário de forma muito fácil, bastando ter em mãos o esquema elétrico da placa usada e datasheet do micro controlador.

Se foi colocado o arquivo .cfg certo da placa utilizada como printer.cfg, as configurações ficarão apenas em passos por unidades, direções dos eixos e possivelmente sensor de temperaturas. Para passos por unidade o Klipper trabalha um pouco diferente do Marlin, trabalhando com distancia de rotações e está muito bem explicado aqui. Mas existe uma forma fácil de converter o que se tem no arquivo retirado do Marlin com o M503 para Klipper com calculadoras, eu utilizei essa aqui mas existem outras na internet.




Pegue os dados M92 extraídos do comando M503 do Marlin. Como exemplo, para eixo X:
M92 X80.303 Y80.001 Z2572.000 E616.073
Jogando na calculadora o valor 80.303 do eixo X, ele passa a ser 39.849, esse valor será adicionado no arquivo printer.cfg em rotation distance do stepper_x:
[stepper_x]
step_pin: PF0
dir_pin: PF1
enable_pin: !PD7
microsteps: 16
rotation_distance: 39.848
endstop_pin: ^PE5
#endstop_pin: ^PE4
position_endstop: 0
position_max: 200
homing_speed: 50
Para as direções adicione ou remova o "!" na frente do pino de direção e talvez seja necessário alterar o de habilitação também
dir_pin: PF1
enable_pin: !PD7
Para os sensores de temperatura, se você usar termistores sem padrão como eu uso, será necessário fazer a edição de outro arquivo no Klipper, porém esse apenas via ssh. Logado por ssh, vá na pasta "klipper/klippy/extras/" e abra o arquivo "temperature_sensors.cfg" como no nano ou vi. Adicione as linhas como abaixo:
[thermistor MyExt]
temperature1: 25
resistance1: 100000
beta: 3950

[thermistor MyBed]
temperature1: 25
resistance1: 100000
beta: 3850
Sendo que MyExt e MyBed foram nomes que eu designei e os parâmetros resistence1 e beta1 eu já tinha da configuração do M503 do Marlin. O temperature1 é padrão 25.
M304 H0 B3850 R10000 T100000 
M304 H1 B3950 R10000 T94000
Voltando no arquivo printer.cfg no Mainsail adicione o nome utilizado no parâmetro "sensor_type" do "extruder" e "heater_bed"
[heater_bed]
heater_pin: PH5
sensor_type: MyBed
sensor_pin: PK6 control: watermark min_temp: 0 max_temp: 130
Outro exemplo abaixo:




Se seu termistor existir nesse arquivo, basta adicionar no parâmetro "sensor_type" direto no arquivo printer.cfg, como abaixo:
sensor_type: EPCOS 100K B57560G104F
Por fim, caso tenha LCD será necessário adicionar as configurações do LCD no arquivo printer.cfg. No Mainsail em Machine, Config Files, no menu dropdown selecione "config_exemples" e abra o arquivo "sample-lcd.cfg", dentro do arquivo tem várias configurações de LCD, a mais comum no mercado é o RepRapDiscount 2004 da foto abaixo:

######################################################################
# "RepRapDiscount 2004 Smart Controller" type displays
######################################################################

[display]
lcd_type: hd44780
rs_pin: EXP1_4
e_pin: EXP1_3
d4_pin: EXP1_5
d5_pin: EXP1_6
d6_pin: EXP1_7
d7_pin: EXP1_8
encoder_pins: ^EXP2_3, ^EXP2_5
click_pin: ^!EXP1_2
#kill_pin: ^!EXP2_8

[output_pin beeper]
pin: EXP1_1




Copie as linha de configuração do LCD, feche o arquivo, volte para o printer.cfg e adicione essas linhas no fim das linhas de configurações, clique em "SAVE & RESTART" e o LCD irá funcionar.

Essas são as principais configurações a serem feitas para quem está migrando do Marlin para o Klipper, caso algo ainda não esteja funcionando, use sempre o arquivo printer.cfg para edição e a documentação abaixo como referência:


Para quem está configurando uma impressora do zero, é basicamente o mesmo procedimento, use sempre a documentação do Klipper como referência por ser bem completa.


Comentários