Паялка на Arduino c 2xПИД или всем любителям паять прожектом

Leonid0071
09/09/2018 11:26
Простой и дешевый (если не самый дешевый) вариант паяльной станции с двумя независимыми ПИД регуляторами, возможностью плавного выхода на заданную температуру, удержанию ее в течении заданного времени или работы по "профилю".
Дешевизна станции обусловлена использованием компьютера в качестве ПИД контроллера.

Про проект (пока только софт, программа и сборка):
https://www.youtube.com/watch?v=sCE5lWoD3ZA

Программа показанная в видео (дорабатана 01102018, уточнены задержки в работе с COM портом, обновлены добавленные ранее графики, уточнено регулирование, добавлена защита от "отвала" термопары, добавлены звуки):
https://my-files.ru/is58s0
парольна архив: 12345

Про ПИД регулирование и настройку ПИД регуляторов:
https://www.youtube.com/watch?v=sCE5lWoD3ZA

В следующей части (как приедет голова из китая) будет непосредственно про пайку.

Leonid0071
25/09/2018 19:22
Третья часть (пробы различных нагревателей и про BGA реболлинг):
https://www.youtube.com/watch?v=FENKxzSuGdc

Leonid0071
03/10/2018 19:25
Четвертая часть - продолжение сравнения верхних нагревателей
https://www.youtube.com/watch?v=E2gEj-DKhSg

Leonid0071
06/11/2018 18:26
Пятая часть (про PC 410) для сравнения вариантов конструкций
https://www.youtube.com/watch?v=T38ZQP5Rtjk

Leonid0071
23/11/2018 09:34
Обновление программы управления станцией.
+ Добавлена "выдержка" по времени на каждый период пайки по профилю (по аналогии с P410)

Leonid0071
23/11/2018 19:40
Просто про технологию пайки BGA:
https://www.youtube.com/watch?v=G6Ggh0gLg7Q

Leonid0071
23/12/2018 10:15
Программа обновлена до версии 22122018
https://my-files.ru/zj75kj
пароль 12345

+ дообавлена возможность отключения компьютера после завершения работы таймера нижнего нагревателя (для обеспечения процесса сушки)

Buivol135
27/12/2018 23:16
Кнопочкой типа Р её бы вывести

Leonid0071
30/12/2018 19:13
и что эта кнопка будет делать?
сейчас устанавливаем параметры-> ставим/не ставим галочку выключения компа -> запускаем таймер...

Leonid0071
01/03/2019 20:00
Следующая часть примеров:
https://www.youtube.com/watch?v=Gc0_RseUgOc&t=4s

Балабол
07/04/2019 14:16
Leonid0071,
Коллега, зарегался что бы написать вам отзыв. Не уверен, можно ли в этой теме, поправите, если не прав.
Собрал сетап по вашим ссылкам.
Датчики ведут себя странно.
В начале (около 25 град) они показывают нормально. Ближе к 200 врут уже, показывают на 25 град. меньше.
Это я выяснил как другими датчиками TM-902C, так и моментом расплавления припоя.
Если в программе указать ошибку в 25 градусов, то начинается какая-то фигня с логикой. Очевидно, программа не может адекватно реагировать на этот параметр, лампа начинает хаотично моргать. Просьба проверить данную часть логики, если есть возможность.
Так что пока пришлось просто понизить в конфиге все цифры на 25, и сразу всё запаялось хорошо.
Есть ещё один плавающий баг с тем, что конфиг почему-то не читается, и цифры выставляются дефолтные (ИНОГДА!). Помогает кнопка переключения программ на 2, скажем, и потом обратно на 1, тогда уже подхватывается то, что в конфиге.

Так же есть нюанс, если датчиком докоснуться до металлической поверхности, он начинает показывать какую-то ерунду. И ещё заметил, что в некоторых случаях они показывают ерунду, но помогло это вылечить соединив их экраны вместе. Хотя они ни к чему не присоединены. Не уверен, можно ли эти экраны к минусу подвесить, или надо на землю бросать? Загадка.

Спасибо за поддержку этой программы в любом случае!!!
Это очень круто!

Umka2019
07/04/2019 22:30
Балабол, Как вариант, у вас что то гуляет по общей шине. надо смотреть что и где. Заканчиваем сборку по данному проекту, ждем кварц. нагреватель для верха, вместо термовоздушного. Автору респекс, за проделанную работу. классно!

