1. Микропроцессорный регулятор мощности для паяльника на PIC16F628A

  2. PIC16F628A

Update. Обратите внимание, что прошивка из этого поста - не самая свежая. Лучше брать прошивку из поста "Снова о регуляторе мощности. Универсальная прошивка для любого включения светодиодов".

Что он может:

  • 20 уровней регулировки с запоминанием уровня
  • фазовое управление мощностью
  • линейная регулировка мощности (не фазы)
  • наличие режима форсированного разогрева в течении 5 или 10 минут
  • плавное включение нагрузки
  • автоматическое отключение нагрузки через 30 мин
  • наличие режима без отключения нагрузки
  • линейная шкала на светодиодах
  • управление мощностью и выбор режимов осуществляется двумя кнопками
  • в схеме использован микропроцессор PIC16F628A.


Принципиальная схема контроллера

Регулятор мощности, принципиальная схема, PIC16F628A
Регулятор мощности, принципиальная схема, PIC16F628A


Перечень элементов

ОбозначениеНоминалПримечание
C11n
C210µ x 10V
C31n
C41n600V
C5100n
DA1PC817
DA2MOC3020MOC3020-MOC3023
DD1PIC16F628A
R12k2
R2220k
R3220k
R41k
R522k
R6220
R739
R8220
R9220
R10220
R11220
R12220
R13220
R14220
R15220
R16220
R17220
R18220
R19220
VD11N4148
VD21N4148
VD31N4148
VD41N4148
VD51N4148
VS1MAC15NMAC16N
VT12SC828

Благодаря наличию оптронов цифровая часть гальванически развязана с сетью, но, тем не менее, в схеме присутствует высокое напряжение, поэтому при повторении конструкции необходимо соблюдать технику безопасности!

Осцилограммы на выводах процессора. Смещение импульсов друг относительно друга на осцилограмме соответствует второй ступени регулировки мощности (горит 1 светодиод)
Ширина импульса на RA4 около 170uS, на RB3 около 1.5mS

Прошивка

Версия 2: (доступно зарегистрированным пользователям)

Обратите внимание, что более свежая и функциональная прошивка есть здесь

Правильно выставленные фьюзы - залог успеха:

CONFIG = 0x2150
или CONFIG = 0x3F50 (если считать неопределенные биты 9-12 за "1")

CP----CPDLVPBORENMCLREFOSC2!PWRTEWDTEFOSC1FOSC0
1xxxx101010000

Для прользователей IC-PROG установка фьюзов должна выглядеть так (сам не проверял, подтвердите или поправьте в комментах кто пробовал)

