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

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

  1. geleos27

    geleos27 Гик

    В Port plotter очень удобно отслеживать какой из компонент косячит.
    Код (C++):


      #ifndef SerialPortPlotter
      sprintf (buf, "$%03d %03d %03d %03d %03d %03d %03d;", int(Output1), int(Output2), tc1, tc2, int(p2), int(integra2), int(d2));
      //Serial.print(buf); //это для графиков на ПК <--- отключаем, т.к. вывод 1 раз в секунду в Dimming()
      #endif
     
    Код (C++):
    void Dimming()
    {
      if (reflowStatus == REFLOW_STATUS_ON)
      {
      OutPWR_TOP();
      OutPWR_BOTTOM();
      }
      #ifdef SerialPortPlotter
      if (Secs >= 100)
      {
      Serial.println(buf);
      Secs = 1;    //<---------------------------- надо начинать считать с 1, т.к. в первый шаг мы только присваиваем значение, но не прибавляем. если 0, то получаем 101 интервал до переключения. Секунды чуток убегают)
      }
      else Secs++;
      #endif
    }
     
    Последнее редактирование: 29 май 2020
    SOLOway и Dmitrysh нравится это.
  2. LessNICCKoff

    LessNICCKoff Нерд

    Пользуюсь пока rework v2.1.2 arduino nano 1602 доработанный Dmitrysh. После отработки цикла при отключении вентиляторов кнопкой "cancel" минуты через 3. Происходит сброс EEPROM.
    Можно ли добавить в шагах изменение температуры низа?
    И добавить бы минут через 5 вентиляторы сами отключались.
     
  3. Dmitrysh

    Dmitrysh Гуру

    как вы это себе представляете?
     
  4. Dmitrysh

    Dmitrysh Гуру

    Добавил автовыключение вентилятора платы через 5 минут после окончания пайки или как обычно клавишей cancel.
    Это странный глюк, но я попробовал исправить, так что проверяйте.
     

    Вложения:

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

    Dmitrysh Гуру

    Это осталось для тех, у кого нет детектора нуля, а про Timer1 или Timer2 не слышали, но при этом есть желание проверить работу модулей с выводом на ПК. У себя я отключил, потому как "гадит" в ком-порт и портит историю в Irsp.
     
    SOLOway нравится это.
  6. geleos27

    geleos27 Гик

    Понял. Я имел ввиду что нужно исправить в обеих местах для вывода дополнительных значений, иначе PortPlotter некорректно отображает время на шкале.
     
    SOLOway нравится это.
  7. LessNICCKoff

    LessNICCKoff Нерд

     
  8. Dmitrysh

    Dmitrysh Гуру

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

    LessNICCKoff Нерд

    Понял. Уже будет наужен 3 пид для руления верхом и низом.
     
  10. geleos27

    geleos27 Гик

    Черновой вариант есть. Результаты тут
     
  11. SOLOway

    SOLOway Гуру

    Перечитывал старые (2018г) посты snmar4enko у Alexandr_ на сайте и решил тут их закрепить. Может, какие-то свежие мысли спровоцируют...
     
    Dmitrysh нравится это.
  12. hacjka

    hacjka Нерд

    существует ли версия скетча Регулятор мощности под SSr для ардуино?
    смотрю с пидами у меня почему то никак не получается
     
  13. SOLOway

    SOLOway Гуру

     
    hacjka нравится это.
  14. hacjka

    hacjka Нерд

    прийдется всю станцию переделывать....
    а есть версия под вариант МЕГА 2560 с дислеем? может кто делал?
    я в программировании ДУБ.
     
  15. SOLOway

    SOLOway Гуру

    Это получится "забивать гвозди микроскопом" :( Покажите фотографии вашей компоновки станции /текущий вариант/, подумаем, как с минимальными переделками всё устроить /да там и переделок-то с письку тараканью, наверняка :)/.
     
    hacjka нравится это.
  16. hacjka

    hacjka Нерд

    я делал станцию по схеме @Watashi
    Arduino mega 2560 плата
    Display UTFT myGLCD(ST7796S, 38, 39, 40, 41); 3.95" SPI 16bit с такими параметрами у меня работает на версиях от @Watashi
    с сенсором
    часики DS3231
    енкодер и мах6675 все как по схеме
    с детектором нуля
    выход у меня 2шт SSR 40DA Fotek
    низ у меня кварц панели на трубках 62ммх240мм 4 штуки
    до верха(120х60 мм 450ватт) дело еще не дошло-с низом никак не выходит
    высота платы над нагревателем около 4см
     

    Вложения:

    Последнее редактирование: 29 май 2020
  17. ShVV

    ShVV Нерд

    Кнопки есть, попробуйте скетч http://forum.amperka.ru/threads/ИК-паяльная-станция-на-arduino-mega-2560-Доработка-скетча-ars_v2_lilium_jsn.10176/page-151#post-237273 Я собрал вторую станцию на галогенках с ними скетч @Watashi работает хорошо, а вот с керамикой так и не смог настроить нормально.
     
    Последнее редактирование: 29 май 2020
    hacjka нравится это.
  18. geleos27

    geleos27 Гик

    Что конкретно не получается? У @Sema тоже не срасталось, но отслеживание вклада ПИД помогло. В итоге при старте с 30 градусов на плате профиль укладывается в 10 минут. Перелет 3-5 градусов.
     
    Последнее редактирование: 29 май 2020
    SOLOway и hacjka нравится это.
  19. SOLOway

    SOLOway Гуру

    Тут несколько сложнее - у @hacjka рампа для НИ, да ещё и задание мощности на каждом шаге рампы, а этот вариант настраивать значительно сложнее. Не даром @revolover и mon для каждого шага использовали задание коэффициентов ПИД.
     
  20. geleos27

    geleos27 Гик

    рампа для НИ - т.е. температура низа меняется на протяжении всего профиля?

    Надо просто уменьшить задержку между изменением мощости нагревателя и реакцией термопары. Под плату например переставить.

    Для скетча V09
    Код (C++):
    Строка 482

    void Dimming() {
      OutPWR_TOP();
      OutPWR_BOTTOM();
    }

    заменить на

    void Dimming()
    { static byte Secs;
      OutPWR_TOP();
      OutPWR_BOTTOM();
      if (Secs >= 100)
      {
      Serial.println(buf);
      Secs = 1;
      }
      else Secs++;
    }
     
    Код (C++):
    строка 1891 заменить на
    sprintf (buf, "$%03d %03d %03d %03d %03d %03d %03d;", int(Output1), int(Output2), tc1, tc2, int(p2), int(integra2), int(d2)); // график ПК

    // Serial.print(buf); <- закоментировать


    Скинул доработанный скетч V09 в личку. Если пройдет нормально, выложу в общий доступ изменения.
     
    Последнее редактирование: 29 май 2020
    hacjka нравится это.