1. ВАЖНО!!! Прошел умный спамер-робот. После регистрации создает переписку с сообщением о зачислении на ваш счет средств и ссылкой для подробностей. Ни в коем случае не переходите по ссылке и необходимо "покунить" такую переписку. Отвечать также не нужно. Временно переводим на ручное одобрение пользователей, посмотрим за обстановкой
    Скрыть объявление
  2. Уважаемые форумчане! Убедительная просьба, используйте наиболее подходящие темы для своих сообщений. Спасибо за понимание.
    Скрыть объявление

BreweryArduino с нуля.

Тема в разделе "Автоматика", создана пользователем Николай Дементьев, 23 сен 2016.

  1. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Добрый день пивовары!
    Мой коллега занимается пивоварением и попросил меня собрать ему автоматику.
    Я посмотрел многие проекты но они не все удовлетворяли по функционалу ( помимо пива нужно "гнать" и другие напитки).
    По этому я решил сам написать программу (так-как только она требует изменения)
    На данном этапе почти закончена часть пивоварения, отдельное управление тэнами, настройка часов.
    В процессе настройка пид, управление насосом.
    В перспективе сохранение и чтение рецептов с карты памяти, настройка насоса.

    На данный момент есть следующие вопросы:
    1. Режим работы насоса при варки пива.
    2. Время отсчета засыпки хмеля : от начала кипения или от предыдущей засыпки.

    Ну и небольшое видео


    --- сообщения объединены, 23 сен 2016, дата первого сообщения: 23 сен 2016 ---


    Сижу рисую экран кипячения возник вопрос: Нужно-ли отображения температуры если мощностью тэнов управляем сами?
     

    Вложения:

    • Класс Класс x 1
    • За За x 1
  2. HBPro

    HBPro Admin Команда форума

    Регистрация:
    10.02.2012
    1.014
    346
    В оригинальном Braumeister была такая схема - 10 мин. работы, 2 мин. простой. В ArdBir сделали эти параметры настраиваемыми.
    От начала кипячения.
     
  3. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Такой режим работы насоса на всем этапе варки?
     
  4. HBPro

    HBPro Admin Команда форума

    Регистрация:
    10.02.2012
    1.014
    346
    На этапе затирания. При достижении 88С, опять же на оригинальном Braumeister, насос был отключен до конца варки.
     
  5. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Спасибо, значит буду делать, что бы пользователь сам решал как работать насосу.
    --- сообщения объединены, 23 сен 2016, дата первого сообщения: 23 сен 2016 ---
     
  6. HBPro

    HBPro Admin Команда форума

    Регистрация:
    10.02.2012
    1.014
    346
    Даже и не знаю. Наверно не помешает.
     
  7. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Просто опрос датчика температуры тормозит процесс ручной регулировки мощности тена..... :-(
     
  8. Ers

    Ers Admin Команда форума

    Регистрация:
    02.01.2012
    806
    225
    Имя:
    Иван
    не используй delay и не будет тормозить
     
  9. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Не использую....если только в самой библиотеке задержки стоят "DallasTemperature.h"
    --- сообщения объединены, 23 сен 2016, дата первого сообщения: 23 сен 2016 ---
    Думаю что задержка связана с процедурой поиска датчика на шине так как на прямую (адрес) не задается ..
     
  10. Ers

    Ers Admin Команда форума

    Регистрация:
    02.01.2012
    806
    225
    Имя:
    Иван
    в этой либе как раз по-умолчанию используется синхронный метод измерения,т.е. команда на измерение, потом ожидание с помощью delay, и затем считывание результатов.
    В примерах есть асинхронный метод измерения, почитай внимательнее.
     
  11. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Пойду "КУРИТЬ" примеры.... спасибо за содействие:)
    --- сообщения объединены, 27 сен 2016, дата первого сообщения: 23 сен 2016 ---
    Допили программу варки пива.... критика приветствуется :drink:
     
    • За За x 1
  12. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    18
    На каких элементах собираешь?
     
  13. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    "Стандартный набор" :)
    мега 2560, экран TFT_320QVT_9341, часики Tiny RTC I2C,датчики температуры Ds18b20, твердотельное реле на 40А .
    Сегодня доделал настройку пид и управление тэном.
    Завтра выложу видео.
     
    • Класс Класс x 2
  14. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    18
    Скетч будешь выкладывать?
     
  15. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    да буду.
    --- сообщения объединены, 29 сен 2016, дата первого сообщения: 29 сен 2016 ---
    Обещанное видео пи регулятор и управление тэном

    Как всегда критика приветствуется .

     
    • Класс Класс x 1
  16. HBPro

    HBPro Admin Команда форума

    Регистрация:
    10.02.2012
    1.014
    346
    Николай Дементьев, а где же дифференцирующий коэффициент? И зачем отдельно устанавливать температуру, до которой необходимо нагревать? Температурные паузы мы задаем в другом окне.
     
    • Оптимистично Оптимистично x 1
  17. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Это меню для подбора оптимальных параметров пи регулятор. По этому здесь и нужна установочная температура для опробывания
    У меня не ПИД а ПИ регулятор :
    Вот часть функции расчета ПИ
    Код:
    //расчет мощности по ПИ закону регулирования
    byte PIctl(float temp, int8_t ust)//возвращает необходимую мощность
    {
    
    /*#define kP 15//коэффициент пропорциональности
    #define p_min 0.0//минимум П составляющей - не < 0
    #define p_max 100.0//максимум П составляющей - не > 100
    #define kI 0.015//коэффициент интегрирования
    #define i_min -30.0//минимум И составляющей
    #define i_max 30.0//максимум И составляющей
    #define d_ctl 2.0//зона пропорциональности ust-d_ctl
    #define out_min 0//минимальный выходной %
    #define out_max 100//максимальный выходной %
    */
      ePid=(ust-temp);//ошибка регулирования
      //расчет p
      pPid=(temp<ust-d_ctl)?p_max:temp>ust)?p_min:kP*ePid);
      //расчет i
      iPid=(iPid<i_min)?i_min:iPid>i_max)?i_max:iPid+(kI*ePid);
      out=(pPid+iPid<out_min)?out_min:pPid+iPid>out_max)?out_max:pid+iPid;
      return out;
    }
    
     
  18. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    18
    Интересный проект -у меня для его всё есть.
     
  19. Николай Дементьев

    Николай Дементьев Well-Known Member

    Регистрация:
    01.09.2016
    1.097
    175
    Ну что же раз интересно, то прошу к нашему шалашу :drink:
    --- сообщения объединены, 29 сен 2016, дата первого сообщения: 29 сен 2016 ---
    вариант от 29.09.2016
    --- сообщения объединены, 29 сен 2016 ---
    У кого есть техническая возможность по тестируйте.
    --- сообщения объединены, 29 сен 2016 ---
    мега 2560, экран TFT_320QVT_9341, часики Tiny RTC I2C,датчики температуры Ds18b20
     

    Вложения:

  20. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    18
    Извини -сразу и не посмотрел какой у меня экран
    3.2 "TFT LCD Сенсорный Экран + TFT 3.2 Дюймов Щит Мега
    Видно он не подойдёт. Выписываю TFT_320QVT_9341
    --- сообщения объединены, 30 сен 2016, дата первого сообщения: 30 сен 2016 ---
    А если заменить UTFT myGLCD(ILI9341_16, 38, 39, 40, 41); на UTFT myGLCD(ITDB32S, 38,39,40,41);
    заработает?