QIDI Plus 4 - Technical Guide
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

Conector Wifi
Puerto USB
Puerto de red por cable
Conector serial pantalla
Conectores de alimentación electrónica (a.+ b.-)
Conector calefactor cama (a.+ b.-)
Conector iluminación led
Conector cama
Conector ventilador circulación aire cerramiento
Conector ventilación capa auxiliar
Conector ventilador electrónica
Conector ventilador cerramiento
Conector motor Z (azul)
Conector motor Z secundario (azul)
Conector motor X (verde)
Conector motor Y (amarillo)
Conector USB toolhead
Conector sensor temperatura cerramiento
Conector sensor filamento
Conector sensor nivelación piezo
Conector sensor temperatura cama
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.
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 http://IP_HOST

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
user (o user2)
mks
makerbase


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

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.
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.
En nuestro caso hemos creado carpetas porque usamos la misma estructura del Bundle Klipper 3Dwork donde en el futuro incluiremos esta máquina.
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):

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 kruegchen contamos con un mod que nos va a permitir instalar ventiladores de diferentes diagonales.

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 nuestroprinter.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 enKAMP_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
Si aumentamos los valores de run_current es especialmente aconsejable mejorar la refrigeración de la electrónica que os mostramos en el apartado refrigeración de la electrónica.
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
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:
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.
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 Klippain y su módulo ShakeTune. La instalación es muy sencilla:
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:


El objetivo es que ambas gráficas sean lo más similares posibles. En la Wiki de QIDI tenéis descrito el proceso de ajuste de correas detalladamente.
La siguiente macro a lanzar es la de AXES_SHAPER_CALIBRATION
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 Input Shaper, para cuestiones sobre las macros de Klippain ShakeTune tenéis más información aquí.
Solamente unos apuntes específicos para esta QIDI Plus 4:
Al ser una máquina CoreXY es muy importante que la tensión de las correas la Wiki de QIDI tenéis descrito el proceso de ajuste de correas detalladamente
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
Última actualización