Форум самогонщиков Сайт Барахолка Магазин Доброе дело

WEB интерфейс к HelloDistiller на ESP8266

Форум самогонщиков Автоматика
1 ... 33 34 35 36 37 38 39 36
saniaxxx Кандидат наук Кострома 398 62
Отв.700  02 Нояб. 21, 22:45
Пишет что Данный файл или каталог отсутствуетSmegol, 01 Нояб. 21, 02:52
В таких делах лучше не использовать кириллицу в названии директорий
сообщения удалены (4)
Phisik Куратор Екатеринбург 566 1.3K
Отв.701  27 Нояб. 21, 19:34
Могу я расчитывать на ещё один ключVimax, 27 Нояб. 21, 17:23
Да, ключей можно хоть мешок набрать, самодельщикам - первый даром, остальные/остальным за пиво с сахаром. Пиши в ЛС, чтобы тему не засорять.
ildarunic Бакалавр Татарстан ЮВ 54 29
Отв.702  29 Нояб. 21, 14:34
Игрался с датчиком паров спирта MQ-3 и заметил, что он в коде подключен на моментальное отключение тенов и уход в аварию (6 раз читал значение и сразу вырубал).

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

Сообщения на дисплей выводятся посредством установки переменной DispDopInfo равным 7.

При такой сработке веб-интерфейс включает alarm.mp3, но текстовое предупреждение не выводит, соответственно звук на странице не отключить. Приходится перезагружать контроллер и обновлять страницу.

Прошу добавить в прошивку esp вывод предупреждения при DispDopInfo==7 с текстом "Аварийная ситуация: Сработка датчика паров спирта".

Датчики у меня стоят около TCA и на полу, использую цифровой вывод, резисторы настроены на максимальную чувствительность и срабатывают при малейшем появлении запаха. Пока нос начинает чувствовать - проходит секунд 40-60.

alarm.cpp:






 if (USE_GAS_SENSOR)
 {
   if (UROVEN_GAS_SENSOR!=1) U_GAS=analogRead(PIN_GAS_SENSOR);
   else U_GAS=!digitalRead(PIN_GAS_SENSOR); // Датчики газа(паров спирта) инверсные, то есть при не сработавшем состоянии у них на выходе 1, при сработке 0

   //      Если датчик еще не прогрелся, то выводим значение времени, оставшееся для прогрева датчика паров спирта
   if (Seconds<TIME_PROGREV_GAS_SENSOR)
   
   {
     U_GAS=TIME_PROGREV_GAS_SENSOR-Seconds;
   }
   else
   {

     if (U_GAS>=UROVEN_GAS_SENSOR)
     {
       CountGasSensor = CountGasSensor + 1;
       DispDopInfo=7;
       if (CountGasSensor>COUNT_GAS_SENSOR )
       {
         flNeedAnalyse=1;
       };

       // По прошествии 5 сек устанавливаем флаг сработки.
         if (CountGasSensor>COUNT_GAS_SENSOR_ALARM)
         {
#ifndef TEST
           IspReg=252;      // Переводим контроллер в режим тревоги, если не установлен тестовый режим.
#endif
         }
     }
     else
     {
       if (DispDopInfo==7) DispDopInfo=0;
        CountGasSensor=0;
     }
   }
 }





settings.h:



// Газовый сенсор
#define USE_GAS_SENSOR 1           // Надо ли использовать датчик загазованности
#define UROVEN_GAS_SENSOR 1        // Уровень сигнала, достижение котогого свидетельсвует о срабатывании датчика спиртового пара. 1- цифровой режим, любая другая цифра - аналоговый. Знч = 700    
#define COUNT_GAS_SENSOR 3         // Сколько должно держаться значение уровня, чтобы сработал датчик каждое значение - это полсекунды.
#define COUNT_GAS_SENSOR_ALARM 30 // Сколько должно держаться значение уровня, чтобы сработала тревога каждое значение - это полсекунды.
#define TIME_PROGREV_GAS_SENSOR 60 // Время для програва датчика спиртовых паров газа.






