ЗИМНЯЯ ВСТРЕЧА 26
Форум самогонщиков Сайт Барахолка Магазин ЗИМНЯЯ ВСТРЕЧА 26

Автоматика Самовар

Форум самогонщиков Вопросы по электр(он)ике
1 ... 183 184 185 186 187 186
Volume Научный сотрудник Уфа 709 383
Отв.3700  19 Дек. 25, 09:11
зависит от версии "родной" SDK idf
На 4.3.1 был выловлен баг зависания
The use of the flush function is likely to trigger a task deadlock...The issue with uart_wait_tx_done() (used in HardwareSerial::flush()
пофиксили в 4.4 (это Arduino 2.0.0), НО - есть сообщение что баг повторился в Arduino v2.0.11 (ESP-IDF v4.4.5) на esp32-c3 AirM2M_CORE_ESP32C3, если к COM esp ничего не подключено, то происходит зависание
Вот здесь про это: https://github.com/espressif/arduino-esp32/issues/5876
dranek Доктор наук Минск 550 535
Отв.3701  19 Дек. 25, 19:05
Мультиплатформенный терминал на python с эмуляторами стабилизаторов для Самовара
v.0.0.0 Просто терминал COM порта terminal.zip
v.1.0.0 Терминал + эмуляторы + настройщик модулей HC-12 Em2.zip
Терминал0.png
Терминал0. Автоматика Самовар. Вопросы по электр(он)ике.
Терминал1.png
Терминал1. Автоматика Самовар. Вопросы по электр(он)ике.
Терминал2.png
Терминал2. Автоматика Самовар. Вопросы по электр(он)ике.
Терминал3.png
Терминал3. Автоматика Самовар. Вопросы по электр(он)ике.
Терминал4.png
Терминал4. Автоматика Самовар. Вопросы по электр(он)ике.

Внутри есть текстовой файл help.txt, там коротко как запустить и откомпилировать под Windows. На других платформах не разбирался, должно работать.
ser52 Специалист Москва 185 41
Отв.3702  22 Дек. 25, 12:31
Всех с наступающим ! Нашёл картинку и сделал иконку Самоварыча Иконка.ico
Вячеслав_34 Студент 34_RUS 19 1
Отв.3703  22 Дек. 25, 13:24 (через 53 мин)
Парни!
Год слежу за темой автоматики, и чем дальше, тем больше глюков находите.
В январе собрал стабилизатор от квик, работает как швейцарские часы!
Мои токовые клещи, показывали разброс напряжения не более 0,3 вольт при стабилизации.
Здесь же то одно, то другое всплывает. Просто плата уже почти год лежит, вот и думаю то ли собирать, то ли нет
dranek Доктор наук Минск 550 535
Отв.3704  22 Дек. 25, 14:03 (через 40 мин)
Вячеслав_34, с каждым найденным глюком автоматика становится представьте себе безглючней. Над этим и работаем сейчас, основная логика автором отлажена достаточно хорошо.

Попробуйте сами что ни будь подобное создать для начала. И в целом здесь ни у кого обязательств перед вами нет. Не магазин ведь. Есть только добровольцы и любители халявы.

ser52, спасибо за иконку. Вот вам предрелиз 1.4.0. Он пока на отладке, однако точно стабильней и лучше 1.3.2. Думаю по стабильности так же превосходит Самовар благодаря проделанной в последние дни работе с наладкой запросов httppost и get в основном для управления стабилизатором по сети, а заодно для отправки сообщений телеграм боту без периодических ресетов. Поделюсь пока бинарниками ESP32, для исходников рано, работа со стабилизатором по сети пока в отладке, есть там проблемы.
Из новшеств:
1. Иконка Улыбающийся
2. Настройки WiFi можно просто записать в файл wifi.ini и закинуть вместе с остальными файлами во флэш. Если Самоварыч его найдет, то в случае наличия там одной точки доступа попытается первым делом подключиться к ней, если их там больше он поищет их и подключится к той у которой сигнал лучше. После успешного подключения запишет её как точку по умолчанию в NVS. После этого wifi.ini можно удалить если поиск быстрой точки доступа не нужен больше. Это сделано для того, чтоб можно было с помощью сетевого сервиса что я приводил ссылку залить бинарники, файлы и сразу пользоваться.
3. В INI.h осталось по моему только плавное ускорение ШД. Остальное я перенёс в Setup.htm c целью во первых упростить отладку, во вторых упростить прошивку бинарниками. Теперь будет только два варианта бинарников - для ESP32 и ESP32S3.
4. Отлажена на эмуляторе работа с стабилизаторами от kvic и РВМк.
5. Минус жменька багов.
Samovaritch_v1_4_0.ino.zip
data.zip

Так же вот текущий срез моего стабилизатора
stab_v4.1.0-22.12.25.zip
Он умеет управляться как по протоколу Stab AVR, так и по новому сетевому. Однако там пока есть проблемы. Но в целом работает. Из режимов стабилизации оставлено только фазовое, после прошивки необходимо выполнить калибровку ТЭНа, запустив её со страницы настроек стабилизатора. Произойдёт нагружение ТЭНа на полную со ступенчатой разгрузкой в течении трёх минут, стабилизатор переведет значения измеренной мощности в относительные единицы и запомнит в EEPROM. После этого при получении команды заданная мощность будет выставляться почти сразу. Удобно выполнить калибровку перед разгоном. Однако в случае работы по протоколу StabAVR нужно не забывать на время калибровки либо отключать Самоварыч, либо отключать настройку Проверять связь с регулятором, иначе он прервёт калибровку, обнаружив несанкционированное включение стабилизатора. Так же при включении разгона разгонный ТЭН стабилизатор включит только через 6 секунд, потому что делает замер мощности подключенного ТЭНа для применения таблицы калибровки.

На этом всё, всех энергетиков с праздником!
dranek Доктор наук Минск 550 535
Отв.3705  23 Дек. 25, 00:12
Короткая инструкция как прошить Самоварыча на ESP32 за считанные минуты.
Здесь описана прошивка ESP32 или ESP32S3, для S3 другими будут бинарные файлы прошивок и адрес смещения app0 и app1 при прошивке обновления.

I. Прошивка Самоварыча в первый раз.

1. Если драйверы еще не установлены. Идем в руководство, подготовка ESP32 к загрузке. Скачиваем и устанавливаем там драйверы CH340/CH341 или CP210х в зависимости от платы (можно и оба на будущее). Подключаем ESP32 к USB, убеждаемся что появился СОМ порт.

2. Идем на страницу прошивки. Жмем сверху CONNECT, выбираем на запрос СОМ порт ESP32. Заходим в подраздел Flash Tools. Обязательно, сохраняем на всякий случай бэкап предыдущей прошивки (Самовара например, потом можно будет откатиться за пару минут) нажав DOWNLOAD FLASH BACKUP, переподключаемся (DISCONNECT и CONNECT). Жмем на поле под надписью Flash Firmware и выбираем предварительно распакованный bin файл полной прошивки ESP32 Samovaritch_v1_4_0.ino.merged.bin , убеждаемся, что Flash offset установлен 0x0. Жмем FLASH FIRMVARE, соглашаемся с предупреждением, ждем пока прошьётся.

3. Инициализация файловой системы и подключение к WIFi. Два варианта.

3.a Прошить spiffs_350000.zip по адресу 0x350000. Переподключить ESP32. Зайти в раздел LittleFS Tools. Подождать пока отобразятся файлы. У себя где ни будь отредактировать файл из архива wifi.zip, вписав свои ssid и пароль, закинуть его мышкой к остальным файлам в браузере. Нажать BACKUP (операцию можно прервать), SAVE TO FLASH.

3.b DISCONNECT , нажать на ESP32 reset, дождаться когда Самоварыч поднимет точку доступа, подключиться к ней (пароль по умолчанию 12345678), зайти на 192.168.4.1, Попадёте на техстраницу. Здесь прописываем свой SSID и пароль от WiFi. Сохраняем с перезагрузкой. Самоварыч должен подключиться к WiFi, убедиться можно в мониторе COM порта. Там же узнать его IP и опять зайти на техстраницу уже с компа. Там инициализировать файловую систему, нажав FormatFS. После залить все файлы из папки data data.zip , нажав Выбрать файлы (можно все сразу выбирать в папке), Открыть, Upload selected. Дождаться через несколько секунд зеленого алерта, перезагрузить Самоварыча.

Всё, можно вставлять в плату, и подключаться как к Самовару.

Практически все настройки находятся на странице Setup.htm и они аналогичны настройкам Самовара, те что у него в Samovar_ini.h тоже в Setup.htm и их там даже больше. Все параметры инициализированы безопасными значениями. Остаётся настроить под своё железо.

II. Прошивка Самоварыча при обновлении

1. В дальнейшем при выходе обновлений можно будет прошивать их по OTA. Для этого в настройках надо это OTA включить, после сохранения Самоварыч перезагрузится с задействованным OTA. В приложенном архиве есть bat файл, в нем нужно изменить IP Самоварыча на свой и запустить. Прошивка зальётся по воздуху. Только не вздумайте прошивать ей Самовар. Заливать файл Samovaritch_v1_4_0.ino.bin
После этого в настройках OTA надо отключить, чтобы не загружать лишней нагрузкой чип.

2. Можно прошиться обновлением с помощью указанного сервиса. Бинарник выбираем тот же что при OTA обновлении, прошиваем его по Flash offset 0x10000 , выбираем app0 в recommended offset, если вдруг обновления не произошло - app1.

Кроме того лучше перезалить вручную файлы из папки data на случай обновления интерфейса. data.zip
Сделать это можно быстро и удобно на техстранице, кнопка Настройки, затем кнопка Преднастройка. Можно залить дополнительно к файлам wifi.ini, см. п. 16 отличий. wifi.zip

Основные отличия Самоварыча от Самовара при прошивке в ESP32:

1. Отсутствует поддержка I2C Stepper, I2C расширителей портов, датчиков давления MPX, датчик атмосферного давления только BMP180.
2. Отсутствует энкодер. На дисплее вместо меню только температуры.
3. Поддержка OLED дисплеев 128*64, второго перистальтического насоса для отбора голов над царгой пастеризации.
4. Поддержка расширителя I2C с термисторами как очень хорошая альтернатива DS18B20. Сделана удобная их настройка. Расчет характеристики термисторов. Калибровка по 2 замерам (подмышка и кипение с поправкой на атм. давление).
5. Использование gzip сжатия всех html страниц, что добавляет скорости их открытия и стабильности. Уменьшенный до 0,5 кБ размер пакета обновления информации на веб странице, генерация этого пакета производится не чаще одного раза в 2 секунды, если к Самоварычу подключено несколько клиентов, первый назначается главным, остальным отправляются копии пакетов главного. Если первый отключается, главным становится другой. Это разгружает процессор от излишней работы, добавляя стабильности.
6. Поддержка отдельной настройки скорости шагов на мл насоса НБК, со своей калибровкой.
7. Калибровка узла разбора и ручное управление им. Также калибровка датчика протока воды. Использование простого датчика протока воды без вращающихся деталей.
8. Индикация состояния основных пинов датчиков и реле на главной странице. Индикация подключенного состояния стабилизатора в случае получения от него отчетов.
9. Управление вентилятором охлаждения корпуса по bmp180 в случае если не используется насос либо второй клапан воды (не задействован пин 4).
10. Добавлена возможность управления регулятором мощности с помощью ШИМ, Modbus, Universal protocol. Это пока задел на будущее, если будут заинтересованные настроить будет просто.
11. Количество возможных строк программы увеличено до 30.
12. Переделан способ отправки сообщений. (кольцевой буфер на 4 сообщения в случае ESP32), из-за отправки копий посылок второстепенным клиентам практически все сообщения придут им всем.
13. Автоматическое сохранение программ в виде файлов в текстовом формате, а так-же восстановление их при загрузке.
14. Заменил в интерфейсе алерты на менее надоедливые, сделаны исчезающими как в техстранице, выскакивают в центре экрана, если ошибка - красный, уведомление - зеленый.
15. Использование датчика уровня (захлеба) для перехода к следующей программе при дистилляции.
16. Возможность сохранить до 10 точек доступа WiFi с подключением при включении к точке с наилучшим уровнем сигнала.
17. Строго последовательная работа с шиной I2C в отдельном таске. Предотвращает крахи в случае когда не смотря на полученный семафор шина всё еще занята, особенность SDK. Это причина отказа от I2C Stepper и I2C расширителей портов.
18. Там где это возможно последовательная работа с сетью, ситуация похожа на I2C.
19. Независимая страница преднастройки: WiFi + файлы в флэш памяти (техстраница). Откроется при попытке открытия интерфейса сама, если нужные файлы отсутствуют или файловая система не инициализирована. Можно открыть самостоятельно по кнопке Преднастройка в Настройках.

В случае использования более мощной ESP32S3 с PSRAM кольцевой буфер сообщений увеличивается до 10 шт. Появляется возможность подключить еще два датчика уровня, пока можно использовать как второй и третий для перехода к следующей программе при дистилляции. В последствии они также будут задействованы в регуляторе уровня барды НБК. Количество свободной памяти значительно увеличивается, вкупе с более быстрым процессором это дает ощутимый прирост скорости и стабильности. Под управление вентилятором охлаждения корпуса по bmp180 задействован отдельный пин.
При покупке ESP32S3 берите вариант с размером флэш памяти 8 или 16 Мб и наличием PSRAM, а так-же с возможностью использования выносной антенны (без антенны его не включать, помрёт, у меня уже один трупик есть). Обратите внимание на расположение кнопок reset и boot, у этой платы свой типоразмер, разводка моей платы под него.
Например эту.
esp32s3.png
Esp32s3. Автоматика Самовар. Вопросы по электр(он)ике.

Маркировка чипа должна содержать в конце нечто вроде N8R2, здесь 8 - размер флэш памяти, 2 - размер PSRAM. Преимущество наличия PSRAM будет даже при прошивке Самовара, поскольку библиотеки её используют, нужно только перед компиляцией включить её поддержку в Arduino IDE: Выбрать плату ESP32S3 Dev module, Инструменты - PSRAM - QSPI PSRAM. Увеличенный размер флэш памяти позволит записать более длинный лог. Прошивка мной будет компилироваться именно под 8 Мб. Антенны есть разные в продаже, важно чтоб продавец указал, что подходит для ESP32S3, разъем там свой. Я купил эту.

В общем я постарался сделать Самовар более дружественным к пользователю (в моём понимании), менее глючным и проще в наладке, при этом ничего не сломать. Хотя мог конечно, случайно, изменения всё-таки обширные, например пиво я не варю и проверить данный режим не способен. Самоварычем нарёк для четкого понимания о чем речь, это всё тот же Самовар, только модифицированный.
Я приветствую пожелания и предложения. Особенно приветствую багоотчеты. Однако решать что задействовать буду сам.
Кстати, иконку в начале работы я удалил осознанно, посчитав её не особо нужным элементом, который только приведёт к ресету при открытии страницы интерфейса если пользователь её случайно удалит из флэша. Однако ser52 проникся, сделал новую иконку, поэтому я её вернул. Пусть это будет его вклад. (Но защиту всё-таки сделал от этого самого ресета.)
Что касается написания инструкций и мануалов, времени на это нет, особого желания тоже. Хотите инструкцию - займитесь, внесете свою лепту. На вопросы для этого отвечу. Появится время и желание у меня сам напишу.
К труду lkosoj, kuban и остальных участников отношусь с крайним уважением.
dranek Доктор наук Минск 550 535
Отв.3706  23 Дек. 25, 16:51
lkosoj, я просмотрел последние изменения в мастер версии Самовара.
У себя пришел к выводу что переменные типа asyncHTTPrequest request; нужно делать глобальными, причем под каждую задачу свою. Потому что asyncHTTPrequest асинхронная, может попытаться обработать то, чего уже нету.
lkosoj Куратор Видное 638 716
Отв.3707  23 Дек. 25, 17:18 (через 27 мин)
Я из-за ограничений памяти использовал эмуляцию синхронного вызова для асинхронной библиотеки, чтобы не усложнять там, где это не надо. Для работы с регулятором имеет смысл использовать ее как положено.
сообщение удалено
lkosoj Куратор Видное 638 716
Отв.3708  24 Дек. 25, 00:27
Вот пример использования асинхронной библиотеки:

#include <asyncHTTPrequest.h>

static asyncHTTPrequest req;

static volatile bool httpDone = false;
static int httpCode = 0;
static String httpBody;

static void onReadyState(void*, asyncHTTPrequest* r, int readyState) {
  if (readyState != 4) return;

  httpCode = r->responseHTTPcode();
  httpBody = r->responseText();  // читает доступное из внутреннего буфера
  httpDone = true;
}

// Стартуем запрос и выходим
void http_async_get_start(const String& url) {
  httpDone = false;
  httpCode = 0;
  httpBody = "";

  req.setTimeout(8);
  req.onReadyStateChange(onReadyState); //здесь мы асинхронно поймем, когда запрос отработает
  if (!req.open("GET", url.c_str())) {
    httpCode = -1000;  // ваш код ошибки
    httpDone = true;
    return;
  }
  if (!req.send()) {
    httpCode = -1001;
    httpDone = true;
    return;
  }
}

// Где-то в loop() или в таске вызываем эту функцию
void http_async_poll() {
  if (!httpDone) return;
  httpDone = false;

  Serial.printf("HTTP code=%d, len=%d\n", httpCode, httpBody.length());
  // дальше используете httpBody
}
ser52 Специалист Москва 185 41
Отв.3709  24 Дек. 25, 16:46
dranek вот такой экран можно к Самоварычу подключить? 2,4-дюймовый ЖК-экран 128x64 OLED-дисплей Модуль IIC I2C Режим связи/чип драйвера: C0G/SSD1309
dranek Доктор наук Минск 550 535
Отв.3710  24 Дек. 25, 16:54 (через 8 мин)
ser52, если вы знаете как перевести его в режим I2C и запустить, помнится были схемы с конденсатором вроде.
Лучше этот .
сообщения удалены (2)
cherepoff Новичок Тюмень 5
Отв.3711  26 Дек. 25, 17:41
Виктрыч,
Прототип печатной платы PCBA 2 слоя за 889 ₽ Виктрыч, 10 Дек. 25, 21:02
Спасибо за ссылку, заказал, получил. Кому надо тоже, пишите в личку, по себестоимости отдам.
photo_2025-12-26_19-39-54.jpg
photo_2025-12-26_19-39-54.jpg Автоматика Самовар. Вопросы по электр(он)ике.
dranek Доктор наук Минск 550 535
Отв.3712  27 Дек. 25, 16:00
Предновогодний релиз Самоварыча 1.4.0.
Инструкция по прошивке остаётся прежней, несколько постов назад, бинарники брать здесь. Для ESP32S3 файла бинарника с файловой системой пока не существует. Заливайте файлы через техстраницу или скриптом по старинке пока. Может кто из пользователей зальёт файлы, вытащит бинарник раздела с ними и поделится. Это в общем не сложно сделать.

Решил разделить всё по архивам чтобы не было многотомного.

Исходники
Samovaritch_v1_4_0-26.12.25.zip
Корпуса, герберы, схемы для S3 в основном, но есть там универсальная приставка с термисторами
Samovaritch_v1_4_0-hards-26.12.25.zip
Бинарники для ESP32 полный (Samovaritch_v1_4_0.ino.merged.bin) для первой прошивки и только раздел с программой (Samovaritch_v1_4_0.ino.bin) со скриптами для OTA обновления (не забывайте при этом менять в bat файле IP на своего Самоварыча), папку data брать в исходниках.
Samovaritch_v1_4_0-binESP32-26.12.25.zip
Бинарники для ESP32S3 -||-
Samovaritch_v1_4_0-binESP32s3-26.12.25.zip

Стабилизатор 4.1.1, исходники
stab_v4_1_1-26.12.25.rar
Стабилизатор 4.1.1, бинарник и скрипт заливки через OTA
stab_v4_1_1_bin-26.12.25.zip

Работа с стабилизатором по WiFi безупречна.
Изменения.
1. Переход в стабилизаторе на эндпоинты управления мощностью типа GET.
2. Отказ от библиотеки AsyncHTTPrequest во всей прошивке. Простая, надёжная и безглючная отправка запросов GET в телеграм и стабилизатору.
3. Соответственно предварительный PING не нужен, отказ от библиотеки.
4. Длина SSID ограничена 16 символами, пароля - 32.
5. Добавлены правки lkosoj в Самовар 6.26, соответствие по логике.

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

В процессе работы вылез один нюанс.
Изначально делал настройку на ESP32 Chip Variant ESP32-D0WD V3, Revision ECO3 (r3), та что с USB-C. Долго пытался победить одну проблему. После включения всё работало как надо, но стоило перезагрузить плату около половины пакетов UDP от стабилизатора не принималось. Похоже после перезагрузки происходит не полная переинициализация модуля WiFi. Как последняя возможность прошил другую ESP32 Chip Variant ESP32-D0WD, Revision ECO1 (r1). С ней всё после перезагрузки принимается прекрасно. Внешне этого обычный пользователь может и не заметить, статус стабилизатора будет иногда обновляться с задержкой до 5 секунд. Может у меня просто экземпляр такой.

Будут и новые релизы в последствии с добавлением функционала. Будет совершенствоваться Стабилизатор. Выйдет надеюсь его версия на ESP32C3. Есть у меня уже опытный образец. Попробую также создать таки простейший стабилизатор на SSR40LA, есть мысли как.
А найдёте баги, будем исправлять.

Всех с наступающим!
Автоматика Самовар
Автоматика Самовар. Вопросы по электр(он)ике.
vad2112 Бакалавр Москва 57 5
Отв.3713  27 Дек. 25, 22:45
Может для Самоварыча стоит отдельную тему создать?
Chernik_ Магистр Липецк 216 126
Отв.3714  27 Дек. 25, 23:23 (через 38 мин)
Согласен, новая тема будет правильнее. В этой теме с Самоварычем начинает путаница образовываться. Некоторая несовместимость имеет место быть, а зачем оно тут?
dranek Доктор наук Минск 550 535
Отв.3715  27 Дек. 25, 23:38 (через 16 мин)
Если кратко - не хочу. Всё почти как у Самовара. Оригинальности нет.
cherepoff Новичок Тюмень 5
Отв.3716  28 Дек. 25, 14:31
Кому надо тоже, пишите в личку, по себестоимости отдам.cherepoff, 26 Дек. 25, 17:41
Личные сообщения, как новичок, отправлять не могу, оказывается. Все, кто написал в личку, оставьте свои контакты для связи.
сообщение удалено
lkosoj Куратор Видное 638 716
Отв.3717  28 Дек. 25, 22:22
Начал делать мобильные приложения для Android и IOS. Работают на основе сервера Blynk. Поэтому для их использования необходим логин и токен. Указываются в настройках. Протестировать прототип для Android можно во вложении
logvinov Магистр Москва 276 52
Отв.3718  28 Дек. 25, 23:02 (через 41 мин)
ать мобильные приложения для Android и IOS. Работают на основе сервера Blynk. Поэтому для их использования необходим логин и токен. Указываются в настройках. Протестировать прототип для Android можно во вложении Samovar Mobile.apk 5.8 Мбlkosoj, 28 Дек. 25, 22:22
А температура ТСА не будет выводится ?!
Так же хотелось бы чтоб в одном приложении было можно отслеживать несколько самоваров )
Kuban Доктор наук Краснодар 657 516
Отв.3719  29 Дек. 25, 06:00
Личные сообщения, как новичок, отправлять не могу, оказывается. Все, кто написал в личку, оставьте свои контакты для связи.cherepoff, 28 Дек. 25, 14:31
ОК, давайте через почту: device@samovar-tool.ru