3Dwork - Labs
KLIPPERMARLINLABSTelegramColabora
  • 3DWork.io LABS
  • Invitame a un cafe :D
  • 📑Guías Impresión 3D
    • Guía Calibración Impresoras 3D FDM/Filamento
    • Guía Calibración Impresoras 3D SLA/Resina
    • Resolución de problemas
      • Problemas hardware impresora 3D
        • Motores
      • Problemas impresión
        • Problemas Extrusion
        • Mantenimiento del HotEnd
        • Problemas adhesion de impresiones
      • Problemas filamentos
        • Mantenimiento Filamentos
    • Mejoras/Upgrades
      • Extrusión
        • Nozzle... Aprende todo de este componente esencial
        • Extrusores... comparativa
        • Extrusores
        • HotEnds
          • Mosquito Slice Engineering
  • 🔬REVIEWS/GUÍAS
    • Electrónicas
      • BigtreeTech/SKR
        • Pad 7
        • Pad 5
        • BTT Pi
        • Manta E3 EZ/M4P/M5P/M8P
        • SKR Octopus PRO
        • SKR Octopus
        • SKR 3
        • SKR v2
        • SKR PICO
        • SKR MINI E3 V3
        • SKR MINI E3 V2
        • SKR MINI E3 Turbo
        • SKR E3 RRF
        • SKR E3 DIP V1.1
        • Pantallas BigtreeTech/SKR
      • FYSETC
        • FYSETC S6
          • FYSETC S6 - Klipper
          • FYSETC S6 - Marlin
        • FYSETC SPIDER
          • FYSETC SPIDER - Marlin
          • Fysetc SPIDER - Klipper
      • MKS
        • MKS Monster8
    • Impresoras 3D
      • FDM
        • ANYCUBIC
          • Anycubic Kobra S1 Combo
          • Anycubic Kobra 3 Combo
          • Anycubic Kobra 2 Series
          • Anycubic Kobra Plus
          • Anycubic Kobra Neo & Go
        • BIQU/Bigtreetech
          • BIQU Hurakan
        • CREALITY
          • Creality K2 Plus - Klipper
          • Creality K1 / K1 Max / K1C - Review
            • Creality K1 & K1 Max - Klipper
            • Creality K1 & K1 Max Mods
          • Creality Ender 3 V3 Series
        • ELEGOO
          • Elegoo Neptune 3
        • QIDI
          • QIDI Plus4
            • QIDI Plus 4 - Technical Guide
          • QIDI Q1 Pro
          • QIDI X-MAX 3
            • QIDI X-MAX 3 - Technical Guide
        • TWOTREES
          • TwoTrees SK1
        • RATRIG
          • VMinion - Ratrig
            • V-Minion Mods
          • VCore3 - Ratrig
            • VCore3 Mods
        • VORON
          • Voron 0.1 - Fysetc
          • Voron Trident - Fysetc
            • Voront Trident Mods
        • VOXELAB
          • Voxelab Aquila S2
        • BLV mgn Cube Kit - Fysetc
        • Monoprice Mini Delta v2
      • SLA
        • ANYCUBIC
          • Anycubic Photon Mono M7 PRO
          • Anycubic Photon Mono M5S PRO
          • Anycubic Photon Mono 4 Series
          • ANYCUBIC Photon M3 Premium
          • ANYCUBIC Mono X 6K
          • ANYCUBIC Mono X 4K
          • ANYCUBIC Photon D2
        • ELEGOO
          • ELEGOO Saturn 4 Series
          • ELEGOO Mars 5 Series
          • ELEGOO Jupiter SE
          • ELEGOO Saturn 3
          • ELEGOO Saturn 2
          • ELEGOO Mars 3 Ultra 4K
          • ELEGOO Mars 2 Pro
        • UNIFORMATION
          • UniFormation GKtwo
    • CNC/Laser
      • LaserPecker
        • LaserPecker LP4 : grabadora láser premium
      • TwoTrees
        • TwoTrees TTS-55
  • ⚙️Proyectos Maker
    • Pico Invaders
  • 🌐3DWORK
    • Quieres promocionar tus productos/empresa?
