Домашний паяльник

Домашний паяльник

А. Латыпов

Домашний паяльник

Современное паяльное оборудование порой недоступно инженеру по цене. Самая деш╦вая паяльная станция "Solomon" стоит порядка 70$.

Автор предлагает одно из решений, как приобрести деш╦вый и удобный паяльник. Для начала можно приобрести паяльник от паяльной станции "Solomon"-SL30.

Цена такого паяльника 250 р. Автор сам разработал к нему систему стабилизации температуры. В качестве основного элемента использована микросхема "Attiny 15L". Она имеет не очень высокую цену и была доступна автору на момент начала разработки. Микросхема содержит 10-разрядное АЦП и коммутатор на 4 канала. Принципиальная схема устройства представлена на рисунке.

Рисунок 1. Принципиальная схема

DD3 - микро-ЭВМ Attiny 15.

1-й вход при использовании внутрисхемного программирования должен оставаться свободным. 2-й вывод микросхемы автор за-программировал как вход термопары (аналоговый вход). 3-й вывод микросхемы автор за-программировал как вход опорного уровня (аналоговый вход). 5-й вывод микросхемы запрограммирован как вход выбора индикации опорного уровня или реальной температуры жала (цифровой вход). 6-й вывод - индикация уровня. На этот вывод выведена широтно-импульсная модуляция. Среднее значение ШИМ соответствует текущему уровню АЦП. На этот вывод выводится сигнал с термопары или опорный уровень. 7-й вывод ≈ управление переключателем "Нагрев".

На микросхеме DD2-1 собран интегратор для ШИМ.

На микросхеме DD2-2 собран фильтр на частоту 1 Гц для сглаживания пульсаций от термопары. DD1 (i118) используется как усилитель сигнала с термопары. Усиление регулируется резистором R19. I118 специально разработан для измерительных цепей. Оптимальный коэффициент усиления 70√80.

VD14 служит для защиты входа микро-ЭВМ от перегрузки.

Индикатор уровня собран на диодах VD 3-8. R16-R18 определяют яркость свечения светодиодов. Управляющая программа с интервалом около 10 мс считывает данные с АЦП и уровень c R16, сравнивает их и, в зависимости от соотношения уровней, включает или выключает нагреватель. Программа анализирует положение тумблера К1 и, в зависимости от его положения, выводит на вывод 6 ШИМ, которая отображает температуру жала или уставку. В Atiny 15 используется внутренний тактовый генератор. ШИМ генератор реализован за сч╦т использования 2-х таймеров. Через контакты Х1 подключается паяльник. Через контакты Х2 можно подключать внутрисхемный программатор, например, рекомендуемый фирмой Atmel.

   ;*********************************************************
;*******Программа измерителя паялника*****************************
;
;Разработал Латыпов А.Т.
;*******Основной модуль************************************
   .include "tn15def.inc"
   .def xfilt1 =r18 ;
   .def status =r20 ;регистр статуса
   .def temp =r21 ;временная переменная
   .def RGres =r22 ;регистр опорного уровня
   .def AL =r23 ;буфер накопитель для слжения
   .def AH =r24 ;
   .def XH =r25 ;
   .def var1 =r26 ;перменная цикла временного буфера
   ;****************************************************
   .cseg ;
   .org 0 ;коды программы
   rjmp reset ;в начало программ
   nop ;внешних прерываний нет
   nop
   nop
   rjmp timer1 ;прерывания от таймера 1 по отображению уровня
   rjmp timer ;прерывание от таймера каждые 10 мс
   nop
   nop ;прерываний от аналоговых блоков нет
   nop
   ;******************************************************
