ИК паяльная станция на Arduino Mega 2560. Доработка скетча "ARS_v2_Lilium_JSN"

Тема в разделе "Arduino & Shields", создана пользователем vector99, 7 дек 2016.

  1. alfataks

    alfataks Гик

    Скетч под дисплей TFT-320x480 с димером версии 3
    Поправил ошибки отображение температур на дисплее
    Добавил установку ограничения максимальной мощности верха в каждый шаг профиля
    Поправил отображение скорости нагрева верхом на дисплее при настройке и саму скорость нагрева верхом от 0.1 до 3 сек. с шагом 0.1 сек..
    Добавил на экран счетчик времени перехода между шагами профиля.
    Видео

     

    Вложения:

    Последнее редактирование: 4 июн 2017
    Николай Димов, konsys, m2blit и ещё 1-му нравится это.
  2. m2blit

    m2blit Нерд

    Случайно получилось привязать драйвер HX8357B в библиотеку. Теперь цветопередача соответствует.
     

    Вложения:

    • UTFT.zip
      Размер файла:
      1,1 МБ
      Просмотров:
      387
    tssergej и Asbest нравится это.
  3. ywor

    ywor Нерд

    Привет народ поделитесь схемой подключения узлов.
     
  4. Иван 46

    Иван 46 Нуб

    Хорошо когда есть люди у которых голова варит в нужном направлении.
     
  5. alfataks

    alfataks Гик

    В скетче все есть
     
  6. Иван 46

    Иван 46 Нуб

  7. vector99

    vector99 Гик

    alfataks попробуй переделать ограничение мощности таким образом:
    в setup
    Код (C++):

    // myPID1.SetOutputLimits(0, WindowSize);//myPID1 = top heater PID loop
    // myPID2.SetOutputLimits(0, WindowSize);
      myPID1.SetMode(AUTOMATIC);
      myPID2.SetMode(AUTOMATIC);
      myPID1.SetSampleTime(100); //задает частоту расчета выходного сигнала в милисекундах
      myPID2.SetSampleTime(100);
    WindowSize можно удалить
    myPID.SetSampleTime(100); можно закоментировать, по умолчанию в библиотеке стоит 100
    а в loop
    Код (C++):

         myPID1.SetOutputLimits(0, pwr_TOP);//установка минимального и максимального значения (от 0 до 100)
                                            //которое будет передано на управление диммером
         myPID2.SetOutputLimits(0, pwr_BOTTOM);

     
    таким образом можно установить минимальное и максимальное ограничение мощности
    и привести алгоритм Брезенхема к такому виду:
    Код (C++):

    void OutPWR_TOP()
    {
      reg1 = Output1 + er1; //Output1 - значение PID регулятора в %, er- ошибка округления
         if (reg1 < 50)
           {
            out1=LOW;
         
             er1 = reg1 ; // reg- переменная для расчетов
           }
              else
            {
              out1=HIGH;
           
              er1=reg1-100;
            }
       digitalWrite(RelayPin1,out1);//пин через который осуществляется дискретное управление
     
    }
    void OutPWR_BOTTOM()
    {
      reg2 = Output2 + er2; //Output1 - значение PID регулятора в %, er- ошибка округления

         if (reg2 < 50)
           {
            out2=LOW;
         
             er2 = reg2 ; // reg- переменная для расчетов
           }
              else
            {
              out2=HIGH;
           
              er2=reg2-100;
            }
         
       digitalWrite(RelayPin2,out2);//пин через который осуществляется дискретное управление


    }
     
  8. alfataks

    alfataks Гик

    Попробую. В принципе для низа минималка лишнее, у меня на кварце пид справляется, на керамике еще стабильнее будет, поможет инерция, а вот для верха на кварце самое то.
     
  9. ywor

    ywor Нерд

    ок спасибо понял что ничего не понял
     
  10. alfataks

    alfataks Гик

    Попробовал, Намного лучше стал работать верх. Сделаю меню под ограничение минималки и выложу.
     
  11. vector99

    vector99 Гик

    Функционал данной прошивки увеличился, надобы подумать как переделать меню для удобства и дальнейших модернизаций!
     
  12. alfataks

    alfataks Гик

    Если делать полноценное меню, надо добавлять еще 3 кнопки
     
  13. vector99

    vector99 Гик

    Если есть мысль поделись, подумаем. А с кнопками разберёмся. Может и графики прилепим!?
     
    SOLOway нравится это.
  14. alfataks

    alfataks Гик

    Мыслей много, а времени не хватает, пришла плата на max232, хочу попробовать к компу привязаться.
    По меню мысли такие:
    Рабочий экран, Меню;
    Само «Меню»- Работа с ПК, Выбор профиля, Редактирование профиля;
    навигация по меню кнопками вперед-назад + ОК+влево-вправо (изменение параметров);
    отдельно кнопки старт-стоп;
     
    Последнее редактирование: 7 июн 2017
  15. vector99

    vector99 Гик

    А если энкодер с кнопкой + кнопка старт?
     
  16. vector99

    vector99 Гик

    Зачем плата если это можно сделать средствами самой ардуинки! А очень высокая скорость передачи данных в нашем случае незачем! Это моё мнение!
     
  17. alfataks

    alfataks Гик

    Можно и так.
    Напрямую наверное не пойдет, надо ставить преобразователь уровней.
     
  18. tssergej

    tssergej Нерд

    Уважаемый, поясните, у вас действительно получилось подключить эту библиотеку к скетчу от
    alfataks?? Я попытался подменить родную библиотеку на вашу, в итоге скетч не компилируется . вылетает ошибка что то типа "textRUS" ,бла-бла. Похоже что эта библиотека не умеет работать с кирилицей.
    Просто досадно - уже второй дисплей заказал и оба с драйвером HX8357B.
    Если у вас действительно получилось - расскажите поподробней...думаю что пригодится не только мне.
     
  19. m2blit

    m2blit Нерд

    Стал бы я ее выкладывать. В скетче меняется только название дисплея на HX8357B.
    20170610_081520a.jpg
    Даже если ничего не менять, все равно загружается.
    20170610_085634a.jpg
     
    Последнее редактирование: 10 июн 2017
    tssergej нравится это.
  20. tssergej

    tssergej Нерд

    Просто мистика какая-то. Сегодня сделал в принципе тоже самое и что раньше- удалил из папки libraries ориг. UTFT и положил вашу - скетч нормально компилируется и загружается в ардуину.
    Правда теперь возникла другая проблема....вместо кирилицы сплошные ????????????????.
    Этот же самый эфект наблюдался когда я пытался в скетче от alfataks изменить хоть что то. Стоило просто удалить к примеру одну букву из меню или изменить цвет шрифта - в итоге вместо кирилицы ??????.
    [​IMG]


    Сейчас проверил ещё раз - стоит хоть что то изменить в скетче (даже в коментариях к коду, а не в самом коде) -вместо кирилицы билиберда. Отмена изменений в скетче проблему не решает. Только загрузка оригинального кода возвращает кирилицу.
    Кто то ещё сталкивался с такой проблемой?

    [​IMG]
     
    Последнее редактирование: 10 июн 2017