FOSC<2:0> = 100 (INTOSC internal oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
WDTE = 0 (WDT. Disabled)
PWRTE = 0 (Power-up Timer Enable bit. Enabled)
MCLRE = 0 (RA5/MCLR Pin Function Select bit. RA5/MCLR is digital I/O)
LVP = 0 (Low Voltage Programming Enable bit. RB4/PGM is digital I/O, Low Voltage Programming is off)



Как и любая цифровая схема, данный регулятор не нуждается в налаживании, и в случае правильной сборки и исправных деталей начинает работать сразу. Но, как оказалось, это только в теории. На практике бывает, что контроллер в лучшем случае не работает вообще, и в этом случае проблему отыскать сравнительно легко. Это или фьюзы неверно выставлены, ошибка в монтаже или еще что-то подобное, глобальное.

Гораздо хуже, когда процессор вроде работает, есть индикация, но в нагрузке творится что-то непонятное. В таком случае очень полезно посмотреть осциллограммы на входах и выходах процессора RA4 и RB3.

К сожалению, не у всех под рукой есть осциллограф. С расчетом именно на такой случай я добавляю тестовую прошивку, которая позволит определить, есть ли на входе RB3 сигнал с частотой 100Гц с детектора нуля.

Прошивка

Версия 1 от 09.04.13: (доступно зарегистрированным пользователям)

Данная прошивка предназначена только для указанной цели, больше ничего она не делает. Фьюзы для этой прошивки такие-же, как и для основной прошивки. Она работает с рассчетом, что используется внутренний тактовый генератор на 4MHz. Результат работы выводится на светодиодный индикатор.

Значения отдельных светодиодов индикатора указаны на рисунке ниже:

Значения частоты на индикаторе

Фактически индикаторы означают следующее:
0-20 Hz - импульсов скорее всего нет вообще
<93 Hz - импульсы следуют с сильно низкой частотой
с 94 по 106 Hz - норма (с учетом погрешности калибровки внутреннего генератора на 4MHz)
>108 Hz - импульсы следуют слишком часто

Возможна ситуация, когда горит одновременно несколько светодиодов, что означает, что обнаружены импульсы, следующие с разными интервалами (частотами), чего в нормально работающем детекторе нуля не должно быть, максимум - пара соседних из "нормального" интервала



Наконец регулятор обзавёлся печатной платой, которую разработал и любезно предоставил RN3QNR

Печатная плата в формате .LAY: (доступно зарегистрированным пользователям)



Выглядит в собранном виде это так:



Для регулятора готова новая прошивка, которая позволяет работать в одном из двух режимов. Параметры каждого из режимов (время и мощность форсированного разогрева, время до отключения и мощность при отключении) могут быть выставленны индивидуально в режиме настроек.

Читайте про новую прошивку здесь


Даташиты

ОБСУЖДЕНИЯ

Аватар пользователя grab

Интересно, почему чаще используется программное управление симистором в момент перехода сетевого напряжения через ноль? Ведь можно упростить схему используя специализированый оптосимистор, например МОС3063. В аналоговых устройствах успешно им пользуюсь. Или есть особенность при связке с микроконтроллером? Только начинаю изучать pic16F628A...

Спасибо за схему, попробую повторить и приспособить для своих нужд, а именно регулировать сварочный ток по первичке, взяв мощнее симистор. До недавно успешно пользовался схемой на К1182ПМ1, но нечаяно спалил её, а новую тяжко и дорого купить.

Аватар пользователя leog

MOC3063 и аналогичные, со встроенным детектором нуля, используются там, где нужно просто открыть симистор, например зажечь лампочку на всю катушку. Управляющий сигнал можно подавать в любой момент времени, но благодаря встроенному детектору нуля реальное открытие симистора происходит всегда в момент перехода сетевого напряжения через 0. Делается это для снижения помех, которые лезут обратно в сеть, да и режим работы самого симистора, мне кажется, облегчается.


MOC3020 и аналогичные, не имея встроенного детектора 0V позволяют открывать симистор на любом угле синусоиды, что позволяет строить схемы фазового управления мощностью нагрузки. Для того, чтоб открывать симистор на определенном угле сетевой синусоиды, процессору нужно знать о моменте переходов сетевого напряжения через 0V, чтоб, во-первых, отсчитывать задержку открытия симистора от этого момента, и, во-вторых, для расчёта периода колебаний, т.к. схема не кварцованная, да и в сети не всегда точно 50Гц может быть.

Аватар пользователя Гость

Здравствуйте.Подскажите пожалуйста,как можно зарегится на этом сайте,почему то не проходит регистрация,не отправляются письма на указанный емайл в регистациии

Аватар пользователя leog

Были проблемы с отсылкой почты, сейчас всё работает

Аватар пользователя nikola_man

упакуйте пожайлуста прошивку ( .hex )в архив, в браузере белеберда какая то.

Аватар пользователя leog

Готово, качайте.

Аватар пользователя nikola_man

спасибо

Аватар пользователя daomsk

Поясните, плиз, назначение куска схемы с РС817?
В программировании я, увы, не спец, потому расскажите в какой программе Вы прошивали процессор, и можно ли его прошить вне схемы?
Да, и хотя бы кратко, черкните порядок работы с кнопками. Непонятно также, как включить режим без отключения нагрузки.
И еще хотелось бы узнать Ваши рекомендации по расположению элементов на плате, с целью минимизации наводок, etc.
Спасибо

Аватар пользователя leog

Кусок схемы с PC817 формирует короткие импульсы в моменты перехода сетевого напряжения через 0.

Прошивать процессор можно в любой программе, которая работает с имеющимся у Вас программатором. Я сейчас использую PICkit 2 с программатором, который печатался в журнале "Радио" № 11 за 2010

Прошить процесcоор можно вне схемы, можно прямо в схеме - это ни на что не влияет.

Порядок работы с кнопками:

Нормальный режим: если просто включить регулятор - он встанет на последний запомненный уровень мощности.

Форсированный разогрев 1: если включить с нажатой кнопкой SA1 - регулятор выйдет на 100% мощности. Через 10 мин. или при нажатии на любую кнопку он вернется на на последний запомненный уровень мощности, переходя в Нормальный режим.

Форсированный разогрев 2: если включить с нажатой кнопкой SA2 - регулятор выйдет на 100% мощности. Через 20 мин. или при нажатии на любую кнопку он вернется на на последний запомненный уровень мощности, переходя в Нормальный режим.

Если в течение получаса в этих трех режимах не трогать кнопок, то регулятор снижает мощность на нагрузке до 0% (моргают все индикиторы сразу). Нажатие на любую кнопку возвращает в Нормальный режим.

Режим без отключения: если включить с нажатыми кнопками SA1 и SA2 - он выставит на нагрузке последний запомненный уровень мощности, как в Нормальном режиме, но автоматического отключения нагрузки происходить не будет.

Если во время работы в Нормальном или Без отключения режиме нажать любую кнопку - регулятор перейдет на режим установки мощности (моргают светодиоды), теперь можно выставить нужный уровень мощности и оставить кнопки в покое - через 3 сек индикаторы перестанут моргать, новое значение мощности будет запомнено.


Рекомендации по расположению простейшие: силовая часть должна быть отдельно от цифровой, границей служат 2 оптрона. В принципе, к наводкам схема не чувствительна.

Благодаря наличию оптронов цифровая часть гальванически развязана с сетью, но, тем не менее, в схеме присутствует высокое напряжение, поэтому при повторении конструкции необходимо соблюдать технику безопасности!

Аватар пользователя daomsk

Большое спасибо!
А что надо будет поменять в схеме/прошивке, если вместо MOC3020 применить MOC3041, со встроенным детектором нуля? По идее, должно быть компактней и дешевле?!
Извините за дилетантские вопросы...

Аватар пользователя leog

Такая замена не пройдет. Я уже писал про это парой постов выше. Почитайте про принципы фазового управления мощностью, например тут

Аватар пользователя Andrew

Можно ли использовать другие симистроы, например BT137-600, а транзистор BC337?
И ещё автору: нельзя ли сделать ондикацию на 2х семисегментниках от 0 до 99?

Аватар пользователя leog

Другие симисторы скорее всего будут работать - узел не слишком критичный к параметрам элементов. Транзистор подойдет любой маломощный n-p-n. У меня стоит какой-то первый попавшийся под руку.
А вот что касается индикации - идея отличная, и сделать ее теоретически нет проблем, надо только пару ключей транзисторных добавить и слегка перелопатить программу, но это потребует времени, а вот со временем как раз сейчас плохо.

Аватар пользователя hisound

Не могли бы ВЫ поделится исходником программы, хочется режим работы по времени отключить навсегда, заранее спасибо.

Аватар пользователя MadVolt

Данный hex имеет выставленные биты конфигурации?

Аватар пользователя leog

Нет, фьюзы туда не включены

Аватар пользователя MadVolt

Можно ли выложить прошивку в hex с включенными битами конфигурации? Просто не могу запустить данное устройство, прошиваю PIC, включаю устройство, пройсходит индикация светодиодами как показано на видео, при упарвлении кнопками индикация исправно работает, но на нагрузке (лампа накаливания) ничего не меняется, вот вопрос на выходе RA4 должен ли быть сигнал и какой? У меня просто ничего с него не выходит. Есть ли какой то мануал по настройке данного устройства?

За ранее спасибо за ответ!

Аватар пользователя leog

Что-то быстро не получилось в MPLab сделать прошивку с конфигурационными битами. На выходных еще пошаманю.
На RA4 сигнал должен быть, но, возможно, очень короткий, импульс с частотой 100Гц. Кода под рукой сейчас нету, точно скажу попозже. Но, чтоб сигнал увидеть, обязательно нужна нагрузка на плюс: как мы все помним, RA4 - выход с открытым стоком.
И импульсы на B3 с детектора нуля должны поступать обязательно - иначе ничего не будет работать.

Аватар пользователя MadVolt

Спасибо за ответ, буду копать дальше, но изначально нужно попробывать правильно прошить PIC, возможно все дело в этом. Если у Вас получиться с прошивкой буду очень благодарен.

Аватар пользователя MadVolt

Спасибо огромное за подробное разъяснение о битах конфигурации, установил как у Вас показано
(CONFIG = 0x2150) и все заработало, но прошил другой контроллер установил и опять проблема, прошил вновь заработало опять (проверено на лампе накаливания). Спасибо что не оставили без ответа мои вопросы. Сначало была проблема при прошивке в PICKIT2 (самодельный, полный аналог), не проходило верификацию по конфигурации Verification of configuration failed, вычитал в инете,

"В меню "Tools” можно включить опцию ”Use VPP First Program Entry", это может понадобиться для контроллеров, конфигурация которых и настройка портов не позволяет войти в режим программирования (например, для контроллеров PIC12F675 с включенным внутренним сбросом и портами, подключенными к PGD и PGC, настроенными на выход). Попробуйте включить эту опцию, если программатор выдает ошибку проверки конфигурации ('Verification of configuration failed.')."
Включил эту опцию, и все прошилось хорошо и после этого заработало, пробовал без включения опции не пошло, регулировка по светодиодам идет, а на нагрузке ничего.

Ну это так, вдруг кому пригодится, чтобы не мучались как я. Еще раз большое спасибо, будем тестить дальше Ваш регулятор.

Аватар пользователя MadVolt

Так и не смог запустить данное устройство, прошил PIC запустил вроде все пошло, но при отключении из сети и повторном включении лампа горит в полный накал, а индикаторы показывают половину (горят 5 штук), уже не знаю что может быть, в схеме стоит вместо MOC3020 - MOC3021.

Аватар пользователя leog

Не расстраивайтесь, разберемся :)

