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

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

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

    SOLOway Гуру

    Снова всплывает мысль о том, что, возможно, правильнее будет не пытаться создавать идеальный-универсальный алгоритм, а использовать, как минимум, пресеты для различных пар ВИ+НИ, учитывающие их уникальные особенности...
    А так - да - чем менее инерционные грелки, тем точнее ими нужно рулить, но и чугунными конфорками тоже рулить нужно согласно их свойствам.
     
    Последнее редактирование: 27 мар 2019
  2. Ptisa

    Ptisa Нерд

    При первом запуске станции возникла проблема. Не запускается верхний нагреватель. Силовая часть исправна. С ардуины нет выхода. Выводы 6 и 7 менял местами ( в скетче соответственно тоже). Скетч sketch_TFT-320x480_dimer_PC_revolver_Dmitrysh_v4. В какую сторону копать? Спасибо.
     
  3. SOLOway

    SOLOway Гуру

    Ptisa
    Код (C++):
         if (tc1 >= SP2-2 && !TopStart) TopStart = true;  //если температура низа вышла на уставку включаем верхний нагреватель
    Если закомментировать и заменить на
    Код (C++):
         if (tc1 >= 120 && !TopStart) TopStart = true;  //если нагрелось у чипа до 120 включаем верхний нагреватель
    Конечно, если для низа уставка задана ~150-160*C. Включится?
     
    Ptisa нравится это.
  4. Ptisa

    Ptisa Нерд

    Сейчас попробую
     
  5. Proko

    Proko Нерд

    tc1 - замените на tc2. Сам мучался. Сейчас норм.
     
  6. Ptisa

    Ptisa Нерд

    SOLOway Да включился. Что это значит?
    Proko Где заменить, в этой строке?
     
  7. Proko

    Proko Нерд

    if(tc1 >= SP2-2&&!TopStart) TopStart =true;//если температура низа вышла на уставку включаем верхний нагреватель
    на
    if(tc2 >= SP2-2&&!TopStart) TopStart =true;//если температура низа вышла на уставку включаем верхний нагреватель
     
    Ptisa нравится это.
  8. Ptisa

    Ptisa Нерд

    Proko Спасибо большое. Всё заколосилось.
     
  9. SOLOway

    SOLOway Гуру

    @Ptisa, @Proko Выдержки из общения участников по поднятому вопросу с первых страниц этой темы в файле.
    И еще немного с поста #1262 до поста #1267 включительно!
     

    Вложения:

    Последнее редактирование: 6 окт 2019
  10. Ptisa

    Ptisa Нерд

    SOLOway большое спасибо за объяснение, но решение которое предложил Proko мне кажется более корректное. Так как не привязано к конкретной температуре. SOLOway один вопрос- мощность низа невероятна и скорость нагрева очень велика. Регулировать можно только ограничением мощности или есть другие способы регулировки?
     
  11. Dmitrysh

    Dmitrysh Гуру

    Это не так!
    Получается что у вас плата не прогрелась в области чипа, с которым вы будете работать. При таком подходе будет "рывок" ПИД-а верхнего нагревателя в момент включения верха. Это не хорошо.
     
    SOLOway и Ptisa нравится это.
  12. Ptisa

    Ptisa Нерд

    Об этом я не подумал, спсибо за совет. Но какую температру выставлять в скетче. И как регулировать скорост нагрева низа?
     
  13. Dmitrysh

    Dmitrysh Гуру

    В настоящий момент только ограничением мощности низа. Скоро я напишу рампу для низа.
     
    Ptisa нравится это.
  14. Dmitrysh

    Dmitrysh Гуру

    Посмотрите на сколько не дотягивает температура верха до температуры низа и скорректируйте в условии
    Код (C++):
    if (tc1 >= SP2-2 && !TopStart) TopStart = true;  //если температура низа вышла на уставку включаем верхний нагреватель
    Допустим, если температура не дотягивает 10 градусов то пишем так
    Код (C++):
    if (tc1 >= SP2-10 && !TopStart) TopStart = true;  //если температура низа вышла на уставку включаем верхний нагреватель
    И ещё, если сделать как написал Proko у вас не будет работать профиль "нижний подоргев", который работает если вы не ставите термопару верха.
     
    SOLOway и Ptisa нравится это.
  15. Ptisa

    Ptisa Нерд

    Спасибо, вчера был пробный запуск. Начинаю разбираться.
     
  16. SOLOway

    SOLOway Гуру

    А можно, например, задавать это условие в меню - еще немного прибавится возможностей для точной настройки под своё железо без правок скетча...
     
  17. Proko

    Proko Нерд

    Перечитал несколько десятков страниц с поста #1262, посмотрел коды прошивок. У
    revolover и многих других также tc1 заменен на tc2. Если в комменте строки "//если температура низа вышла на уставку включаем верхний нагреватель", то почему сравниваем температуру верха вместо низа? Если используется плата с толстым текстолитом, то нужно будет греть снизу пока текстолит не вздует. Температура верха будет разной при однаковой температуре низа и разной толщине платы.
     
  18. SOLOway

    SOLOway Гуру

    @Proko
    Когда греем плату правильно, она прогревается нормально и не вздувается. Температура сверху платы будет при этом на 10-30*С ниже уставки НИ и температуры снизу платы под датчиком ВИ. А пояснения к строкам кода просто ещё не все исправлены - часть с ошибками осталась.
    Профиль в основном в нашей реализации ведет верх, поэтому и точка старта логично должна задаваться по его датчику. Если для НИ @Dmitrysh сделает ведение профиля как для ВИ, тогда возможности станции расширятся и вариантов задания параметров для старта ВИ станет больше и можно будет ввести для этого ещё пункт в меню.
     
    Последнее редактирование: 6 окт 2019
    Yojiq и Dmitrysh нравится это.
  19. Ptisa

    Ptisa Нерд

    Proko В принципе в этом есть смысл- греть плату не сильнее а дольше. Ведь нас интересует температура сверху текстолита. А разницу между верхом и низом хорошо бы реализовать с с программы на компьютере.
     
  20. Dmitrysh

    Dmitrysh Гуру

    Это не есть хорошо.
    А вот здесь кроется один небольшой секрет. Суть в чём. ПИД низа рулит низом по своей термопаре, ПИД верха рулит верхом по своей. Но верх включается по температуре низа, но от термопары верха. Это сделано во-первых для того, чтобы равномерно прогреть плату до нужной температуры, во-вторых это своего рода защита от неправильной установки термопары верха. Т.е если разница температур верхней и нижней термопары значительная, значит что-то пошло не так и верх не включается. В идеале температуры должны быть равные, но из-за разницы в термопарах, местах установки, "факела" нагрева нагревателя, "плотности" наполнения платы и др они оказываются разными. Разница обычно не более 10 градусов(у меня 4-5 как правило).
    Если включать верх от термопары низа, то может случится такая ситуация. Допустим уставка низа 150, низ догрел до 150 по своей термопаре, а на верхней допустим только 120. Когда включится верх он стартовой температурой получит 120 и начнёт на малой мощности греть до первой уставки верха, используя часть мощности низа. Когда температура подойдёт к 150 верх лишится помощи низа, мощности верха не хватит для поддержания необходимой скорости роста температуры и там образуется некая температурная яма(замедление роста температуры). ПИД "подкинет дров" и образуется "горбыль" в регулировании и затухающие колебания. Это, конечно, не очень страшно, но неприятно и "некононично". Это случай если просто термопара была установлена в неподходящее место. А вот если термопара "вспарила", так сказать над платой по каким либо причинам, то это пахнет жаренным в прямом смысле этого слова.
    Но, каждый для себя решает сам, как ему поступать. Я изложил своё видение этого вопроса, и не факт что моё видение самое правильное и верное.
    А почему вздует? Обе термопары стоят сверху, да и температуры там не такие уж и большие. Но мысль правильная, надо ввести ограничение на длину профиля по времени, за исключением профиля "нижний подогрев".
    Ещё раз говорю, термопары стоят на верхней стороне платы и теоретически при медленном нагревании температуры термопар должны быть одинаковыми, ну близкими, по крайней мере.
     
    SOLOway нравится это.
Статус темы:
Закрыта.