Con tecnología de GitBook
En esta página
  • Hardware
  • Mecánica/Chasis
  • Electrónica
  • Klipper
  • Gestión/configuración de Klipper
  • Mejoras Klipper
  • Cambios de configuración Klipper
  • Actualización horaria
  • Refrigeración de electrónica inteligente
  • Mejorar las lecturas de temperatura del cerramiento
  • Mejorar tiempos de calentado del cerramiento
  • Linea de purga adaptativa/inteligente (KAMP)
  • Mejoras configuración motores
  • Mejoras sistema de nivelación
  • Mejoras Input Shaper
  • Mejorando calidad cámara
  • Mejoras calidad de impresión
  1. REVIEWS/GUÍAS
  2. Impresoras 3D
  3. FDM
  4. QIDI
  5. QIDI Plus4

QIDI Plus 4 - Technical Guide

AnteriorQIDI Plus4SiguienteQIDI Q1 Pro

Última actualización hace 6 meses

Hardware

Mecánica/Chasis

Calibración de plataforma de impresión

Os facilitamos el proceso para realizar este proceso de una forma sencilla siguiendo el siguiente video:

Juego en el toolhead

Al parecer en algunas unidades de la QIDI Plus 4 podían tener problemas de juego, o wobble en inglés, lo cual puede provocar una calidad de las impresiones deficiente.

En el siguiente video podemos ver una solución al mismo, aunque es aconsejable contactar con el soporte de QIDI.

Electrónica

  1. Conector Wifi

  2. Puerto USB

  3. Puerto de red por cable

  4. Conector serial pantalla

  5. Conectores de alimentación electrónica (a.+ b.-)

  6. Conector calefactor cama (a.+ b.-)

  7. Conector iluminación led

  8. Conector cama

  9. Conector ventilador circulación aire cerramiento

  10. Conector ventilación capa auxiliar

  11. Conector ventilador electrónica

  12. Conector ventilador cerramiento

  13. Conector motor Z (azul)

  14. Conector motor Z secundario (azul)

  15. Conector motor X (verde)

  16. Conector motor Y (amarillo)

  17. Conector USB toolhead

  18. Conector sensor temperatura cerramiento

  19. Conector sensor filamento

  20. Conector sensor nivelación piezo

  21. Conector sensor temperatura cama

  22. EMMC almacenamiento sistema operativo

Klipper

Gestión/configuración de Klipper

QIDI, por suerte, deja bastante acceso al sistema Klipper para poder realizar algunas mejoras sobre este. Por suerte en esta QIDI Plus 4 contamos con versiones de Klipper actualizadas recientemente:

Interfaz web Fluidd

QIDI por defecto habilita la interfaz Fluidd para la gestión de Klipper remota, disponemos de pantalla en la impresora pero las opciones y funciones de esta son bastante limitadas comparadas con Fluidd.

Conexión SSH a linea de comandos

QIDI también permite acceso al host por SSH para utilizar la linea de comandos, especialmente útil para algunos usuarios y algunos procesos que explicaremos más adelanta.

Desde nuestro cliente SSH favorito usaremos la IP de nuestra impresora y el usuario mks

rol

user (o user2)

mks

makerbase

Kiauh

IMPORTANTE!!!

NO ACTUALIZAR NINGÚN COMPONENTE CORE (KLIPPER/MOONRAKER/SYSTEM) DADO QUE PUEDEN ROMPER LA CONFIGURACIÓN Y PERSONALIZACIONES DE QIDI Y DEJAR EL SISTEMA INUSABLE.

Mejoras Klipper

LA QIDI Plus 4 viene con muchos cambios con respecto a modelos anteriores, el uso de la v0.12.x de Klipper (vs modelos anteriores con v0.10.x) y cambios en la configuración en gran parte sugeridos por la comunidad, hacen que funcione relativamente bien.

En cualquier caso siempre se tien margen de mejora y es por ello que os vamos a sugerir algunos cambios para mejorar en este aspecto.

Algunas de las fuentes que hemos utilizado para realizar estos mods:

Cambios de configuración Klipper

Dado que Klipper usa un proceso secuencial de la configuración y tenemos opciones de poder tener una configuración modular incluyendo otros ficheros de configuración a nuestro printer.cfg os sugerimos que todas las modificaciones, o las que sean posibles, se realicen en un fichero cfg como include.

Dentro de nuestro printer.cfg añadiremos un include para que cargue nuestro/s nuevo/ cfg al final de este, pero recuerda que como siempre por encima de la sección SAVE_CONFIG!!!:

En nuestro caso creamos una carpeta 3dwork/printers y un fichero qidi-plus-4.cfg donde incluiremos todas las modificaciones:

Una vez lo tengamos tan solo tendremos que crear el include en nuestro printer.cfg:

### 3DWORK - QIDI Plus 4 Modifications
[include 3dwork/printers/qidi-plus-4.cfg]

#*# <---------------------- SAVE_CONFIG ---------------------->

Utilizamos esta forma de configuración aparte de por lo comentado anteriormente, porque en caso de actualizaciones siempre nos va a ser más rápido el poder restaurarlas ante futuras actualizaciones del sistema.

Actualización horaria

Dado que la electrónica no dispone de una batería para mantener los ajustes horarios lo ideal es que configuremos el sistema para que lo haga automáticamente.

Es importante porque de esta forma tendremos estimaciones correctas de tiempos de impresión, además de poder realizar actualizaciones software mediante internet.

El proceso es muy sencillo lanzando los siguientes comandos:

Lo primero de todo ajustaremos nuestra zona horaria con los siguientes comandos:

timedatectl list-timezones # to list available time zones
sudo timedatectl set-timezone Europe/Madrid # to set Europe/Madrid timezone
timedatectl # to check timezone was ok

Desactivaremos systemd-timesync:

systemctl status systemd-timesyncd # to check current status
systemctl stop systemd-timesyncd # to stop systemd-timesyncd daemon
systemctl disable --now systemd-timesyncd.service # to disable systemd-timesyncd daemon
systemctl status systemd-timesyncd # to check systemd-timesyncd is disabled

Instalaremos chrony:

sudo apt install chrony -y # to install chrony

Reiniciamos el servicio:

sudo systemctl restart chronyd # to restart chrony daemon

Podemos revisar la configuración en el caso que queramos ajustar algo, no suele ser necesario:

sudo nano /etc/chrony/chrony.conf

Revisamos el estado de la sincronizacion con estos comandos:

chronyc sources
chronyc tracking

Podemos lanzar un comando date para verificar que todo este sincronizado.

Ahora al apagar nuestra máquina esta se ajustará la hora al iniciarse.

Refrigeración de electrónica inteligente

La QIDI Plus 4 viene configurada por defecto para activar el ventilador de la electrónica como controller_fan, esto significa que el ventilador no se va a poner en marcha si no ponemos en movimiento la máquina.

Aunque esta forma de funcionar es adecuada para mantener la impresora mientras estamos imprimiendo, no nos ayuda a mantener la temperatura bajo control cuando la impresora está encendida y no estamos imprimiendo.

Para mejorar este aspecto vamos a realizar algunos cambios en la configuración por defecto:

  • Primero desactivaremos la configuración por defecto del ventilador de la electrónica que podemos encontrar en la sección [controller_fan board_fan] la cual comentaremos añadiendo el símbolo # al inicio de cada línea:

### 3DWORK - MOD - Mainboard Fan Adaptative
# [controller_fan board_fan]
# pin:U_1:PC4
# max_power:1.0
# shutdown_speed:1.0
# cycle_time:0.01
# fan_speed: 1.0
# heater:chamber
# stepper:stepper_x,stepper_y
  • A continuación, os recomendamos hacerlo en el include tal como os sugerimos al inicio, añadiremos la siguiente configuración:

### 3DWORK - MOD - Mainboard Fan Adaptative
[temperature_fan board_fan]
pin:U_1:PC4
max_power: 1.0
shutdown_speed: 1.0
cycle_time: 0.01
off_below: 0
sensor_type: temperature_host
control: pid
pid_deriv_time: 2.0
pid_Kp: 5
pid_Ki: 2
pid_Kd: 5
target_temp: 45
min_speed: 0.3
max_speed: 1.0
min_temp: 0
max_temp: 100

Una vez aplicado el cambio en el propio interfaz ya podremos ver la información, estado y configuración de temperaturas que hemos hecho:

Como podéis ver en la captura anterior la temperatura de nuestra electrónica, sin tener la impresora imprimiendo, se encontraba en más de 50ª. Ahora mantendremos la temperatura controlada para que este dentro de los márgenes que configuramos (45º por defecto):

Mejorar las lecturas de temperatura del cerramiento

La QIDI Plus 4 monta su sensor de temperatura en una posición que probablemente no sea la más óptima. Podemos encontrarlo en la parte trasera derecha, debajo de la estructura del chasis:

Lo más óptimo siempre es que la temperatura sea del punto más cercano a la impresión, por lo que colocar el sensor en una esquina, junto al metal del chasis y en una zona alta y en el lado opuesto a donde sopla el propio calentador, no va a ayudar a que las temperaturas acaben siendo fiables.