Оптосимистор MOC3021 для этого регулятора годится.

Вопрос первый - пробегает ли по светодиодам волна после включения регулятора (так, как это видно на видео)?

Аватар пользователя leog

Добавил в текст осцилограмму, сравните с сигналами в своем устройстве. Первым делом должен быть сигнал на RB3, что говорит о правильной работе узла формирователя импульса перехода через ноль сетевого напряжения. Если его нет - разбирайтесь с этим узлом. Он вообще работает независимо от всей остальной схемы.

Аватар пользователя MadVolt

Доброго времени суток! По поводу вашего вопроса, волна после включения регулятора пробегает, устанавливается на последний запомненный уровень. Сигнал на RB3 есть, в принципе похож на вашу осцилограмму, а вот выхода с RA4 нет. После включения лампа загорается сразу и все. Но было так что устройство работало, т.е. после включения пробегает волна, лампа моргает и устанавливается на запомненный уровень, свечение лампы согласно "уставке". Только почему то работает через раз.
Раз заработало и все, потом не извесно заработает или нет. Может ли симистор MAC15N самопроизвольно открыватся или нет ? Хотя сигнал на RA4 все равно должен был присутьствовать, а его нет. Да а у вас можно давать ссылки на фото, я бы выложил осцилограмму свою?