Балабол
08/04/2019 17:26
Umka2019,
Что у меня гуляет? улыбка Нет никакой общей шины. Есть плюс и минус (на датчики).
Металлический экран не подключен вообще.
Вот и думаю, куда его правильно подвесить бы...

А то, что с датчиков приходит фигня, я сразу понял ещё на этапе макетки. Даже пробовал подключать свои датчики с этой маленькой платке и просто выводил через ардуину показания. Показывает ниже чем есть на самом деле. Обе платы.
Вот если бы был какой-то режим калибровки по трём точкам или типа того ... может удалось бы получше сделать. Может попробую заказать другие датчики, кстати. Вдруг нормальные будут.

Umka2019
08/04/2019 22:13
очередной краснодеревщик. и любитель мебели. На все вопросы можно найти ответ, покурив соответствующие разделы и ресурсы.

Балабол
09/04/2019 14:28
Umka2019,
Приму это как комплимент улыбка
Я не в россии, тут металл стоит безумных денег, да и обрабатывать его сложнее дома. Поэтому выбрал такой вариант.
После прогрева верхней головы стало ясно, что тут только металл, горячая ппц.
Вот вам ещё пару.

Leonid0071
10/04/2019 07:33
Балабол писал:
Leonid0071,
1. В начале (около 25 град) они показывают нормально. Ближе к 200 врут уже, показывают на 25 град. меньше.

2. Если в программе указать ошибку в 25 градусов, то начинается какая-то фигня с логикой. Очевидно, программа не может адекватно реагировать на этот параметр, лампа начинает хаотично моргать. Просьба проверить данную часть логики, если есть возможность.

3. Есть ещё один плавающий баг с тем, что конфиг почему-то не читается, и цифры выставляются дефолтные (ИНОГДА!). Помогает кнопка переключения программ на 2, скажем, и потом обратно на 1, тогда уже подхватывается то, что в конфиге.

4. Так же есть нюанс, если датчиком докоснуться до металлической поверхности, он начинает показывать какую-то ерунду. И ещё заметил, что в некоторых случаях они показывают ерунду, но помогло это вылечить соединив их экраны вместе. Хотя они ни к чему не присоединены. Не уверен, можно ли эти экраны к минусу подвесить, или надо на землю бросать? Загадка.


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

1. Видел такое на третьей станции и у себя после полутора месяцев работы (у меня вообще температуры, периодически до 500-700 градусов скакать начали после полутора месяцев работы ... ) - вылечилось заменой термопар ...
Вообще обратил внимание, что китайские термопары "не живут" больше полутора - двух месяцев интенсивной пайки ...
2. Такой баг - не видел, попробуйте указать величину коррекции через файл настроек написав -25 (или 25) в следующей строке после
//температура коррекции датчика верха от 99 до -99 градусов
там единственный ньюанс, что нельзя писать дробные цифры
3. Такое может быть только в том случае если в файле конфига - ошибка в каком-то параметре ... ну или не читается файл (правда таких ошибок я ниразу не видел)
4. то-же, что и пункт №1

Балабол
12/04/2019 00:48
Leonid0071 писал:
я тут не очень часто бываю ...


А где вы бываете? Куда вам лучше писать, что бы и все видели? Т.к. инфа, думаю, всем будет интересна...
С датчиками странная штука. Мне кажется, не столько сами термопары глючат, сколько мозги датчиков. Ибо я подсоединял свои термопары, которые нормально показывают, и результат такой же. В общем, я сейчас с этим разбираюсь как раз.
7 градусов показывает нормально. 24 тоже, вместо 100 показывает около 90
Вместо 200 - 180, но к 400 уже около 385 было. В общем, нелинейная фигня, видимо, надо в скетч вносить рассчёт погрешности.

Балабол
12/04/2019 12:18
Пока добавил такие строки в код, что бы с датчиков приходили нужные цифры.

// считаем, что датчики врут одинаково пока
int RawLow = 0; // измеренная температура датчика около нуля (лёд)
int RawHigh = 90; // измеренная температура кипения воды
int t_top_raw; // сырое значение с датчика температуры верха
int t_bottom_raw; // сырое значение с датчика температуры низа

