Descargar PDF
        SAMOVAR 
×
Menú

Configuración del sketch*

Samovar 7.00: los parámetros se pueden configurar de la forma descrita abajo para el Arduino IDE o mediante el configurador. El configurador guarda los valores elegidos en user_config_override.h, sin modificar el archivo principal Samovar_ini.h. El firmware incluye este archivo automáticamente y sus valores sustituyen a los de Samovar_ini.h; también se puede crear a mano a partir de la plantilla user_config_override.example.h. En el configurador los parámetros están agrupados en secciones (la lista «Sección» («Раздел»)): Principales («Основные»), Temperaturas («Температуры»), Bombas («Насосы»), NBK («НБК»), Regulador («Регулятор»), Equipo («Оборудование»), Rectificación («Ректификация»), BK («БК»), Red («Сеть»), Sensores («Датчики»), Motor paso a paso («Шаговый двигатель»).
 
Para configurar el sketch según su equipo, ábralo en  el Arduino IDE y haga los cambios en el archivo Samovar_ini.h
En el Arduino IDE, abra el archivo Samovar.ino de la carpeta ...\Documents\Arduino\Samovar\.
Así se cargan en el Arduino IDE todos los archivos de la carpeta ..\Documents\Arduino\Samovar\
En la fila superior del Arduino IDE, busque la pestaña Samovar_ini.h y empiece a editar.
 
 
 
Para que una línea de código no se compile y, por tanto, Samovar no la ejecute, ponga los caracteres // delante de la línea (coméntela).
Y al revés: para que una línea se ejecute, quite los caracteres // (descoméntela)
Se recomienda excluir precisamente las líneas que se refieren a equipos que no tiene, en lugar de desactivar uno tras otro todos los parámetros que crea que no va a necesitar.
Para mayor comodidad, el código del archivo está dividido en bloques.
 
#define SAMOVAR_HOST "samovar"
El nombre de Samovar en la red. Con él el dispositivo está accesible como http://samovar.local (mDNS), y con ese mismo nombre aparece en los puertos de red del Arduino IDE y del configurador al actualizar por WiFi. En el configurador: sección «Principales» («Основные»), «Nombre del dispositivo en la red» («Имя устройства в сети»).
 
Bloque
//Selección de la placa ESP32 utilizada
//********************************************
//#define BOARD DEVKIT
//#define BOARD LILYGO
//#define BOARD ESP32S3
//********************************************
Sáltese este bloque. El firmware determina por sí mismo el tipo de placa a partir de la placa elegida en el Arduino IDE (DOIT ESP32 DEVKIT V1 / ESP32 Dev Module - DEVKIT, ESP32S3 Dev Module - ESP32S3) o de la placa elegida en el configurador. Si no se detecta nada, se usa DEVKIT.
 
A partir de esta línea puede empezar a editar valores y a activar/desactivar líneas de código:
 
//Temperatura del agua a la que se avisará al operador
#define ALARM_WATER_TEMP 70
Aquí 70 es la temperatura en grados Celsius. Al alcanzarla se emite un mensaje sobre la temperatura crítica del refrigerante (en adelante, TR). Si se usa un zumbador y la notificación de eventos está activada en la interfaz, Samovar también avisa con un sonido. Los avisos se repiten hasta que la temperatura baja. Si quiere que el aviso llegue a otra temperatura, cambie el número 70.
 
//Temperatura máxima del agua a la que se cortará la alimentación
#define MAX_WATER_TEMP 75
Cuando la TR alcanza 75°, Samovar da la orden de apagar el calentamiento.
 
//Temperatura máxima del vapor a la que se cortará la alimentación
#define MAX_STEAM_TEMP 98.8
Cuando la temperatura del sensor de vapor alcanza 98.8°, Samovar da la orden de apagar el calentamiento.
 
//Temperatura máxima en el TCA a la que se cortará la alimentación
#define MAX_ACP_TEMP 75
Cuando la temperatura del sensor del TCA alcanza 75°, Samovar da la orden de apagar el calentamiento. (consulte también Consigna del sensor del TCA)
 
