Escolar Documentos
Profissional Documentos
Cultura Documentos
V2.0
Facebook: https://www.facebook.com/jose.j.elias.ferreira/
Thinginverse: https://www.thingiverse.com/joselias/designs
Introdução
Este pseudo manual tem como objetivo ajudar os totós como eu a instalarem o Klipper
nas suas impressoras FDM 3d.
Como referi em cima, eu próprio sou um totó nestas andanças, como tal, podem existir
erros, ou maneiras mais fáceis de fazer a instalação e configuração da solução. Este pseudo
manual não tem como objetivo ser perfeito ou completo, apenas dar uma ajuda aos outros
totós para não terem de perder uma semana para o conseguir colocar a funcionar.
O Que é o Klipper?
A grande diferença do Klipper para o Marlin é que necessita de hardware externo para
funcionar, neste caso, um Raspberry pi.
Os passos que irei descrever são para a instalação do Klipper com o front end Fluidd.
O fluidd é um front end muito mais clean, rápido e estável do que o octoprint, dai ser o
que eu uso.
1 – Balena Etcher – Este software irá permitir instalar a imagem do klipper no nosso cartão.
Download: https://www.balena.io/etcher/
2- PuTTY – O PuTTY permite-nos aceder remotamente por SSH ao Sistema operativo Linux
que ficará instalado do Raspberry.
Download: https://www.putty.org/
3- WinSP – O WinSP permite aceder ao file system do Linux de forma fácil e clean com um
ambiente gráfico idêntico ao do explorador do Windows.
Download: https://winscp.net/eng/download.php
4 – Notpad++ - Para editar ficheiro localmente sem o desformatar
Download: https://notepad-plus-plus.org/downloads/v8.1/
Instalado estes 4 softwares, vamos então começar com a instalação do Klipper, mas
antes recomendo a visualização deste vídeo do Nero3dp que eu segui para fazer a minha
instalação: https://youtu.be/gfZ9Lbyh8qU
Após terem feito o download, deverão inserir o SD card no PC, abir o software balenaEtcher.
E clicar em “flash”
Quando a imagem tiver acabado de instalar no cartão, irão ver uma mensagem como esta:
Feito isto, temos a nossa imagem do Klipper instalado no cartão, vamos então partir
para a configuração do wireless.
## WPA/WPA2 Secure
#network={
#}
Deverão apagar todos os “#” destas linhas e colocar o nome da vossa rede wireless e password
conforme indicado.
No final, deverão ficar com algo parecido com esta imagem, mas com os dados da vossa rede
#WPA/WPA2 secured
Network={
Ssid=3dprinttuga”
Psk=”as5emdirecto”
Nota:
É possível não conseguirem aceder ao fluidd através do nome, vai depender se têm ou não o
protocolo Bonjour instalado no vosso pc.
Caso não conseguiam aceder pela resolução do nome, devem aceder ao vosso router e ver
qual o endereço de ipv4 que foi atribuído pelo dhcp ao vosso raspberry pi.
https://www.eusing.com/ipscan/free_ip_scanner.htm
Deverão encontrar uma linha onde vêm “fluiddpi.lan” com o IP adress atras, é esse ip que
deverão colocar no browser.
Finalmente podem aceder ao fluidd através do vosso Browser.
De seguida será necessário instalar a parte do firmware que fica na board da impressora.
Deverão escolher a vossa impressora dessa longa lista, caso tenham uma board diferente na
impressora, façam download do ficheiro da board e da impressora.
Após fazerem o upload do ficheiro para o fluidd, clicar no ficheiro e fazer “renomear”.
Agora temos de nos conectar ao Raspberry através do software Putty que coloquei em cima
o link.
Escrever:
cd ~/klipper/
make menuconfig
Dentro do ficheiro, as primeiras linhas são com as instruções para configurar a board.
Noutras boards, é necessário escolher mais opções alem destas duas, mas essa informação
esta no ficheiro printer.cfg
Após terem escolhido as opções, clicar em “escape” e depois em “Y” para guardar a
configuração.
De seguida, escrever:
Make
E irá ser compilado o ficheiro que se tem de colocar na board, quando terminado, deverão
ter uma imagem assim:
ls /dev/serial/by-id/*
Deverá aparecer uma resposta parecida com isto:
/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
Neste momento será pedida novamente a password, que é “raspberry” por defeito.
Depois escrevemos:
É possível que obtenham um erro durante esse processo, pois nem todas as boards suportam
o update por USB, por exemplo as SKR não suportam este procedimento, no entanto, as que
não suportam, têm essa informação no cabeçalho do ficheiro printer.cfg
De seguida, escrever:
Para os que não conseguirem flashar a board diretamente por USB, deverão abrir o software
WINSCP.
Entrar na pasta Klipper, depois na pasta OUT, escolham o ficheiro klipper.bin, botão do lado
direito do rato e descarregar.
Coloquem um cartão de memoria no pc, não interessa o tamanho nem a velocidade, e gravem
o ficheiro para lá.
Depois renomeiem o ficheiro do cartão de “klipper.bin” para firmware.bin
De seguida, deverão voltar a ligar o cabo USB, desligar o Raspberry da corrente e voltar a ligar
para garantir que todos os serviços arrancam.
Procurem a linha que diz [MCU] e coloquem a linha abaixo, sendo que o endereço da porta
serial será o que foi devolvido pelo klipper em cima.
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
PID Tunning
Hotend
Bed
Depois os valores que ele der no final, dentro do ficheiro printer.cfg procuram por:
pid_Kp: 27.337
pid_Ki: 1.804
pid_Kd: 103.539
procuram por [heater_bed] e novamente colocam os valores do pid da bed que obtiveram:
pid_Kp: 71.668
pid_Ki: 1.064
pid_Kd: 1206.718
Input Shape (Resonance Compensation)
O input shape é a função mais cobiçada do klipper, pois permite cancelar a vibrações
produzidas pela impressora, e com isso, aumentar a aceleração e a velocidade de
impressão.
O Input shape pode ser calibrado de duas maneiras, através de um acelerómetro ligado ao
raspberry ou manualmente através da impressão de um objeto e de uma formula
matemática.
13. Aplicar a seguinte formula: velocidade de impressão (100) X numero de ondas (6)/
distancia entre a primeira e ultima linha(12.14mm), ou seja, neste exemplo seria
100 * 6 / 12.14 ≈ 49.4 Hz.
14. Realizar esta forma para o eixo X e para o eixo Y
15. No printer.cfg adicionar as seguintes funções com os valores obtidos:
[input_shaper]
shaper_freq_x: ... # frequency for the X mark of the test model
shaper_freq_y: ... # frequency for the Y mark of the test model
shaper_type: mzv
O Pressure advance permite calibrar a pressão do filamento feito pelo extrusor consoante a
velocidade de aceleração e desaceleração e do próprio filamento.
Isso significa que deveremos testar os vários tipos de filamento que usamos para obter um
valor de pressure advance para cada um, ou seja, um valor para PLA, outro valor para PetG,
outro para ABS e por ai adiante.
https://www.klipper3d.org/Pressure_Advance.html
Recursos Adicionais
Kiauh
O Kiauh é um script que nos permite de uma forma fácil instalar e configurar recursos
do Klipper.
Com o Kiauh, entre outras coisas podemos mudar o nome ao raspberry, atualizar o
klipper, instalar outro frontend como o Mainsail, fazer backup, etc etc etc.
Estas funções são muito uteis, pois permitem controlar a temperatura da Board e do
raspberry na secção de temperaturas do fluid.
#############################
[temperature_sensor raspberry_pi]
sensor_type: temperature_host
min_temp: 10
max_temp: 100
[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
Firmware Retraction
[firmware_retraction]
retract_speed: 30
unretract_extra_length: 0
retract_length: 1
Sendo os valores que colocamos em cada uma das linhas a retração que já temos
configurado no slicer.
Isto é apenas um exemplo, deverá ser alterado para a vossa board e impressora
[stepper_z]
NOTA: Guardem o pin que estava no endstop, pois vão ter de o colocar mais à frente na
secção [probe]
[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 128
rotation_distance: 4
endstop_pin:probe:z_virtual_endstop
position_min: -6
#position_endstop: 0
position_max: 300
Na secção probe, na linha pin, deverão colocar o pin que tinham no end stop do Z.
[bed_mesh]
speed: 150 # velocidade a que a printer faz o mesh
horizontal_move_z:5 # distancia a que a cama desce
mesh_min: 25, 25 # posição da primeira mesh
mesh_max: 200, 200 # posição da ultima mesh
probe_count: 5,5 # numero de medições no X e no Y
mesh_pps: 2,2
algorithm: bicubic
bicubic_tension: 0.2
fade_start: 1
fade_end: 10
fade_target: 0
[probe]
pin: PC2 # pin da board do end stop do Z
x_offset: -30.0
y_offset: -15
speed:40
samples:2
sample_retract_dist:2.0
samples_result:average
####################################################################
###########
############### Probe Z Off set#####################################
###########
####################################################################
###########
z_offset: 2.840 # Z off set já configurado
Macros Importantes
Macro Start Print e End Print
O Start e end Script deverão ser colocados no slicer no Start g-code e end g-code
substituindo tudo o que lá se encontra.
[gcode_macro END_PRINT]
gcode:
# Turn off bed, extruder, and fan
M140 S0
M104 S0
M106 S0
# Move nozzle away from print while retracting
G91
G28 X Y
#G1 X-240 Y-225 E-10 F300
# Raise nozzle by 30mm
G1 Z30 F3000
G90
# Disable steppers
M84
Macro M600
A Macro M600 permite-nos substituir o filamento a meio da impressão, basta definir a layer
a que temos de trocar o filamento no slicer e quando a impressão chegar a essa posição, a
impressão para, remove o filamento, fica à espera que se coloque o novo filamento para
depois prosseguir com a impressão.
Para o M600 precisamos de mais algumas macros, como o unload, o load filamento, park,
pause e resume.
M600
[gcode_macro M600]
gcode:
M117 Filament Change
{% set X = params.X|default(5) %}
{% set Y = params.Y|default(5) %}
{% set Z = params.Z|default(30) %}
[gcode_macro M600]
PAUSE_MACRO
UNLOAD
SET_IDLE_TIMEOUT TIMEOUT=52000
PAUSE_MACRO
[gcode_macro PAUSE_MACRO]
gcode:
PAUSE
PARK_MACRO
G92 E0
UNLOAD
PARK_MACRO
gcode:
{% set X = params.X|default(5) %}
{% set Y = params.Y|default(8) %}
{% set Z = params.Z|default(30) %}
M117 PARKING..
G91
G1 E-3.14 F1500
G1 Z{Z}
G90
G1 X10 Y10 F3000
PURGE
LOAD_FILAMENT
RESUME_MACRO
Tal como escrevi em cima, deveremos calibrar o pressure advance para cada tipo de
filamento, sendo assim, necessitamos de uma forma fácil de activar o pressure advance
consoante o filamento que vamos usar.
Com estas macros, podemos através do fluid mudar o valor do pressure advance rápida e
facilmente.
Os valores, deverão ser substituídos pelos que obtiveram com o teste de pressure advance.
[gcode_macro Set_press_Adv_to_PLA]
gcode:
SET_PRESSURE_ADVANCE ADVANCE=0.0754
[gcode_macro Set_press_Adv_to_PETG]
gcode:
SET_PRESSURE_ADVANCE ADVANCE=0.0645
[gcode_macro Set_press_Adv_to_TPE]
gcode:
SET_PRESSURE_ADVANCE ADVANCE=0.0725
FIM