// проводим замеры температур
if (Time > TimeMax1 + 500) {
t_top_raw = thermocouple_top.readCelsius();
t_top = (t_top_raw - RawLow) * 100 / (RawHigh - RawLow);
TimeMax1 = millis();
}
if (Time > TimeMax2 + 500) {
t_bottom_raw = thermocouple_bottom.readCelsius();
t_bottom = (t_bottom_raw - RawLow) * 100 / (RawHigh - RawLow);
TimeMax2 = millis();
}

Использовал формулу из инета, только вместо измеренных значений эталонным термометром сразу ставлю 0 и 100.

Цитирую:
Здесь я опишу калибровку используя две крайние точки диапозона температуры, например замерзание воды и кипения без учета атмосферного давления, тоесть дипазон от ~0 до ~100 градусов

Для выполнения калибровки датчика температуры по двум крайним точкам :
Возьмите два измерения с вашим датчиком: один возле нижнего конца диапазона измерения и один возле верхнего конца диапазона измерения .
Запишите эти показания как "RawLow" и "RawHigh"
Повторите эти измерения с эталонным(калиброванным) прибором . Запишите эти показания как "ReferenceLow" и "ReferenceHigh"
Рассчитать "RawRange" = RawHigh - RawLow .
Рассчитать "ReferenceRange" = ReferenceHigh - ReferenceLow
В вашем коде посчитайте правильное значение "CorrectedValue" используя формулу ниже:
CorrectedValue = ((( RawValue - RawLow ) * ReferenceRange ) / RawRange ) + ReferenceLow

Umka2019
15/05/2019 10:23
Зачем лезть в дебри скрипта, если причина совсем в другом. В этой будке "гласности" и скворечнике нет элементарного, общей земляной шины. Вот и проносится всякая срань суммируясь с полезным сигналом. Прислали одесситы ИК для верха, выполнен по малански, но работает. Хабы по профилю плохо слазят, только с хорошо прогретым низом. Вообщем работает эта кухня, сейчас правка конфигов под данное железо.

cl0ck
26/06/2019 19:11
Друзья, при здешней прошивке лампы станции просто светятся (и верх и низ) программа ни как не реагирует, но при этом другой проект отрабатывает прекрасно https://mysku.ru/blog/aliexpress/47529.html, чтож делать то куда капать? Благодарю!

Балабол
20/11/2019 14:03
cl0ck, и все остальные, автор тут не отмечается. Да и забил на проект, так что продолжение этой интереснейшей темы там:

http://forum.amperka.ru/threads/%D0%98%D0%9A-%D0%BF%D0%B0%D1%8F%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D0%B0%D0%BD%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0-arduino-mega-2560-%D0%94%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D1%81%D0%BA%D0%B5%D1%82%D1%87%D0%B0-ars_v2_lilium_jsn.10176/

Umka2019
10/02/2020 11:30
по этой ссылке почти 200 стр. ни о чем. каждый что то свое строчит, и каждый свое хвалит. Советую выбрать наиболее повторяемую констукцию, и делать, пробовать, експериментировать. меньше болтовни. Что касается проэкта в этом посте, абсолютно законченая и работоспособная станция. в эксплуатации с момента изготовления.

CROU
23/02/2020 16:44
Leonid0071, может датчики температуры заменить на такие же как в термопро,раз у К типа кроме цены ничего привлекательного?

SashaPenrov
01/04/2020 09:46
Umka2019, Добрый день. Можно более подробно о конструкции верхнего нагревателя? и пару слов о всех остальных узлах. улыбка

