То, что реле срабатывает от тока с ноги ардуины еще не говорит, что именно так реле и нужно подключать. Во первых, в момент включения на внутренних цепях питания ардуины будет просадка напряжения, которая при совпадении некоторых условий может просто перегруизить беднягу. Но еще хуже процессы происходят, когда напряжение с реле снимается. Вся энергия, запасенная в виде магнитного поля в катушке, не может исчезнуть в никуда и при снятии напряжения эта энергия в форме тока противоположного направления попрет обратно в ардуину. Причем, напряжение при этом может оказаться выше в несколько раз, чем до этого поступало от ардуины. Каждое размыкание реле для ардуины будет занчиваться тем, что он будет получать разряды 10-15 вольт в пятивольтовую ногу. Сдохнет ли он при этом сразу или еще помучается перед смертью, вопрос безусловно интересный, но, мне кажется, вы несколько с иными целями всем этим занимаетесь.
То, что реле срабатывает от тока с ноги ардуины еще не говорит, что именно так реле и нужно подключать. Во первых, в момент включения на внутренних цепях питания ардуины будет просадка напряжения, которая при совпадении некоторых условий может просто перегруизить беднягу. Но еще хуже процессы происходят, когда напряжение с реле снимается. Вся энергия, запасенная в виде магнитного поля в катушке, не может исчезнуть в никуда и при снятии напряжения эта энергия в форме тока противоположного направления попрет обратно в ардуину. Причем, напряжение при этом может оказаться выше в несколько раз, чем до этого поступало от ардуины. Каждое размыкание реле для ардуины будет занчиваться тем, что он будет получать разряды 10-15 вольт в пятивольтовую ногу. Сдохнет ли он при этом сразу или еще помучается перед смертью, вопрос безусловно интересный, но, мне кажется, вы несколько с иными целями всем этим занимаетесь.
Ваш большой опыт крайне интересен, правда... Я в свои 37 полный делитант. Могу хорошо читаь по анг-ски, смотреть как "там" делают "обвязку" ардуины. За плечами есть школа "закона Ома", но очень глубоко не суюсь.
Помоему (ИМХО) здесь идет обсуждение моментов, в которых я увы не силен, поэтому НУЖНО тыркать меня носом.
Тыкать носом -- это наверное не вежливо, но подсказать, как будет правильно, выглядит хорошей практикой. :)
Для получения информации о подключении всякой дребедени к МК есть хороший ресурс "Arduino Basic Connections". Тут его на форумах уже много раз упоминали, т.ч. я только повторяю. Подключение реле там показано вот так:
Эх, решил тоже паяло обновить. Залез в Китай, а там как обычно - одинаковые вроде товары по разным ценам. Может, кто-то брал паяльники у этого и этого продаванов? Оба для 907-го, оба с надписями, но один стоит $7,5, а другой $5,9.
Я б взял, что дешевле. При нынешних ценах на вполне терпимые керамические нагреватели, нет особого смысла пихать в эти паяльники нихромовые спирали даже китайцам. А больше эти паяльники ничем отличаться и не могут.
2a5021, из обсуждения я понял, что в паяльниках бывают разные температурные датчики, вплоть до термопары. Поэтому и выбираю. Вдруг еще кто-то в поиске паяльника, поделюсь продавцом на Али, у него много отзывов и известно, что берешь: сопротивление терморезистора 53 Ом. Нагревателя 2 Ом. Как я понял, с такими параметрами схему можно не пересчитывать.
Я графически "скомпиллировал" общий вариант схемы для станции только под паяльник с терморезистором. Правильно, или что-то упустил? Как я понял, в случае терморезистора усилитель не нужен, подключаем его параллельно входу А3 ардуины с подтягивающим сопротивлением 200 Ом к VCC (на схеме этой цепочки нет). Кстати, в современных полевиках защитные диоды стоят, наверное, D3 не нужен.
И последний вопрос "на старте". Блок, который здесь рекомендовали, имеет 2А на выходе. А как у него с перегрузкой? Ведь здесь обсуждалось, что холодный паяльник берет гораздо больше, и даже не все ноутбучные такой режим могут обеспечить.
Я б реле и диод D3 тоже убрал. R16 сделать поменьше. Что-то из диапазона 10-47 ом. Принцип подключения терморезистора описан в первой статье топика. В паяльнике с терморезистором особого смысла использовать операционный усилитель нет.
Нет уверенности, что пин ардуины сможет выдать такой ток. Одной из распространенных ошибок начинающих является подключение npn транзистора с общим эмиттером к ноге МК без резистора в базе. В этом случае при установлении высокого уровня на выходе МК, ток практически беспрепятственно течет через переход база-эмиттер в землю. На замечания, что так включать транзисторы не рекомендуется, авторы схем обычно возражают, что у них все превосходно работает именно при таком включении. Эта схемотехническая ошибка, как раз и иллюстрирует тот факт, что подкорачивание вывода МК на землю не ведет обычно ни к каким катастрофическим последствиям.
Собрал схему из первого поста, подключил к блоку питания от компа и порадовался работе. Чувствовалось нехватка температуры жала, но списал это на 12 В блока питания. Внимание на температуру мосфета не обратил.
Сегодня подключил к трансформаторному блоку питания примерно на 20 Вольт. И мосфет раскочегарился до такой температуры, что чуть не расплавился припой на его ногах :( отключил. Мосфет IRF740. В чем моя ошибка? Спасибо.
В примененой модели мосфета. Этот прибор не рассчитан на работу с управляющими напряжениями логического уровня. Даже когда с МК подается открывающее напряжение, канал мосфета открывается не полностью, являясь по сути, эквивалентом сопротивления, включенного последовательно с нагрузкой. Это сопротивление ограничивает ток через паяльник (и от этого он греется хуже) и рассеивает на себе довольно большую мощность, что и является причиной нагрева самого мосфета.
Практически, любой logic-level мосфет. Приборы не предназначенные для управления логическим уровнем тоже могут сносно работать, но их нужно подбирать по сопротивлению канала и току. Чем выше ток и ниже сопротивление канала, тем больше у такого прибора шансов терпимо работать от логического уровня.
Если есть возможность работать с SMD компонентами, то проще всего надрать отличных мосфетов со старых материнских плат. Там они все логические и рассчитанные на большие токи.
Уже давненько собрал такую станцию по теме из первого поста. Немного допилил код. Добавил watchdog таймер (вот http://habrahabr.ru/post/189744/ статья на хабре) т.к. пару раз дуина зависала, с высоким уровнем на пине управления мосфетом. Б/п у меня был 36В и паяльник (HAKKO с терморезистором) просто расплавил ручку и выпал из нее. При перезагрузке станция показала 452 градуса цельсия (это при том, что он уже успел остыть). Вставил его обратно. До сих пор работает. Ну это лирика.
Logic level mosfet для меня пока мифический зверь, так что собрал по такой схеме:
Схема работает прекрасно! Полевик при этом установлен вообще без какого-либо охлаждения.
Так же для более комфортного режима работы полевика понизил частоту шим. Информация об этом есть во втором посте и в итернете.
Для паяльника с терморезистором схема из первого поста отлично работает. (Насчет фена ничего сказать не могу. У меня его нет)
Озадачивался точными замерами температуры жала паяльника составил таблицу. Увидев разницу в 7-8 градусов решил не заморачиваться и оставил "как есть". Потихоньку допиливаю схемку. Установил в подставку (в место крепления держателя паяльника) датчик ds1802 (учитывая печальный опыт с перегревом и на случай выхода из строя терморезистора). Планирую переводить станцию в аварийный режим при перегреве подставки. До скетча пока руки не дошли.
Из планов также есть задумка отслеживать наличие паяльника в подставке. У меня такая:
Идея: У паяльника есть провод-заземление. Внутри он соединен с пружинкой вокруг нагревательного элемента и предназначен для съема статики. Так вот хотелось бы организовать что-то типа сенсора (антенны) в подставке, который обнаруживает присутствие паяльника. В качестве антенны хотел использовать эту же металлическую подставку. Но сенсор должен быть бесконтактным, т.к. паяльник при установке в подставку, жалом не всегда касается металла. Только вот пока не знаю как реализовать. Увидел что тема достаточо развернулась и решил спросить тут.
Идея: У паяльника есть провод-заземление. Внутри он соединен с пружинкой вокруг нагревательного элемента и предназначен для съема статики. Так вот хотелось бы организовать что-то типа сенсора (антенны) в подставке, который обнаруживает присутствие паяльника. В качестве антенны хотел использовать эту же металлическую подставку. Но сенсор должен быть бесконтактным, т.к. паяльник при установке в подставку, жалом не всегда касается металла. Только вот пока не знаю как реализовать. Увидел что тема достаточо развернулась и решил спросить тут.
Может сообщество что подскажет?
Я бы обычный терморезистор приклеил на силикон к подставке и подцепил его на вход ацп, а потом опытным путем вбил значения в программе при котором паяльник бы сбрасывал температуру. Я когда долго не паяю (нужен перерыв минут 5....) сбрасываю температуру ручкой до 220 градусов примерно, чтобы жало не "обгорало"
По схеме в станции используется дисплей от 5110. Наверное, и в коде он учтен. А как выглядит выводимая информация? То, что я видел в инете, выводят маленькими символами. Учитывая, что кроме температуры, показывать нечего, получается пустой экран. Ни у кого нет фотки как это реализовано? Просто собираюсь заказывать рассыпуху на станцию, экран в том числе. Есть OLED 128*64, например. Не намного дороже, но адекватнее по размерам.
Б/п у меня был 36В и паяльник (HAKKO с терморезистором) просто расплавил ручку и выпал из нее. При перезагрузке станция показала 452 градуса цельсия (это при том, что он уже успел остыть).
Блин, совершенно зверский эпизод. :) Согласен с тем, ватчдог в таких устройствах совершенно необходимейшая вещь. Единственное, что здесь я не стал о нем говорить, т.к. всячески избегал усложнения конструкции.
Цитата:
Logic level mosfet для меня пока мифический зверь, так что собрал по такой схеме
Я не проверял, но есть у меня подозрение, что IRF540 и от ноги ардуины будет работать сносно. Картинки из даташита показывают, что при 4.5в на затворе он способен пропускать ток больше 10А в канале.
Цитата:
учитывая печальный опыт с перегревом
По моим представлениям, ардуина может взвиснуть по весьма ограниченному числу причин. Если в коде нет фокусов с вызовом процедур по "дикому" уазателю или чего-то похожего, то завесить его могут только свосем уж зверские электромагнитные помехи (у вас там нет поблизости прокатного стана?) или вполне тривиальные проблемы с питанием. Больше почему-то ничего на ум не приходит.
Цитата:
Из планов также есть задумка отслеживать наличие паяльника в подставке.
Идея интересная. Я когда задумывался на этот счет, то больше склонялся к мысли воткуть где-нибудь в подставке инфракрасный фотодиод. Жало довольно мощный источник ИК-излучения, к тому же по его уровню можно косвенно следить за возможным перегревом.
Инфракрасные фото и сведотиоды можно добыть из старого принтера, где они почти всегда встречаются в виде оптических концевиков:
Если есть желание сделать детектирование наличия паяльника в подставке все-таки через провод заземления, то можно попробовать использовать его в качестве своеобразной передающей антенны, подав на него небольшой по амплитуде сигнал частотой килогерц в сто пятьдеся (например, с таймера ардуины через делитель), а внутри подставки разместить катушку приемной антенны. В принципе, некоторые RFID-метки работают на 125/134кгц и раз уж переизлученный сигнал ловится торговым оборудованием без проблем, то здесь и подавно проблем не должно быть.
Я когда долго не паяю (нужен перерыв минут 5....) сбрасываю температуру ручкой до 220 градусов примерно, чтобы жало не "обгорало"
У меня паялка подает звуковые сигналы. По прошествию некоторого времени после включения, она дает коротенькие негромкие сигналы, типа, "цик-цик". Если в это время не нажать кнопочку, то после очередного такого "цик-цика" паялка перейдет в дежурный режим со сбросом температуры до 190 градусов. Это первый таймаут. С этого момента начинает считаться второй тайм-аут. Если органы управления (кнопка, движок переменника) оставались нетронутыми еще какой-то срок, то паялка начинает передавать "сигналы точного времени", где отсутствие реакции пользователя (тобишь, меня) после шестого сигнала означает выключение нагрева полностью и укладывание МК в сон. Длительность до первого таймаута зависит от температуры. Чем выше температура на паяльнике, тем раньше паялка напомнит о себе. Этот алгоритм я внедрил в код после пары обгоревших жал. :)
Если в это время не нажать кнопочку, то после очередного такого "цик-цика" паялка перейдет в дежурный режим со сбросом температуры до 190 градусов. Это первый таймаут. С этого момента начинает считаться второй тайм-аут. Если органы управления (кнопка, движок переменника) оставались нетронутыми еще какой-то срок, то паялка начинает передавать "сигналы точного времени", где отсутствие реакции пользователя (тобишь, меня) после шестого сигнала означает выключение нагрева полностью и укладывание МК в сон.
Сильно! А могу ли попросить поделиться кодом этих проверок? Ну или просто скетчем.
Сильно! А могу ли попросить поделиться кодом этих проверок? Ну или просто скетчем.
В том и дело, что там не скетч. Сишный код под IAR для не-атмеловского МК.
Могу вкратце объяснить, как это можно сделать на ардуине. Берем свободный таймер и программируем его на счет с периодом близким к одной секунде. В обработчике прерывания этого таймера увеличиваем переменную счетчика времени на единицу за каждый вызов. Это будет счетчик секунд. Он будет тикать постоянно, увеличиваясь на единицу за каждую секунду работы, вне зависимости от того, что делается в остальной части программы. Это весь обработчик и здесь больше ничего предусматривать не надо.
От 52-ой строки и ниже (если судить по нумерации скетча из первого поста ветки) вставляем код, который будет следить за тем, не нажималась ли кнопка и не двигалась ли ручка регулятора. Если кнопка нажата или значение с переменника сильно изменилось после последнего считывания, счетчик секунд сбрасывается на ноль и таймаут начинает считаться заново.
Дальше размещаем код, который будет сравнивать текущее значение счетчика секунд с несколькими заранее установленными значениями таймаутов. Если счетчик стал больше значения первого таймаута, тут же прямо в цикле каждый раз вызываем процедуру, которая каким-либо образом делает короткое "цик-цик". Если превышено второе значение, то "цик-цик" делать перестаем, а в переменную tempSet (из скетча с первой страницы ветки) перед сравнением в строке 71 начинаем забрасывать некоторое значение, соотвтествующее температуре 190 градусов. Все выглядит так, как если бы с регулятора была задана такая температура. Соответственно, паяльник сбросит температуру. Дождавшись превышения счетчика секунд следущего заранее опеределенного значения таймаута, начинаем подавать громкие "сигналы точного времени". Наконец, если произошло совпадение значения счетчика секунд с последним значением таймаута, то вырубаем нагреватель, разрешаем аппаратное прерывание на пине, где висит кнопка (чтобы выйти из сна при ее нажатии) и вызываем процедуру перевода процессора в спящее состояние.
Такой алгоритм удобен тем, что вся последовательность переходов в разные состояния в любой момент останавливается и пеоводится в изначальное состояние единственным действием -- сбросом счетчика секунд.
Теперь пропробую нарисовать код. Секунды удобно считать с помощью TIMER1.
volatile unsigned int secondCounter = 0;
// Timer1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void) {
secondCounter++;
}
Это блок размщается в самом верху скетча, сразу за объявление глобальных переменных и до секции Setup().
Это обработчик прерывания таймера по событию COMPARE "A" MATCH. Он вызывается всякий раз, когда значение счетчика таймера становится равным регистру атмеги с названием OCR1A. В нашем случае его значение подобрано таким образом, чтобы прерывание происходило строго переодически, один раз в секунду.
Далее, где либо в секции Setup() прописываем последовательность инициализации таймера 1:
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 62,500 kHz
// Mode: CTC top=OCR1A
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer Period: 1 s
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (1<<CS12) | (0<<CS11) | (0<<CS10);
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0xF4;
OCR1AL=0x23;
OCR1BH=0x00;
OCR1BL=0x00;
Это инициализация таймера1 в режиме CTC (Clear Timer on Compare match). Таймер сбрасывается на ноль всякий раз, когда его счетчик становится равным значению регистра OCR1A. Предделитель делит тактовые 16мгц на 256 и получившиеся 62.5кГц поступают на счетчик. Частота -- это количество колебаний в секунду. Соответственно, нам надо насчитать 62500 данных колебаний, чтобы быть уверенными, что это и есть секунда. Если быть уж совсем точным, то насчитать надо 62500 - 1, т.к. один период уходит на перезапуск таймера. Смотрим на OCR1A, который проинициализирован шестнадцатиричным числом 0xF423 и видим, что это и есть требуемые 62499 в десятичном виде.
Как только выполнится этот код, значение глобальной переменной secondCounter начнет увеличиваться на единицу каждую секунду.
Ну а дальше уже в теле программы отслеживать его значение и принимать нужные действия по мере того, как его эначение начнет увеличиваться.
Если есть желание сделать детектирование наличия паяльника в подставке все-таки через провод заземления, то можно попробовать использовать его в качестве своеобразной передающей антенны, подав на него небольшой по амплитуде сигнал частотой килогерц в сто пятьдеся (например, с таймера ардуины через делитель), а внутри подставки разместить катушку приемной антенны. В принципе, некоторые RFID-метки работают на 125/134кгц и раз уж переизлученный сигнал ловится торговым оборудованием без проблем, то здесь и подавно проблем не должно быть.
Можно попробовать прикрутить какой-нибудь детектор поля. Например, такой:
Если он заработает от 5 вольт, то вместо HA1 можно поставить резистор и с точки, где он соединяется с коллектором VT2, снимать сигнал с уровнем в какой-то степени пропорциональным расстоянию до излучателя в паяльнике. Антенна у этого детектора просто кусок проволоки. Описание прибора можно почитать здесь.
Я вот подумал может сенсор вибрации внедрить в паяльник, там вроде лишний провод заземления есть нужен ли он там ?
Или прям на провод паяльника ближе к станции на термоусадку прилепить чтобы не мешался.
мдаааа, я так погляжу маразм все крепчает и крепчает... может еще отпечатки пальцев проверять? а то вдруг ребенок в руки возмет..
У ВАС ЧТО ГЕРКОНЫ С МАГНИТИКАМИ ЗАКОНЧИЛИСЬ?
а вообще при таком напряжении питания паяльник должен работать нормально? диод мигает, температура регулируется (и судя по всему держится), но она мала :(
Паяльник удовлетворительно паяет и от 12 вольт. То, что вы описываете выглядит очень неоднозначно. Если представить, что IRLL2705 по какой-то причине ограничивает ток, то тогда он бы на себе высаживал всю мощность, которую недодает паяльнику. Учитывая его размеры, он бы давно уже расплавился. Вы можете измерить напряжение на самом паяльнике во время разогрева?
померил, когда включаешь - синий горит постоянно и напряжение на паяльнике в районе 16 вольт, примерно через секунд 30-60 диод ничинает моргать и тогда напряжение показывает 2,5-3 вольта.
подключил ардуино к компу (у меня про мини), вспомнил что в скетче что то выводится в ком порт, хотел посмотреть - и смотрю что-то изменилось - все заработало! скорей всего ардуине тупо не хватало питания! 4,8 вольт вместо 5 ее не устроили :(
спасибо огромное за схему и скетч, я буду думать как мне вытащить еще 0,2 в с трансформатора, 7805 не хватает видимо...
Видимо из-за перекоса с питающим напряжением неправильные результаты возвращала analogRead(), отчего алгоритм полагал, что температура уже достаточно велика и ограничивал нагрев.
Могу вкратце объяснить, как это можно сделать на ардуине. Берем свободный таймер и программируем его на счет с периодом близким к одной секунде. В обработчике прерывания...
Спасибо за ответ, но это, увы, уже не мой уровень. Прерывания для меня на данный момент не доступны.
Порт дуины не потянет релюху, нужно через транзистор. Схема такая же как и на регулировку воздуха или паяльника, только транзистор можно слабенький.
У меня стоят в машине реле 5В. Ардуино их тянет. Но если есть сомнения, давайте внесем в платы ранзисторы... или опторары
Магнит можно куда либо пристроить, даже на корпус паялки.
Вот такая релюха должна нормально работать от дуины
http://aliot.com.ua/?item=32608&cat=14774
Такая и есть
То, что реле срабатывает от тока с ноги ардуины еще не говорит, что именно так реле и нужно подключать. Во первых, в момент включения на внутренних цепях питания ардуины будет просадка напряжения, которая при совпадении некоторых условий может просто перегруизить беднягу. Но еще хуже процессы происходят, когда напряжение с реле снимается. Вся энергия, запасенная в виде магнитного поля в катушке, не может исчезнуть в никуда и при снятии напряжения эта энергия в форме тока противоположного направления попрет обратно в ардуину. Причем, напряжение при этом может оказаться выше в несколько раз, чем до этого поступало от ардуины. Каждое размыкание реле для ардуины будет занчиваться тем, что он будет получать разряды 10-15 вольт в пятивольтовую ногу. Сдохнет ли он при этом сразу или еще помучается перед смертью, вопрос безусловно интересный, но, мне кажется, вы несколько с иными целями всем этим занимаетесь.
То, что реле срабатывает от тока с ноги ардуины еще не говорит, что именно так реле и нужно подключать. Во первых, в момент включения на внутренних цепях питания ардуины будет просадка напряжения, которая при совпадении некоторых условий может просто перегруизить беднягу. Но еще хуже процессы происходят, когда напряжение с реле снимается. Вся энергия, запасенная в виде магнитного поля в катушке, не может исчезнуть в никуда и при снятии напряжения эта энергия в форме тока противоположного направления попрет обратно в ардуину. Причем, напряжение при этом может оказаться выше в несколько раз, чем до этого поступало от ардуины. Каждое размыкание реле для ардуины будет занчиваться тем, что он будет получать разряды 10-15 вольт в пятивольтовую ногу. Сдохнет ли он при этом сразу или еще помучается перед смертью, вопрос безусловно интересный, но, мне кажется, вы несколько с иными целями всем этим занимаетесь.
Ваш большой опыт крайне интересен, правда... Я в свои 37 полный делитант. Могу хорошо читаь по анг-ски, смотреть как "там" делают "обвязку" ардуины. За плечами есть школа "закона Ома", но очень глубоко не суюсь.
Помоему (ИМХО) здесь идет обсуждение моментов, в которых я увы не силен, поэтому НУЖНО тыркать меня носом.
Тыкать носом -- это наверное не вежливо, но подсказать, как будет правильно, выглядит хорошей практикой. :)
Для получения информации о подключении всякой дребедени к МК есть хороший ресурс "Arduino Basic Connections". Тут его на форумах уже много раз упоминали, т.ч. я только повторяю. Подключение реле там показано вот так:
За плечами есть школа "закона Ома", но очень глубоко не суюсь.
Я тоже думал глубоко не соваться, но затягивает потихоньку :)
+100 вам к амперам. Ребенок своим занят, папа своим... и это интересно
Эх, решил тоже паяло обновить. Залез в Китай, а там как обычно - одинаковые вроде товары по разным ценам. Может, кто-то брал паяльники у этого и этого продаванов? Оба для 907-го, оба с надписями, но один стоит $7,5, а другой $5,9.
Я б взял, что дешевле. При нынешних ценах на вполне терпимые керамические нагреватели, нет особого смысла пихать в эти паяльники нихромовые спирали даже китайцам. А больше эти паяльники ничем отличаться и не могут.
2a5021, из обсуждения я понял, что в паяльниках бывают разные температурные датчики, вплоть до термопары. Поэтому и выбираю. Вдруг еще кто-то в поиске паяльника, поделюсь продавцом на Али, у него много отзывов и известно, что берешь: сопротивление терморезистора 53 Ом. Нагревателя 2 Ом. Как я понял, с такими параметрами схему можно не пересчитывать.
Я графически "скомпиллировал" общий вариант схемы для станции только под паяльник с терморезистором. Правильно, или что-то упустил? Как я понял, в случае терморезистора усилитель не нужен, подключаем его параллельно входу А3 ардуины с подтягивающим сопротивлением 200 Ом к VCC (на схеме этой цепочки нет). Кстати, в современных полевиках защитные диоды стоят, наверное, D3 не нужен.
И последний вопрос "на старте". Блок, который здесь рекомендовали, имеет 2А на выходе. А как у него с перегрузкой? Ведь здесь обсуждалось, что холодный паяльник берет гораздо больше, и даже не все ноутбучные такой режим могут обеспечить.
Я б реле и диод D3 тоже убрал. R16 сделать поменьше. Что-то из диапазона 10-47 ом. Принцип подключения терморезистора описан в первой статье топика. В паяльнике с терморезистором особого смысла использовать операционный усилитель нет.
R16 сделать поменьше. Что-то из диапазона 10-47 ом.
А если транзистор умрет в виде коротыша затвора на землю, 47 ом это почти 0,1А порт дуины нагрузит.
Нет уверенности, что пин ардуины сможет выдать такой ток. Одной из распространенных ошибок начинающих является подключение npn транзистора с общим эмиттером к ноге МК без резистора в базе. В этом случае при установлении высокого уровня на выходе МК, ток практически беспрепятственно течет через переход база-эмиттер в землю. На замечания, что так включать транзисторы не рекомендуется, авторы схем обычно возражают, что у них все превосходно работает именно при таком включении. Эта схемотехническая ошибка, как раз и иллюстрирует тот факт, что подкорачивание вывода МК на землю не ведет обычно ни к каким катастрофическим последствиям.
Здравствуйте!
Собрал схему из первого поста, подключил к блоку питания от компа и порадовался работе. Чувствовалось нехватка температуры жала, но списал это на 12 В блока питания. Внимание на температуру мосфета не обратил.
Сегодня подключил к трансформаторному блоку питания примерно на 20 Вольт. И мосфет раскочегарился до такой температуры, что чуть не расплавился припой на его ногах :( отключил. Мосфет IRF740. В чем моя ошибка? Спасибо.
В примененой модели мосфета. Этот прибор не рассчитан на работу с управляющими напряжениями логического уровня. Даже когда с МК подается открывающее напряжение, канал мосфета открывается не полностью, являясь по сути, эквивалентом сопротивления, включенного последовательно с нагрузкой. Это сопротивление ограничивает ток через паяльник (и от этого он греется хуже) и рассеивает на себе довольно большую мощность, что и является причиной нагрева самого мосфета.
спасибо за ответ, посоветуйте тогда какие нибудь точно подходящие мосфеты, распостраненные
Практически, любой logic-level мосфет. Приборы не предназначенные для управления логическим уровнем тоже могут сносно работать, но их нужно подбирать по сопротивлению канала и току. Чем выше ток и ниже сопротивление канала, тем больше у такого прибора шансов терпимо работать от логического уровня.
Если есть возможность работать с SMD компонентами, то проще всего надрать отличных мосфетов со старых материнских плат. Там они все логические и рассчитанные на большие токи.
Уже давненько собрал такую станцию по теме из первого поста. Немного допилил код. Добавил watchdog таймер (вот http://habrahabr.ru/post/189744/ статья на хабре) т.к. пару раз дуина зависала, с высоким уровнем на пине управления мосфетом. Б/п у меня был 36В и паяльник (HAKKO с терморезистором) просто расплавил ручку и выпал из нее. При перезагрузке станция показала 452 градуса цельсия (это при том, что он уже успел остыть). Вставил его обратно. До сих пор работает. Ну это лирика.
Logic level mosfet для меня пока мифический зверь, так что собрал по такой схеме:
Схема работает прекрасно! Полевик при этом установлен вообще без какого-либо охлаждения.
Так же для более комфортного режима работы полевика понизил частоту шим. Информация об этом есть во втором посте и в итернете.
Для паяльника с терморезистором схема из первого поста отлично работает. (Насчет фена ничего сказать не могу. У меня его нет)
Озадачивался точными замерами температуры жала паяльника составил таблицу. Увидев разницу в 7-8 градусов решил не заморачиваться и оставил "как есть". Потихоньку допиливаю схемку. Установил в подставку (в место крепления держателя паяльника) датчик ds1802 (учитывая печальный опыт с перегревом и на случай выхода из строя терморезистора). Планирую переводить станцию в аварийный режим при перегреве подставки. До скетча пока руки не дошли.
Из планов также есть задумка отслеживать наличие паяльника в подставке. У меня такая:
Идея: У паяльника есть провод-заземление. Внутри он соединен с пружинкой вокруг нагревательного элемента и предназначен для съема статики. Так вот хотелось бы организовать что-то типа сенсора (антенны) в подставке, который обнаруживает присутствие паяльника. В качестве антенны хотел использовать эту же металлическую подставку. Но сенсор должен быть бесконтактным, т.к. паяльник при установке в подставку, жалом не всегда касается металла. Только вот пока не знаю как реализовать. Увидел что тема достаточо развернулась и решил спросить тут.
Может сообщество что подскажет?
IRLL2705 подойдёт такой?
Идея: У паяльника есть провод-заземление. Внутри он соединен с пружинкой вокруг нагревательного элемента и предназначен для съема статики. Так вот хотелось бы организовать что-то типа сенсора (антенны) в подставке, который обнаруживает присутствие паяльника. В качестве антенны хотел использовать эту же металлическую подставку. Но сенсор должен быть бесконтактным, т.к. паяльник при установке в подставку, жалом не всегда касается металла. Только вот пока не знаю как реализовать. Увидел что тема достаточо развернулась и решил спросить тут.
Может сообщество что подскажет?
Я бы обычный терморезистор приклеил на силикон к подставке и подцепил его на вход ацп, а потом опытным путем вбил значения в программе при котором паяльник бы сбрасывал температуру. Я когда долго не паяю (нужен перерыв минут 5....) сбрасываю температуру ручкой до 220 градусов примерно, чтобы жало не "обгорало"
Нормальный, подойдет.
По схеме в станции используется дисплей от 5110. Наверное, и в коде он учтен. А как выглядит выводимая информация? То, что я видел в инете, выводят маленькими символами. Учитывая, что кроме температуры, показывать нечего, получается пустой экран. Ни у кого нет фотки как это реализовано? Просто собираюсь заказывать рассыпуху на станцию, экран в том числе. Есть OLED 128*64, например. Не намного дороже, но адекватнее по размерам.
А как выглядит выводимая информация?
На второй сранице есть картинка.
Б/п у меня был 36В и паяльник (HAKKO с терморезистором) просто расплавил ручку и выпал из нее. При перезагрузке станция показала 452 градуса цельсия (это при том, что он уже успел остыть).
Блин, совершенно зверский эпизод. :) Согласен с тем, ватчдог в таких устройствах совершенно необходимейшая вещь. Единственное, что здесь я не стал о нем говорить, т.к. всячески избегал усложнения конструкции.
Я не проверял, но есть у меня подозрение, что IRF540 и от ноги ардуины будет работать сносно. Картинки из даташита показывают, что при 4.5в на затворе он способен пропускать ток больше 10А в канале.
По моим представлениям, ардуина может взвиснуть по весьма ограниченному числу причин. Если в коде нет фокусов с вызовом процедур по "дикому" уазателю или чего-то похожего, то завесить его могут только свосем уж зверские электромагнитные помехи (у вас там нет поблизости прокатного стана?) или вполне тривиальные проблемы с питанием. Больше почему-то ничего на ум не приходит.
Идея интересная. Я когда задумывался на этот счет, то больше склонялся к мысли воткуть где-нибудь в подставке инфракрасный фотодиод. Жало довольно мощный источник ИК-излучения, к тому же по его уровню можно косвенно следить за возможным перегревом.
Инфракрасные фото и сведотиоды можно добыть из старого принтера, где они почти всегда встречаются в виде оптических концевиков:
Если есть желание сделать детектирование наличия паяльника в подставке все-таки через провод заземления, то можно попробовать использовать его в качестве своеобразной передающей антенны, подав на него небольшой по амплитуде сигнал частотой килогерц в сто пятьдеся (например, с таймера ардуины через делитель), а внутри подставки разместить катушку приемной антенны. В принципе, некоторые RFID-метки работают на 125/134кгц и раз уж переизлученный сигнал ловится торговым оборудованием без проблем, то здесь и подавно проблем не должно быть.
Я когда долго не паяю (нужен перерыв минут 5....) сбрасываю температуру ручкой до 220 градусов примерно, чтобы жало не "обгорало"
У меня паялка подает звуковые сигналы. По прошествию некоторого времени после включения, она дает коротенькие негромкие сигналы, типа, "цик-цик". Если в это время не нажать кнопочку, то после очередного такого "цик-цика" паялка перейдет в дежурный режим со сбросом температуры до 190 градусов. Это первый таймаут. С этого момента начинает считаться второй тайм-аут. Если органы управления (кнопка, движок переменника) оставались нетронутыми еще какой-то срок, то паялка начинает передавать "сигналы точного времени", где отсутствие реакции пользователя (тобишь, меня) после шестого сигнала означает выключение нагрева полностью и укладывание МК в сон. Длительность до первого таймаута зависит от температуры. Чем выше температура на паяльнике, тем раньше паялка напомнит о себе. Этот алгоритм я внедрил в код после пары обгоревших жал. :)
Если в это время не нажать кнопочку, то после очередного такого "цик-цика" паялка перейдет в дежурный режим со сбросом температуры до 190 градусов. Это первый таймаут. С этого момента начинает считаться второй тайм-аут. Если органы управления (кнопка, движок переменника) оставались нетронутыми еще какой-то срок, то паялка начинает передавать "сигналы точного времени", где отсутствие реакции пользователя (тобишь, меня) после шестого сигнала означает выключение нагрева полностью и укладывание МК в сон.
Сильно! А могу ли попросить поделиться кодом этих проверок? Ну или просто скетчем.
Я вот подумал может сенсор вибрации внедрить в паяльник, там вроде лишний провод заземления есть нужен ли он там ?
Или прям на провод паяльника ближе к станции на термоусадку прилепить чтобы не мешался.
Сильно! А могу ли попросить поделиться кодом этих проверок? Ну или просто скетчем.
В том и дело, что там не скетч. Сишный код под IAR для не-атмеловского МК.
Могу вкратце объяснить, как это можно сделать на ардуине. Берем свободный таймер и программируем его на счет с периодом близким к одной секунде. В обработчике прерывания этого таймера увеличиваем переменную счетчика времени на единицу за каждый вызов. Это будет счетчик секунд. Он будет тикать постоянно, увеличиваясь на единицу за каждую секунду работы, вне зависимости от того, что делается в остальной части программы. Это весь обработчик и здесь больше ничего предусматривать не надо.
От 52-ой строки и ниже (если судить по нумерации скетча из первого поста ветки) вставляем код, который будет следить за тем, не нажималась ли кнопка и не двигалась ли ручка регулятора. Если кнопка нажата или значение с переменника сильно изменилось после последнего считывания, счетчик секунд сбрасывается на ноль и таймаут начинает считаться заново.
Дальше размещаем код, который будет сравнивать текущее значение счетчика секунд с несколькими заранее установленными значениями таймаутов. Если счетчик стал больше значения первого таймаута, тут же прямо в цикле каждый раз вызываем процедуру, которая каким-либо образом делает короткое "цик-цик". Если превышено второе значение, то "цик-цик" делать перестаем, а в переменную tempSet (из скетча с первой страницы ветки) перед сравнением в строке 71 начинаем забрасывать некоторое значение, соотвтествующее температуре 190 градусов. Все выглядит так, как если бы с регулятора была задана такая температура. Соответственно, паяльник сбросит температуру. Дождавшись превышения счетчика секунд следущего заранее опеределенного значения таймаута, начинаем подавать громкие "сигналы точного времени". Наконец, если произошло совпадение значения счетчика секунд с последним значением таймаута, то вырубаем нагреватель, разрешаем аппаратное прерывание на пине, где висит кнопка (чтобы выйти из сна при ее нажатии) и вызываем процедуру перевода процессора в спящее состояние.
Такой алгоритм удобен тем, что вся последовательность переходов в разные состояния в любой момент останавливается и пеоводится в изначальное состояние единственным действием -- сбросом счетчика секунд.
Теперь пропробую нарисовать код. Секунды удобно считать с помощью TIMER1.
Это блок размщается в самом верху скетча, сразу за объявление глобальных переменных и до секции Setup().
Это обработчик прерывания таймера по событию COMPARE "A" MATCH. Он вызывается всякий раз, когда значение счетчика таймера становится равным регистру атмеги с названием OCR1A. В нашем случае его значение подобрано таким образом, чтобы прерывание происходило строго переодически, один раз в секунду.
Далее, где либо в секции Setup() прописываем последовательность инициализации таймера 1:
Это инициализация таймера1 в режиме CTC (Clear Timer on Compare match). Таймер сбрасывается на ноль всякий раз, когда его счетчик становится равным значению регистра OCR1A. Предделитель делит тактовые 16мгц на 256 и получившиеся 62.5кГц поступают на счетчик. Частота -- это количество колебаний в секунду. Соответственно, нам надо насчитать 62500 данных колебаний, чтобы быть уверенными, что это и есть секунда. Если быть уж совсем точным, то насчитать надо 62500 - 1, т.к. один период уходит на перезапуск таймера. Смотрим на OCR1A, который проинициализирован шестнадцатиричным числом 0xF423 и видим, что это и есть требуемые 62499 в десятичном виде.
Как только выполнится этот код, значение глобальной переменной secondCounter начнет увеличиваться на единицу каждую секунду.
Ну а дальше уже в теле программы отслеживать его значение и принимать нужные действия по мере того, как его эначение начнет увеличиваться.
Если есть желание сделать детектирование наличия паяльника в подставке все-таки через провод заземления, то можно попробовать использовать его в качестве своеобразной передающей антенны, подав на него небольшой по амплитуде сигнал частотой килогерц в сто пятьдеся (например, с таймера ардуины через делитель), а внутри подставки разместить катушку приемной антенны. В принципе, некоторые RFID-метки работают на 125/134кгц и раз уж переизлученный сигнал ловится торговым оборудованием без проблем, то здесь и подавно проблем не должно быть.
Вот примерно это бы и хотелось реализовать.
Можно попробовать прикрутить какой-нибудь детектор поля. Например, такой:
Если он заработает от 5 вольт, то вместо HA1 можно поставить резистор и с точки, где он соединяется с коллектором VT2, снимать сигнал с уровнем в какой-то степени пропорциональным расстоянию до излучателя в паяльнике. Антенна у этого детектора просто кусок проволоки. Описание прибора можно почитать здесь.
Я вот подумал может сенсор вибрации внедрить в паяльник, там вроде лишний провод заземления есть нужен ли он там ?
Или прям на провод паяльника ближе к станции на термоусадку прилепить чтобы не мешался.
мдаааа, я так погляжу маразм все крепчает и крепчает... может еще отпечатки пальцев проверять? а то вдруг ребенок в руки возмет..
У ВАС ЧТО ГЕРКОНЫ С МАГНИТИКАМИ ЗАКОНЧИЛИСЬ?
Снова здравствуйте, поставил IRLL2705 - не греется и работает :)
вот только температура жала на выкрученном на всю переменнике мала :( только-только припой плавится, паять вообще никак...
блок питания трансформаторный - 19 вольт. измерить температуру жала нечем к сожалению, подскажите что можно придумать?
Вы не могли при подключении перепуать нагреватель и терморезистор местами? У меня как-то такое было и картина наблюдалась, что и у вас.
это первое что я проверил))) несколько раз...
а вообще при таком напряжении питания паяльник должен работать нормально? диод мигает, температура регулируется (и судя по всему держится), но она мала :(
Паяльник удовлетворительно паяет и от 12 вольт. То, что вы описываете выглядит очень неоднозначно. Если представить, что IRLL2705 по какой-то причине ограничивает ток, то тогда он бы на себе высаживал всю мощность, которую недодает паяльнику. Учитывая его размеры, он бы давно уже расплавился. Вы можете измерить напряжение на самом паяльнике во время разогрева?
нет, мосфет холодный абсолютно
померил, когда включаешь - синий горит постоянно и напряжение на паяльнике в районе 16 вольт, примерно через секунд 30-60 диод ничинает моргать и тогда напряжение показывает 2,5-3 вольта.
Тогда скетч смотрите. Больше похоже, что у вас разогрев программно где-то ограничивается.
подключил ардуино к компу (у меня про мини), вспомнил что в скетче что то выводится в ком порт, хотел посмотреть - и смотрю что-то изменилось - все заработало! скорей всего ардуине тупо не хватало питания! 4,8 вольт вместо 5 ее не устроили :(
спасибо огромное за схему и скетч, я буду думать как мне вытащить еще 0,2 в с трансформатора, 7805 не хватает видимо...
я питаю ардуину с стабилизатора 7805 (ваша схема в первом посте) - так вообще можно делать? или ее нужно отдельно запитывать?
все, победил! переткнул питание с gnd-raw в gnd-vcc и все заработало, ура!
это первая поделка на ардуино, так что извиняйте за глупые вопросы)))
еще раз спасибо!
Видимо из-за перекоса с питающим напряжением неправильные результаты возвращала analogRead(), отчего алгоритм полагал, что температура уже достаточно велика и ограничивал нагрев.
Пытаюсь вывесть на экран 5110... пусто. Только подсветка горит.
Экран синенький с одним рядом пинов. Библиотека LCD5110_Graph.h. Как заставить хоть чтото выводить?
Скетч:
Могу вкратце объяснить, как это можно сделать на ардуине. Берем свободный таймер и программируем его на счет с периодом близким к одной секунде. В обработчике прерывания...
Спасибо за ответ, но это, увы, уже не мой уровень. Прерывания для меня на данный момент не доступны.
Пытаюсь вывесть на экран 5110... пусто. Только подсветка горит.
На этот экран помоему как минимум две библиотеки есть. Вечером поищу правильную.
А попробуйте во второй сторке ...12,11 местами поменять ...11,12
Или дайте адрес куда свою библиотеку кинуть. Я так и не разобрался с файлообменниками, не было необходимости.
А попробуйте во второй сторке ...12,11 местами поменять ...11,12
Или дайте адрес куда свою библиотеку кинуть. Я так и не разобрался с файлообменниками, не было необходимости.
http://rghost.ru/
http://rghost.ru/7XlmK4k4x
Пробуйте.
Я уже сам в них запутался. Если не подойдет, попробуйте эту.
http://rghost.ru/6CNk9JpWG
Одна из них должна работать.