Контроллер системы охлаждения

Назначение

Контроллер собственной разработки для управления иммерсионной системой охлаждения.

Основные функции

1. Мониторинг температуры

Система использует цифровые датчики DS18B20 для контроля температуры в ключевых точках:

2. Мониторинг потоков

3. Мониторинг уровня жидкости (Liquid Level)

4. Управление помпами (Децентрализованное)

5. Аварийная защита (Hardware & Software)

6. Сервисный режим

7. Локальный дисплей (HMI) и Программная архитектура

Для визуального мониторинга статуса системы на лицевой панели контроллера устанавливается экран. Отрисовка сложной графики и жесткий real-time опрос датчиков разнесены по разным физическим ядрам контроллера RP2040 для обеспечения отказоустойчивости.

7. Конфигурация и интеграция с ОС (Linux Daemon)

Из-за сложностей с сертификацией радиоустройств (Wi-Fi), основной упор делается на проводную работу. Контроллер подключается к серверу/материнской плате фермы по USB (Serial). На стороне ОС (Linux) должен работать специализированный системный сервис (Daemon).

Ключевые уставки системы (задаваемые через демон или локальное меню):

  1. Температурные лимиты: Порог агрессивного охлаждения (100% ШИМ помп) и порог аппаратного отключения (Hardware Cut-off) для спасения GPU.
  2. Кривая охлаждения (PWM): Базовые обороты при простое (для поддержания потока) и кривая набора при нагреве.
  3. Лимиты потока (Flow): Порог срабатывания защиты при падении потока жидкости ниже безопасного (засор, утечка или заклинивание).

8. Взаимодействие и аппаратные кнопки (Power, Reset)

Контроллер выступает прослойкой между пользователем и материнской платой.

Выбор микроконтроллера (MCU): Глубокий анализ

Исходя из архитектуры, системе требуется опрашивать минимум 5-10 датчиков DS18B20 (1-Wire), минимум 3-5 датчиков потока (импульсы) и управлять 3-5 помпами (ШИМ 25 кГц + тахометры-импульсы). Чтение 6-10 высокочастотных импульсных сигналов одновременно с тайминг-чувствительным протоколом 1-Wire создает высокую нагрузку на обработчики прерываний (Interrupts) слабого процессора.

Рассмотренные платформы:

Характеристика Raspberry Pi Pico (RP2040) Teensy 4.0 / 4.1 ESP32-S3 STM32 (Black Pill - F411)
Архитектура 32-bit ARM Cortex-M0+ (Dual-core, 133 МГц) 32-bit ARM Cortex-M7 (600 МГц) 32-bit Xtensa (Dual-core, 240 МГц) 32-bit ARM Cortex-M4 (100 МГц)
Главная фишка PIO (Programmable I/O) Огромная производительность Встроенный Wi-Fi / BT, Native USB Мощная система DMA
Плюсы PIO может аппаратно считать импульсы помп и потока вообще без участия основного ядра. Одно ядро под ПИД и логику, второе под графику. Native USB. Огромное количество аппаратных таймеров для ШИМ и пинов с аппаратными прерываниями. Надежность. Огромный объем ОЗУ/Flash, Native USB. Может притворяться клавиатурой/COM-портом. Низкая цена. Данные с датчиков складываются в память без участия процессора через DMA.
Минусы Нет встроенного Wi-Fi (для данной концепции это скорее плюс, чем минус). Высокая цена (~$20-30). Избыточная мощь. Нет PIO. Чтение 10 импульсных датчиков потребует аккуратной фильтрации прерываний во избежание конфликтов. Сложность программирования (CubeIDE/HAL). Потенциал теряется при использовании Arduino IDE.
Вердикт 10/10. Идеальный выбор. 9/10. Промышленный стандарт. 8/10. Сильный кандидат. 7/10. Классика жесткого RT.

Итоговый выбор: Raspberry Pi Pico (чип RP2040). Наличие PIO является решающим фактором: микро-сопроцессоры аппаратно считают импульсы от всех датчиков потока и тахометров помп, разгружая основное ядро от "прерываний". Базовая версия (без Wi-Fi) идеально ложится в концепцию безопасного контроллера с локальной настройкой и связью с Linux-демоном через стабильный аппаратный USB. Программная база: C/C++ (Raspberry Pi Pico SDK) или Arduino IDE (ядро от Earle Philhower для полной поддержки PIO и многопоточности).

Дальнейшие задачи