//Temperatura del sensor de vapor a la que la columna pasa del modo de calentamiento rápido al modo de trabajo y, en el modo de destilación con sensor de vapor instalado, detecta el inicio de la ebullición
#define CHANGE_POWER_MODE_STEAM_TEMP 39
Cuando la temperatura del sensor de vapor (o la del sensor superior del tramo de columna) alcanza 39°, Samovar da al regulador la orden «detener el calentamiento rápido» y fija en el regulador la tensión indicada en la primera línea del programa de extracción. En el modo de destilación, Samovar usa esa misma temperatura del sensor de vapor para detectar el inicio de la ebullición. En el configurador: «Temperaturas» («Температуры»), «Temperatura de salida del calentamiento rápido, °C» («Температура перехода из разгона, °C»).
 
//Temperatura del sensor de la caldera a la que se abre la válvula de suministro de agua y se enciende la bomba de suministro de agua
#define OPEN_VALVE_TANK_TEMP 77
Con una temperatura de la caldera de 77° se da la orden de abrir la válvula de suministro de agua, al mismo tiempo se envía la señal de control PWM para encender la bomba y se envía al operador un mensaje de que hay que abrir el agua.
El mensaje se envía en cualquier caso, aunque no se use ni bomba ni válvula o el agua ya esté abierta.
 
#define DELTA_T_CLOSE_VALVE 20
//La diferencia entre la T de refrigeración del agua fijada y la T del agua hasta la que la bomba seguirá funcionando después de terminar el proceso de destilación en los modos de destilación y rectificación. El valor está en grados C° y se puede cambiar.  Se desaconseja totalmente desactivarlo.  (detalles aquí)
 
//Valor inferior (en porcentaje) del regulador PWM de la bomba. Elija un valor que garantice el caudal de agua
#define PWM_LOW_VALUE 10
Como es sabido, un motor necesita más tensión para arrancar que para seguir girando. Esta línea fija el valor mínimo posible (en porcentaje) con el que el motor puede mantener en marcha la bomba de suministro de agua sin pararse.
 
//Valor inferior (en porcentaje) a partir del cual empieza a funcionar el regulador PWM de la bomba. Elija un valor que arranque el motor con seguridad
#define PWM_START_VALUE 40
El valor en % de la tensión nominal con el que el motor de la bomba arranca con seguridad.
Es decir, si su bomba (ya instalada en el sistema y con líquido dentro) arranca de forma fiable al aplicarle una tensión de  6 voltios o más y no arranca con menos, con su tensión nominal de 12 voltios eso es el 50% del valor nominal. Por tanto, hay que sustituir el número 40 por 50.
 
//Corrección del ángulo de giro del servo.
int8_t servoDelta[11] = {0, -2, -3, -4, -3, -2, 0, 0, 0, 0, -2};
Corrección del ángulo de giro del servo de la mesa de extracción para un posicionamiento preciso. Se indica en grados. Cada posición se corrige por separado y no depende de la corrección de las posiciones vecinas.
Por ejemplo, si el balancín se ha «pasado» de la posición n.º 2 y ponemos menos 10°, no hay que tener en cuenta este valor (-10) al corregir la posición n.º 3.
 
//Diferencia entre la temperatura objetivo y la actual (para los modos Cerveza y sous vide) hasta la cual el calentamiento será a plena potencia (en modo de calentamiento rápido).
#define HEAT_DELTA 1
Para los modos Cerveza y sous vide. El valor se indica en grados Celsius. Este parámetro se refiere al calentador principal. Significa que el calentamiento es a plena potencia mientras la diferencia entre la temperatura real y la fijada en la línea del programa de maceración sea mayor que 1°. En cuanto la diferencia es menor o igual que la indicada en #define HEAT_DELTA, se ordena al regulador que reduzca el calentamiento para alcanzar la temperatura fijada suavemente y/o no superarla demasiado.
Si tiene un calentador bastante potente, aumente el valor para no «pasarse» de la temperatura objetivo.
 
//Si la diferencia entre la temperatura objetivo y la actual (para los modos Cerveza y sous vide) es mayor que la fijada, con un regulador controlado por UART el relé n.º 4 enciende además la resistencia de refuerzo; cuando la diferencia es menor, la resistencia de refuerzo se apaga
#define ACCELERATION_HEATER_DELTA 4
Para los modos Cerveza y sous vide. El valor se indica en grados Celsius. El parámetro se refiere exclusivamente al calentador adicional.
Si la temperatura de la caldera es inferior a la objetivo (en este caso en 4°), el calentador adicional se enciende.
 
