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

Тема в разделе "Глядите, что я сделал", создана пользователем Jalnin, 2 ноя 2012.

Статус темы:
Закрыта.
  1. LessNICCKoff

    LessNICCKoff Гик

    Необходимо реализовать пуск ВИ скажем так на 2 градуса от установленной. Может на керамике благодаря её инерционности доходит до уставки. На лампах если и дойдёт до установленой температуры то только из-за случайности. Сейчас P=11 I=2.10 D=0.40. Чем выше я поднимаю параметры тем система более резкой становиться.
     
  2. Dmitrysh

    Dmitrysh Гуру

    Если не дотягивает до уставки увеличиваем I, все остальные параметры не трогаем
     
  3. prusony

    prusony Нерд

  4. LessNICCKoff

    LessNICCKoff Гик

    Не работает так. Только когда P больше 20 переваливает за уставку.

    Надо сказать: температуру держит с поразительной точностью, но 149 градусов при уставке в 150. При увеличении "I" более равномерней управление нагревом идёт.

    При работе на подправленном скетче глюков пока не возникало.
     
    Последнее редактирование: 18 июл 2020
  5. Dmitrysh

    Dmitrysh Гуру

    Нужно больше I, увеличьте раз в 10-15. Если начнутся колебания добавьте D.
     
  6. SOLOway

    SOLOway Гуру

     
  7. LessNICCKoff

    LessNICCKoff Гик

    Вот видеоролики:
    Настройки ПИД поднял до максимума. Вроде заработало.

    Для стабилизации на хватает пределов.

    Как вариант старт сделать на градус раньше: при уставке в 150 старт ВИ на 149. Тогда стабилизировать можно идеально.

    В 3-ем профиле шагов очень много за 50шт.
     
    Последнее редактирование: 20 июл 2020
  8. geleos27

    geleos27 Гик

    Хорошее видео для понимания принципа работы PID

     
    LessNICCKoff нравится это.
  9. Dmitrysh

    Dmitrysh Гуру

    А вы сколько шагов поставили? Можно попробовать переписать профиль на стандартный длительным удержанием cancel.
     
  10. Dmitrysh

    Dmitrysh Гуру

    Пределов какого параметра?
     
  11. Foxweld

    Foxweld Нерд

    Хотел спросит у Dmitrysh можно ли в вашем скетче V4_EX сделать преднагрев платы до определенной температуры как это-то реализовано в скетче от Watashi плата греется нижним нагревателем до определенной температуры график не идет потом при запуске основного профиля начинает идти график
     
    Последнее редактирование: 20 июл 2020
  12. Dmitrysh

    Dmitrysh Гуру

    Думаю можно, надо подумать.
     
    Foxweld нравится это.
  13. geleos27

    geleos27 Гик

    По идее все должно почти без проблем отработать.

    profile = {4, 160, ....

    Обновит текущие значения в структуре profile которая сейчас в оперативке.

    Если поправить текущие SaveProfile & LoadProfile
    Код (C++):
    //чтение профиля из EEPROM
    void loadProfile()
    {
      for (byte j = 0; j <= SizeProfile - 1; j++) EEPROM.get((currentProfile - 1)*SizeProfile, profile);
    }
    //сохранение текущего профиля
    void SaveProfile ()
    {
      for (byte j = 0; j <= SizeProfile - 1; j++) EEPROM.put((currentProfile - 1)*SizeProfile, profile);
    }

    на:
    Код (C++):

    //чтение профиля из EEPROM
    void loadProfile()
    {
    EEPROM.get((currentProfile - 1)*SizeProfile, profile); // читаем профиль с EEPROM в память
    return;
    }

    //сохранение текущего профиля
    void SaveProfile () {
    EEPROM.put((currentProfile - 1)*SizeProfile, profile);
    }
     

    То загрузка и сохранение будут работать без проблем

    EEPROM.get((currentProfile - 1)*SizeProfile, profile)

    EEPROM.get("адрес начала", "в какой объект записывать")

    (EEPROM.get самостоятельно вычисляет размер "в какой объект записывать", и полностью его заполняет значениями.
    Если до чтения по адресу начала уже сделана запись этого-же объекта (переменной \ структуры), то прочитается без проблем.
     
    Последнее редактирование: 21 июл 2020
  14. LessNICCKoff

    LessNICCKoff Гик

    При параметрах примерно (P= 4.00 I= 0.50 D= 0.50) система ведёт себя стабильно. Доходит до 149 градусов при уставке в 150. Лампы светят в пол накала, температура стоит как вкопанная, НО до 150 не доходит и на следующий шаг не переключается.
    P= 20 I- 2.50 D=2.55 держит 150 с колебаниями +- 2 градуса. И стабилизировать по I и D не получается 2.55 максимум
     
  15. hacjka

    hacjka Гик

    и хотел бы попросить,сделать меню настройки PID так,чтоб можно было перебирать опции не одной кнопкой только вперед,а и вернуться на предыдущую позицию.
    если конечно такое возможно!
    если нет,ну ничего,привыкнем так.
     
    LessNICCKoff нравится это.
  16. Dmitrysh

    Dmitrysh Гуру

    Такое проще реализовать, если использовать пятую кнопку резистивной клавиатуры. Для 4-х кнопочной клавиатуры сложнее, надо использовать комбинацию из 2-х клавиш или использовать энкодер.
     
    hacjka нравится это.
  17. hacjka

    hacjka Гик

    у меня как раз 5 кнопочная(как на картинке от @Watashi)
    и енкодер.
     
  18. Dmitrysh

    Dmitrysh Гуру

    Есть в процедуре Pid2 следующие строчки
    Код (C++):
      integra2 = (integra2 < i_min) ? i_min : (integra2 > i_max) ? i_max : integra2 + (kI * e2) / 1000.0; //И составляющая
      d2 = (kd/10)  * (temp - ed); //Д составляющая
    если их заменить на
    Код (C++):
      integra2 = (integra2 < i_min) ? i_min : (integra2 > i_max) ? i_max : integra2 + (kI * e2) / 100.0; //И составляющая
      d2 = (kd)  * (temp - ed); //Д составляющая
    то составляющие I и D увеличатся в 10 раз при тех же настройках.
     
    SOLOway, LessNICCKoff и hacjka нравится это.
  19. Dmitrysh

    Dmitrysh Гуру

    А вот и нет, будет совсем не так. Следующий за правленным профилем профиль сдвинется на один байт вправо, второй на 2 байта, третий на 3 и тд. Одним словом теряются все профили сразу, поэтому их надо будет перенастраивать ВСЕ.
    При старте скетча в оперативке уже лажа будет, кроме параметра profileSteps первого профиля.
     
    SOLOway и hacjka нравится это.
  20. geleos27

    geleos27 Гик

    Имхо вам проще не мучать @Dmitrysh по этому вопросу, а подключить станцию к ПК и отправлять настройки оттуда. (Благо программа от Dmitrysh это умеет) Один фиг это нужно только на этапе настройки, который вы через 2-3 недели победите.

    Все как вы говорите, но до этого EEPROM единицами забили же...

    Под спойлером было "Если до чтения по адресу начала уже сделана запись этого-же объекта (переменной \ структуры), то прочитается без проблем."

    Если поменять формат профиля не перезаписав данные в EEPROM - то прочитается каша, да.
     
    Последнее редактирование: 21 июл 2020
    hacjka нравится это.
Статус темы:
Закрыта.