Para mejorar estas lecturas y gestionar mejor el sistema de calefacción vamos a aprovechar el sensor de temperatura que tenemos en el toolhead/cabezal de impresión (GD32) para combinar lecturas de temperatura y así mejorar la precisión.

Gracias a la flexibilidad y potencia de Klipper vamos a crear un sensor de temperatura “virtual” donde combinaremos las lecturas de ambos sensores:

  • Primero comentaremos la sección [heater_generic chamber] de nuestro printer.cfg:

### 3DWORK - MOD - Improve Chamber Temperature Precision
# [heater_generic chamber]
# heater_pin:U_1:PC8
# max_power:0.4
# sensor_type:NTC 100K MGB18-104F39050L32
# sensor_pin:U_1:PA1

# control = pid
# pid_Kp=63.418 
# pid_Ki=1.342 
# pid_Kd=749.125

# min_temp:-100
# max_temp:70
  • A continuación definiremos de nuevo el sensor de temperatura del cerramiento con otro nombre [temperature_sensor chamber_probe] y modificaremos [heater_generic chamber] para que use un sensor virtual utilizando la lectura combinada de ambos sensores (el del toolhead y el del cerramiento) dando más peso 3/1 al del toolhead:

### 3DWORK - MOD - Improve Chamber Temperature Precision
[temperature_sensor chamber_probe]
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:U_1:PA1

[heater_generic chamber]
heater_pin:U_1:PC8
max_power:0.5 #3DWORK - Original 0.7 or 0.4 depending on firmware version
control = pid
pid_Kp=63.418 
pid_Ki=1.342 
pid_Kd=749.125
min_temp:-100
max_temp:80
sensor_type: temperature_combined
sensor_list: temperature_sensor GD32, temperature_sensor chamber_probe, temperature_sensor GD32, temperature_sensor GD32
combination_method: mean
maximum_deviation: 70

Ahora contaremos con unas lecturas de temperaturas más precisas para la gestión de calentado y seguiremos usando el sensor por defecto para la protección termal, como podéis ver en la siguiente captura, la temperatura varía significativamente en varios grados:

Mejorar tiempos de calentado del cerramiento

Uno de los aspectos a mejorar es el tiempo de calentado del cerramiento cuando utilizamos filamentos técnicos y que puede durar muchos minutos... y el diseño/terminaciones de algunas partes no ayudan.

Para mejorar esto vamos a realizar un par de modificaciones en la configuración de la macro START_PRINT y verify_heater:

  • START_PRINT

### 3DWORK - MOD - Improve Chamber Warmup
[gcode_macro PRINT_START]
gcode:
    {% set bedtemp = params.BED|int %}
    {% set hotendtemp = params.HOTEND|int %}
    {% set chambertemp = params.CHAMBER|default(0)|int %}

    # AUTOTUNE_SHAPERS                  # Nothing ever makes uses of this though
    # set_zoffset                       # Sample the Z offset (but why even do this now?)
    M141 S{chambertemp}                 # Initiate Chamber Warmup as early as possible
    M140 S{bedtemp}                     # Initiate Print Bed Warmup as early as possible
    M400                                # Wait for all prior G-code commands to be processed by MCU
    M104 S0                             # Make sure hotend is off
    M106 P3 S0                          # Turn off chamber circulation/exhaust fan
    M106 S255                           # Turn on part cooling fan to full speed

    {% if chambertemp > 0 %}
        M106 P2 S255                    # Set AUX to full to help mix chamber air fully
    {% else %}
        M106 P2 S0                      # Turn off auxiliary part cooling fan
    {% endif %}

    M400                                # Wait for all prior G-code commands to processed before G28
    G28                                 # Home all axes
    CLEAR_NOZZLE HOTEND={hotendtemp}    # Do nozzle purge and wipe

    {% if chambertemp > 0 %}            # Special chamber handling for fastest thorough warmup times
        M106 P0 S255                    # Ensure part cooling fan is full speed for better air mixing
        M106 P2 S255                    # Ensure AUX is at 100% after CLEAR_NOZZLE was called
        G0 Z5 F600                      # Bring print bed to Z=5mm.  This helps with chamber heating
        G0 X152 Y152 F6000              # Bring print head to middle of print bed
        M191 S{chambertemp-5}           # Wait for chamber to reach 5C less than the target temperature
        M141 S{chambertemp}             # Reset chamber target to full target
        M106 P2 S0                      # Turn off AUX Fan
        M106 P0 S0                      # Turn off part cooling fan
    {% endif %}

    G0 X5 Y5 F6000                      # Move print head to front-left in case of any oozing
    M104 S140                           # Set nozzle to 140 so any remaining filament stuck to nozzle is softened
    M190 S{bedtemp}                     # Wait for print bed to reach target temperature
    G29                                 # Perform Z-offset, and bed meshing measurements
    M104 S0                             # Ensure hotend is fully off to minimise any oozing

    {% if chambertemp == 0 %}           # No chamber temp set. This means we're likely printing PLA/PETG.
        M106 P3 S255                    # Set the chamber circulation fan to 100% to minimise heat creep
    {% endif %}

    G0 Z5 F600                          # Move plate to Z=5mm
    G0 X5 Y5 F6000                      # Move print head to front-left
    M141 S{chambertemp}                 # Ensure chamber is set to on after G29 was called earlier
    M109 S{hotendtemp}                  # Commence hotend warmup
    M204 S10000                         # Set velocity limits
    SET_PRINT_STATS_INFO CURRENT_LAYER=1
    ENABLE_ALL_SENSOR
    save_last_file
  • Otro cambio a realizar para evitar errores durante el proceso de calentado es el relajar los tiempos de check de temperaturas de la cama caliente, ya que usaremos esta para ayudar en el proceso:

