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

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

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

    Dmitrysh Гуру

    Вот так работает скетч с рампой для НИ.
    рампа_низ.jpg
    Не самая лучшая кривая. ПИД настроен под другой скетч, термопара НИ "подсвечивалась" ВИ. Скорость роста низа задавал 0.7 гр/сек. Верх на первом шаге 0.5 гр/сек, на втором 1.5 гр/сек.
    Ограничение максимальной мощности нагревателей не использовалось, т.е оба по 100%, минимальная - 0%
     
    Watashi нравится это.
  2. Foxweld

    Foxweld Нерд

    Помогите разобраться неучу с значением в скетче максимальная скорость роста температуры от 0.1с. до 3с.
    Это градусы в секунду означает? и значение 0.1с - значит 0.1градус в секунду.
    Или это означает время роста и 0.1с значит время - десятая часть секунды.
     
  3. Dmitrysh

    Dmitrysh Гуру

    Именно так и никак иначе
     
  4. Foxweld

    Foxweld Нерд

    Спасибо
     
  5. SOLOway

    SOLOway Гуру

    Пересмотрел я видео Алекса Гайвера про упрощенный фильтр Калмана для arduino и про подбор значений для него:

    Затем почитал комменты к видео.
    В общем, мне показалось, что реализация фильтрации, которую предложил @Dmitrysh в посте #1976 действительно работает лучше, и это при экономии ресурсов микроконтроллера.
    На всякий случай, свел в файл комменты из под видео Алекса, удалив бесполезные.
     

    Вложения:

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

    Watashi Гуру

    Под контролем отклонения от профиля, я подразумевал прежде всего отвал термопары. В этот момент происходит падение графика температуры и рост мощности выдаваемой пидом. Если, допустим, запомнить несколько последних значений температуры и мощности (я думаю 5-10), и в этих значения искать падение и рост соответственно, то это и будет сигналом отвала термопары.
    При запоминании величины мощности, думаю, надо применять фильтрацию аналогичную как и к температуре.
     
  7. SOLOway

    SOLOway Гуру

    Это реализовано у @Leonid0071 и PavTS. @Dmitrysh предлагает не полагаться на такой алгоритм и считает, что он может вызвать нехорошую ситуацию... Я не проверял, к сожалению, и пока не знаю, как правильно смоделировать такую ситуацию для проверки...
     
    Последнее редактирование: 6 окт 2019
  8. Dmitrysh

    Dmitrysh Гуру

    Смоделировать несложно, нужно во время пайки приподнять термопару.
    Смотря как отвалилась. Если не читается, то нужно отключить пайку(странно что никто не просил так сделать), а если отошла, то сложно программно описать алгоритм определения отвала. Дело в том, что при работе рампы, когда появляется новое задание, ПИД делает небольшой рывок, и если следить за температурой и мощностью, то будут ложные срабатывания однозначно(не знаю как лучше объяснить, но так будет).
    Этих значений мало, это всего 1-2 сек по времени, а для инерционных нагревателей это не о чём. А большее количество уже накладно по скорости выполнения. Надо что-то другое думать.
    Не забывайте, что любая фильтрация это задержка прохождения сигнала обратной связи в системе, ну и время, конечно же. Я всегда стараюсь моделировать то, что я добавляю или правлю. Наш скетч достаточно оптимален по математике работы, но львиную долю времени занимает работа с экраном и от этого пока не уйти. Поэтому необходимо очень тщательно подходить к программированию, особенно в критической секции.
     
    SOLOway нравится это.
  9. SOLOway

    SOLOway Гуру

    Тут вопрос, наверное, в том, в какой точке исполнения термопрофиля это произойдёт... В начальной, когда грелки и плата еще не горячие - наверное безопаснее, чем в критических точках, где скачок температуры гарантированно убьёт чип... Я просил @Leonid0071 именно о защите в критических точках. Но, думаю, что здесь поможет только дополнительный канал измерения температуры со своим алгоритмом воздействия на исполняемый термопрофиль, или на станцию вообще....
     
    Последнее редактирование: 6 окт 2019
  10. Leonid0071

    Leonid0071 Нерд

    А лучше 2 термпары, как на дорогих станциях (я видел даже 4 точки замера, алгоритм не знаю, но думаю это не просто так делалось)

    с этого места я слегка продолжу мысль: - это и хорошо, что "рывок" будет, тоесть температура должна (и будет) ГАРАНТИРОВАНО расти (по сравнению с предыдущим замером), а вот если вдруг она упала (пусть да-же) не значительно - все процесс пошел "не так" - отключаемся ...

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

    p.s. Единственно, не знаю как остальные, но я, если честно, если паяю некий чип ценой больше 200$ вообще держу палец на кнопке выключения станции все 4 минуты пайки (а не ухожу пить кофе включив станцию))) )...
     
    SOLOway нравится это.
  11. Watashi

    Watashi Гуру

    Как Вы сказали, есть два варианта:
    1. не читается max. Обычно, если сбой периферийного устройства, делается сброс и повторные попытки чтения несколько раз и регистрация ошибок, в нашем случае если с первого раза не прочиталась, то ERROR и все.
    т.е нужна программка обработки ошибок. если нужно отключение питания max-а, я видел где то как он запитывается от цифровой ноги ардуинки.(не уверен в помехозащищенности).
    2. Плохой контакт термопары и платы.
    Возможно этого времени и достаточно, т.к. инерционность не причем, а главное это значение мощности выдаваемая пидом, среагирует ростом без инерции на падение показаний от термопары.
    В данном случае задержка нужна, чтобы не было ложных срабатываний выключения процесса пайки
    Еще есть над чем работать, еще есть вопросы по оптимизации кода.
    Думаю Вы правы, дополнительной мерой может быть значительное отклонение значения температуры, поступающей от термопар и целевую температуру которую мы скармливаем пиду
     
  12. Dmitrysh

    Dmitrysh Гуру

    У нас продолжает читать дальше. Но всё дело в мах, похоже это он блокирует выдачу температуры после ошибки, но я не уверен.
    Это лишнее. Но написать не сложно.
    Прям "с языка сняли". Да, если не жалко пару цифровых пинов можно сделать программный сброс мах6675.
    Тут вы не правы, на керамике инерция такая, что при выходе 100% температура может начать рост секунд через 20, а то и больше, особенно на начальном этапе.
    Боюсь что здесь мы ничего не сделаем, библиотека экрана написана очень не плохо.
    На керамике не будет расти за 1 замер. Там даже если отойдёт термопара на 1мм от платы, система заметит это секунд через 10 только.
    Ну не буду сильно спорить, чтобы не отбить интерес к творчеству. Попробуйте сделать, только потом отпишитесь что и как получилось.
    Это в точку, тоже так делаю постоянно.
     
    SOLOway нравится это.
  13. Yojiq

    Yojiq Гик

    Господа !, я понимаю что вы хотите предположить что будет какая-то неисправность и пытаетесь предугадать и ввести в код поправки для внештатных ситуаций, но нормально собранное железо вроде бы не дает отвалов термопары и подобных проблем - по крайней мере у меня так.
    ( термопару ставлю на нанесенную термопасту на плату, контакт нормальный).
    Мысль такая - все время говорим о оптимизации , о том что есть в коде задержки и нехватке производительности контроллера, если бы можно было собрать управление на двух кт315 то так бы и сделали, но это не возможно и поэтому может разделить на два контроллера, один управляет железом, а второй индикацией, ведь мы отсылаем данные на компьютер для индикации, почему бы не работать так с индикатором - если не хватает производительности одного, давайте раскошелимся на второй.
     
  14. Dmitrysh

    Dmitrysh Гуру

    Пока хватает, два контроллера это уже чересчур.
     
  15. SOLOway

    SOLOway Гуру

    У Александра, создателя дружественного форума, станция с 2012-года. По проекту LDZ. Железо такое: НИ плита 3кВт, ВИ кварц. Летом прошлого года он поделился инфой о печальной ситуации, в которую попал из-за сбоя контроллера:
    Виталий из Павлограда, у которого Александр тогда приобрел нестандартное для станций самого Виталия железо для своей станции, рассказывал о случаях убиения плат и чипов на выпускаемых им станциях по двум причинам: а) залипший термостат (его НИ могут работать автономно, температура задается и поддерживается в таком случае механическим термостатом), б) неверно выбранные параметры термопрофиля, из-за высокой инерции НИ и низкой у ВИ. Кстати, датчики у Виталия PT1000 и он никогда не мажет их при пайке - ставит прямо на плату.
    Так-то да, а mvm_ksaa на ProMini замутил управляемый из софта на ПК охладитель плат:
    И Андрей Железняков и вовсе отдал предпочтение дисплею, имеющему собственный микроконтроллер:
    У нас тема завязана на arduino Mega2560 & tft 480*320, плюс возможность взаимодействия с ПК.
    Наверное, было-бы неправильно не воспользоваться ресурсами именно этой платформы...
     
    Последнее редактирование: 7 июл 2020
  16. StDV

    StDV Нерд

    Парни, поклон Вам за сей труд, да еще в открытом доступе!
    Собираюсь строить станцию, потихоньку собираю железо. Планирую низ - галоген, верх - что то типа ELstain 96x96.
    Пару вопросов (пока:)):
    На теплоотводе SSR есть потенциал, или изолирован?
    И какой SCC более приемлем из предложенных в этой теме?
     
  17. SOLOway

    SOLOway Гуру

    Изолирован.
    Тяжко придется с таким - сейчас алгоритм хорошо отточен для управления более отзывчивыми, в плане инерционности, нагревателями.
    Вы про схему контроля перехода сетевого напряжения через ноль (ZCC)? - Для керамики - любая простая - три резистора, диодный мост, PC817C. Для галогенок сверху и снизу - тоже подходит, а вариант revolover более точен и более стабилен во времени, при изменениях напряжения в сети и окружающей температуры.
     
  18. StDV

    StDV Нерд

    Прошу прощения ZCC, запарился. Будьте добры, прицепите ссылку на вариант Revolover.
    Каким например?
     
    Последнее редактирование: 2 апр 2019
  19. Yojiq

    Yojiq Гик

    Это галоген и кварц.
     
  20. Yojiq

    Yojiq Гик

    Меня в последней прошивке все устраивает, тьфу-тьфу пока без эксцессов хотя от этого никто не застрахован.
    Для выявления "ошибки" во время пайки - чем строить сложный алгоритм может на самом деле ввести вторую термопару и по этим показаниям делать анализ ошибки.
    То что ввести второй МК в конструкцию я и имел ввиду отделить от программы дисплейную часть, в принципе мы так-же подключаем комп и заменяем им дисплей станции, да это глобальное изменение конструкции и отход от темы, но если это даст больше возможностей то почему бы и нет.
     
Статус темы:
Закрыта.