reset:
   cli ;запретим все прерывания
   clr xfilt1
   ldi temp,0
   out OSCCAL,temp ;нижняя рабочая частота внутр.генератора
   ldi temp,0x22
   out ADMUX,temp ;мультиплексор на тестовый канал82
   ldi temp,0x80
   out ADCSR,temp ;однократный запуск АЦП (80)
   ldi temp,245
   out TCNT0,temp ;прерывания каждые 10 мс(220)
   ldi temp,5
   out TCCR0,temp ;предварительный делитель 1\256
   ldi temp,0x0e
   out TCCR1,temp ;предварительный делитель 1\256 для т1
   ldi temp,0x17
   out WDTCR,temp ;wd сработает не ранее чем через 0.9с
   ldi temp,6
   out TIMSK,temp ;разрешаем прерывания от т0 и т1
   sbi DDRB,1 ;7 6 ноги работают на вывод
   sbi DDRB,2
   cbi DDRB,3 ;остальные на ввод
   cbi DDRB,4
   cbi DDRB,5
   sbi DDRB,0
   sbi PORTB,0
   sbi PORTB,1
   cbi PORTB,2 ;при старте включаем нагреватель
   clr status
   clr XH ;чистый 0 для сложения с переносом
   clr ZL ;обнулим указатель
   ldi temp,0
   out GIMSK,temp
   ldi temp,0
   zut MCUSR,temp ;
   ldi temp,00
   out ACSR,temp ;
   ldi temp,32
   out MCUCR,temp ;разрешение на режим "sleep" 32
;***********************************************************
wait:
   ;основной рабочий цикл
   sbrc status,0 ;пора считывать ацп
   rcall Readadc ;вызов подпрограммы чтения ацп
   rcall MakeDeltak ;управление паяльником
   cli
   ldi temp,32
   out MCUCR,temp ;для обеспечения режима сон
   sei
   sleep
   rjmp wait ;конец основного цикла
;*********************************************************
;*****программа считывания ацп вызывается по таймеру каждые
;*****10 мс.**********************************************
Readadc:
   cbr status,1
   sbi ADCSR,6 ;запуск ацп на рабочем канале
wwww:
   sbis ADCSR,4
   rjmp wwww
   in var1,ADCH ;перегружаем значения считанные из ацп
   ldi temp,0x23 ;мултиплексор на канал с опорой
   out ADMUX,temp
   ldi temp,64
del:
   dec temp ;задержка на переключение
   cpi temp,0
   brne del
   sbi ADCSR,6 ;запуск ацп на опоре
wwww1:
   sbis ADCSR,4 ;ожидание готовности ацп
   rjmp wwww1
   in xfilt1,ADCH ;спасаем результат
   ldi temp,0x22
   out ADMUX,temp ;переводим ацп на рабочий канал
   ret
;**************************************************************
;************************************************************
;****программа управления вызывается по
;****таймеру ************************************************
MakeDeltak:
work:
   cp var1,xfilt1 ; сравниваем величины опоры и сигнала
   brlo swon
   cbi PORTB,2 ;выключить нагреватель
   rjmp swoff
swon:
   sbi PORTB,2 ;включить нагреватель
   rjmp swoff
swoff:
   ret
;*******************************************************************
;******************************************************************
;*******программа работы с таймером каждые 10 мс*******************
timer:
   sbi PORTB,1
   sbr status,1 ;каждый период запускаем ацп
   sbic PINB,0 ;определяем режим индикации
   rjmp set
   mov temp,xfilt1
   lsr temp
   out TCNT1,temp ;индикация опорного уровня запуск т1
   cbi PORTB,1
   rjmp EXE
   set:
   mov temp,var1
   lsr temp
   out TCNT1,temp ;индикация температуры жала запуск т1
   cbi PORTB,1 ; 0 на индикатор
   EXE:
   ldi temp,128 ; для следующего цикла
   out TCNT0,temp
   reti
   ;************************************************************
timer1:
   sbi PORTB,1 ;интервал т1 обсчитан
   reti

В паяльной станции, которую выпускает фирма Solomon, точность поддержания температуры жала примерно 40 градусов. В станции, разработанной автором, точность поддержания температуры жала тоже около 40 градусов. Низкая точность поддержания температуры - следствие конструктивных особенностей паяльника (термопара расположена далеко от жала паяльника). Для домашнего применения, как кажется автору, такой станции вполне достаточно.







Рекомендуемый контент




Copyright © 2010-2018 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.