### 3DWORK - MOD - Improve Chamber Warmup
[verify_heater heater_bed]
max_error: 200
check_gain_time:180
hysteresis: 10
heating_gain: 1
  • En nuestro laminador, dependiendo de este... en nuestro caso usamos OrcaSlicer, es aconsejable revisar que en la configuración de nuestro filamento no tengamos Active temperature control activado, ya que puede retrasar el proceso de calentado del cerramiento:

A modo de resumen de todos estos cambios:

  • Utilizamos la cama para ayudar durante el proceso de calentado

  • Utilizamos los ventiladores de capa para distribuir la temperatura

  • Relajamos la temperatura objetivo del cerramiento 5º para que el resto del proceso de inicio de impresión sea más rápido, al iniciar la impresión llegará a la temperatura marcada por el laminador

  • Los procesos de nivelación se realizan en paralelo con el calentado del cerramiento

¡En nuestras pruebas se redujeron los tiempos de inicio de impresión en más de 5 minutos, lo cual no está nada mal!

Prevención de paradas de emergencia por temperatura cuando utilizamos el sistema de calefacción del cerramiento.

Teniendo en cuenta la ubicación del sistema de calefacción cuando tenemos una impresión que llega o sobrepasa los 268mm la propia estructura de la cama bloquea el sistema de calefacción provocando en ocasiones que la protección termal de Klipper pueda detener la impresión en curso y bloquear el sistema. Dado que es un "problema" de diseño de difícil solución podemos utilizar las funciones avanzadas disponibles en las macros de Klipper para poder minimizar este problema. Para ello y dentro del fichero de configuración gcode-macro.cfg editaremos la macro SET_PRINT_STATS_INFO , o si usamos el include sugerimos la incluiremos directamente ahi para que la sobreescriba, para que reduzca la temperatura del cerramiento a partir de esas alturas para que finalice la impresión sin errores:

### 3DWORK - FIX - Chamber Heater at +268mm height
[gcode_macro SET_PRINT_STATS_INFO]
rename_existing: SET_PRINT_STATS_INFO_BASE
gcode:
    {% set curlayer =  params.CURRENT_LAYER|default(1)|int %}
    {% if (printer.toolhead.position.z) >= 268 %}
        # Set chamber target to 15C, which still keeps the chamber heater fan on
        # This allows the print bed to warm the chamber more effectively even
        # though the heater coils are effectively disabled
        M141 S15
    {% endif %}
    SET_PRINT_STATS_INFO_BASE CURRENT_LAYER={curlayer}

Linea de purga adaptativa/inteligente (KAMP)

La QIDI Plus 4, como modelos anteriores, utilizan KAMP para el mallado adaptativa/inteligente a la hora de imprimir. La que por defecto utiliza QIDI en sus perfiles de máquina para laminadores a veces resulta bastante grande y laboriosa de retirar.

Aprovechando esto podemos utilizar también la línea de purgado adaptativa/inteligente. En unos simples pasos podremos utilizarla y disponer de más opciones de ajuste sencillo:

  • Editaremos el fichero KAMP_Settings.cfg que encontraremos en la misma ubicación que nuestro printer.cfg:

  • Simplemente habilitaremos/descomentamos, eliminando el simbolo # del inicio, el [include ./KAMP/Line_Purge.cfg] de el:

Iremos a nuestro laminador y editaremos el script/gcode de inicio de impresión donde:

  • Eliminaremos la parte de los gcodes de linea de purga que encontraremos al final de este:

  • En su lugar pondremos la macro LINE_PURGE que habremos habilitado con el cambio en KAMP_Settings.cfg

Mejoras configuración motores

QIDI ha dejado algunas configuraciones realmente extrañas en algunas partes de los motores con valores por ejemplo habilitando el interpolate o microsteps asi que si ajustamos estos es aconsejable aumentar un poco el run_current

A continuación os facilitamos una configuración que en nuestro caso ha funcionado muy bien, lo aconsejable es realizar tests:

### 3DWORK - MOD - Stepper Accuracy

[tmc2209 extruder]
interpolate: False ### 3DWORK - MOD - Stepper Accuracy - Original True

[stepper_x]
microsteps:64 ### 3DWORK - MOD - Stepper Accuracy - Original 32

[stepper_y]
microsteps: 64 ### 3DWORK - MOD - Stepper Accuracy - Original 32

[stepper_z]
microsteps: 16 ### 3DWORK - MOD - Stepper Accuracy - Original 128

[stepper_z1]
microsteps: 16 ### 3DWORK - MOD - Stepper Accuracy - Original 128

[tmc2240 stepper_y]
run_current: 1.15 ### 3DWORK - MOD - Stepper Accuracy - Original 1.07
interpolate: False ### 3DWORK - MOD - Stepper Accuracy - Original True

[tmc2240 stepper_x]
run_current: 1.15 ### 3DWORK - MOD - Stepper Accuracy - Original 1.07
interpolate: False ### 3DWORK - MOD - Stepper Accuracy - Original True

[tmc2209 stepper_z]
interpolate: False ### 3DWORK - MOD - Stepper Accuracy - Original True

[tmc2209 stepper_z1]
interpolate: False ### 3DWORK - MOD - Stepper Accuracy - Original True

Mejoras sistema de nivelación

La QIDI Plus 4 dispone de varios sistemas de nivelación que facilitan, simplifican y automatizan estos procesos significativamente. Vamos a intentar mejorar algunos de estos para aprovechar al máximo

Ajustes de configuración de ejes Z

Klipper puede tener algunas desviaciones en la gestión de ejes que pueden afectar a un proceso critico como el de nivelación:

  • Ajustar los micropasos de los ejes z a 16 micropasos que va a mejorar la precisión de movimientos en especial a velocidades que normalmente son utilizadas durante el proceso de nivelado. Para ello modificaremos en nuestro printer.cfg, en nuestro caso lo haremos en nuestro include añadiendo la sección y el valor a ajustar, las secciones [stepper_z] y [stepper_z1] su valor microsteps a 16 (originalmente 128, que para nosotros nos parece una barbaridad):

    ### 3DWORK - MOD - Z Axis Accuracy
    [stepper_z]
    microsteps: 16 ### 3DWORK - MOD - Stepper Accuracy - Original 128
    
    [stepper_z1]
    microsteps: 16 ### 3DWORK - MOD - Stepper Accuracy - Original 128
  • Otra configuración que suele introducir imprecisión de movimientos es el uso de interpolación de micropasos, para deshabilitarlo identificaremos las secciones [tmc2209 stepper_z] y [tmc2209 stepper_z1] y las ajustaremos a False:

    ### 3DWORK - MOD - Z Axis Accuracy
    [tmc2209 stepper_z]
    interpolate: False ### 3DWORK - MOD - Z Axis Accuracy - Original True
    
    [tmc2209 stepper_z1]
    interpolate: False ### 3DWORK - MOD - Z Axis Accuracy - Original True

Ajustes en Smart Effector

Uno de los sistemas que utiliza la QIDI Plus 4 para la nivelación son unos sensores de presión en la cama para, entre otras cosas, poder tener un ajuste de z-offset optimo. Para mejorar esta parte identificaremos la sección [smart_effector] , donde modificaremos los valores de speed, samples, sample_retract_dist ysamples_tolerance especialmente útil si realizamos multi probing (varias medidas por punto):

### 3DWORK - MOD - Smart Effector Accuracy
[smart_effector]
speed:2.5
samples: 1
sample_retract_dist: 10
samples_tolerance: 0.013