display.cpp



         if (DispDopInfo == 1)
            sprintf_P(lcd_buffer, PSTR("Smena TARA!(%3i)"), (IspReg == 117 || IspReg == 118) ? COUNT_ALARM_UROVEN_FR - CountAlarmUroven : COUNT_ALARM_UROVEN - CountAlarmUroven); //Выводим на экран инфомацию о необходимости замены тары.
         if (DispDopInfo == 2)
            sprintf_P(lcd_buffer, PSTR("VODA! (%3i)"), COUNT_ALARM_VODA - CountAlarmVoda); //Выводим на экран инфомацию о необходимости замены тары.
         if (DispDopInfo == 3)
            sprintf_P(lcd_buffer, PSTR("Low Power! %3iV"), (uint16_t)MaxVoltsOut); //Выводим на экран инфомацию о необходимости замены тары.
         if (DispDopInfo == 6)
            sprintf_P(lcd_buffer, PSTR("HIGH Power! %3iV"), (uint16_t)MaxVoltsOut); //Выводим на экран инфомацию о необходимости замены тары.
         if (DispDopInfo == 4)
            sprintf_P(lcd_buffer, PSTR("Err temp! ds=%2i"), (int)NumErrDs18); //Выводим на экран инфомацию о ошибке чтения датчика.
         if (DispDopInfo == 5)
            sprintf_P(lcd_buffer, PSTR("!PRESS=%3i/%3i"), U_MPX5010, AlarmMPX5010); //Выводим на экран инфомацию о ошибке чтения датчика.
         if (DispDopInfo == 7)
            sprintf_P(lcd_buffer, PSTR("GAS! (%3i)"), COUNT_GAS_SENSOR_ALARM - CountGasSensor); //Выводим на экран инфомацию о сработке датчка паров спирта.


сообщения удалены (4)
ffasad Студент Verkhnednepovsk 19 14
Отв.703  08 Дек. 21, 23:29
Доброго времени суток.
Коллеги, как можно вывести в раздел "Состояние контролера" показания потребляемого тока (какая переменная?).

Кто-то пробовал вынести термодатчик на мороз? У меня показало так...

Добавлено через 5мин.:

Доброго времени суток.
Уважаемый Phisik, насколько сложно сделать вкл./выкл. датчика паров спирта через меню (без перепрошивки)?
минус2.jpg
минус2.jpg WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Vimax Кандидат наук Homyel 414 73
Отв.704  09 Дек. 21, 07:47
ffasad, я не ув. Илья)))
Но вангую, что не перепрошив контроллер, ты ничего не получишь.
Кода на вкл/выкл в контроллере просто нет.
Как-то так...
Phisik Куратор Екатеринбург 566 1.3K
Отв.705  09 Дек. 21, 13:52
какая переменнаяffasad, 08 Дек. 21, 23:29
userValueN
У меня показало такffasad, 08 Дек. 21, 23:29
Надо исправить на что-то типа такого abs(DS_TEMP[...])%100 при выводе на экран.
ffasad Студент Verkhnednepovsk 19 14
Отв.706  09 Дек. 21, 21:55
Phisik, я имел в виду переменную в mqtt.cpp и в webui.json

Добавлено через 5дн. 13ч. 41мин.:

Какое значение (переменную) подставить вместо ХХХ в userValue2 и что прописать в "code" ?
Заранее благодарен.
Снимок экрана 2021-12-09 205138.jpg
Снимок экрана 2021-12-09 205138.jpg WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Снимок экрана 2021-12-09 205229.jpg
Снимок экрана 2021-12-09 205229.jpg WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Nicki Бакалавр Екатеринбург 96 26
Отв.707  21 Дек. 21, 18:00
Режим эмульгации кто-то пробовал сделать?
Ифкин67 Новичок г. Калининград 1
Отв.708  06 Янв. 22, 18:31
Приветствую всех неравнодушных! Принимайте меня в "кружок самогонщиков-автоматизаторов". Заимев "Wein Reform" и проведя несколько ректификаций задумался об автоматизации процесса. В итоге, я в вашей ветке. Получив комплектующие, за праздники собрал их в кучку и вот что получилось:
DSC00092.JPG
DSC00092. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
DSC00093.JPG
DSC00093. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
DSC00094.JPG
DSC00094. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
DSC00095.JPG
DSC00095. WEB интерфейс к HelloDistiller на ESP8266. Автоматика.

Пополнив галерею изображений самоделок, осмелюсь попросить куратора темы о предоставлении лицензии на его замечательное творение: Вэб-интерфес. ESP ID : 13C2DA1620C2.
ffasad Студент Verkhnednepovsk 19 14
Отв.709  08 Янв. 22, 15:44
что не перепрошив контроллер, ты ничего не получишь.
Кода на вкл/выкл в контроллере просто нет.
Как-то так...Vimax, 09 Дек. 21, 07:47
А вынести в WEB на подобие кнопок ручного управления "разгонный тэн" или клапана?
сообщение удалено
ffasad Студент Verkhnednepovsk 19 14
Отв.710  10 Янв. 22, 09:57
С прошедшими праздниками!
Нужна подсказка - после срабатывания "авария по ТСА" при ректификации, как вернуться быстро к продолжению процесса (сброс аварии), кроме как через RESET (возвращает в "работа на себя") или щелкать смену этапа с 101 до нужного???
Скетч 4.0 от Phisik.
Вроде бы где-то встречал, не могу найти Грустный
сообщения удалены (6)
zaxap Студент Катав-Ивановск 16 2
Отв.711  21 Янв. 22, 18:41
Видимо тоже нарвался на кривую Esp, не работает RX. С WEB команды идут на контроллер, а обратно нет.
Phisik Куратор Екатеринбург 566 1.3K
Отв.712  21 Янв. 22, 18:52, через 11 мин
не работает RXzaxap, 21 Янв. 22, 18:41
В личку мне ребята писали, что надо уменьшить сопротивление от esp к меге. Похоже, когда с есп идет 3.3 вольта через резистор, оно садится в некоторых случаях ниже логического порога, и высокий уровень не срабатывает на стороне меги.