Аватар пользователя leog

Добрый вечер. Ссылки вроде выкладывать можно, хотя на 100% не скажу, попробуйте. Если не получится - тогда будем разбираться.

Для проверки работоспособности узла с MOC3020 и MAC15 попробуйте отсоединить резистор R8 от ноги процесоора RA4. При висящем в воздухе резисторе нагрузка должна быть отключена. При соединении резистора с землей нагрузка должна включаться. Посмотрите, какой ток идет через резистор на землю. Для MOC3021 он должен быть в пределах от 15mA до 60мА.

Аватар пользователя MadVolt

Проделал все как Вы объяснили, узел MOC3021 и MAC15 работает, установил ток в линии RA4-MOC3021 25mA. И вот она радость все пошло, но радоваться пришлось не долго. Включил заработало, отключил, включил заработало, отключил, включил через 30 минут и опять лампа светит в полный накал не заработало. Индикация на светодиодах работает без нариканий, хотя как то был раз, что волна пробегала 2 раза вместо одного. Но это было всего один раз.

Аватар пользователя leog

Странно конечно всё это.

- Можно попробовать еще ток поднять.
- Блокировочный керамический конденсатор 0.1мкф на ножки питания процессора обязательно.
- RA5 попробовать на +5 резистором 1к подтянуть.
-Поменять в фюзах значения бита !PWRTE на 1.

Хорошо бы осцилограммы посмотреть в работающем и неработающем состояниях.

Аватар пользователя MadVolt

Хорошо попробую, и осцилограммы постараюсь сделать.

Аватар пользователя sasha143

Где взять печать, Заранее спасибо!

Аватар пользователя leog

К сожалению, нет печатки. Всё было собрано на макетке.

Аватар пользователя sasha143

Может кто нибудь из гостей развёл и поделиться!

Аватар пользователя Фанзир

напишите пожалуйста все элементы с их номинальными значениями. на картинке я не могу разглядеть. и еще. я не могу найти у себя в городе оптопару МОС3020. Есть ли аналоги ему?

Аватар пользователя leog

Заглядывайте на выходных, я сделаю список, как будет свободное время

Аватар пользователя leog

Из аналогов нашел:
MOC3020 K3020P BRT12H
MOC3021 TLP3021 KMOC3021

Но точно сказать, что заработает - могу сказать только про MOC302X