Ajustes en la configuración del mallado de cama

Teniendo en cuenta el tamaño de impresión de la QIDI Plus 4 y para disponer de una malla más definida podemos subir la malla de sondeo (probe_count) a un valor superior. Además ajustaremos bicubic_tension al disponer de más puntos de sondero y horizontal_move para mejorar el proceso como también hicimos en el smart effector anteriormente:

### 3DWORK - MOD - Bed Mesh Accuracy
[bed_mesh]
horizontal_move_z:10
probe_count:10,10
bicubic_tension:0.3

Mejoras Z-Tilt

Ya que la QIDI Plus 4 cuenta con doble motor independiente para el eje Z lo que nos va a permitir disponer de nivalación z-tilt (nivelación asistida de ambos ejes por sensor para una plataforma lo más nivelada posible en los ejes) vamos a ver que mejoras pordemos introducir. De forma similar que hicimos en el smart effector ajustaremos la sección [z_tilt] los valores de horizontal_move_z, retries, y retry_tolerance

### 3DWORK - MOD - Z-Tilt Accuracy
[z_tilt]
horizontal_move_z: 10
retries: 5
retry_tolerance: 0.013

Después de realizar estos cambios:

Mejoras en nivelado manual de cama asistido por sensor

Aunque la QIDI Plus 4 dispone de un asistente de nivelación manual de la pantalla este se hace de forma totalmente manual. Aprovechando que disponemos de un sensor de nivelación habilitaremos este proceso asistido por el sensor añadiendo la siguiente configuración:

### 3DWORK - MOD - Screws Tilt Adjust
[screws_tilt_adjust]
screw1:250,250
screw1_name: Central
screw2:0,20
screw2_name: Front left
screw3: 260,20
screw3_name: Front right
screw4: 260,280
screw4_name: Back right
screw5: 0,280
screw5_name: Back left
screw_thread: CW-M4

[gcode_macro SCREWS_TILT_CALCULATE]
rename_existing: _SCREWS_TILT_CALCULATE_BASE
gcode:
    { action_respond_info("starting screw rotation calculation...") }
    M141 S0 # disable chamber heater (see https://github.com/qidi-community/Plus4-Wiki/tree/main/content/chamber-heater-issue)
    M4031
    G28
    _SCREWS_TILT_CALCULATE_BASE

Una vez aplicado podremos lanzar la nueva macro, recordar antes hacer un home de todos los ejes:

Al finalizar el proceso nos indicará que correcciones hemos de realizar en cada uno de los tornillos de ajuste de la cama:

Mejoras Input Shaper

QIDI ha implementado un proceso desatendido para el ajuste de Input Shaper, reducción de vibraciones, para que sea más sencillo para los usuarios lo que puede ser una buena idea.

En cualquier caso el ajuste de Input Shaper, si queremos obtener unos resultados óptimos, lo ideal es poder revisar los datos obtenidos del análisis del proceso para tomar la mejor decisión.

  • Clonaremos e instalaremos un repositorio de ShakeTune adaptado para correr en QIDI

cd /home/mks && wget -O - https://raw.githubusercontent.com/stew675/klippain-shaketune-for-qidi-plus4/main/install.sh | bash
  • Una vez instalado iremos a nuestro interfaz web y habilitaremos la extensión añadiendo lo siguiente a nuestro printer.cfg:

[shaketune]
timeout: 1200
#    The maximum time in seconds to let Shake&Tune process the CSV files and generate the graphs.
# result_folder: ~/printer_data/config/ShakeTune_results
#    The folder where the results will be stored. It will be created if it doesn't exist.
# number_of_results_to_keep: 3
#    The number of results to keep in the result_folder. The oldest results will
#    be automatically deleted after each runs.
# keep_raw_csv: False
#    If True, the raw CSV files will be kept in the result_folder alongside the
#    PNG graphs. If False, they will be deleted and only the graphs will be kept.
# show_macros_in_webui: True
#    Mainsail and Fluidd doesn't create buttons for "system" macros that are not in the
#    printer.cfg file. If you want to see the macros in the webui, set this to True.
  • Una vez guardados, aplicados los cambios y reiniciado Klipper tendremos disponibles nuevas macros para lanzar el proceso:

Cuando lancemos estas macros, os aconsejamos COMPARE_BELTS_RESPONSES primero y ajustar la tensión de correas. Al finalizar el test nos creará una imagen con el resultado del mismo que podremos acceder desde el interfaz web dentro de la carpeta /ShakeTune_results/belts:

