1. Уважаемые форумчане! Убедительная просьба, используйте наиболее подходящие темы для своих сообщений. Спасибо за понимание.
    Скрыть объявление

Дорабатываем ArdBir

Тема в разделе "Автоматика", создана пользователем Phantom, 9 окт 2015.

  1. Yuriiv

    Yuriiv Active Member

    Регистрация:
    19.02.2014
    429
    175
    Если бы вы внимательно читали темы, то установили бы новый ИДЕ 1.6.11 и все влезает в нано без вырезаний. :)
     
  2. 1exan

    1exan Новенький

    Регистрация:
    20.01.2016
    18
    0
    Имя:
    Алексей
    Неуглядел. Ну все равно полезно для общего развития. Уже хотел было свой вариант делать, но на столе вроде и этот работает. Посмотрим как в реале будет.
     
  3. evg83

    evg83 Участник

    Регистрация:
    31.10.2016
    39
    0
    Насколько сложно изменить скетч вот для такого шилда
    . ЖК Клавиатура Щит LCD1602 ЖК 1602 Модуль Дисплей Для Arduino ATMEGA328 ATMEGA2560
    Сори не могу просто ссылку кинуть
     
  4. 1exan

    1exan Новенький

    Регистрация:
    20.01.2016
    18
    0
    Имя:
    Алексей
    Если сами не можете переделать код, то не стоит заморачиваться. С экраном проблем не будет, а вот кнопки сидят на аналоговом входе, нужна значительная переделка программы. Купите лучше дисплей 20х4 и пленочную клавиатуру на 4 кнопки. Ну или отдельные кнопки.
     
  5. evg83

    evg83 Участник

    Регистрация:
    31.10.2016
    39
    0
    А можно ли будет использовать шилд просто в качестве экрана и плюс к этому пленочную плаву отдельно прилепить?
    Просто шилда валяется без дела, а ждать экран месяц из Китая не хочется.
     
  6. 1exan

    1exan Новенький

    Регистрация:
    20.01.2016
    18
    0
    Имя:
    Алексей
    В принципе да. Если хотите проверить работу на столе, то можно, только вроде там подключать кнопки неудобно будет - у шилда ни штырьков ни гнезд нет, только паять.
     
  7. evg83

    evg83 Участник

    Регистрация:
    31.10.2016
    39
    0
    Ну 5 проводков пріпаять рукі не отвалятся. А скетч менять тогда не прійдется? Просто с этім у меня сложнее.
     
  8. 1exan

    1exan Новенький

    Регистрация:
    20.01.2016
    18
    0
    Имя:
    Алексей
    Если интерес есть, разберетесь, а нету - купите тогда готовый блок.

    В файле программы (по умолчанию это Open-ArdBir) в самом начале есть секция настроек.
    Установите размер дисплея и язык:
    #define LCDType 16
    #define LCDLanguage 1

    Затем установите например
    #define PCBType 2
    - это выбор типа подключений, определенного в файле "Pcb_Brauduino_DanielXan.h"
    Затем переключитесь на файл "Pcb_Brauduino_DanielXan.h"
    и измените его в соответствии со своим подключением:

    // sensor and lcd
    OneWire ds(3); // Вывод, к которому подключен датчик температуры - исправьте на тот, к которому подключите датчик
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7 ); // Так подключено большинство таких шилдов, эти выводы больше не используйте
    /*
    * LCD RS pin to digital pin 8
    * LCD Enable pin to digital pin 9
    * LCD D4 pin to digital pin 4
    * LCD D5 pin to digital pin 5
    * LCD D6 pin to digital pin 6
    * LCD D7 pin to digital pin 7
    * */

    // push buttons - кнопки - ну тут куда подпаяете, такие и напишите
    const char Button_up = A2;
    const char Button_dn = A3;
    const char Button_start = A0;
    const char Button_enter = A1;

    // outputs - выходы, тоже самое, куда припаяете, такие и напишите
    const byte Pump = 10;
    const byte Buzz = 11;
    const byte Heat = 12;
     
  9. evg83

    evg83 Участник

    Регистрация:
    31.10.2016
    39
    0
    Спасибо огромное. С этим думаю разберусь. Главное чтобы не нужно было копать глубже в программном коде.
    --- сообщения объединены, 6 ноя 2016, дата первого сообщения: 6 ноя 2016 ---
    Кстати ткните ещё пожалуйста где скетч скачать можно
     
  10. 1exan

    1exan Новенький

    Регистрация:
    20.01.2016
    18
    0
    Имя:
    Алексей
  11. evg83

    evg83 Участник

    Регистрация:
    31.10.2016
    39
    0
    Спасибо
     
  12. mihase

    mihase Active Member

    Регистрация:
    19.02.2015
    122
    74
    Имя:
    Виталий
    Отключение поддержания температуры нагрева воды, непосредственно во время засыпи дробины для версии программы 2.6.70

    В начале работы автоматического режима есть пауза Mashin, для засыпи дробины. На экране это выглядит так:
    IMG_20170112_002013.jpg
    В этот момент по программе работа насоса прекращается, а вот ТЭН продолжает работать, что в отдельных случаях не совсем удобно. Для отключения работы PID регулирования на время засыпи необходимо найти блок программного кода
    void add_malt (){
    boolean malt;
    pump_off(mpump);
    AddMalt();

    wait_for_confirm(malt,1,2,1);
    if (malt==false){
    LCD_Default(Temp_Now);
    delay(50);
    mainMenu=0;
    b_Enter = false;
    }
    }
    и в строке wait_for_confirm(malt,1,2,1), в скобках заменить первую цифру с 1 на 2, получится так wait_for_confirm(malt,2,2,1)
     
  13. alternativshik

    alternativshik Новенький

    Регистрация:
    16.12.2015
    22
    2
    Имя:
    Sergey
    в 2.8.3 есть в настройках это вроде, типа active mash in или как-то так
     
  14. Maaxxx

    Maaxxx Новенький

    Регистрация:
    29.11.2016
    1
    0
    Спасибо, более не актуально.
     
  15. Максим Куриленко

    Максим Куриленко Новенький

    Регистрация:
    20.06.2016
    3
    0
    а когда можно увидеть твою сборку...
    мне интересно зашить в уно с дисплеем 16х2
     
  16. alternativshik

    alternativshik Новенький

    Регистрация:
    16.12.2015
    22
    2
    Имя:
    Sergey
    Да видать уже никогда, потерял я ее после того, как моя уно умерла...
     
  17. Alexbox

    Alexbox Новенький

    Регистрация:
    15.06.2017
    10
    0
    Имя:
    Алексей
    Если еще интересно

    Версию с исправленными брал из поста Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Спасибо Phantom, за исправления в коде.

    Переделал для LCD16х2. Подключи нужную распиновку.

    Моя:
    OneWire ds(3);
    LiquidCrystal lcd(4, 5, 6, 7, 8, 9);

    // push buttons
    const char Button_enter = A2;
    const char Button_start = A3;
    const char Button_up = A4;
    const char Button_dn = A5;

    // outputs
    const byte Pump = 10;
    const byte Buzz = 11;
    const byte Heat = 12;

    Отработал в Proteus, потом на железе.
    Провел уже 10 варок, пока все устраивает, за исключением показаний температуры. Проблема либо с преобразованием, либо с самим датчиком (изоляция в гильзе от реальной температуры). Разница в температуре в показаниях термометров (разных) до 40гр. +2гр., если ближе к 75гр. разница +4гр. Т.е. показания температуры затора на контроллере от 2-х до 4-х градусов ниже реальной, а это уже перегрев.

    Решением проблемы пока не занимался. Корректирую уставку температуры в процессе варки в ручную.
     

    Вложения:

  18. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    скорее всего большая инертность у гильзы. не успеват нагреваться с той же скоростью, что и затор. проверить можно, поместив датчик в кипящую воду
     
  19. Alexbox

    Alexbox Новенький

    Регистрация:
    15.06.2017
    10
    0
    Имя:
    Алексей
    Phantom, я тоже думал про инерцию гильзы, тем более, что она установлена на массивном дне котла. Но здесь явно какая-то линейная зависимость, т.е. чем выше температура нагрева тем, больше расхождение от реальной.

    При «ударном» нагреве инерция гильзы действительно может быть, но как быть в режиме поддержания температуры на паузах?

    На кипении показания контролера 96град. А реально (проверял несколькими термометрами) 100гр. Калибровал на холодной воде (перед началом варки) - все по нулям.

    Либо нужно в библиотеке полазить, либо в коде преобразования вводить поправку.

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

    Естественно, такой контроль (с двумя датчиками) нужен при достижении паузы и на самой паузе. Во всех остальных случаях он не нужен.

    Я начинающий пивовар и пока не знаю (не почувствовал на вкус) разницу при превышении температуры паузы в 4гр. от рецептуры. Но думаю «тонкий» вкус это заметит.
     
  20. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    490
    138
    Имя:
    Олег
    ппробуй заменить датчик. по паспорту он не должен давать 4гр ошибки. возможно брак
    --- сообщения объединены, 8 июн 2018, дата первого сообщения: 8 июн 2018 ---
    или в проге внеси пправку-множительк. температура = температура * коэффициент. на вскидку он у тебя будет 1.042