Как и обещал, продолжаю тему модернизации, вернее полной переработки электронной начинки паяльной станции SAIKE-936. Первым делом внимательно исследуем ливер. Разборка непосредственно паяльника обнажила вот что:
Как видите вполне приличное качество и сборки, и пропайки термопары с нагревателем. Непосредственно нагреватель плотно входит в корпус жала, обеспечивая хорошую термоотдачу. А вообще, при покупке подобных паяльников, желательно убедится в вышеуказанном. Например, в Lukey 852 мне пришлось перепаивать выводы термопары, чтобы увеличить их длину, для того, чтобы нагреватель поглубже вошёл в жало. Подобными замечаниями пестрят радиолюбительские форумы. Проверка трансформатора дала следующие результаты: Uxx — 27 В, под нагрузкой при токе 2 А — 24 В. Работа под указанной нагрузкой в течении 2-х часов разогрела трансформатор до 50-60 градусов — в общем сойдёт для наших целей, учитывая, что ток был непрерывный (не импульсный).
Родившаяся схема очень похожа на многие, которые встречаются на радиолюбительских сайтах, например тут и тут. Придумать что-то новое сложно, да и зачем. Можно, конечно, применить фазовую регулировку переменного тока через симистор, но выпрямительный мост всё равно надо ставить для питания цифровой части. Да и подкупает сопротивление канала мощного полевика — всего 0, 022 Ома в открытом состоянии, если верить даташиту. Забегая вперёд скажу, что при работе паяльной станции, IRFZ44N действительно едва нагревается, что и неудивительно P= I*I*R= 2*2*0,022=0,088 Вт. Для усиления слабого сигнала с термопары, а также для согласования сопротивлений применён каскад на ОУ LM358N, который я выпаял из родной платы станции. ?ндикация реализована на 4-х разрядном семисегментном светодиодном индикаторе, т.к. 3-х разрядного под рукой не оказалось. Старший разряд я использовал для индикации символа «t». С питанием цифровой части пришлось повозиться, т.к. после моста и электролита напряжение ХХ получается в районе 35 Вольт, что для стабилизатора 7805 является максимально возможным входным и он довольно сильно нагревался, даже с радиатором. Поэтому добавил перед ним 7820 для облегчения режима работы — этого оказалось достаточно, и размер радиатора сразу уменьшился в два раза. Вот, в общем-то и сама схема:
Вроде всё понятно. ?з схемы, соответственно размерам передней панели, сделал плату в любимом Sprint Layout 5.0.
Настраивал следующим образом. Написал тестовую программку для регулировки Ш?М-а вручную с помощью энкодера. На жало паяльника прикреплял термопару с FLUKE-179 и делал несколько замеров для различных температур, отмечая значение напряжения на выходе ОУ. ?грая потенциометром обратной связи ОУ (он регулирует коэффициент усиления) добился положения, когда значение напряжения в милливольтах приблизительно соответствует значению температуры делённой на 10. Т.е. значению 2567 мВ соответствует значение приблизительно 256 градусов. Сразу оговорюсь, что линейность этого графика лежит в пределах где-то 200 — 370 градусов (для МОЕГО конкретного устройства, т.к. термопары, провода, операционики, резисторы, влажность, атмосферное давление для каждого конкретного случая разные). Вот вид внутренностей станции справа и слева.
Печатная плата закреплена на передней панели с помощью 3-х 8 мм стоек винтами М3. На передней панели вырезано окно для индикатора и просверлено отверстие для энкодера, под остальные элементы использованы штатные отверстия. Светофильтр напечатан на плёнке для струйного принтера. В Ворде рисуете прямоугольник и заливаете его красным цветом (или зелёным, если у вас светодиоды индикатора зелёного свечения). Прогонять печать необходимо несколько раз, чуть-чуть сдвигая положение прямоугольника на странице. Таким образом светофильтр нормально пропечатывается. Потом со стороны краски светофильтр нужно заклеить прозрачным скотчем и вырезать по размерам окна с запасом 4-5 мм с каждой стороны. Приклеить светофильтр лучше суперклеем. Фальшпанель нарисована в Sprint Layout 5.0 и напечатана на самоклеющейся бумаге для лазерных принтеров. Сверху фальшпанель также заклеена прозрачным скотчем. Диодный мост закреплён винтом М3 на нижней части корпуса. В передней части верхней части корпуса просверлено 19-ть 4 мм отверстий для свободного вентилирования элементов платы. Ну, в общем, получилось вот что:
Работает станция следующим образом. При включении она считывает из EEPROM записанное туда значение температуры и разогревает паяльник до этого значения. При первом включении будет считана максимальная температура — 360 градусов. При вращении ручки энкодера вправо/влево, на дисплее в течении 3-х секунд будет отображаться устанавливаемое больше/меньше значение температуры, и, если в течении этих 3-х секунд нажать кнопку «Save», то установленное значение запишеться в EEPROM, и станция при следующем включении будет разогревать паяльник до записанного значения. Если на протяжении 15-ти минут ни разу не будет изменения температуры энкодером, то станция перейдёт в спящий режим. В этом режиме разогрев выключается, светодиод раз в две секунды моргает, буззер раз в 15 секунд пищит. Вывести из этого режима станцию можно выключением и повторным включением питания. Практическая проверка показала хорошую термостабилизацию жала паяльника. Код написан на С в WinAVR. ?сходник прокомментирован по самое немогу, поэтому пояснять его здесь не буду. Чем мне нравятся конструкции на микроконтроллерах — их можно модернизировать и улучшать, не изменяя конструкции. Снял переднюю панель, присоединил программатор и правь код! Уверен, что Вы усовершенствуете эту станцию по своим требованиям — возможностей море. Меня пока устраивает этот простейший вариант. Удачи, коллеги!
Ах да! Поясню почему назвал эту станцию СОЙКА))) Хотелось подобрать русское слово созвучное с SAIKE. Чего мне на работе ни советовали: и СЛОЙКА, и САЙКА, и ЗАЙКА))) А мне понравилось СОЙКА. Красивая птица! Почему бы её именем не назвать паяльную станцию)))
Красота да и только! Температура не прыгает ?
Спасибо! Температура держится +-5 градусов, что связано, я думаю, с инерционностью теплопроводности жала.
Давно хочу собі щось таке, одна біда, фен тоже хочу:)
2 в 1, таке буде?
Можно купить отдельно фен на том же «Вороне», он стоит около 200 грн. Управление им сделать по аналогии с паяльником — всё материалы я выложил. Но мне фен не нужен был. Успехов!
Вже є і фен:), Міху Псков не хочу, все інше яксь… «нєпрєт»
Купил трансформатор в виде паяльной станции и допилил 🙂 А я своей все никак костыль приделать не могу. То лень, то некогда…
Soldier — это солдат 🙂
А я где-то ошибся?
А…))) В названии архива)))
Здравствуйте! Прошу подскажите пожалуйста как можно свяэаться с автором s_black? По поводу Паяльная станция SAIKE-936. Модернизация.?????????
Заранее благодарен Петр.
Мой e-mail: PETR-PETROVICH@yandex.ru
Здравствуйте! Вы со мной связались! Чем могу быть полезным?
Здравствуйте s_black! Решил повторить вашу станцию СОЙКА- 936, а так,как это
будут «мои первые шаги»в AVR микроконтроллерах, то возникли некоторые вопросы: Контроллер Mega48-P или Mega8-P?? Какой марки применён энкодер???
Какой установлен буззер(с гениратором или без гениратора)????? Какие применены цифровые индикаторы(ОА или ОК и марка их)??? Как подключена индикация символа «t» (в схеме и на плате не указано)?? Позваляет ли прошивка мк применить 3-х разрядный индикатор и какой тогда убрать транзистор(VT2, VT3, VT4, Vt5).
Какой подстроечный резистор(многооборотный или простой).
Какие нужно установить фьюзы(уменя программа UniProf)??????
Уменя паяльник от станции LUKEY 702(24В — 50Ватт)
?мею трансформатор: после моста и электролита = 24,6В — 3А, значит L7820 надо
убирать?? Прошу меня извенить за такое колличесто вопросов!!!!!!!???
s_black !! Я вас очень прошу ответьте мне пожалуйста на мой
Мой e-mail: PETR-PETROVICH@yandex.ru
Заранее благодарен Петр.
Жду вашего ответа!!!!!
Уважаемый murzilka! Я Вам отвечу здесь, чтобы потом не отвечать на одинаковые вопросы, если они у кого-то ещё возникнут.
— контроллер ATmega48-P;
— энкодер любой, здесь применён ED16112O;
— буззер без генератора, любого типа;
— индикаторы с ОК, любого типа, здесь применены BQ-M326RD R;
— символ «t» формируется программно (см. исходник);
— можно смело применить 3-х разрядный, у них и цоколёвка совпадает, при этом становится не нужен VT2;
— подстроечный резистор любой;
— фьюзы на внутренний RC-генератор 8 МГц;
— паяльник подойдёт;
-здесь тансформатор такой же, после выпрямления 24,6 В х 1,41=35 В — значит 7820 обязательно нужен, иначе сожжёте 7805.
Удачи Вам в повторении конструкции.
Очень понравилась программа. Аккуратно написана и великолепно прокомментирована. Такого плана комментарии найдутся не в каждом учебнике.
?звиняюсь за назойливость, а можно с фьюзами по подробней, а то я посмотрел калькулятор фьюзов для АВР, а там всю по буржуйский, а у меня с этим туго. Ну вообщем я ни-я там не разобрался, я в МК еще с трудом, тока начинаю. Если можно то скрин для пони-прога или для Коде вижина, буду примного благодарен!!! А переделка просто суперская, у самого Lukey 936AD, по фото копия вашей и давно искал переделку, чтоб по максиму использовать запчасти от сабжа! Большой Вам респект, за проделанную работу!!!
Добрый день s_black подскажите пожалуйста как прошить МК, есть 6 atmeg48 и не одна не прошивается пробовал многими программаторами и не только своими, на всех одно и тоже не читает и не шьет распайка везде правильная.
Можно в прошивке убрать режим отключения через 15мин. простоя или увеличить время до 30-45мин.
Так я… это… так и сделал (40 мин). Давно уже. С тех пор, как постоянно пользуюсь станцией, т.е. с самого начала её эксплуатации. Задолбался крутить энкодер, чтобы не было выключения — 15 мин очень мало! ? я об этом писал…. Но…, наверное в личной переписке с кем-то из повторивших станцию. Скорее всего с Петром Петровичем, ака murzilka.
А можно исправленную прошивку выложить
Вот в этом фрагменте:
увеличивайте 28125 хоть в два раз, хоть до максимума — соответственно изменится время. Если значения 65536 будет мало, объявите переменную time как long
А можно просто готовую HEXом выложить или отправить мне на мыло troy81@inbox.ru
Здравствуйте!Очень понравилась ваша станция- хочу себе сделать такую — не подскажете ли распиновку паяльника- где у него минус и плюс термопары.
Кстати везде противоречивые сведения- одни говорят что там термопара, другие что термосопротивление.Кому верить)
? еще — при программировании в AVR910 какие фьзы как выставлять.Спасибо!
Здравствуйте! Я уж навскидку и не помню, где там плюс, где минус. Но это легко определить по родной плате — плюс уходит на ОУ, а минус на корпусе. ?спользуется термопара. Фьюзы можно оставить по умолчанию, т.е. тактирование от внутреннего RC 8 МГц. Удачи!
В том то и проблема, что станции нет- просто собираюсь прикупить паяльник от нее..В качестве блока питания- импульсный от принтера.
А Вы обновленную прошивку , где время увеличино до 40 минут будете выкладывать?)
На термопаре красный +, синий —
Фьюзы ATmega48 на внутренний RC генератор 8.0МГц
Фьюзы ATmega48 внутренний RC генератор на 8.0МГц http://www.getchip.net/wp-content/uploads/ATmega48_88_168_internal_RC_8.0.png
александр, а чем шили?Почему спросил — потому что у разных программаторов могут быть свои установки. Лошадь шьет иначе чем Code Vision..
Здесь все о фьюзах — http://www.getchip.net/posts/068-kak-pravilno-proshit-avr-fyuzy-fuse-bit/comment-page-2/
Пришлось сделать кнопку быстрого разрыва питания, а то таймера в 30мин. не хватает в самый неподходящий момент выкл. за паяльником быстро проходит время.
Выделите переменную под отсчёт времени типа long, и время отключения тогда можно будет установить хоть несколько часов!
Возможность преобразования диапазоне температур 150-450 градусов Цельсия (я пытался изменить исходный файл, но всегда компиляция завершается неудачно), есть, спать времени слишком короткий, всего 30 минут, надеясь получить вашу помощь, спасибо вам!!!
Мои e-mail:olala123@163.com
А почему не проходит компиляция? Какие ошибки при этом показываются?
——— begin ———
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
AVR Memory Usage
—————-
Device: atmega48
Program: 1808 bytes (44.1% Full)
(.text + .data + .bootloader)
Data: 38 bytes (7.4% Full)
(.data + .bss + .noinit)
Compiling C: Soldier_exm.c
avr-gcc -c -mmcu=atmega48 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./Soldier_exm.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/Soldier_exm.o.d Soldier_exm.c -o Soldier_exm.o
Soldier_exm.c:21:27: warning: «/*» within comment
Soldier_exm.c:22:27: warning: «/*» within comment
Soldier_exm.c:35:48: warning: «/*» within comment
Soldier_exm.c: In function ‘EncoderScan’:
Soldier_exm.c:104: warning: assignment discards qualifiers from pointer target type
Soldier_exm.c:108: error: ‘PI_PIP’ undeclared (first use in this function)
Soldier_exm.c:108: error: (Each undeclared identifier is reported only once
Soldier_exm.c:108: error: for each function it appears in.)
Soldier_exm.c: In function ‘__vector_16’:
Soldier_exm.c:141: warning: passing argument 1 of ‘__eewr_word_m48’ makes pointer from integer without a cast
Soldier_exm.c:142: error: ‘PI_PIP’ undeclared (first use in this function)
Soldier_exm.c:147: warning: assignment discards qualifiers from pointer target type
Soldier_exm.c:167: error: ‘LED’ undeclared (first use in this function)
Soldier_exm.c: In function ‘main’:
Soldier_exm.c:208: error: ‘DDR_BUZZER’ undeclared (first use in this function)
Soldier_exm.c:210: error: ‘LED’ undeclared (first use in this function)
Soldier_exm.c:227: warning: passing argument 1 of ‘__eerd_word_m48’ makes pointer from integer without a cast
make.exe: *** [Soldier_exm.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:02
Без предварительного изменения только несколько предупреждений, но может быть скомпилирован успешно
——— begin ———
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling C: Soldier_exm.c
avr-gcc -c -mmcu=atmega48 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./Soldier_exm.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/Soldier_exm.o.d Soldier_exm.c -o Soldier_exm.o
Soldier_exm.c: In function ‘EncoderScan’:
Soldier_exm.c:104: warning: assignment discards qualifiers from pointer target type
Soldier_exm.c: In function ‘__vector_16’:
Soldier_exm.c:141: warning: passing argument 1 of ‘__eewr_word_m48’ makes pointer from integer without a cast
Soldier_exm.c:147: warning: assignment discards qualifiers from pointer target type
Soldier_exm.c: In function ‘main’:
Soldier_exm.c:227: warning: passing argument 1 of ‘__eerd_word_m48’ makes pointer from integer without a cast
Linking: Soldier_exm.elf
avr-gcc -mmcu=atmega48 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=Soldier_exm.o -std=gnu99 -Wundef -MMD -MP -MF .dep/Soldier_exm.elf.d Soldier_exm.o —output Soldier_exm.elf -Wl,-Map=Soldier_exm.map,—cref -lm
Creating load file for Flash: Soldier_exm.hex
avr-objcopy -O ihex -R .eeprom Soldier_exm.elf Soldier_exm.hex
Creating load file for EEPROM: Soldier_exm.eep
avr-objcopy -j .eeprom —set-section-flags=.eeprom=»alloc,load» \
—change-section-lma .eeprom=0 —no-change-warnings -O ihex Soldier_exm.elf Soldier_exm.eep || exit 0
Creating Extended Listing: Soldier_exm.lss
avr-objdump -h -S Soldier_exm.elf > Soldier_exm.lss
Creating Symbol Table: Soldier_exm.sym
avr-nm -n Soldier_exm.elf > Soldier_exm.sym
Size after:
AVR Memory Usage
—————-
Device: atmega48
Program: 1752 bytes (42.8% Full)
(.text + .data + .bootloader)
Data: 38 bytes (7.4% Full)
(.data + .bss + .noinit)
——— end ———
> Process Exit Code: 0
> Time Taken: 00:02
У Вас в разделе define почему-то не объявлены макрос PI_PIP, вывод LED, и порт DDR_BUZZER. Скачайте ещё раз архив и посмотрите, чтобы раздел define выглядел так:
#define DIG1 PB0 /*Катод 1-й цифры индикатора */
#define DIG2 PB6 /*Катод 2-й цифры индикатора */
#define DIG3 PB7 /*Катод 3-й цифры индикатора */
#define DIG4 PD7 /*Катод 4-й цифры индикатора */
#define PORT_DIG1 PORTB /*Порт катода 1-й цифры индикатора */
#define PORT_DIG2 PORTB /*Порт катода 2-й цифры индикатора */
#define PORT_DIG3 PORTB /*Порт катода 3-й цифры индикатора */
#define PORT_DIG4 PORTD /*Порт катода 4-й цифры индикатора */
#define BUZZER PB2 /*Выход пищалки */
#define PORT_BUZZER PORTB /*Порт пищалки*/
#define DDR_BUZZER DDRB /*Регистр направления пищалки*/
#define LED PC4 /*Выход светодиода*/
#define PORT_LED PORTC /*Порт светодиода*/
#define DDR_LED DDRC /*Регистр направления светодиода*/
#define BUTTON PC3 /*Вход кнопки*/
#define PORT_BUTTON PORTC /*Порт кнопки*/
#define DDR_BUTTON DDRC /*Регистр направления кнопки*/
#define PIN_BUTTON PINC /*Контакт кнопки*/
#define ENC_0 PC0 /*0-й вход энкодера*/
#define ENC_1 PC1 /*1-й вход энкодера*/
#define PORT_ENC PORTC /*Порт энкодера*/
#define DDR_ENC DDRC /*Регист направления входов энкодера */
#define PIN_ENC PINC /*Контакты входов энкодера*/
#define Vdd 4930 /*Напряжение питания — опорное для АЦП*/
#define PI_PIP TCCR2B |= _BV(CS21) | _BV(CS20) /*Макрос для пи-пиканья*/
Спасибо за вашу помощь, этот сборник был успешным
Выложите прошивку с увеличенным временем ожидания пожалуйста на файлообменник, или мне на почту кинте Wladik200@mail.ru
Отправил на мыло. Удачи!
s_black
Спасибо большое!)
у меня на трансформаторе есть доп обмотка на 10V. можно убрать 7820 и подать отдельно на паяльник 24V а на 7805 подать 10V.Вопрос собственно вот в чём минусы питания 24 и 10 соединяются, это допустимо?
Можно запитать цифровую часть отдельно от 10-ти вольтовой обмотки, в этом случае даже тепловой и токовый режим 7805 будет легче. А от основной обмотки запитать паяльник через 7824. Минусы соединять в этом случае НЕОБХОД?МО.
А обязательно нагреватель запитывать через 7824? Нагреватель ест не мало, а стабилизатор 1,5А максимум… Может сразу от источника 24V подать? Без стабов?
Ещё хотел узнать сильно критично если напряжение будет изменяться +-2V (от 22 до 26) оно напрямую зависит от напряжения сети же, а сеть плавает…
?сточник питания будет использоваться импульсный.
Не обязательно и не критично, если оно в пределах, указанных Вами.
Ещё вопросик: Можно ли вместо энкодера поставить кнопки? так как энкодеры в местном магазине отсутствуют(
ПС
При написание прошивки не был учтён дребезг контактов контактов?
То есть некая задержка после первого сигнала с кнопки
Можно, только придётся править исходник.
?зменить нужно в этом блоке?
Добавить delay? Помогите пожfлуйста, язык только учу и от ассемблер…
Уважаемый Влад! Так, нахрапом, Вы не сможете изменить исходник. Вам, я думаю, придётся самому разобраться в работе программы. Помочь я Вам помогу — но то, что Вы просите сейчас, означает переписать прошивку. У меня, к сожалению, время сейчас ограничено. Лучше закажите энкодер в каком-нибудь интернет магазине, или купите на барахолке среди «разодраных» блоков старых музцентров.
Влад, вместо энкодера поставить кнопки можно на раз. ? править в исходнике вам ничего не придется. Видите у энкодера два сигнала А и Б, ставите две кнопки А и Б.
А дальше все просто. Нажимаете А, потом нажимаете Б, отпускаете А, отпускаете Б — это один щелчок, допустим, влево. В обратном порядке — вправо.
Все просто!
DI, а дребезг контактов кнопок?