Паялка на 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 |
Приветствую, я тут не очень часто бываю ... пронумеровал Ваши вопросы, что-бы проще отвечать. Начну с пары слов "в общем", я сам за время с первого поста собрал (для разных людей уже 4 такие "станции"), поэтому некоторая статистика есть ... по порядку: 1. Видел такое на третьей станции и у себя после полутора месяцев работы (у меня вообще температуры, периодически до 500-700 градусов скакать начали после полутора месяцев работы ... ) - вылечилось заменой термопар ... Вообще обратил внимание, что китайские термопары "не живут" больше полутора - двух месяцев интенсивной пайки ... 2. Такой баг - не видел, попробуйте указать величину коррекции через файл настроек написав -25 (или 25) в следующей строке после //температура коррекции датчика верха от 99 до -99 градусов там единственный ньюанс, что нельзя писать дробные цифры 3. Такое может быть только в том случае если в файле конфига - ошибка в каком-то параметре ... ну или не читается файл (правда таких ошибок я ниразу не видел) 4. то-же, что и пункт №1 |
||
Балабол 12/04/2019 00:48 |
А где вы бываете? Куда вам лучше писать, что бы и все видели? Т.к. инфа, думаю, всем будет интересна... С датчиками странная штука. Мне кажется, не столько сами термопары глючат, сколько мозги датчиков. Ибо я подсоединял свои термопары, которые нормально показывают, и результат такой же. В общем, я сейчас с этим разбираюсь как раз. 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 |
Здравствуйте. Не могли бы выложить файлы в другой файлообменник. Например гугл или яндекс. |
||
MONIKYS 20/09/2021 19:53 |
Здравствуйте. В Ютубе автор не отвечает. С AVRами не дружуБ был опыт неудачного их программирования, фьюзы, и мертвый камушек. Интерес к STM32. Сначала с самой программой. Если автор не против, изменил кое что. Исправил зависание программы при выходе, Убрал фиксированный СОМ порт, добавил автоматическое определение СОМ порта и списком возможных. Подключение к STM32 по USB, в режиме СОМ, удобно, контроллер позволяет. ПИД на таймерах, детектор Нуля (может быть и ловля блох, но мощность нагревателя регулируется довольно таки хорошо, нет мерцаний ламп).
Теперь проблемки. В программе, в диагностическом окне, от контроллера получаю данные температур и пр. В этом окне Команды верх и низ вместо символов выводятся числа, коды этих символов. Если у кого зависает при закрытии проги в файле Form1.cs, строка 343 - Invoke заменить на BeginInvoke Connectlabel.BeginInvoke(new Action(() => { Connectlabel.BackColor = Color.DarkBlue; })); |