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

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

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

    revolover Гик

    Переменная типа байт постоянно содержит цифру 4 (присвоена при объявлении переменной). А это меньше 255.
     
  2. SOLOway

    SOLOway Гуру

    Дошло! :) Видимо, я "ворОн считал", когда читал ваш ответ в предыдущем посте :)
     
  3. revolover

    revolover Гик

    Это был не мой))))
     
  4. SOLOway

    SOLOway Гуру

    :( revolover верно - второй день внимательность не мой конёк :( Наверное, пора в отпуск...
    Тот пост был Dmitrysh и ему тоже большое спасибо!
     
  5. Un_ka

    Un_ka Гуру

    Подскажите как подключать
    NFC RC522 по I2C ?
    Какие библиотеки использовать?
     
  6. SOLOway

    SOLOway Гуру

  7. Mitrandir

    Mitrandir Гуру

    хочет аутентификацию к паяльной станции притаранить. чтоб чужаки не пользовали
     
    SOLOway нравится это.
  8. SOLOway

    SOLOway Гуру

    Leonid0071 Почитал комментарии под вашим вторым видео, которое о программе.
    Общение с Николай Клюев и iMaks RS.
    Попробую повториться здесь и сейчас снова о некоторых особенностях нагревателей, в которых первичный источник тепла (материал, провод с высоким удельным сопротивлением) находится в какой-либо оболочке, например в запеченной глине и т.п..
    Открытую тонкую спираль, висящую в воздухе легко разогреть быстро до нужной температуры, также быстро она и остынет. Это идеальный тип нагревательного элемента для классического ПИД-регулятора по температуре: вбухал напругу через P - пофиксил через D и шлифанул с I-составляющей.
    А если у нас чугунная электроконфорка?
    А если представить всё то многообразие вариантов исполнения таких высокоинерционных грелок?
    Сейчас не про то, что этот ваш проект собирается вами для состояния "ИЗУМИТЕЛЬНО" - искренне надеюсь, все это понимают!
    Когда производитель выпускает в серийное производство аппарат, он закладывает в партлист (BOM) одинаковые, либо 100% совместимые компоненты. Что будет, если попытаться приделать к роботу-пылесосу колёса от байка?
    Ваша конструкция на данном этапе представлена высокоинерционным керамическим преднагревателем и скоро ожидается прибытие такого же высокоинерционного излучателя меньших мощности и площади для верха.
    Возможно, разумно, перед стартом пайки, такие нагреватели немного прогревать, и только после достижения ими некоторой температуры, запускать выполнение основного термопрофиля.
    Попробуем рассмотреть это:
    например, цитата maxlabt по "Pb-":
    Задав на шаге "номер ноль" преднагревателю набрать температуру, скажем, ~50*C, подав в него 100% мощности на "эн" времени, как минимум, сократим время преднагрева и нахождения элементов под воздействием высоких температур. То же касается и управления верхним излучателем: если использовать стандартный ПИД по температуре и примитивный алгоритм пайки "греем низом до икс градусов не превышая 3*С/сек, как нагрели - врубаем верх и греем не превышая 0,7*С/сек до плавления шаров", мы обязательно получим перерегулирование и скАчки... МОЩНОСТИ, подаваемой в верхний излучатель. Увы, это хорошо видно, только если контроллер предусматривает функционал вывода подаваемой в излучатели мощности в реальном времени в виде графиков, параллельно с графиками температур.
     
    Un_ka и Dmitrysh нравится это.
  9. SOLOway

    SOLOway Гуру

    Разделим преднагрев платы на два условных этапа - на первом плата прогревается, примерно до 110*С со скоростью до 3*С/сек, на втором этапе - до, примерно 180*С, со скоростью не выше 1*С.
    Учитывая, что верх у нас тоже очень инерционен, где-то после первого этапа преднагрева полезно включить верх на малой мощности, чтоб исключить в момент перехода с преднагрева на работу верха, подачу в излучатель 100% мощности ПИД-ом по температуре.
    У вас предусмотрен ПИД по скорости - это очень хороший задел!!! Однако он дополнение, но не самоцель. Также, полагаю, имеется важная плюшка - если излучатель не успевает отрабатывать, то контроллер пропускает секунды!!! Это тоже очень и очень полезная фича!!!
    Однако, я веду речь о непревышении времени пайки, регламентируемом производителями чипов.
    Если принять, что разница температур в ~50*C между верхней и нижней плоскостями платы платой легко переносится (это не исключает непревышение скоростей нагрева), то возможным становится параллельное ведение термопрофиля обоими излучателями на этапах вплоть до момента активации флюса, а там уже - ювелирная работа ВИ :).
    --------------------------------------------------------------------------------------------------------------------
    И я видел работу мастеров на ИК-650 ПРО и на отдельных столах и на них с воздухом сверху и в ручном режиме и в стандартной комплектации, не видел только стол с дополнительным каналом контроля температуры (стол с контроллером для пайки по профилю).
    Вы несколько раз вносили изменения в ПО.
    Цитата Leonid0071:
    Есть вот такая реализация

    Прошу прощения за много букв :)
    \
     
    Последнее редактирование: 11 май 2019
  10. SOLOway

    SOLOway Гуру

    Для галогенок подходит принцип "греем низом до икс градусов не превышая 3*С/сек, как нагрели - врубаем верх и греем не превышая 0,7*С/сек до плавления шаров". Для чего-то более инерционного - так не годится.
    Leonid0071 Если есть возможность ввести контроль (пусь даже примитивной схемкой) за переходом напряжения в сети через ноль и использовать этот сигнал в ПО для повышения точности управления передаваемой в излучатели мощности - пожалуйста, не оставьте это без внимания!
    1.jpg

    Плюсом - идейно похожая на вашу система управления с некоторыми правками от пользователя skayp606: тут
     
    Последнее редактирование: 19 сен 2018
    Yojiq нравится это.
  11. Leonid0071

    Leonid0071 Нерд

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

    в моей реализации точность управления зависит только от двух факторов:
    1. Точности термопар
    2. Правильности настройки коэффициентов ПИД (и ПИДу всеравно какие именно нагреватели к нему подключены), а про правильность его настройки я рассказал тут:


    сооответственно про второе (....переходом напряжения в сети через ноль...) вообще не понял - какая взаимосвязь...
     
  12. SOLOway

    SOLOway Гуру

    Например, ПИД "приказал" блоку управления ТЭНами быть включенными 2 секунды. А в схеме твердотельного реле используется ZCC (встроенный в оптосимистор модуль контроля перехода напряжения через ноль). Сколько действительно времени из "приказанных" в нагреватели будет подаваться энергия?
    Если силовая схема не имеет ZCC, т.е. построена на "moc3023 random-phase optoisolator triac driver ", тогда энергия в нагреватели будет подаваться ровно столько времени, сколько действует напряжение лог.1 на входе оптотриака.
    :) Мы старались, грели всю плату, делали это правильно, соблюдая рекомендации и... В самый ответственный момент перекладываем всю полноту ответственности за проведение критической фазы профиля крошечному излучателю сверху над платой... Да не вопрос, если у нас под платой плита из вольфрама, которая полдня остывать будет :). Есть платы с чипами-"бутербродами", где нужно бывает после выхода на уставку преднагрева, но перед непосредственно фазой расплавления шаров, еще чуть-чуть добавить снизу, для избежания вылезания шаров из-под верхних частей того "бутерброда" :).
    Второй важный момент - расположение датчиков! Тепло расходится от эпицентра кругами, чем дальше друг от друга датчики верха и низа, тем меньше вероятность влияния ПИД-а верха на ПИД низа! Если плата маленькая - есть наработанное решение! - устанавливаем датчик низа на расположенной вне зоны действия верха ненужной плате сопоставимой с паяемой размерами! Другой вариант поддержания температуры подогревателя с момента выхода на уставку преднагрева -
    цитата mon:
    Не возражаю. Я про то, что ПИД сказал дать 5, значит надо дать 5. А сейчас, без привязки к переходу через ноль не так!, а вот как: ПИД сказал дать 5, а силовая в ответ - " сколько раз будет ноль в сети, столько раз и переключу ON/OFF за указанные тобой 5!"
     
    Yojiq нравится это.
  13. SOLOway

    SOLOway Гуру

    Угу :) смущала.
     
  14. Leonid0071

    Leonid0071 Нерд

    ---------Не возражаю. Я про то, что ПИД сказал дать 5, значит надо дать 5. А сейчас, без привязки к переходу через ноль не так!,

    эх....
    постораюсь "просто" "на пальцах" пояснить теорию про переход через 0":
    тиристор работая на одной полуволне (а в нашем случае семистор работая на двух полуволнах) открывается управляющим импульсом в некоторый момент фомирования фронта той самой полуволны, а закрывается в момент перехода через ноль, в этот момент времени вторым импульсом открывается второй тиристор (в составе симистора), далее процесс повторяется, причем импульс может быть как одиночным так и сформированным групповым пакетом в зависимости от точности регулирования... и да, чистая правда что импульс может "придти" не в начале полуволны, но...
    у нас в сети 50Гц, соответственно открытие/закрытие отдельно взятого тиристора (в составе симистора) происходит 25 раз в секунду ... а показания с китайской термопары мы считываем 2 раза в секунду + реакция ПИДа со скваженностью 1000 милиСекунд ... (намекаю - эти значения на порядок выше чем смысловая нагрузка учета перехода через 0)
    Итого:
    смысл учета перехода через 0 имеется в случае если:
    1. мы имеем прецизионные элементы для замера процесса (точность термопар сотые доли градуса)
    2. скорость регулирования выше (а лучше на порядок) скорости перехода цикла полуволны (не реже 1/25 секунды)
    3. скорость самого процесса критична к значениям времени перехода (то есть для нас важно состояние температуры каждые 1/20 секунды)

    В нашем случае учет перехода через 0 это то-же, что замер скорости закипания воды в воронке в момент ядерного взрыва ...
     
    Последнее редактирование: 19 сен 2018
  15. Dmitrysh

    Dmitrysh Гуру

    Не 25, а 50 раз в секунду на каждый тиристор или 100 раз на симистор в целом.
    Можно читать и 4 раза, через каждые 220мс.
    Можно разогнать ПИД(и я думаю что это необходимо). Просчитываем ПИД с каждым чтением температуры. Просто какой смысл читать температуру 2 раза в секунду, а ПИД расчитывать 1 раз в секунду?
    Нет стойте, у вас в скетче температура читается через 500мс(2 раза в секунду), а ПИД считаем каждые 250мс(4 раза в секунду), выводим на симисторы в течение 1000мс. В чём смысл?
    Не согласен. Я выставляю 1% мощности нагревателя и имея zcc я получаю этот 1 процент. А в вашем случае будет либо 1% либо 0%. Работать, конечно, будет, но подход как то уж слишком несерьёзный.
    P.S. А видео мне ваше понравилось, спасибо, познавательно.
     
  16. Leonid0071

    Leonid0071 Нерд

    согласен - описался
    а можно и каждую милисекунду - и зачем?

    обоснуйте ... хотя,
    ваше заявление верно на участке времени равном 1/100 секунды (на одной полуволне), а на промежутке 1 секунда - симистор будет гарантировано открыт раз этак 50 с вероятностью 50% (и ради смеха, я посмотрел это осцилографом, хотя и так был уверен)...
    однако, если вам интересно столь точное регулирование то вопросов нет, но это точно не для паяльных станций и китайских датчиков ...
     
  17. SOLOway

    SOLOway Гуру

    Да, эта куча условностей, вызванная погрешностями конкретных узлов станции и добавленных строителем этой станции...
    Понятно, что мы не сможем исправить MAX6675. Попутно, возможно, используя недостаточное количество каналов измерения и их анализ, дешманские термопары, да на длинных проводах, привнесем в каналы измерения дополнительный мусор, не обеспечим должную стабилизацию и амплитуду питалова и Vref... Забудем про кабель-менеджмент и правильную разводку "земель"... Недоработки скетчей, и ПО... А затем будем на уже собранной станции получать сильно разнящиеся показания температур при изменениях мест позиционирования датчиков, да и их положения относительно плоскости замеряемой поверхности (из-за расширения платы при нагреве)...
    Даже у сертифицированных термометров, что техноальянс использует в своей станции, имеем:
    1.jpg
    И LDZ много лет люди используют успешно...
    Итак. Скетчи подправить можем, софт для ПК - можем, внимательно изучить правила позиционирования датчиков - можем, организовать достойную точность Vref и стабильное питание с нужной амплитудой - можем, синхронизировать подачу энергии в излучатели с командами от софта и микроконтроллера - тоже можем. Мы можем довольно много! Действительно ли нужно избегать всей этой оптимизации, к тому же самые высокие затраты в перечне - это софт и скетч!
    Конечно же меня умиляют заявления некоторых продавцов коммерческих станций о точности измерения температуры платиновыми датчиками в десятые доли градуса на их станциях, ибо знать точную температуру в конкретном месте это, конечно, круто, однако это вовсе не даёт исчерпывающей информации о реальных температурах конкретных групп шаров под чипом...
    P.S.: Полезно почитать, в частности п 3.1 и сноски:
     

    Вложения:

    Последнее редактирование: 19 сен 2018
  18. Leonid0071

    Leonid0071 Нерд

    в точку )) вот это и ставит большой крест на всех "изысках" в том числе и на многих дорогих комерческих станциях...

    кстати, хотел спросить где найти/скачать (если есть) даташиты содержащие ограничения на время нагрева и температуры (нагрева) конкретных BGA элементов (хотя-бы по группам основанным на размерности техпроцесса), нет такой инфы?
     
  19. Dmitrysh

    Dmitrysh Гуру

    Так нельзя, я бы очень был рад если бы такое было. Там ограничение 170-220мс по даташиту. Чем чаще мы получаем температуру, тем точнее мы можем регулировать мощность нагревателя.
    Дак а что тут обосновывать. 1% мощности по вашему скетчу это 100мс открытого состояния симистора. Это 5 периодов сетевого напряжения. С вероятностью почти 100% симистор откроется только на 4 полупериода. Погрешность 20% на минимальной мощности и с ростом мощности будет уменьшатся, а с уменьшением расти. Вот и всё обоснование. Не столь критично, на самом деле, но неприятно.

    А что не так с китайскими термопарами? Ну врут. Можно откалибровать.
     
  20. SOLOway

    SOLOway Гуру

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