Solamente unos apuntes específicos para esta QIDI Plus 4:

  • De nuevo relacionado con el tipo de cinemática CoreXY el algoritmo a utilizar es aconsejable que sea el mismo en ambos ejes X e Y ya que comparten sistema de cinemática. Para una máquina CoreXY los más aconsejables son ZV o MZV

  • También es importante realizar estas mediciones cuando ajustemos la cinemática, como al tensar correas, lubricado, etc

Mejorando calidad cámara

Por defecto la configuración de la QIDI Plus 4 es de 640x480 lo cual para monitorizar no va a dar problemas ni va a consumir excesivos recursos.

En el caso que queramos realizar timelapse es aconsejable cambiar la configuración de esta para obtener la máxima resolución que la cámara soporta. Para ello editaremos el fichero de configuración webcam.txt, en concreto la línea camera_usb_options:

Que cambiaremos por:

camera_usb_options="-r 1080x720 -f 10 -d /dev/v4l/webcam0"

Mejoras calidad de impresión

En esta sección os vamos a aconsejar algunas modificaciones para mejorar la calidad de nuestras impresiones. Es importante recalcar que lo ideal es que vosotros mismosencontréiss, realizando tests, los valores óptimos para vuestra máquina ya que algunas de estas modificaciones van a depender del ajuste mecánico o uso de vuestra máquina.

  • El ajuste óptimo de square_corner_velocity, dentro de la sección [printer] va a ayudar a mejorar el acabado de los giros en trazadas. Os aconsejamos realizar pruebas con diferentes valores para ajustar a vuestro caso.

### 3DWORK - MOD - Print Quality Tweaks
[printer]
square_corner_velocity: 6

Para acceder a el, y una vez conectada la impresora a nuestra red y conociendo la IP asignada, usaremos cualquier dispositivo que se encuentre en la misma red y desde el navegador web que usemos iremos a

Disponemos de preinstalado que podremos lanzar ejecutando ./kiauh/kiauh.sh, probablemente nos solicite actualizarlo:

En nuestro caso hemos creado carpetas porque usamos la misma estructura del donde en el futuro incluiremos esta máquina.

En la QUIDI Plus 4 contamos con un ventilador de 40mm para el control de temperatura que si bien suele ser suficiente os aconsejamos cambiarlo por uno más grande que normalmente tienen mayor flujo de aire y van a generar menos niveles de ruido durante su funcionamiento. En Printables y gracias al compañero contamos con un .

Si aumentamos los valores de run_current es especialmente aconsejable mejorar la refrigeración de la electrónica que os mostramos en el apartado .

Guardamos los cambios y reiniciamos nuestro sistema Klipper, si revisamos los logs del servicio Klipper (klippy.log) podremos verificar que el cambio se aplicó correctamente:

En revisiones anteriores de máquinas QIDI ya os sugerimos como realizar el proceso utilizando macros shell-script en este caso os vamos a sugerir una solución más sencilla de implementar y con muchas opciones relacionadas con Input Shaper... y es utilizando . La instalación es muy sencilla:

El objetivo es que ambas gráficas sean lo más similares posibles. En la detalladamente.

La siguiente macro a lanzar es la de que una vez finalizada encontraremos el resultado en la carpeta /ShakeTune_results/input_shaper y dispondremos de una imagen generada por eje:

No vamos a entrar más en detalle de como optimizar o ajustar Input Shaper ya que tenéis información detallada del proceso de analizar resultados en la siguiente guía de , para cuestiones sobre las macros de .

Al ser una máquina CoreXY es muy importante que la tensión de las correas la detalladamente

🔬
http://IP_HOST
Kiauh
https://github.com/qidi-community/Plus4-Wiki
https://www.printables.com/model/1035564-qidi-plus-4-rear-cover-with-various-fan-sizes
Bundle Klipper 3Dwork
kruegchen
mod que nos va a permitir instalar ventiladores de diferentes diagonales
Klippain y su módulo ShakeTune
Wiki de QIDI tenéis descrito el proceso de ajuste de correas
AXES_SHAPER_CALIBRATION
Input Shaper
Klippain ShakeTune tenéis más información aquí
Wiki de QIDI tenéis descrito el proceso de ajuste de correas
refrigeración de la electrónica
contenido /home/mks donde se encuentra la instalación de Klipper y el resto de componentes
Imagen extraída de Printables.
Antes
Después
Antes ajuste
Después de ajuste