Уже давно назрел вопрос о том, чтобы ускорить пайку мелких смд компонентов.
Иметь печку я не могу по причине отсутствия места, да и как позже выяснилось, с микро печкой оказалось еще и удобней. Размер устройства всего 13см.
Размер нагревателя 4х4см. Это не много, но для всех моих проектов этого достаточно (не получается у меня делать большие платы с смд компонентами). 😎
Сердце станции - Ардуина Нано и управление температурой при помощи PID:
В качестве дисплея выбран маленький OLED 128x32 пикселей.
Управление устройством при помощи энкодера.
И сама плата, куда всё это собирается разработана в KiCad и можно заказать на OSHPark (3 штуки всего за $7).
Питается приборчик от БП на 12В. По току желательно 4А. Хотя у меня был блок на 1А и тянул (с просадкой конечно). Сейчас на 3А и тоже норм вытягивает. Сижу-пишу и подумал, а чего это я до сих пор не померил, сколько там реально плитка потребляет… 😃
В основном, плитка рассчитана для пайки одной стороны (компонентами вверх). Хотя я и паял двухсторонние. Сначала надо запаять одну сторону. Затем нанести пасту и компоненты на другую и поставить на печку на небольшие проставки, чтобы нижние компоненты не касались плитки. И снова жарить, но поднять температуру градусов на 20. Можно помогать феном. Или если есть паста с разной температурой плавления, то первую сторону делаем с более высокой температурой плавления, а вторую с низкой (но печка должна давать слегка больше тепла, чем предназначено для пасты (ведь плата у нас т.с. в воздухе висит).
Тоже паял платы большего размера, чем печка (на фото первый вариант печки с неудачным креплением термистора)…
Наверно самый ответственный момент в этой печке - размещение термистора.
Самым удачным решением оказалось засунуть его под нагреватель.
То есть, я взял простой коричневый упаковочный картон - 2-3 слоя и обернул его фольгой. По краям обмотал каптон скотчем, чтобы не топорщился.
Затем положил хлопковый (или какой он там) утеплитель от экструдера 3Д принтера.
На утеплитель положил термистор и затем плитку. Всё это прижал согнутыми буквой Г кусочками железного прутка (по-моему его диаметр 1.2мм). Он плотно входит в МДФ основу и плотно прижимает плитку к термистору.
Термистор тоже взял от 3Д принтера (написано, что до 300гр он выдерживает, а нам больше и не надо).
В прошивке предусмотрены два режима - ручной и автоматический.
В ручном режиме просто поддерживается заданная температура. Её можно заранее задать в настройках и записать в постоянную память, а можно менять прямо на ходу. Автоматический режим поддерживает стандартный профиль пайки.
Время и температура настраиваются и хранятся в постоянной памяти, или можно их корректировать на ходу.
Для выпайки определенных компонентов с большой платы, фен вне конкуренции.
Но для пайки мелких smd плат, лучше этой печки я для себя не нашёл.
Удобство в том, что когда руками наносишь паяльную пасту, то она не лежит равномерно, и при запекании, компоненты иногда перекашиваются. Вот как раз в этом случае эта печка незаменима. Можно зубочисткой поправить перекошенные элементы. Феном не так удобно, так как рука занята, да и сдувает иногда компоненты. А в большую закрытую печку вообще не залезть. 😃
Понял, спасибо за науку 😃. А вы какие типоразмеры запаиваете? 0805 или мельче?
В основном 0402 и всякие dfn подобные.
Доброго дня. Понравился Ваш проект, но хочу помощнее собрать, примерно на таком: (не реклама) ru.aliexpress.com/item/…/32789703758.html?src=crit… Вы использовали К-датчик от 3д принтера, в керамический нагреватель по ссылке уже встроен похожий датчик. В связи с этим вопрос: корректно ли будет работать этот датчик, или нужно будет дополнительно настраивать? Управлять включением керамики буду стандартным способом, опторазвязка+симистр, т.е. это не вопрос.
С уважением, Александр
Откуда вы взяли про К-датчик? Буквами обозначают термопары. А в описании написано 100K NTC 3950 - обычный терморезистор. Нет, воткнуть одно вместо другого нельзя.
Кстати, Павел, а не будет удобнее использовать PT100 и подобное? В отличие от терморезистора, у этого линейная характеристика и по идее не должно быть разброса характеристик.
Упс, таки не заметил, что там ntc…
У меня PT1000 стоит в шкафу для запекания карбона. Но PT100 и подобные, если не изменяет память, не имеют достаточного диапазона измерения. Тут надо хотя бы до 250гр. Вечером проверю, какой там у них диапазон…
У термистора 100K NTC 3950 макс диапазон по ДШ -55…+125 градусов. У РТ1000 -60… +200 (но реально работает и до +350)
Но PT100 и подобные, если не изменяет память, не имеют достаточного диапазона измерения. Тут надо хотя бы до 250гр. Вечером проверю, какой там у них диапазон…
RTD нормальные продавцы на али предлагают нескольких классов (точности?), есть до 100 градусов, есть до 400. Сейчас в принтерах пытаются ввести моду на них, вместо терморезисторов. Интерфейсные платы на maxim есть готовые, но в вашем случае наверное практичнее на борту развести.
Про качество ничего не скажу. Так руки и не дошли подключить. Надо либо нормальное питание с контроллера вытаскивать, либо SPI свободный, ни того ни другого нет 😃
@Александр. Те что я использовал - от 3Д принтера. Там нагрев 250-260 это обычное дело. И эти термисторы работают нормально. Продавцы их заявляют до 300гр. Я свою плитку разгонял до 280. Датчик давал адекватные показания.
@Виталий. Спасибо за наводку. Не знал про RTD датчики. Надо будет больше почитать про них.
Я использовал датчик от принтера, потому, что он был под рукой и достаточно миниатюрный. РТ1000 у меня диаметром 5мм. Куда его втыкать в моей печке… 😃
@npcc Мелкие PT100 действительно не в ходу, обычно около d5mm*30мм.
Вот d3mm*10мм. “Принтерные” 15мм, но их под 10 баксов задвигают, маркетинг. Вроде на али мелкие плоские тоже были.
У того же продавца есть PT1000. В принципе заманчиво на нем заколбасить прямое подключение в плечо делителя, без моста и усилителя.
Оказывается мой РТ1000 и есть RTD датчик 😃
Да я его и использую с ардуиной на прямую с резистором 3.2К в плече, в своем термошкафу.
Для повышения точности Ардуины использовал ADC oversampling.
Сейчас глянул код своего термошкафа, там я использовал таблицу. Но смотрю свежим взглядом и вижу, что она там лишняя (данные вполне линейны).
И для этой печки такой точности больше, чем за глаза.
Могу внести в код печки поддержку РТ1000 если кому нужно. Но тестировать мне не с чем. Покупать датчик нет смысла - у меня полно ещё NTC датчиков от принтера. 😃
Павел, ваш контроллер просто меряет температуру и по достижении отключает, или реализована ПИД-регулирование? Просто хочу взять модуль на 400 Вт с К-датчиком, так он (модуль) достаточно инерционный, при отключении еще нагреется градусов на 10-20
Да, регулировка при помощи PID.
Павел, доброго дня. При попытке скомпилить ругается на отсутствующий файл <PID_v1.h> и U8g2lib.h. На гитхабе в Вашем проекте их нет, можете скинуть? И еще вопрос - можно ли переделать код под К-датчик, на МАХ6675? К-датчик просто есть в керамическом нагревателе, хотелось бы его задействовать. И насколько тяжело вообще переделать индикацию под более распространенный экран OLED 128x64 0.96’’ (такой есть в наличии, а Ваш нужно заказывать и ждать месяц)?
Сам спросил, сам ответил 😃 Библиотеки скачал стандартные, с ними все скомпилировалось. При подключении дисплея 128х64 картинка просто растягивается по вертикали, и выглядит тоже отлично. Вопрос остался по переделке кода на К-датчик с преобразователем на МАХ6675
Алексей, посмотрите у меня на гите проект фена. Там как раз К датчик заведен на максовскую микросхему. В принципе перенести код датчика с фена в печку не трудно. На днях постараюсь глянуть. Но вам тестировать 😃
Ой… Сейчас глянул, а в фене у меня MAX31855. Надо будет погуглить, что за чип у вас…
Не проще термопару заменить на RTD? На али можно любые размеры подобрать. Или взять первую попавшуюся и через термопасту посадить.
Мне тоже больше нравятся RTD или NTC датчики. Их можно подключать напрямую без дополнительного чипа.
Кстати я мельком глянул МАХ6675. Он очень похож на MAX31855. Там другая разрядность получаемого результата. Так что можно будет просто перенести код из фена и считывать меньше бит.
Добавил поддержу обоих МАХ-ов. Надо #define-ом указать, под какой сенсор компилировать. Пины для подключения чипа:
7 - SCK_PIN
8 - CS_PIN
9 - DO_PIN
Павел, спасибо!
А на 220v подобные нагреватели реально использовать?
сильно ли у них греется задняя часть?
будут ли проблемы из-за горбатой поверхности?
или из-за неравномерного прогрева (если он есть)?
Вроде под датчик там есть круглая дырка в центре.
Я как-раз на таком (только с К-датчиком) и собираю 😃 Такие нагревалки стоят в китайских ИК-станциях, и вроде даже работают 😃
Интересуют подробности, в основном как там задница и боковины греются. Хочется более красивый конструктив придумать.
Самое тупое, что пришло в голову - напечатать коробку без крышки, а крышку вырезать из пластины PEI. И в крышке по центру дырку под хвост нагревателя.Но смотреться будет как локатор. Хотелось бы целиком утопить. И PEI дорогой, хотя можно из него не всю крышку а только накладку в центр наверное.
Во, нашел бакелит на али, нагреватель крепить. До 300 градусов.
Павел, доброго дня. Не могу разобраться с проблемой: 1) вхожу в режим рег-ки пидов длинным нажатием. После этого перехожу на строку “сохранить и выйти”, нажимаю на энкодер, возникает надпись “Saving…” и все - зависает проц. Только передергиванием питания или ресетом. Также зависает при длительном( 2 сек и больше) нажатии на энкодер, когда внутри меню в автом(или ручном) режиме. Код компилится нормально (компилю в последней ардуино найт), после elf. заливаю через атмел студио. Т.е. что делаю не так, не могу понять… Или, как вариант, можете мне скинуть рабочий хекс для проверки?
Проблема в ардуине. В ней кривой бутлоадер. Для этого случая у меня в прошивке есть #define SOFTRESET. разкомментируйте его и всё заработает.
Я свои ардуинки по получению сразу перешиваю на optiboot. У него эта проблема исправлена.
О, спасибо. Я вообще бут не юзаю (знаю о кривизне), сразу прошку заливал в камень из AS. Сегодня раскоментирую и залью. Еще раз спасибо Вам, Павел!
Павел, доброго дня. Перешел на макс6675, компилю последней едешкой, но получаю варнинг:
eeprom.ino:3:10: note: in expansion of macro ‘constrain’
warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
#define constrain(amt,low,high) ((amt)<(low)?(low)😦(amt)>(high)?(high):(amt)))
При этом код компилится, но макс ни в какую не видится. На SCK нет строба, смотрю осциллом с момента включения (т.е. на физическом выводе 11 атмеги328). Что-то можете по этому поводу подсказать?
nppc. Спасибо Вам за разработку.
Повторил данное устройство с датчиком NTC, так как данный датчик в стекле он имеет инертность и рабочею температуру до 270 градусов. Делаю для оплавления паяльно пасты (не хватает рабочей температуры, большая инертность, перебег. Использую нагреватель низа 120*60мм 500W) решил использовать термопару.
Подключил датчик МАХ6675, скетч HeaterControlV2. Arduino 1.8.5
в коде закоментировал NTC и подключил MAX6675
//#define MAX31855
#define MAX6675
//#define NTC // using Temperature table
Записалось в Ардино без ошибок, на дисплеи 0 градусов. На изменения температуры не реагирует.
Пробовал на базе этой схеме тестовый скейтч от MAX6675 library (by Adafruit версия 1,0,0) /serialthermocouple с выводом в информации на терминал (ноги переназначил), MAX6675 работает коректно.
Подскажите что я делаю не так. Спасибо.
nppc. Спасибо Вам за разработку.
Повторил данное устройство с датчиком NTC, так как данный датчик в стекле он имеет инертность и рабочею температуру до 270 градусов. Делаю для оплавления паяльно пасты (не хватает рабочей температуры, большая инертность, перебег. Использую нагреватель низа 120*60мм 500W) решил использовать термопару.
Подключил датчик МАХ6675, скетч HeaterControlV2. Arduino 1.8.5
в коде закоментировал NTC и подключил MAX6675
//#define MAX31855
#define MAX6675
//#define NTC // using Temperature table
Записалось в Ардино без ошибок, на дисплеи 0 градусов. На изменения температуры не реагирует.
Пробовал на базе этой схеме тестовый скейтч от MAX6675 library (by Adafruit версия 1,0,0) /serialthermocouple с выводом в информации на терминал (ноги переназначил), MAX6675 работает коректно.
Подскажите что я делаю не так. Спасибо.
Нужно подтянуть к + через 10к два вывода MAX6675 SCK, CS. Как на схеме в другом проекте автора github.com/nppc/…/Schematic.pdf
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"39c21abc3df9550077797d18":{"_id":"39c21abc3df9550077797d18","hid":349,"name":"Vitaly","nick":"Vitaly","avatar_id":null,"css":""},"45a734c83df9550077786db5":{"_id":"45a734c83df9550077786db5","hid":19680,"name":"nppc","nick":"nppc","avatar_id":null,"css":""},"4aa699843df955007776a487":{"_id":"4aa699843df955007776a487","hid":53341,"name":"Andrew1978","nick":"Andrew1978","avatar_id":null,"css":""},"4fb654ce3df9550077744420":{"_id":"4fb654ce3df9550077744420","hid":119583,"name":"alezalez","nick":"alezalez","avatar_id":null,"css":""},"564f82243df95500777171f6":{"_id":"564f82243df95500777171f6","hid":240538,"name":"Fox1024","nick":"Fox1024","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"5a704f459970730077117973","hid":23245,"title":"uReflow - микро паяльная станция для СМД монтажа","html":"<p>Уже давно назрел вопрос о том, чтобы ускорить пайку мелких смд компонентов.<br>\nИметь печку я не могу по причине отсутствия места, да и как позже выяснилось, с микро печкой оказалось еще и удобней.<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member19680/media/5a6f43069970730077ffbcf2\" target=\"_blank\" data-nd-media-id=\"5a6f43069970730077ffbcf2\" data-nd-image-orig=\"https://rcopen.com/member19680/media/5a6f43069970730077ffbcf2\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5a6f43069970730077ffbcf2_sm\" alt width=\"170\" height=\"150\"></a> Размер устройства всего 13см.<br>\nРазмер нагревателя 4х4см. Это не много, но для всех моих проектов этого достаточно (не получается у меня делать большие платы с смд компонентами). <span class=\"emoji emoji-sunglasses\" data-nd-emoji-src=\":sunglasses:\">😎</span></p>\n<!--cut-->\n<p>Сердце станции - Ардуина Нано и управление температурой при помощи PID:<br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member19680/media/5a6f43069970730077ffc2bc\" target=\"_blank\" data-nd-media-id=\"5a6f43069970730077ffc2bc\" data-nd-image-orig=\"https://rcopen.com/member19680/media/5a6f43069970730077ffc2bc\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5a6f43069970730077ffc2bc_sm\" alt width=\"170\" height=\"150\"></a><br>\nВ качестве дисплея выбран маленький OLED 128x32 пикселей.<br>\nУправление устройством при помощи энкодера.<br>\nИ сама плата, куда всё это собирается разработана в KiCad и можно заказать на OSHPark (3 штуки всего за $7).</p>\n<p>Питается приборчик от БП на 12В. По току желательно 4А. Хотя у меня был блок на 1А и тянул (с просадкой конечно). Сейчас на 3А и тоже норм вытягивает. Сижу-пишу и подумал, а чего это я до сих пор не померил, сколько там реально плитка потребляет… <span class=\"emoji emoji-smiley\" data-nd-emoji-src=\":smiley:\">😃</span><br>\n<a class=\"attach attach-img attach__m-sm\" href=\"https://rcopen.com/member19680/media/5a6f43069970730077ffb716\" target=\"_blank\" data-nd-media-id=\"5a6f43069970730077ffb716\" data-nd-image-orig=\"https://rcopen.com/member19680/media/5a6f43069970730077ffb716\" data-nd-image-size=\"sm\"><img class=\"attach__image\" src=\"https://rcopen.com/files/5a6f43069970730077ffb716_sm\" alt width=\"170\" height=\"150\"></a></p>\n<p>В основном, плитка рассчитана для пайки одной стороны (компонентами вверх). Хотя я и паял двухсторонние. Сначала надо запаять одну сторону. Затем нанести пасту и компоненты на другую и поставить на печку на небольшие проставки, чтобы нижние компоненты не касались плитки. И снова жарить, но поднять температуру градусов на 20. Можно помогать феном. Или если есть паста с разной температурой плавления, то первую сторону делаем с более высокой температурой плавления, а вторую с низкой (но печка должна давать слегка больше тепла, чем предназначено для пасты (ведь плата у нас т.с. в воздухе висит).</p>\n<p>Тоже паял платы большего размера, чем печка (на фото первый вариант печки с неудачным креплением термистора)…<br>\n<span class=\"image\" style=\"width: 1912px\" data-nd-image-orig=\"https://static.rcgroups.net/forums/attachments/1/4/2/6/5/0/a10689534-10-IMG_20180129_190300.jpg\"><img src=\"https://static.rcgroups.net/forums/attachments/1/4/2/6/5/0/a10689534-10-IMG_20180129_190300.jpg\" alt referrerpolicy=\"no-referrer\"><span class=\"image__spacer\" style=\"padding-bottom: 78.5042%\"></span></span></p>\n<p>Наверно самый ответственный момент в этой печке - размещение термистора.<br>\nСамым удачным решением оказалось засунуть его под нагреватель.<br>\nТо есть, я взял простой коричневый упаковочный картон - 2-3 слоя и обернул его фольгой. По краям обмотал каптон скотчем, чтобы не топорщился.<br>\nЗатем положил хлопковый (или какой он там) утеплитель от экструдера 3Д принтера.<br>\nНа утеплитель положил термистор и затем плитку. Всё это прижал согнутыми буквой Г кусочками железного прутка (по-моему его диаметр 1.2мм). Он плотно входит в МДФ основу и плотно прижимает плитку к термистору.<br>\n<span class=\"image\" style=\"width: 1856px\" data-nd-image-orig=\"https://raw.githubusercontent.com/nppc/Heater12VControl/master/Images/HeatingPlateInsulation.jpg\"><img src=\"https://raw.githubusercontent.com/nppc/Heater12VControl/master/Images/HeatingPlateInsulation.jpg\" alt referrerpolicy=\"no-referrer\"><span class=\"image__spacer\" style=\"padding-bottom: 42.3491%\"></span></span></p>\n<p>Термистор тоже взял от 3Д принтера (написано, что до 300гр он выдерживает, а нам больше и не надо).</p>\n<p>В прошивке предусмотрены два режима - ручной и автоматический.<br>\nВ <strong data-nd-pair-src=\"**\">ручном режиме</strong> просто поддерживается заданная температура. Её можно заранее задать в настройках и записать в постоянную память, а можно менять прямо на ходу.<br>\n<strong data-nd-pair-src=\"**\">Автоматический режим</strong> поддерживает стандартный профиль пайки.<br>\n<span class=\"image\" style=\"width: 1711px\" data-nd-image-orig=\"https://raw.githubusercontent.com/nppc/Heater12VControl/master/Images/ReflowTempProfile.jpg\"><img src=\"https://raw.githubusercontent.com/nppc/Heater12VControl/master/Images/ReflowTempProfile.jpg\" alt referrerpolicy=\"no-referrer\"><span class=\"image__spacer\" style=\"padding-bottom: 54.3542%\"></span></span><br>\nВремя и температура настраиваются и хранятся в постоянной памяти, или можно их корректировать на ходу.</p>\n<div class=\"ez-player ez-domain-youtube_com ez-block\" data-placeholder=\"<iframe class="ez-player-frame" src="https://www.youtube.com/embed/EwUzoRUYX4U?feature=oembed&amp;autoplay=1" allowfullscreen></iframe>\" data-nd-link-orig=\"https://youtu.be/EwUzoRUYX4U\" data-nd-link-type=\"linkify\">\n <div class=\"ez-player-container\" style=\"padding-bottom: 75%;\">\n <a class=\"ez-player-placeholder\" target=\"_blank\" href=\"https://youtu.be/EwUzoRUYX4U\" rel=\"nofollow\">\n <div class=\"ez-player-picture\" style=\"background-image: url('https://i.ytimg.com/vi/EwUzoRUYX4U/hqdefault.jpg');\"></div>\n \n <div class=\"ez-player-header\">\n <div class=\"ez-player-title\">\n uReflow - soldering uESC\n </div>\n </div>\n \n <div class=\"ez-player-button\"></div>\n <div class=\"ez-player-logo\"></div>\n \n </a>\n </div>\n</div>\n<p>Больше информации можно найти на <a href=\"https://github.com/nppc/Heater12VControl\" class=\"link link-ext\" data-nd-link-orig=\"https://github.com/nppc/Heater12VControl\" target=\"_blank\" rel=\"nofollow noopener\">GitHub</a>.</p>\n","user":"45a734c83df9550077786db5","ts":"2018-01-30T10:56:05.000Z","st":1,"cache":{"comment_count":35,"last_comment":"5e31f233997073007711eeff","last_comment_hid":35,"last_ts":"2020-01-29T20:59:31.000Z","last_user":"564f82243df95500777171f6"},"views":4295,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}