Возможное решение: закоротить резистор ESP TX - MEGA RX (можно уменьшить до 10-100ом)
zaxap Студент Катав-Ивановск 16 2
Отв.713  21 Янв. 22, 19:02, через 11 мин
Возможное решение: закоротить резистор ESP TX - MEGA RX (можно уменьшить до 10-100ом)Phisik, 21 Янв. 22, 18:52
Сейчас проверю. P.S. Закоротил, теперь работает. P.S.2 Перепаял резистор на 100 ом, связь есть.
Phisik Куратор Екатеринбург 566 1.3K
Отв.714  21 Янв. 22, 19:37, через 35 мин
P.S. Закоротил, теперь работаетzaxap, 21 Янв. 22, 19:02
Отлично, будем считать, что проблема решена, добавил в первой сообщение в FAQ
muxtair Бакалавр Мелеуз 58 11
Отв.715  22 Янв. 22, 19:24
Возможное решение: закоротить резистор ESP TX - MEGA RX (можно уменьшить до 10-100ом)Phisik, 21 Янв. 22, 18:52
только наоборот, ESP RX - MEGA TX
сообщения удалены (6)
ffasad Студент Verkhnednepovsk 19 14
Отв.716  03 Февр. 22, 00:59
Поделитесь кто информацией как отображать четвёртый датчик температурыVimax, 02 Февр. 22, 21:03

Добавить
mqtt.cppcase 16: // температура в ПВК
snprintf_P(buf, MQTT_BUFFER_SIZE, fmt_t_pvk, DS_TEMP(TEMP_3)); // 4 датчик (!!!добавлено)
break;
для показа на графике
webui.json"1":{
"name":"Датчики температуры, ℃",
"lines": [3,4,5,10]
},
и добавить
webui.json{
"name": "Температура в ПВК",
"type": "code",
"value": "t_pvk",
"units": " ℃",
"code": "(x/10).toFixed(1)"
}

Добавлено через 3дн. 16ч. 12мин.:

Может быть кому то понадобится показывать потребляемый ток на веб-морде:
1. добавляем
mqtt.cppcase 23:
// Потребляемый ток
char str_cur[8];
dtostrf((float)MaxIOut / 10, 6, 2, str_cur);
snprintf_P(buf, MQTT_BUFFER_SIZE, PSTR("userValue2=%s"), str_cur);
break;
2. добавляем после блока "Напряжение в сети (RMS)"
webui.json{
"name": "Потребляемый ток",
"type": "text",
"value": "userValue2",
"units": " А",
"code": ""
},

Добавлено через 3мин.:
case 23: - пишете какой у вас по счету.
userValue2 - ставите какой у вас свободен
сообщения удалены (2)
Phisik Куратор Екатеринбург 566 1.3K
Отв.717  06 Февр. 22, 23:32
Вроде разобралсяffasad, 06 Февр. 22, 19:49
Можно еще вот так заголовок приделатьПолучиться еще короче: [ hide=Можно еще вот так заголовок приделать ][ /hide ]
сообщения удалены (7)
taime Новичок Челябинск 2
Отв.718  21 Февр. 22, 14:18
Добрый день! Подскажите! Собираю HD, прошивки от Физика HD_v3.86+ESP_v2.6+UI_v2.8plus. Мегу прошил дисплей припаял, начало показывать. Взял ESP, прошил, в веб захожу. Но подружить мегу и ESP не получается, они друг друга не видят, конвертер 5-3,3 естественно поставил и подключил к D14 и D15. Можете подсказать, в чём может быть дело, вместо 330 ом ставил 90ом те что на выходе конвертора и меги.
сообщения удалены (2)
Phisik Куратор Екатеринбург 566 1.3K
Отв.719  21 Февр. 22, 23:01
Можете подсказать, в чём может быть дело, вместо 330 ом ставил 90ом те что на выходе конвертора и меги.taime, 21 Февр. 22, 14:18
выкинь преобразователь уровня, выкинь все резисторы, выставь одинаковую скорость в настройках есп и скетче, переверни rx-tx, если больше ничего не поможет