Umka2019
02/04/2020 12:45
за основу взяты остатки от фотоувелечителя Юность-М кажется. Верх, представляет трубу из нержавейки д.42 мм произвольной длины, проточеной до 40мм, чтобы использовать и термо фен в одном хомуте. Один конец расклешон на 2 полосы под уголок с отверстием для крепления нагревателя. Второй конец, эбонитовая заглушка с сетевым конектором. Нагреватель кварцевый 80*62 мм, Р 450 вт. Куплен здесь https://rav.com.ua/catalog/kvartsevye/qp1-3-kvartsevy-infrakrasnyy-izluchatel-80kh62-mm/ Если присмотрется, то можно заметить не соответствие внешнего вида товара. Гомно редкое, выполнено из нерж. жестянки 0,5 мм, после 2 мес. работы потерял плоскость в нижней части, можно выровнять руками. по уму это надо скрепить точечной сваркой. руки не доходят. Не советую покупать. благо цена не большая 450 грн.
Низ мобилен, ни к чему не привязан механически, можно вертеть вниз вверх. корпус из нерж. от монитора банкомата, внутри блюдо от сетевого свича, в нем патроны, лампы, низ застелен пищевой фольгой. все просто. Немного слабоват, требует доработки на 9 шт по 1,5 кВт.
Все хозяйство размещено в корпусе совкового паяльника 24в. Транс 60вт, 24в, ШИМ на 555 таймере для паяльника. Термостат на STM8+индик для работы низа без ПК. Ардуинка УНО, 2 АЦП+К-тип. 2 твердотелки, точнее нечто свое.
Удивляют товарищи, которые лепят в свои конструкции тверд.тел. реле на 40 гомно-китай ампер!!!!
Здесь твердотелка 3Ф, 25А, заменен триак и удален 1 опто-драйвер. (в 3Ф их 2 шт. последовательно)
Для управления верхом и вовсе 600 триак, опто, обвязка, и все это на макетке в термо усадке чуть меньше пальца. По работе замечаний нет. иногда верх инерционно закидывает темп. на 5..7 гр. не существенно.



SashaPenrov
05/04/2020 10:30
Добрый день. Компактная получилась конструкция. А симистор управления верхом не перегревается? И если не затруднит скрин графика работы по профилю на безсвинце. улыбка

SHAPSHNIKOV-69
05/04/2020 14:22
Umka2019, Фото верха можешь показать?

Umka2019
06/04/2020 15:24
SashaPenrov, незнаю, я голышом триак не включал. для него уготовлено место на боковой стенке, через термо прокладку прикручен двумя "потай" винтами М3. Чтобы не плодить, графики добавил в фото-ряд.
SHAPSHNIKOV-69, фото в конце первой страницы, и в кратком описании.

SashaPenrov
27/05/2020 09:03
Позвольте понизить градус конфликта, простым вопросом.
Umka2019, Как обьяснить одиночные всплески и неравномерность графиков температур?

Umka2019
27/05/2020 10:44
SashaPenrov, я привел примеры рабочих графиков, что то здесь коментировать нет желания.
берите этого бомжа под мышки и изучайте раздел в шапке этого форума. 200 стр.
если вы в начале пути, тогда прислушайтесь к рекомендациям автора проекта.
если активный пользователь, тогда мои графики вам на фиг не нужны.
одиночный всплеск, --- баг термопары, длинный юсб шнур, отсутствие заземления, можно просто записать в загадки.
шероховатость графика низа, --- здесь может быть все что угодно, начиная от малого кол. ламп, дискретного управления, до величины проходящей мимо задницы.
надеюсь обьяснил.

Kassiopay
10/08/2020 10:11
Всех приветствую! Скажите а исходников программы под Виндовс ни у кого не осталось?

Leonid0071
10/08/2020 12:02
Ссылка на исходники в описании этого ролика:
https://www.youtube.com/watch?v=E2gEj-DKhSg&list=PLJ1YPXoM_BzWV-Z7Csv4WUm-mzmUgkxxd&index=5

netdemon
13/04/2021 09:23
Buivol135 писал:
Кнопочкой типа Р её бы вывести


Здравствуйте. Не могли бы выложить файлы в другой файлообменник. Например гугл или яндекс.

MONIKYS
20/09/2021 19:53
Здравствуйте. В Ютубе автор не отвечает. С AVRами не дружуБ был опыт неудачного их программирования, фьюзы, и мертвый камушек. Интерес к STM32. Сначала с самой программой. Если автор не против, изменил кое что. Исправил зависание программы при выходе, Убрал фиксированный СОМ порт, добавил автоматическое определение СОМ порта и списком возможных. Подключение к STM32 по USB, в режиме СОМ, удобно, контроллер позволяет. ПИД на таймерах, детектор Нуля (может быть и ловля блох, но мощность нагревателя регулируется довольно таки хорошо, нет мерцаний ламп).
Теперь проблемки. В программе, в диагностическом окне, от контроллера получаю данные температур и пр. В этом окне Команды верх и низ вместо символов выводятся числа, коды этих символов.

Если у кого зависает при закрытии проги в файле Form1.cs, строка 343 - Invoke заменить на BeginInvoke

Connectlabel.BeginInvoke(new Action(() =>
{
Connectlabel.BackColor = Color.DarkBlue;
}));

liveinternet.ru RadioTOP Rambler's Top100 –ейтинг@Mail.ru