А. Латыпов
Домашний паяльник
Современное паяльное оборудование порой недоступно инженеру по цене. Самая дешёвая паяльная станция "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 ;предварительный делитель 16 ldi temp,0x0e out TCCR1,temp ;предварительный делитель 16 для т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 градусов. Низкая точность поддержания температуры - следствие конструктивных особенностей паяльника (термопара расположена далеко от жала паяльника). Для домашнего применения, как кажется автору, такой станции вполне достаточно.
Автор документа: Сергей Гаврилюк
, http://www.gaw.ru" |
Дата публикации: 08.08.2007 Дата редактирования: 08.08.2007 |
Кол-во просмотров 2405 | |
Все новости одной лентой |