//Temperatura de ebullición (para el modo Cerveza)
#define BOILING_TEMP 98.9
Para los modos Cerveza y sous vide. El valor se indica en grados Celsius. Se fija a mano e indica a Samovar a qué temperatura empezó la ebullición real en la caldera con su equipo. El valor influye en el algoritmo de funcionamiento de los calentadores principal y adicional
 
//Temperatura de fin de destilación por defecto
#define DEFAULT_DIST_TEMP 99.9
Para el modo de destilación. La temperatura de la caldera a la que termina la destilación, si el programa de destilación no fija otro valor. En el configurador: «Temperaturas» («Температуры»), «Temperatura de fin de destilación, °C» («Температура завершения дистилляции, °C»).
 
 
Ajustes de uso de los subsistemas de Samovar
 
#define SAMOVAR_USE_BLYNK                   //usar Blynk en el proyecto
Si no usa Blynk, comente esta línea con //.
 
#define BLYNK_SAMOVAR_TOOL "samovar-tool.ru" //usar el servidor Blynk gratuito samovar-tool.ru en lugar de la nube de Blynk
Si usa un servidor Blynk de pago y no el servidor que ofrece el desarrollador, comente esta línea.
 
//#define USE_MQTT    //enviar las lecturas a su propio bróker MQTT
 Para guardar los registros en la nube este parámetro no hace falta: si el token del dispositivo está indicado en los ajustes y SAMOVAR_USE_BLYNK está activado, el registro y los mensajes de Samovar llegan por sí solos al servidor samovar-tool.ru. Regístrese en el sitio www.samovar-tool.ru e introduzca el token del dispositivo al editar su perfil; después los registros estarán disponibles en el sitio a través del menú: Usuario - Registros. Más detalles en la sección - Registros y gráficos en la nube.
USE_MQTT es un envío aparte y opcional de una línea abreviada de lecturas a cualquier bróker MQTT (sin TLS, cada 4 segundos durante un proceso y cada 5 segundos en reposo). Esta línea no está en Samovar_ini.h: el parámetro se activa en el configurador (sección «Red» («Сеть»): «Servidor MQTT» («Сервер MQTT»), «Puerto MQTT» («Порт MQTT»), «Usuario MQTT» («Пользователь MQTT»), «Contraseña MQTT» («Пароль MQTT»), «Tema MQTT» («Топик MQTT»)) o en user_config_override.h, donde hay que definir MQTT_SERVER, MQTT_PORT, MQTT_USER, MQTT_PASSWORD y MQTT_TOPIC; sin ellos, la compilación con USE_MQTT se detiene con un error.
 
Selección del regulador de potencia
En el archivo Samovar_ini.h la selección se hace con líneas normales:
#define SAMOVAR_USE_POWER
//#define KVIC_USE_9600
//#define SAMOVAR_USE_RMVK
//#define SAMOVAR_USE_SEM_AVR
Al compilar con el Arduino IDE deje las líneas así:
El parámetro KVIC_USE_9600 solo se aplica a KVIC: descoméntelo para un regulador con una velocidad UART de 9600. Si el regulador usa 38400, deje la línea comentada.
Al compilar con PlatformIO no hace falta cambiar estas líneas a mano: elija un entorno ya preparado, Samovar, Samovar_no_power, Samovar_rmvk o Samovar_sem (también existen Samovar_s3 para la placa ESP32-S3, Samovar_lua y Samovar_alarm_button). El configurador elige el entorno por sí mismo según el grupo «Regulador de potencia» («Регулятор мощности») (No usar («Не использовать») / KVIC / RMVK / SEM_AVR) y la placa. Los detalles están en las instrucciones Compilación y carga del firmware con PlatformIO.
La descripción detallada del equipo está en la sección Reguladores de tensión utilizados.
 
