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

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

Discussion in 'Автоматика' started by Phantom, Oct 9, 2015.

  1. Yuriiv

    Yuriiv Active Member

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

    1exan Новенький

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

    evg83 Участник

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

    1exan Новенький

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

    evg83 Участник

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

    1exan Новенький

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

    evg83 Участник

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

    1exan Новенький

    Joined:
    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 Участник

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

    1exan Новенький

    Joined:
    20.01.2016
    18
    0
    Имя:
    Алексей
    Please login or register to view links
     
  11. evg83

    evg83 Участник

    Joined:
    31.10.2016
    39
    0
    Спасибо
     
  12. mihase

    mihase Active Member

    Joined:
    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 Новенький

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

    Maaxxx Новенький

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

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

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

    alternativshik Новенький

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

    Alexbox Новенький

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

    Версию с исправленными брал из поста Please login or register to view links
    Спасибо 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-х градусов ниже реальной, а это уже перегрев.

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

    Attached Files:

  18. Phantom

    Phantom Active Member

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

    Alexbox Новенький

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

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

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

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

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

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

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

    Phantom Active Member

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