Паяльная станция своими руками с энкодером
Паяльная станция с энкодером.
Автор: Shuriko
Опубликовано 25.02.2010
На создание этого проекта подтолкнули проекты двух паяльных станций с LCD и семисегментными индикаторами (огромное спасибо их создателям), желание получить паяльную станцию и опробовать свои силы в программировании микроконтроллеров.
Итак, основные отличия от вышеупомянутых станций — управление станции энкодером с встроенной кнопкой, простенькое меню станции, позволяющее контролировать ряд параметров и возможность автоматической калибровки станции под конкретный паяльник.
Схематически станция очень похожа на варианты Михи и Павла:
Пояснения к схеме: специально упущены моменты питания. Каждый решает сам, каким образом оно будет организовано. То ли это будет один источник 24В с понижение до 5В для питания цифровой схемы или это будут две обмотки трансформатора : К примеру, у меня для питания нагревателя используется блок питания от ноутбука 19В 3,42А, который у меня был «лишним». В идеале — это 24В и ток не менее 2А. В предлагаемой плате уже стоит стабилизатор на 5В и сглаживающий конденсатор, но стабилизатор рассчитан на использование без радиатора. Хотите на радиатор — вынесите стабилизатор за плату.
Отсутствие кварцевого резонатора обусловлено тем, что частоты и стабильности внутреннего генератора вполне достаточно для нормальной работы станции.
По поводу LCD — использовать можно любой индикатор 16 символов на 2 строки с контроллером HD44780 либо аналогичным. Главное соблюсти следующие условия:
На моей плате на 10 контактный разъем LCD дополнительно выведено напряжение подсветки через ограничительный резистор (пин 4) и напряжение конраста (пин 8).
Подсветку можно делать, можно не делать. По даташиту смотрим куда подключать. Ну и тогда прибавляем ток подсветки к требованиям к БП для питания цифровой части схемы.
Используется АТМега 16 только из-за размера флеша в 16Кб ну и просто была под рукой. По идее, та прошивка, которая есть на данный момент, влезет и в Мегу 8, но использует 98% её памяти.
Усилитель термопары выбран LM358N из соображений дешевизны и достаточности для данного проекта. Как возможность дальнейшего апгрейда остаётся второй усилитель микросхемы.
Транзистор для ШИМа тоже используется любой подходящий. Греться он практически не должен, потому как работает в ключевом режиме. Я использовал IRFZ44N, который подсмотрел в станции от Михи, так что спасибо ему за наводку. Чем меньше сопротивление открытого канала — тем лучше. У IRFZ44N оно равно 0,022 Ом.
Энкодер я взял тот, который нашёл в радиомагазине. Подойдёт абсолютно любой механический (для оптического нужно будет подать на него питание и убрать подтягивающие резисторы с выходов). Можно даже и в этом варианте убрать подтягивающие резисторы, включив внутренние Меги, но я не особо хочу ими рисковать :. Ножки у моего энкодера были не промаркированы, так что где что определял методом научного тыка. Если не найдёте с кнопкой — не расстраивайтесь. Придется тогда просто вынести отдельно кнопку, что будет, правда, не настолько удобно, но всё же как вариант.
Пищалка использовалась без генератора. Если поставите с генератором — будет каша. В таком случае маякните мне и я внесу необходимые изменения в прошивку.
Немного про усилитель термопары. Постоянный резистор обратной связи я сначала поставил 120 кОм как в одном из вариантов паяльных станций, но толи из-за того, что усилитель с индексом N, а не просто 358, толи из-за паяльника, но такого сопротивления оказалось мало. Пришлось ставить два на общее сопротивление 164 кОм. После настройки одно пришлось убрать (закоротить) и оставить одно на 82 кОма. Этого оказалось достаточно.
Резистор R6 можно не ставить. Практика показывает — если сгорит транзистор ШИМа и будет пробой — скорее всего накроется и порт МК или весь МК.
Паяльник использовался как и в предыдущих станциях для Solomon»а с такой же распиновкой (картинка стыбрена, разумеется):
Схема сначала у меня работала на макетке, той, которая без пайки. Нормально. Температура не скачет.
Пара очень важных моментов:
1. Контакт S (крайний правый) полевика должен быть подключен непосредственно к земле питания нагревателя, а не к земле в другом месте. Несоблюдение этого условия в первоначальном варианте моей платы привело к тому, что при включении нагрева шли очень сильные помехи на вход усилителя термопары, которые сажал на землю конденсатор С1 вместе с полезным сигналом и температура становилась равна нулю.
2. В первоначальном варианте платы не было С3 и когда включался или поддерживался нагрев — температура делала скачёк и практически не могла установится на одном уровне. Разместить его нужно как можно ближе к микросхеме усилителя между ножками 3 и 4 (в плате он уже есть).
3. В процессе настройки температуры (настраивал по термопаре мультиметра прикрепленной к самому кончику жала) выяснилось, что термопара паяльника (или мультиметра?) довольно нелинейна и если её настроить на 280 градусах, то комнатную температуру она будет занижать уже на 10-12 градусов. Я так и оставил. Главное чтобы было правильно в рабочем диапазоне. Со временем можно будет попробовать программно внести коэффициент. Ещё одно — от момента установки температуры по термопаре паяльника до установки её на жале проходит секунд 15. Не стоит об этом забывать.
Теперь о работе станции. Сразу после включения станция проверяет работоспособность ЕЕПРОМа, а точнее таблицы с калибровочными данными. Если они неверны (а так и есть при первом включении), станция попросит перезапустить её с нажатой кнопкой, после чего запустится процедура калибровки. Процедура эта довольно длительная из-за желания минимизировать влияние тепловой инерции паяльника. В ходе калибрования паяльник будет разогрет от 40 до 420 градусов. В это время будет отображаться устанавливаемая температура и текущая температура. После окончания калибровки станция перейдёт в рабочий режим. На данный момент процедура калибровки довольно примитивна, но у меня уже есть идеи для более правильной калибровки, которую я постараюсь реализовать в следующих прошивках.
Если всё ОК, то сразу после включения станция сделает «мягкий» разогрев, чтобы уменьшить нагрузку на блок питания, потому как холодный нагревательный элемент имеет существенно меньшее сопротивление, нежели в рабочем состоянии.
В основном режиме станция показывает выбранную и текущую температуры.
Вход в меню реализован через нажатие кнопки в рабочем режиме. Первые три пункта — выбор пресетов температур. То есть, нажали кнопку, вошли в меню на первый пресет, для его выбора — снова нажали кнопку. Если нужно — покрутили энкодер, выбрали второй или третий пресет, нажали кнопку, получили нужный выбор температуры.
Четвёртый пункт меню — вход в подменю настройки пресетов. Тут тоже всё просто. Выбрали пресет, нажали кнопку (возле значения высветились знаки » «), выставили температуру пресета, нажали кнопку — настройка запомнилась в ЕЕПРОМе. Дальше выбрали выход в основное меню.
Пятый пункт — запуск калибровки. Нажатие на кнопку — запуск процедуры. В принципе можно убрать этот пункт, т.к. калибровку можно запустить включив станцию и удерживая кнопку.
Шестой пункт — настройка таймера спящего режима. Перед переходом в спящий режим станция три раза коротко пикнет, после чего один раз длительно пикнет (примерно 1 секунду) и выдаст на экран сообщение о том, что она заснула. Выход — нажатие кнопки. В спящем режиме жало немного подогревается.
Седьмой пункт — возвращение в рабочий режим.
Во время навигации в меню паяльник переходит в режим очень слабого нагрева из соображений безопасности.
Прошиваем либо на программаторе, либо выводим разъем на плате. Я вывел на плате. После прошивки отключаем программатор и только после этого включаем станцию, иначе будут глюки.
Теперь по поводу фьюзов. Опишу только что нужно, а уже кто в каком программаторе шьёт — так и будете выставлять. Итак, выставляем работу от внутреннего генератора 8 МГц. По умолчанию Мега установлена на 1МГц, от чего работать она не перестанет, но будет «вяло» отзываться на энкодер и изменения температуры, ну и таймер будет некорректно работать. Дальше, отключите JTAG — его пины используются. Выставляем BODEN и BODLEVEL, так, чтобы при напряжении ниже 2,7В (можно 4В) МК правильно выключался (нужно для корректной работы, потому как в устройстве используется ЕЕПРОМ).
Вот собственно и всё. Надеюсь, устройство понравится.
Источник
Паяльная станция на ATmega8 и дисплее LPH8731-3C
В данной статье пойдет речь о таком востребованном помощнике радиолюбителя, как паяльная станция. На момент написания этой статьи, мной было найдено очень большое количество различных схем паяльных станций — от самых простых, до сложных и навороченных «монстров», аналогов которым и в магазине не найдешь. Идеей собрать паяльную станцию я загорелся еще достаточно давно, но повторять чью-то конструкцию не было желания, а на разработку своей схемы — времени. Но пару месяцев назад срочно понадобилась паяльная станция (закупил микроконтроллеры в корпусах TQFP, а обычный паяльник мало того что и имел толстое жало, но оно еще и нещадно перегревалось и обгорало).
Требования к устройству были следующими:
- Возможность запоминания температуры
- Управление энкодером от оптической мыши
- Использование МК ATmega8 (они были в наличии)
- Отображение информации на LCD
Изначально планировалось не изобретать велосипед, а просто собрать одну из схем, представленных в интернете. Но потом, прикинув все «за» и «против»,решил все же заняться составлением собственной схемы.
Результат работы представлен ниже:
** Я был очень удивлен, когда просматривал схемы паяльных станций в интернете. Практически у всех встреченных мной вариантах ОУ был включен просто по схеме неинвертирующего усилителя. В данной конструкции используется дифференциальное включение операционного усилителя (самый простой вариант, но тем не менее, работающий гораздо лучше, нежели «простое» включение).
В данной схеме есть еще одна особенность — для питания LCD пришлось использовать стабилизатор на 3.3В — LM1117-3.3. От него и питается МК вместе с LCD. Операционный усилитель же для питания используется 5В, которые снимаются от линейного стабилизатора LM7805, находящегося за пределами печатной платы, а потому не отображенном на схеме.
Для управления нагрузкой применен мощный полевой транзистор Q1 IRFZ24N, но так как потенциала в 3.3В явно недостаточно для его открытия, пришлось добавлять маломощный биполярный транзистор Q2 — КТ315.
Для отображения информации в устройстве применен LCD дисплей от мобильного телефона Siemens A65 (так же встречается в A60, A62 и т.д.).
ВНИМАНИЕ! Необходим дисплей с желтым текстолитом, имеющий надпись LPH8731-3C. Дисплеи с зеленой подложкой имеют другие контроллеры, не совместимые с данным.
Распиновка дисплея показана ниже:
На 6 вывод подается 3.3В от стабилизатора LM1117-3.3, а питание подсветки происходит от 5В через резисторы 100 Ом.
Печатная плата выполнена на двухстороннем фольгированном материале (текстолит или гетинакс), и имеет размеры 77х57 мм. Она рассчитана под микроконтроллер ATmega8 в корпусе TQFP32, и ввиду этого особой простотой похвастаться не может. Но метод ЛУТ позволит без проблем с ней справиться (я рисовал дорожки лаком).
Топология печатной платы показана ниже:
В итоге, устройство получило следующие возможности:
- Установка начальной (стартовой) температуры
- Возможность задавать три профиля (температуры), и быстро переключаться между ними
- Регулировка значений происходит с помощью энкодера, что позволило избежать дополнительных кнопок
- При достижении заданной температуры включается звуковой сигнал (можно отключить в меню)
- Нажатия кнопок так же могут сопровождаться звуковыми сигналами (можно отключить в меню)
- Границу звукового сигнала так же можно изменить
- Для поддержания заданной температуры используется ШИМ
- Возможно задать границу температуры, при достижении которой будет включаться ШИМ
- Яркость подсветки регулируется
- Присутствует режим ожидания
- Температура режима ожидания регулируется
- Время до включения режима ожидания регулируется
- Четыре варианта отображения температуры на выбор (только установленная, только реальная, уст. + реал., уст. + реал. поочередно)
В данной схеме используется энкодер от оптической мыши, и достать его не составит труда.
Распиновка энкодера:
Микроконтроллер, увы, заменить нельзя даже на аналогичный без индекса «L», так как питание схемы — 3.3В. По поводу дисплея уже упоминалось ранее. В схеме в основном применены smd резисторы типоразмера 0805, но присутствует и 4 обыкновенных МЛТ-0,125. Все конденсаторы, за исключением электролитических, так же типоразмера 0805. В качестве стабилизатора 3.3В можно использовать любой, аналогичный LM1117-3.3, к примеру AMS1117-3.3. Вместо транзисторов BC547 и КТ315 можно использовать любые кремниевые маломощные структуры n-p-n, например, КТ312, КТ315, КТ3102 и т.д. Транзистор IRFZ24N можно заменить на IRFZ44N, либо аналогичный.Программа для микроконтроллера написана в WinAVR. Я не буду описывать в статье код, так как это повлечет за собой большой объем текста.
Если у вас возникнут вопросы, задавайте их в комментариях, или в теме на форуме.
Все необходимые файлы для самостоятельной компиляции проекта есть в архиве, прикрепленном к статье.
При программировании микроконтроллера необходимо снять перемычку JP1, и подключить к верхнему (по схеме) контакту 5В с программатора, минуя стабилизатор 3.3В. Так же перед программированием необходимо отключить LCD дисплей, так как он не предназначен для использования с питающим напряжением 5В (хотя у меня работал, но рисковать не стоит). Прошивку в микроконтроллер я заливал с помощью программы Khazama AVR Programmer и программатора USBasp.
Скриншот установки fuse-битов представлен ниже:
Для точной настройки коэффициента усиления ОУ необходимо установить ручки подстроечных резисторов RV1 и RV2 так, что бы суммарное сопротивление RV1+R7 и RV2+R16 было ровно в 100 раз больше, нежели сопротивление R8 и R10. Далее, необходимо измеряя реальную температуру жала паяльника, например, мультиметром с термопарой, проверить — совпадают ли значение температуры на экране устройства и данные мультиметра. Если показания значительно расходятся, необходимо подкорректировать их резисторами RV1 и RV2.
Для произвольного включения/отключения режима ожидания предусмотрена отдельная кнопка (SB3).
И напоследок фото и видео работы устройства:
Источник