Parámetros para la NBK
#define NBK_MULT_PAUSE_OVERFLOW 2 // número de inercias que se usan como pausa después de la inundación
#define NBK_PUMP_LIMIT 30 // caudal máximo de la bomba de mosto para la Optimización, l/h
#define NBK_WORK_PRESSURE_RATIO 0.5f // techo de la presión de trabajo = una fracción de la presión de inundación
#define NBK_PRESSURE_MARGIN 5 // mm Hg por debajo de la presión en el momento de la inundación al aprender el techo
//#define USE_NBK_DELTA_PRESSURE // corrección de la temperatura de las vinazas según la presión en la salida de vinazas
//#define USE_NBK_END_BY_STEAM_RISE // terminar el trabajo de la NBK cuando la T del vapor haya subido NBK_END_STEAM_RISE respecto al mínimo
#define NBK_END_STEAM_RISE 5.0f // umbral de subida de la T del vapor (°C) para USE_NBK_END_BY_STEAM_RISE
Solo hacen falta para el modo de columna de mosto continua; en el configurador: sección «NBK» («НБК»). Si no usa la NBK, déjelos como están. Más detalles en la sección NBK.
 
#define SAMOVAR_USE_POWER_START_TIME 2000    //retardo antes de enviar al regulador la orden de aceleración. Garantiza  el cierre «en frío» del circuito de potencia por el contactor.
Para evitar un arco eléctrico en los contactos de potencia del contactor.   Tras la orden «Encender el calentamiento» («Включить нагрев»), el relé n.º 1 se activa y conecta el contactor, que a su vez cierra el circuito de potencia hacia el calentador. Pasado el tiempo indicado en milisegundos, el regulador aplica la tensión.
El apagado se hace en el orden inverso. Primero el regulador corta la tensión y después, tras un retardo, el contactor se abre.
(Véase Algoritmo de conexión/desconexión de la carga)
 
#define LCD_RESET_PERIOD_MS 240000UL    //periodo (ms) de reinicialización periódica de la pantalla LCD, 4 minutos
Protección contra el «bloqueo» de la pantalla en I2C. No hace falta cambiarlo. En el configurador: «Equipo» («Оборудование»), «Periodo de reinicio de la pantalla, ms» («Период сброса дисплея, мс»).
 
#define USE_WATERSENSOR                      //usar el sensor de caudal del agua de refrigeración. Si se usa y no hay agua durante el tiempo indicado, Samovar apaga el calentamiento de la columna
El sensor de caudal funciona según el principio del sensor Hall. Si hay caudal de refrigerante, Samovar recibe impulsos periódicos. Si no hay impulsos o llegan demasiado espaciados, Samovar apaga el calentamiento y envía un aviso.
 
#define WF_CALIBRATION 98                    //Valor para el sensor de caudal F=98*Q(L/min); para otro sensor, indique otro valor.
Corrección del sensor de caudal. Si se hace pasar 1 litro de agua por el sensor, este da 5880 impulsos. En realidad, el número de impulsos por 1 litro varía con el caudal de agua. La corrección se hace cambiando el valor 98.
 
#define WATER_FLOW_MIN_PULSES 7              //El caudal se considera real si el número de impulsos por ciclo no es menor que este umbral
Filtra los impulsos sueltos del sensor de caudal con el agua cerrada. Si Samovar ve caudal donde no lo hay, aumente el valor; si apaga el calentamiento con un caudal débil, redúzcalo. En el configurador: «Bombas» («Насосы»), «Mínimo de impulsos de caudal» («Минимум импульсов потока»).
 
#define USE_HEAD_LEVEL_SENSOR                //usar el sensor de nivel de reflujo en el cabezal (sensor P-N-P). Si se usa, al activarse el sensor la potencia baja 1*PWR_FACTOR (para KVIC: 1 V, para RMVK: 2 V; para SEM_AVR: un 3% del valor actual)
Use un sensor de nivel de reflujo cuya salida dé un uno lógico al activarse.
 
#define IGNORE_HEAD_LEVEL_SENSOR_SETTING //Si se usa el sensor de reflujo, ignorar la orden de desactivar el sensor en la interfaz WEB. (Si la comenta, en la interfaz, en la pestaña Ajustes («Настройки»), aparece una casilla con la que puede activar o desactivar el uso del sensor de reflujo).
 

Por ejemplo.
Si la línea
//define USE_HEAD_LEVEL_SENSOR // usar el sensor de nivel de reflujo... está comentada, el sensor no se usa, y da igual en qué estado (comentada o descomentada) esté la línea siguiente.
Si la línea #define USE_HEAD_LEVEL_SENSOR está descomentada, se tiene en cuenta el estado de la línea siguiente:

  #define IGNORE_HEAD_LEVEL_SENSOR_SETTING -  Si está descomentada, en la interfaz WEB no hay casilla para controlar el sensor de reflujo.   Por tanto, el sensor no se puede desactivar desde  la interfaz WEB.
