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

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

  1. Dmitrysh

    Dmitrysh Гуру

    А как это с теорией сочетается? Я всегда считал, что получили температуру - посчитали ПИД. По структурной схеме из вашего видео нет там в цепи обратной связи двойного пересчёта ПИД.
     
  2. Dmitrysh

    Dmitrysh Гуру

    Смотрел видео работы станции Квадрат-М. Они вообще не заморачиваются с удержанием температуры, перелёты, недогревы и т.д. Но полезное все же есть - на керамике низа нужно контролировать и поддерживать температуру самой керамики, посматривая температуру платы. Допустим, что при температуре нагревателя 280 градусов мы достигли температуры на плате 115 градусов, значит держим эти 280, а сколько там на плате это уже не важно. Такой подход, по идее, даёт нам возможность греть платы с разной толщиной текстолита не меняя коэффициенты ПИД.
    Ещё там есть одна хорошая идея, но я её ещё не "переварил". Чуть позже опишу, есть смысл использовать.
     
  3. Yojiq

    Yojiq Гик

    Спасибо за развернутый ответ, правда есть в ваших словах - спору нет.
    Так вот какой вопрос возник - датчик температуры низа куда бы вы рекомендовали вставлять при использовании кварцевых нагревателей и стекла от варочной панели ?
    То что вы описали выше я уже попробовал и оно работает, только все равно температура потихоньку растет на плате (все нужно подбирать экспериментально), пока еще не утвердил место датчика под стеклом так как не добился роста температуры 3град/сек.
     
    Последнее редактирование: 26 сен 2018
  4. Dmitrysh

    Dmitrysh Гуру

    Если чистый кварц, то термопару на плату ставить нужно.
    Если вы накрыли кварц стеклом, то по сути вы получили поведение керамики, я бы поставил термопару на стекло, возможно снизу. Конкретное место, я думаю, не столь важно, потому как стекло греется равномерно.
    По поводу роста температуры, со стеклом скорее всего быстрый рост температуры добиться не получится, ибо инерционность стекла в разы больше кварца.
    Если хотите скорость - убирайте стекло, много людей отказались от стекла в угоду правильной скорости роста температуры по термопрофилю.
    Стекло ставят для равномерного распределения ИК по поверхности платы при большом расстоянии между кварцевыми трубками и малом расстоянии до платы.
    В большинстве станций, что я видел, по поводу скорости роста низа никто особо не заморачивается. Да, это несколько затягивает профиль по времени, но не критично в большинстве случаев.
     
  5. Yojiq

    Yojiq Гик

    Dmitrysh еще раз спасибо, кварца не в плотную конечно, но достаточно, а стекло решил использовать для удобства работы на нем, оставлю под ним, попробуем получить конфетку ;)
     
  6. SOLOway

    SOLOway Гуру

    CLON2 нравится это.
  7. Yojiq

    Yojiq Гик

    Первые впечатления - впечатляет :)
    но когда запустил пайку немного растерялся, особенно от цифр ПИДа - когда значения поставил и смотришь на графики это одно, а когда видишь все это в работе то пока не разберешься :confused:...
    СПАСИБО revolover за проделанную работу, но график на дисплее не информативен (мое мнение, я бы его убрал), а к компьютеру подключить не смог (нет связи) и прописать отправку данных в ком порт пока не умею.
    Но чип (тренировочный) снял и поставил, дешевый флюс не потемнел вообще, когда график был на компе можно было после пайки проводить анализ процесса, а сейчас увы, будем думать.
    Dmitrysh на 51 странице писал как привязать irsp.exe - буду пробовать.
     
  8. SOLOway

    SOLOway Гуру

    @Yojiq Возможно, вы в самой программе serial port plotter не выставили верные значения. Да, это то ещё неудобство - при каждом запуске проги вручную выставлять её параметры. Однако есть исходники и @revolover предположил, что сможет кто-нибудь эти исходники поправить, чтоб без плясок сразу при получении данных от ардуинки прога начинала строить графики. Мне-то с помощью @revolover удалось запустить вывод графиков в скетче, который использовал @Roniks59@Dmitrysh помогает допиливать)!
     
    Последнее редактирование: 6 окт 2019
  9. SOLOway

    SOLOway Гуру

    Версию "микро" обсуждали на ромбай. Дима с ютуба (Гитарюга) помучался с этим изделием, да и заменил низ на нормальный полноформатный, а затем и вовсе стал низ использовать от техноальянса, а квадратиш-м у него выполняет термопрофиль верха только.
    Китайцы так и поступают в бюджетных станциях с низом под управлением REX-C100-подобных регуляторов. За плавность выхода и отсутствие выбросов там у них отвечает... гигантская инерция от керамики накрытой стеклокерамикой!
    В связи с новыми технологиями, применяемыми производителями плат и чипов, завязанными на удешевление и неремонтопригодность, такой способ работы с BGA скоро себя совсем изживет, т.к. не способен обеспечить выполнение сложных термопрофилей, с несколькими фазами (расчетными заданными "горбами" и равнинами на графиках).
     
    Последнее редактирование: 26 сен 2018
  10. Yojiq

    Yojiq Гик

    :(
    пытаюсь интегрировать, но грабли одни за другими:(
     

    Вложения:

  11. Dmitrysh

    Dmitrysh Гуру

    У вас я полагаю сыпятся ошибки по классу PID. На сколько я помню revolover у себя подправил стандартную библиотеку PID_v1. Вот эта библиотека во вложении.
    Её можно установить в ардуино иде через меню. А лучше положите её в папку со скетчем и замените в скетче строку
    Код (C++):
    #include <PID_v1.h>
    на
    Код (C++):
    #include "PID_v1.h"
     

    Вложения:

  12. Dmitrysh

    Dmitrysh Гуру

    Похоже на то.
    Но для керамического нагревателя(касаемо низа) и(или) стеклокерамики, мне кажется лучше чем в квадрат-м подхода не найдём. Слишком большая инерционность. Другое дело галоген или кварц. Там большое поле для деятельности.
     
  13. Yojiq

    Yojiq Гик

    Да нет дело не в библиотеке, у меня сначала конфликты с buf, а потом с другими переменными.
    Пока я сам не научусь это проблема :(
    Вопрос в другом revolover говорил что пытался изменить математику кода - ему это удалось или нет ?
    Есть смысл брать его код за основу или пилить sketch_TFT-320x480_dimer_V3-5, у него связь с компом через Heater.exe есть (сам комп мне не интересен, но пока идет шлифовка проще анализировать) ?
     
  14. Yojiq

    Yojiq Гик

    Dmitrysh прикрутил ваш код к sketch_TFT-320x480_dimer_V3-5, работает теперь и irsp_страница51.exe
     

    Вложения:

    Последнее редактирование: 27 сен 2018
  15. Dmitrysh

    Dmitrysh Гуру

    Тот скетч что вы выложили у меня только ошибки по библиотеке давал, с переменными проблем не было. Заменил библиотеку и всё откомпилировалось.
    В наших скетчах математика одинаковая, revolover добавил графику и вывел составляющие ПИД на экран для удобства настройки.
    Разницы по сути работы нет, просто где-то информативнее экран, а где-то нет.
     
  16. Yojiq

    Yojiq Гик

    Простите, но я новичок и не вставил весь код в скетч который вам показал (думал вы сориентируетесь в исходнике о проблеме) - больше не повторится ;)
    Dmitrysh спасибо за вашу помощь и готов поделиться пивом :rolleyes:
     
  17. revolover

    revolover Гик

    Всем привет! Я давно не заглядывал, смотрю мой ник мелькает, почитать и ответить пока толком не могу, да и руку правую сломал, всё встало...
     
  18. SOLOway

    SOLOway Гуру

    revolover Блин-блинский :) Как же так!? Поправляйтесь скорее, всех благ вам!
     
  19. revolover

    revolover Гик

    Спасибо! Сам виноват. Перелом гадкий в суставе, но я обязательно вернусь!
     
    SOLOway нравится это.
  20. Watashi

    Watashi Гик

    Всем Привет!
    Хотел бы узнать мнение по следующим вопросам:
    1. Во всех дисплеях есть слот SD карты. Можно его использовать например: для загрузки профиля или сохранения. Может быть такой формат
    Код (C++):
    *M   1000           // начальный адрес в EPROM
    */   2           // начало профиля, 2 - это номер профиля
    //
    P:СНЯТИЕ ЧИПА БЕССВИНЕЦ      // заголовок профиля 30 символов
    A:   3           // количество Шагов профиля
    B:   165           // температура низа в градусах
    C:   3           // размер низа
    D:   50   90         // мощность низа в % min:max
    E:   20   13   17    0     // скорсть нагрева верхом по шагам
    F:   220   225   230       // температура верха по шагам
    G:   90   80   70       // время в сек перехода на следующий шаг
    H:   30   40   45   35     // min мощности по шагам
    K:   50   60   65       // max мощности по шагам
    L:   24   35   45       // коэф ПИД 1 верха
    N:   20   30   40       // коэф ПИД 2 низа
    /*             // конец  профиля
    // конец
    2. Количество шагов профиля - 3 или больше?
    3. "min (max) мощности по шагам" - это вообще хорошо? По сути этими параметрами подменяется ПИД регулятор. Не лучше ли контролировать отклонение от профиля?

    пысы
    Заметил в коде, что даже в простое на главном экране постоянно читается профиль из епрома и кнопки при этом тупят )).
    надо фунцию loadProfile() переместить
    Код (C++):
          if (upSwitchState == HIGH && ( millis() - ms_button)>500) {    //if up switch is pressed go to next profile
            ms_button =  millis();
            currentProfile = currentProfile + 1;
            if (currentProfile >= 6)//if currentProfile = 5 and up is pressed go back to profile 1
              {
               currentProfile = 1;
              }
            loadProfile();//call the loadProfile function to load from eeprom
            }
          if (downSwitchState == HIGH && ( millis() - ms_button)>500) {    //same as above just go down one profile
            ms_button =  millis();
            currentProfile = currentProfile - 1;
            if (currentProfile <= 0)
              {
               currentProfile = 5;
              }
            loadProfile();//call the loadProfile function to load from eeprom
            }