Другой Код — Разработка цифровых продуктов, дизайн и мобильные приложения

Typhoon roasters

Typhoon roasters
Typhoon roasters
Typhoon roasters
Typhoon roasters — производитель электрических конвекционных кофе-ростеров. Машины обжаривают кофе в 2 раза быстрее традиционных барабанных ростеров без дефектов, с полным контролем профиля обжарки.
Поддержка
2026
Категория
Hardware & App
Обращение
2025
Релиз
2026
Tech Stack
Qt, C++, STM32, Modbus, Linux
Platform
linux + STM32
Dev Time
4 мес
Load Speed
0.9s
Performance
_
Users
1k+
Services
QT, linux, STM32
Поделиться
Поделиться

О проекте

Typhoon — производитель профессиональных электрических конвекционных ростеров для кофе.

Когда перед нами встала задача расширить линейку поддерживаемых комплектующих и одновременно повысить надёжность системы, мы провели глубокий рефакторинг и оптимизацию всего программного комплекса — от прошивки микроконтроллера STM32 до пользовательского интерфейса на Qt. Рассказываем, как мы научили ростеры Typhoon «понимать» разные модели частотников и какие новые возможности это открыло.

Почему потребовались изменения?

Изначально прошивка и верхнеуровневое Qt-приложение были жёстко завязаны на одну конкретную модель частотного преобразователя и протокол Modbus. Такое решение было надёжным, но создавало ряд ограничений:

  • Зависимость от поставщика: мы не могли оперативно заменять ПЧ на аналоги при перебоях с поставками или изменении цен.
  • Сложность модернизации: подключение нового, более современного частотника с расширенными функциями требовало переписывания значительной части кода как на STM32, так и в Qt.
  • Ограниченный функционал: мы не могли использовать уникальные возможности разных ПЧ (например, расширенную диагностику или скоростные протоколы), потому что были «заточены» под минимум.

Мы поставили цель: создать гибкую систему, которая позволяет легко добавлять поддержку новых устройств без изменения основной логики управления и при этом сохраняет быстродействие, критически важное для конвекционной обжарки.

Рефакторинг: разделение на уровни

Вся архитектура была разделена на три независимых уровня, взаимодействующих через чётко определённые интерфейсы.

1. Аппаратно-зависимый уровень в прошивке STM32
Здесь сосредоточены драйверы для каждого типа ПЧ. Каждый драйвер реализует единый набор функций (инициализация, установка частоты, чтение статуса и т.д.), скрывая детали работы с конкретным протоколом — будь то Modbus RTU, Modbus ASCII или аналоговый сигнал 0–10 В через ЦАП.

2. Ядро системы (STM32)
Модули управления обжаркой, ПИД-регуляторы, логика безопасности. Ядро обращается к частотнику только через универсальный интерфейс драйвера, поэтому изменения в «железе» не влияют на алгоритмы обжарки.

3. Пользовательский интерфейс (Qt)
Приложение на Qt отображает параметры, принимает команды оператора и позволяет настраивать оборудование. Оно не содержит жёстко прописанных кодов регистров — вся информация о возможностях подключённого ПЧ поступает из прошивки в структурированном виде.

Оптимизация реального времени

Разные частотники имеют разное время реакции. Чтобы система не «подвисала» в ожидании ответа, мы:

  • Перевели все обмены по Modbus в асинхронный режим с использованием конечного автомата.
  • Настроили приоритеты прерываний: команды аварийной остановки обрабатываются вне очереди.
  • Ввели буферизацию команд: если ПЧ занят, запросы ставятся в очередь и отправляются по готовности.

Удалённое обслуживание и обновления

Промышленное оборудование должно не только стабильно работать, но и легко обновляться в полевых условиях. Мы реализовали комплексный механизм управления прошивками, который делает обслуживание ростеров простым и безопасным.

Обновление прошивки через интернет

Qt-приложение получило модуль проверки обновлений. При подключении к интернету программа периодически обращается к нашему серверу, сравнивает версию текущей прошивки STM32 с актуальной и при наличии новой версии предлагает пользователю установить её.

Процесс полностью автоматизирован:

  • Загрузка файла прошивки выполняется в фоновом режиме с контролем целостности (проверка CRC).
  • Пользователь видит прогресс и может запланировать установку на удобное время (например, между сменами).
  • Сама прошивка передаётся в микроконтроллер по надёжному протоколу с подтверждением каждого блока.

Резервное копирование и восстановление

Мы добавили в интерфейс приложения возможность сохранить текущую прошивку платы в файл на компьютере, а также загрузить прошивку из файла в устройство. Это полезно в нескольких сценариях:

  • Откат на предыдущую версию — если новая прошивка по какой-то причине не подошла.
  • Клонирование настроек — при вводе в эксплуатацию нескольких машин можно загрузить одинаковую прошивку на все платы без доступа в интернет.
  • Сервисное обслуживание — инженер может сохранить «слепок» прошивки перед экспериментами и в любой момент восстановить исходное состояние.

Все операции выполняются через удобный графический интерфейс, не требуя от оператора знания командной строки или работы с программаторами.

Безопасность обновлений

Мы уделили особое внимание защите от сбоев во время обновления:

  • Прошивка загружается в резервную область памяти, и только после полной проверки целостности происходит переключение на новую версию.
  • При потере питания или связи во время обновления устройство остаётся работоспособным — старая прошивка сохраняется.
  • Каждый файл прошивки подписывается цифровой подписью, что исключает установку неофициального или повреждённого ПО.

Новые возможности, которые мы получили

Благодаря проделанной работе ростеры Typhoon обрели ряд преимуществ:

  • Гибкость производства: мы можем комплектовать оборудование частотниками разных производителей (Delta, Omron, INVT и др.) без доработки ПО — достаточно выбрать соответствующий драйвер при конфигурации.
  • Точное управление охлаждением: использование ПЧ с обратной связью позволило реализовать алгоритм поддержания заданной скорости вращения вентилятора независимо от нагрузки и температуры — это улучшило повторяемость профилей обжарки.
  • Диагностика и прогнозирование: анализ тока и крутящего момента через расширенные регистры некоторых ПЧ позволяет выявлять износ подшипников или засорение воздуховодов на ранней стадии. Сигналы выводятся в Qt-интерфейс в виде уведомлений.
  • Удалённое обслуживание: теперь обновление прошивки можно выполнить силами самого клиента через интернет, не высылая инженера на место. Это сокращает время простоев и стоимость поддержки.
  • Безопасность и надёжность: механизм резервного копирования и атомарного обновления сводит к минимуму риск выхода оборудования из строя при сбоях.

Заключение

Рефакторинг программного комплекса — от прошивки STM32 до Qt — позволил нам сделать ростеры Typhoon по-настоящему адаптивными и простыми в обслуживании. Теперь добавление поддержки нового оборудования занимает дни вместо недель, а функции удалённого обновления и резервного копирования дают нашим клиентам уверенность в том, что их инвестиции защищены.

Мы не просто расширили список совместимых компонентов — мы создали архитектуру, готовую к будущим вызовам: будь то переход на новые протоколы (EtherCAT, CANopen) или интеграция с облачными сервисами заказчика.

Следующий проект
Готов обсудить
ВАШ ПРОЕКТ?
Заполнить бриф