Porque atualizar o firmware?
A versão original do Marlin da SKR Mini V1.2 apesar de não aproveitar todo o potencial da placa, já é muito boa e normalmente você não precisará fazer o upgrade.
Porém, você poderá precisar em alguns casos, tais como:
- Caso esteja sofrendo algum problema com a versão original.
- Caso precise de alguma configuração específica que não vem ativada na versão original(ex. BLTouch, retornar impressão, aumentar memória…).
Então vamos começar pelo básico, ensinando como fazer a instalação dos programas necessários e depois mostrando as configurações específicas que caberão a você decidir se quer ou não ativa-las.
Instalação
Baixe e instale os seguintes programas:
- VSCode – O Editor de códigos mais compatível com o platformIO.
- GIT – Um programa importante(Instale com as configurações padrões).
Instalando o PlatformIO no VSCode
Após ter instalado e aberto o VSCode você terá que instalar a extensão PlatformIO. É essa extensão que permitirá você compilar o Marlin.
Em “Extensions” pesquise por “platformIO“. Uma lista será exibida, basta clicar no PlatformIO IDE, e depois em “Install” e deixe executar.
Baixando a pasta do Marlin pelo PlatformIO
Após ter instalado o PlatformIO. Clique no ícone da cabeça de Alien do canto esquerdo da tela. Depois procure pela opção “Clone Git Project”.
Cole o seguinte texto na barra de pesquisa que aparecer:
https://github.com/MarlinFirmware/Marlin/
Aperte a tecla Enter e salve o arquivo(de prefência em C: )
Na notificação que aparecer escolha a opção “Add to workspace“
Pré-Configurações
Se quiser, você pode baixar algumas pré-configurações para a placa nesse link. Vai adiantar o seu trabalho.
Cole dentro da pasta config do seu Marlin. Você encontrará as configurações da placa em: config\examples\BigTreeTech\SKR Mini E3 1.2\
Configurações
Como dito anteriormente, a versão do Marlin que acompanha a SKR Mini E3 não aproveita todo seu potencial.
Vamos listar aqui todas as configurações que você deverá ou poderá alterar conforme suas necessidades.
- Mudar – Apenas mudar a configuração para a sugerida.
- Descomentar – Remover as “//”.
- Descomentar e Mudar – Remover as “//” e mudar a configuração.
- Comentar – Adicionar “//” no início.
Utilize Ctrl + F para encontrar os códigos nas pastas especificas
platformio.ini
Configurações presentes na pasta:
Mudar default_envs =
STM32F103RC_btt_512K
Configuration_adv.h
- Descomentar
#define QUICK_HOME
- Descomentar
#define ADAPTIVE_STEP_SMOOTHING
- Mudar
#define MANUAL_FEEDRATE
{ 50*60, 50*60, 3*60, 2*60 } - Descomentar
#define STATUS_MESSAGE_SCROLLING
- Descomentar
#define PRINT_PROGRESS_SHOW_DECIMALS
- Descomentar
#define SHOW_REMAINING_TIME
- Descomentar
#define USE_M73_REMAINING_TIME
- Descomentar
#define ROTATE_PROGRESS_DISPLAY
- Descomentar
#define SCROLL_LONG_FILENAMES
- Descomentar e Mudar
#define SDCARD_CONNECTION
ONBOARD - Descomentar
#define STATUS_HEAT_PERCENT
- Descomentar
#define LIN_ADVANCE
- Mudar
#define LIN_ADVANCE_K
0.00(Desative essa opção caso apresente problemas com retração. Tutorial de Linear Advance) - Mudar
#define BLOCK_BUFFER_SIZE
32 - Mudar
#define BLOCK_BUFFER_SIZE
32 - Mudar
#define BUFSIZE
32 - Mudar
#define TX_BUFFER_SIZE
32 - Mudar
#define X_CURRENT
580 - Mudar
#define Y_CURRENT
580 - Mudar
#define Z_CURRENT
580 - Mudar
#define E0_CURRENT
650 - Mudar
#define CHOPPER_TIMING
CHOPPER_DEFAULT_24V - Descomentar
#define MONITOR_DRIVER_STATUS
- Descomentar
#define HYBRID_THRESHOLD
(Essa opção entrega mais torque para a impressora quando ela precisa, muda automaticamente do StealthChop(silencioso) para SpreadCycle(um pouco mais barulhento) ). - Descomentar
#define TMC_DEBUG
- Descomentar
#define CANCEL_OBJECTS
Configuration.h
- Descomentar
#define SHOW_CUSTOM_BOOTSCREEN
Imagem que aparece na tela quando inicia. Não é obrigatório mas é interessante você saber disso. - Descomentar
#define CUSTOM_STATUS_SCREEN_IMAGE
Para usar a imagem original da Ender que aparece na tela quando você a inicia_Bootscreen.h
e_Statusscreen.h
arquivos podem ser encontrados na pasta de pré-configuração Marlin\config\examples\Creality\Ender-3\ to Marlin\Marlin folder) - Mudar
#define SERIAL_PORT
2 - Descomentar
#define SERIAL_PORT_2
-1 - Mudar
#define BAUDRATE
115200 (BTT baudrate padrão) - Mudar
#define MOTHERBOARD
BOARD_BTT_SKR_MINI_E3_V1_2 - Descomentar e Mudar
#define CUSTOM_MACHINE_NAME
“Ender-3” - Mudar
#define DEFAULT_NOMINAL_FILAMENT_DIA
1.75 - Mudar
#define TEMP_SENSOR_BED
1 - Mudar
#define BED_MAXTEMP
125 - Descomentar
#define PIDTEMPBED
(Essa é para quem pretende fazer o PID da mesa. Você não precisa se estiver contente com ela atualmente. Porém o PID poderá deixar o aquecimento da mesa mais rápido e preciso. Obs: Se ativar essa opção você tem que fazer o PID depois ou poderá ter problemas com ativação desnecessária do Thermal Runaway. - Mudar
#define EXTRUDE_MAXLENGTH
200 (Ou se preferir meça o PTFE da extrusora até o hotend) - Mudar
#define Z_MIN_PROBE_ENDSTOP_INVERTING
true - Descomentar e Mudar
#define X_DRIVER_TYPE
TMC2209 - Descomentar e Mudar
#define Y_DRIVER_TYPE
TMC2209 - Descomentar e Mudar
#define Z_DRIVER_TYPE
TMC2209 - Descomentar e Mudar
#define E0_DRIVER_TYPE
TMC2209 - Mudar
#define DEFAULT_AXIS_STEPS_PER_UNIT
{ 80, 80, 400, 93 } - Mudar
#define DEFAULT_MAX_FEEDRATE
{ 500, 500, 20, 60 } - Mudar
#define DEFAULT_ACCELERATION
500 - Mudar
#define DEFAULT_RETRACT_ACCELERATION
500 - Mudar
#define DEFAULT_TRAVEL_ACCELERATION
500 - Descomentar
#define CLASSIC_JERK
(Junction Deviation ainda não está funcionando bem https://github.com/MarlinFirmware/Marlin/issues/17146) - Descomentar e Mudar
#define TRAVEL_EXTRA_XYJERK
5.0 - Descomentar
#define S_CURVE_ACCELERATION
- Mudar
#define INVERT_X_DIR
true - Mudar
#define INVERT_E0_DIR
true - Mudar
#define X_BED_SIZE
235 - Mudar
#define Y_BED_SIZE
235 - Mudar
#define Z_MAX_POS
250 - Descomentar
#define LEVEL_BED_CORNERS
- Mudar
#define LEVEL_CORNERS_HEIGHT
0.1 (A grossura do papel para calibração manual) - Mudar
#define HOMING_FEEDRATE_Z
(3*60) (Aumente se o homing estiver muito lento, mas tente não passar de 20*60) - Descomentar
#define EEPROM_SETTINGS
- Descomentar
#define NOZZLE_PARK_FEATURE
- Mudar
#define NOZZLE_PARK_POINT
{ (X_MIN_POS + 10), (Y_MAX_POS – 10), 20 } - Comentar
#define DISPLAY_CHARSET_HD44780
- Descomentar
#define SDSUPPORT
- Descomentar
#define CR10_STOCKDISPLAY
- Descomentar
#define FAN_SOFT_PWM
Extras
Alguns extras para conseguir resultados ainda melhores ou para instalação de outros módulos:
Calibrar o PID
O PID fará alguns testes na impressora e irá detectar qual a melhor maneira de esquentar o seu Hotend e Mesa aquecida, de forma que produzam um aquecimento mais rápido e preciso.
Para fazer o PID de ambos recomendamos o nosso artigo. A melhor maneira de calibrar o PID da sua Impressora 3D.
BLTouch
Alguns usuários não conseguem viver sem ele. Seguem as alterações que você irá precisar fazer para ter o BLTouch rodando com o Marlin atualizado na sua SKR Mini E3.
- Descomentar
#define BLTOUCH
- Mudar
#define NOZZLE_TO_PROBE_OFFSET
{ -44.5, -10, -1.00 } (Ler a seção abaixo “Medir NOZZLE_TO_PROBE_OFFSET” para entender como configurar) - Mudar
#define MIN_PROBE_EDGE
10 (Se utilizar clipes aumenta para o tamanho dele +5) - Mudar
#define XY_PROBE_SPEED
6000 - Descomentar
#define Z_MIN_PROBE_REPEATABILITY_TEST
- Descomentar
#define AUTO_BED_LEVELING_BILINEAR
(ou useAUTO_BED_LEVELING_UBL
/MESH_BED_LEVELING
) - Descomentar
#define RESTORE_LEVELING_AFTER_G28
- Descomentar
#define Z_SAFE_HOMING
Medir NOZZLE_TO_PROBE_OFFSET
- Faça medição aproximadas das distâncias da ponta do bico até a ponta do probe nas direçãoes X e Y. (A ponta do probe deve ter 2.3-4.3mm a mais que a do bico)
- Mude
NOZZLE_TO_PROBE_OFFSET
de acordo com as medições feitas - Compile, instale na impressora
- Faça o Home na impressora
- Anote as coordenadas do X e do Y (você pode fazer isso no menu de movimentação dos eixos)
- Mova o eixo Z até que encoste ou quase encoste a ponta na mesa
- Marque o ponto onde o bico encosta na mesa (tenha certeza que a marca não se mova na mesa)
- Mova os eixos X e Y até que a ponta do probe encoste na marca
- Anote as novas essas novas coordenadas de X e Y
- Subtraia essas novas medições X/Y da medição X/Y original. Armazene a diferença em
NOZZLE_TO_PROBE_OFFSET
Finalizando
Compilando
Feita todas suas modificações, hora de compilar o código.
Para isso basta clicar em “Build” no canto esquerdo inferior;
Feita a compilação(pode demorar um pouco), será gerado um arquivo .bin no seguinte local Marlin/.pio/build/STM32F103RC_btt_512K/firmware.bin
Flash
Cole o arquivo .bin no cartão SD da sua placa, e depois conecte-o na placa.
Será iniciado automaticamente o processo de instalação.
Após alguns segundos, a tela irá piscar e o novo firmware deverá estar pronto para uso.