Si //#define IGNORE_HEAD_LEVEL_SENSOR_SETTING está comentada, el uso  del sensor de nivel de reflujo se puede  activar y desactivar 
rápidamente (punto 5) desde la interfaz WEB.

 
//#define WHLS_HIGH_PULL                       //usar un sensor de nivel de líquido N-P-N
Use un sensor de nivel de reflujo cuya salida dé un cero lógico al activarse.
  
#define USE_WATER_PUMP                       //usar el control PWM de la bomba de agua y/o para encender el agitador en el modo Cerveza
Si no se usa la bomba para mantener automáticamente la TR y el agitador del modo Cerveza no está conectado, comente la línea. En el configurador: «Bombas» («Насосы»), «Controlar la bomba de agua o el agitador» («Управлять насосом воды или мешалкой»).
 
//#define USE_WATER_VALVE LOW                  //usar el control de una válvula para ajustar la presión del agua
Si se usa una válvula de bypass, descomente la línea. La válvula se conecta en lugar de la bomba. Funciona como un termostato. Si la temperatura supera la indicada, la válvula se abre; cuando la temperatura baja de la indicada, se cierra. Más detalles aquí.
Si en la línea de bypass se usa una válvula normalmente cerrada, sustituya el valor LOW por HIGH.
Si la TR se regula a mano o con algún dispositivo de terceros, comente ambas líneas.
 
//#define USE_ALARM_BTN                      //usar el botón de emergencia.
Al pulsarlo se corta el suministro de agua y la alimentación. Puede usarlo instalando sensores de fugas (se admite un número ilimitado de dispositivos con "contactos secos" conectados en paralelo) o un botón normal (también se puede conectar en paralelo con los sensores)
 
#define USE_BODY_TEMP_AUTOSET              //usar la corrección automática de la T de corazón en el primer programa de extracción de corazón o de preinundación después de las cabezas, y también en el programa de preinundación si va antes del penúltimo programa de extracción de corazón o de preinundación
En la compilación estándar de Samovar 7.00 esta función está activada. No se puede comentar: el firmware activa USE_BODY_TEMP_AUTOSET de forma forzada (Samovar.h). En el configurador está en la sección «Rectificación» («Ректификация») («Corrección automática de la temperatura de corazón» («Автокоррекция температуры тела»)), y allí también está el límite de subida BODY_TEMP_AUTOSET_MAX_RISE (véase más abajo).
La extracción no se pondrá en pausa si se cumple que:
Para la línea Corazón («Тело»). Si una línea de Corazón va justo después de una línea de Cabezas y le siguen dos líneas de Corazón o Preinundación en cualquier combinación.
Para la línea Preinundación («Предзахлеб»). Si una línea de Preinundación está en cualquier lugar del programa de extracción y le siguen dos líneas de Corazón o Preinundación en cualquier combinación
 
//Elija qué sensor de presión se usa y deje solo una línea. Las demás líneas deben estar comentadas.
//#define USE_BMP180                           //usar el sensor de presión BMP180/BMP085
//#define USE_BMP280                           //usar el sensor de presión BMP280
//#define USE_BMP280_ALT                   //usar el sensor de presión BMP280 con una dirección alternativa
//#define USE_BME280                           //usar el sensor de presión BME280
#define USE_BME680                           //usar el sensor de presión BME680
Elija qué sensor de presión atmosférica se usa y deje solo una línea. Las demás líneas deben estar comentadas. Si no usa sensor de presión atmosférica, puede comentar todas las líneas. Pero entonces Samovar no corregirá la temperatura de ebullición según la presión atmosférica.
 
#define USE_BTN                              //usar el botón
Usar el botón universal de Samovar. Se conecta a la salida D39 del ESP32. Es un botón práctico, pero si no lo usa, es mejor desactivarlo.
 
#define USE_UPDATE_OTA      //usar ArduinoOTA para actualizar por WiFi. Práctico para la depuración; durante el trabajo carga más el ESP32
Si para actualizar el sketch del ESP32 se usa una conexión serie por cable, esta línea se puede comentar.  Entonces la actualización por WiFi no estará disponible. Al compilar con el núcleo ESP32 versión 3.x, el firmware desactiva este parámetro por sí mismo. En el configurador: «Red» («Сеть»), «Permitir la actualización por Wi-Fi» («Разрешить обновление по Wi-Fi»).
 