Вообще, MOC302x - широко распространенная серия, может проще её поискать, заказать где-то

Аватар пользователя alexeytimonin

Подскажите, если кто знает: можно ли в этой схеме применить ТС160, и почему симистор(ТС160) при подключении в сеть с лампой накаливания в нагрузке, находится в полуоткрытом состоянии? Быть может он пробит? Но без напряжения при прозвонке между катодом и анодом высокое сопротивление. Что может быть?

Аватар пользователя leog

Алексей, если Вы сомневаетесь в симисторе, то для его проверки можно в цепи управляющего электрода вместо оптисимистора MOC3020 просто попробовать поставить кнопку ( конечно, соблюдая технику безопасности, т.к. там будет 220 вольт. При разомкнутой кнопке нагрузка должна быть выключена, при замкнутой - включена. В некоторых схемах видел для тс160 резисторы R1и R2 ставят 1K, а не 220 Ом.

Для проверки схемы можно так-же попробовать оптосимистор MOC3020 нагрузить сразу на нагрузку (без симистора MAC15), например на лампочку на 220В, но ее мощность не должна превышать 10-15Вт.

Аватар пользователя alexeytimonin

Спасибо Вам большое за ответ, попробую так сделать.

Аватар пользователя RN3QNR

Здравствуйте всем! Очень понравилась данная конструкция , терморегулятора . Автору большое спасибо.Сейчас идет стадия сборки этого регулятора , монтаж печатный так что как будет закончен тест выложу эскизы.

Кто ищет тот находит , кто борится тот побеждает!!!

Аватар пользователя RN3QNR

Все здравствуйте , как и обещал после тестирования могу поделиться эскизом печатной платы.

Кто ищет тот находит , кто борится тот побеждает!!!

Аватар пользователя RN3QNR

Да если кому надо пишите на mail (rn3qnr@mail.ru)

Кто ищет тот находит , кто борится тот побеждает!!!

Аватар пользователя leog

Если есть желание поделиться с общественностью, я могу тут выложить Вашу печатку.

Аватар пользователя RN3QNR

В качестве симистора применил BTA12 600В ,купленные мной MAC15 оказались бракованными (обидно ). Все симисторы из коробки были изначально пробиты , нагрузка сразу загоралась , узел регулировки и индикации работал без нареканий . Прошивал программатором PICKIT2 ,биты конфигурации доделывал в hex файле в MPlab.Вот краткое изыскание моих действий . Автору спасибо!!!!!

Кто ищет тот находит , кто борится тот побеждает!!!

Аватар пользователя RN3QNR

Еще вопрос к автору , назначение перемычки на RB0?

Кто ищет тот находит , кто борится тот побеждает!!!

Аватар пользователя leog

Это небольшой задел на будущее - хочу сделать при наличии перемычки по умолчанию режим без автоматического отключения нагрузки через 30 мин.

Пока (в текущей прошивке) это не реализовано.

Аватар пользователя Tika

Народ скиньте рисунок плата сие чуда.

Аватар пользователя MadVolt

У всех ли завелось это замечательное устройство? Я бьюсь с ним уже давно, нет выхода импульсов с RA4 (скорее всего там сразу высокий уровень). Нагрузка лампа на 15Вт сразу на оптосимисторе, загорается в полный накал. Подбор резистора в цепи управление оптосимистора приводил к стробоскопическому эффекту на лампе, либо вообще не горела. Индикация по светодиодам рабочая.

Аватар пользователя leog

Уважаемый MadVolt! Не могу вручить Вам медаль "За волю к победе", но чтоб как-то помочь, выложил тестовую прошивку, которая, надеюсь, поможет Вам запустить этот регулятор. Смотрите update в конце поста.

Аватар пользователя MadVolt

Все свершилось ! Устройство заработало! Благодаря Вашей прошивке для тестирования удалось определить, что на входе RB3 частота 20Mhz или менее того. начал копать и оказалось что проблема скрывалась в транзисторе VT1 в цепи формирования импульса перехода через ноль. Заменил транзистор на другой и все пошло !!! Хотя перед пайкой проверяю все детали! Спасибо Вам огромное за данное устройство !!!

Аватар пользователя leog

Отлично, приятно слышать. Заглядывайте еще, постараюсь побыстрее выложить новую прошивку с возможностью настройки параметров.

Аватар пользователя MadVolt

Обязательно буду заглядывать к Вам!

Страницы

Добавить комментарий

Filtered HTML

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CommentFile
Максимальный размер файла: 5 МБ.
Разрешённые типы файлов: jpg png.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Введите код с картинки