//#define USE_EXPANDER 0x20                    //usar el expansor de puertos PCF8575
//#define USE_ANALOG_EXPANDER 0x48             //usar el expansor de puertos analógicos PCF8591
//#define USE_LUA                              //usar Lua para escribir scripts que controlen Samovar y el expansor de puertos
Activación del uso de expansores de puertos y del lenguaje de scripts Lua. Más detalles en la sección Ampliación de las posibilidades
 
//Selección del tipo de sensor de presión usado en la columna. Solo se puede usar un tipo.
//#define USE_PRESSURE_XGZ 32                //usar el sensor de presión XGZP6897D (o similar). El valor es el parámetro K de la tabla del sensor
//#define USE_PRESSURE_1WIRE {0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x55}  //usar un sensor de presión por 1Wire
//#define USE_PRESSURE_MPX                    //usar el sensor de presión MPX5010D
Sensor de presión en la columna (no confundir con el sensor de presión atmosférica de arriba). Hace falta para la NBK y para vigilar la presión en la columna. Descomente solo una línea; si se descomentan dos o tres, se usa el MPX5010D. Si no hay sensor, deje las tres líneas comentadas. En el configurador: el grupo «Sensor de presión en la columna» («Датчик давления в колонне»).
 
//#define USE_STEPPER_ACCELERATION    //usar arranque y frenado suaves del motor paso a paso
Active la aceleración suave de la bomba de extracción; también se detendrá suavemente.
 
//#define STEPPER_REVERSE     //invertir el sentido de giro del motor paso a paso
Si necesita que el motor de la bomba de extracción (Nema17) gire en el otro sentido, descomente la línea.
 
//#define I2CStepperStepMl 16000            //número de pasos por ml para el I2CStepper
Solo cuando se usa un módulo I2CStepper externo. Fija la calibración inicial de la bomba de extracción (pasos por mililitro). En el configurador: «Motor paso a paso» («Шаговый двигатель»), «Pasos por ml para I2CStepper» («Шагов на мл для I2CStepper»).
 
//#define COLUMN_WETTING                    //si hay un sensor de nivel de reflujo, al empezar la rectificación llevar la columna a preinundación para mojar el relleno
//#define WETTING_POWER 220                //tensión/potencia del regulador (para SEM_AVR) al mojar el relleno
Mojado del relleno antes de la rectificación. Solo funciona con el sensor de nivel de reflujo (USE_HEAD_LEVEL_SENSOR): tras la aceleración, Samovar mantiene en el regulador la tensión de la primera línea del programa (si no está indicada, 220 V; para SEM_AVR, WETTING_POWER), la reduce por pasos hasta el 80% si hace falta y espera a que se active el sensor de nivel de reflujo, como máximo 20 minutos. En los mensajes: «Inicio del mojado del relleno de la columna» («Начало смачивания насадки колонны») y «¡Relleno de la columna mojado correctamente!» («Насадка колонны успешно смочена!»). En el configurador: «Rectificación» («Ректификация»), «Mojado del relleno antes de la rectificación» («Смачивание насадки перед ректификацией») y «Potencia de mojado del relleno» («Мощность смачивания насадки»).
 
 
//#define NOT_USE_INTERFACE_UPDATE              //no actualizar la interfaz al arrancar
Samovar  compara la versión de la interfaz instalada localmente con la versión disponible en remoto y, si no coinciden, la actualiza.
Así puede conservar en Samovar archivos con sus propios desarrollos. La actualización local lo sobrescribe todo, mientras que la actualización por internet solo actualiza la interfaz, y los scripts y los ajustes se conservan.
Para una versión nueva no hace falta cargar la interfaz; se actualiza automáticamente.
Pero, según se ha visto, algo ha cambiado y esto no funciona para todos.
Si este parámetro está descomentado, la interfaz no se actualizará por internet.
 
//#define KVIC_DEBUG                      //mensajes de depuración del intercambio con el regulador KVIC en el monitor serie
Solo hace falta al buscar fallos en la comunicación con el regulador. En el configurador: «Regulador» («Регулятор»), «Mensajes de depuración de KVIC» («Отладочные сообщения KVIC»).
 
Parámetros del algoritmo de rectificación
#define PAUSE_RESUME_HYSTERESIS_DELTA 0.07f  //histéresis (°C) entre el umbral de entrada en pausa por la T del vapor/del tramo de columna y el umbral de salida
#define PROGRAM_ROW_STOP_PAUSE_LIMIT 3       //número de pausas de parada durante la línea actual del programa tras el cual la velocidad base de la línea se reduce automáticamente
#define PROGRAM_ROW_STOP_PAUSE_SPEED_CUT_PCT 10  //en qué % reducir la velocidad base de la línea al activarse PROGRAM_ROW_STOP_PAUSE_LIMIT
#define PROGRAM_DONE_AUTO_POWEROFF_MIN 30    //tiempo (min) que se mantiene el estado "Ejecución del programa terminada" («Выполнение программы завершено») (la bomba está parada, el calentamiento continúa), tras el cual se apaga automáticamente. 0 = apagar enseguida
#define BODY_TEMP_AUTOSET_MAX_RISE 0.3f     //límite (°C) de la subida automática de la T de corazón dentro de una línea del programa
Los valores por defecto están elegidos para una columna típica; no los cambie si no hace falta. En el configurador: sección «Rectificación» («Ректификация»).
 
Parámetros del modo BK
#define BK_STEAM_SETPOINT_MIN 30          //límite inferior de la consigna de T del vapor del deflegmador BK (5.º campo de la línea del programa), °C; 0 - agua a mano
#define BK_STEAM_SETPOINT_MAX 100         //límite superior de la consigna de T del vapor del deflegmador BK, °C
#define BK_WATER_ADJUST_PERIOD_MS 60000    //periodo del paso del regulador de agua BK, ms
#define BK_WATER_DEADBAND 0.2f            //zona muerta (°C) alrededor de la consigna de vapor BK
#define BK_WATER_PWM_STEP 30              //paso del regulador PWM de agua BK (sobre 1023)
Límites de la consigna y paso de la regulación automática del agua en el modo de columna de mosto. En el configurador: sección «BK» («БК»).
 
 
 Después de editar el archivo, hay que volver a cargar el sketch en el ESP32. Para ello, pulse la flecha de la barra superior del Arduino IDE y espere a que termine la carga.
 
 
Su Samovar está listo para trabajar.
 
Nota.
A partir de ahora, al instalar una versión nueva, no tendrá que editar Samovar_ini.h cada vez.
Al actualizar con el Arduino IDE, compare el Samovar_ini.h nuevo con el antiguo y traslade solo sus propios valores. No sustituya entero el archivo nuevo por el antiguo: una versión nueva puede tener parámetros sin los que la configuración quedaría incompleta. El configurador guarda aparte las diferencias del usuario en user_config_override.h.
Es mejor editar el propio archivo nuevo que añadir líneas del código nuevo al antiguo, para evitar errores accidentales (véase Actualización del sketch).
Para comparar y editar puede usar programas especiales que comparan dos archivos distintos y muestran de forma visual las diferencias entre ellos. 
 
Atención.
Se recomienda descargar el archivo con la nueva versión de Samovar desde 
este enlace. Será una versión estable y probada.
 
________________________________________________________________________________________________________________
 
* Para desarrolladores. La descripción de las partes del sketch y un diagrama de bloques  están en github.com
 
 
 
 
 
 
 
 
 

Otros archivos y líneas con explicaciones:
 
archivo Samovar_pin.h
Samovar 7.00: la constante TARGET_WATER_TEMP ya no está en este archivo. La temperatura del agua que mantiene el regulador PWM de la bomba se toma en todos los modos (también en la NBK) del campo «Consigna del sensor de agua» («Уставка датчика воды») de la pestaña Ajustes - Temperatura («Настройки - Температура»); si el campo está vacío, el firmware usa 48°. Cuando el proceso ha terminado y la temperatura del agua a la salida queda por debajo de la consigna en DELTA_T_CLOSE_VALVE (20° por defecto, véase arriba), Samovar para la bomba, da la orden de cerrar la válvula de agua y envía un aviso de que hay que cerrar el agua.
 
archivo pumppwm.h
define PUMP_PWM_FREQ 15
Frecuencia PWM mínima de la bomba de refrigeración, en hercios