Очередная паяльная станция

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Zero Cross буквально переводится, как "пересечение нуля" - это необходимо для реализации фазо-импульсного управления симистором, при котором, чем позже поступит открывающий симистор импульс относительно пересечения синусоидой сетевого напряжения нуля, тем меньше мощности достанется нагрузке. Узел контроля ZC отслеживает этот переход и выдает сигнал на МК. В этом проекте, без модификации кода, узел ZC не убрать, плюс регулирование пропуском полупериодов вызовет более сильную болтанку температуры.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

.

zoidovsh
Offline
Зарегистрирован: 16.01.2017

ой извиняюсь удалите пож.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Помогите у меня геркон подключен к черному проводу HOTAIR где будет 220! А второй зелёный! Разве геркон не с термопарой должен быть в паре?

sergik5
Offline
Зарегистрирован: 28.01.2018

Всем привет, тоже собрал эту станцию, за проект огромное спасибо !

Сейчас настраиваю канал фена. Вроде все хорошо, нагрев идет, при достижении заданной температуры - двойной Бип и загорается "*".

Если положить фен наподставку включается продувка и начинается отсчет таймера. Так вот, в этот момент  между надписью "HotAir" и цифрой "10" мигает квадратик(целое знакоместо). Это так задумано или что то у меня не так ?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

sergik5 пишет:
Это так задумано или что то у меня не так ?

Ага, так и есть. Можно, конечно, что-то иное придумать, но было лень.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

gogirystaveli пишет:
Помогите у меня геркон подключен к черному проводу HOTAIR где будет 220! А второй зелёный! Разве геркон не с термопарой должен быть в паре?

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

sergik5
Offline
Зарегистрирован: 28.01.2018

OlegK пишет:
что-то иное придумать,

а как сделать без знакоместа, покажите кусок кода.

PS может пусть 10 мигает

Вот мигающий таймер "10"

 if (hotair_state == st_pause) {
        lcd.setCursor(7, 2); {
        delay(500); }
        lcd.print("  "); {
        delay(500); }

задержки можно любые ставить.

Олег, а не могли бы Вы для паяльника переписать код по принципу фена, нагрев - ":", поддержание "*",а на подставке стартует таймер.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Если случайно на термопару подал 220в! То она нас покинула?

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Если случайно на термопару подал 220в! То она нас покинула?

sergik5
Offline
Зарегистрирован: 28.01.2018

Скорей всего,  и не прозванивается даже.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Фен стартует секунд 5 и на екране появляется !6 что это и что делать?

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

А Федор плату собирал под термо резистор или термо пару

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

sergik5 пишет:
а на подставке стартует таймер.

Таймер для паяльника на подставке будет работать, если раскомментировать дефайн
#define SOLDER_TIMER_ON_STAND
Индикацию выхода на точку стабилизации, возможно, потом добавлю.

gogirystaveli пишет:
Если случайно на термопару подал 220в! То она нас покинула?

ТП проверить легко. Если обрыва нет, то подключить  к мультиметру в режиме милливольт пост. тока и чем-нибудь нагреть. Исправная ТП будет вырабатывать напряжение в пределах до 20 мВ. ТП имеет полярность, нужно это учитывать, при подключении к усилителю.

Цитата:
Фен стартует секунд 5 и на екране появляется !6 что это и что делать?

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

Цитата:
А Федор плату собирал под термо резистор или термо пару

Если посмотреть схему, и сравнить с его платой, то видно, что она под термопару (фен) и терморезистор (паяльник).

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Спасибо большое! УРА всё заработало! Тока температуру от калибровать и в корпус!

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Что пошло не так! Теперь почирнел резистор на 360 Ом который подключается к симистору вывод мт2, и на 4 ногу мос3023! Что я делаю не так? ПОМОГИТЕ заранее спасибо!

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Походу, симистор сдох. Возможно и оптопаре (МОС) каюк...
Возможно из-за того, что ранее была подключена ТП вместо нагрузки - фактически к.з.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Спасибо

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

А что нужно сделать чтобы бузер громче работал? Заранее спасибо! То что он был заклеен я снял!

zoidovsh
Offline
Зарегистрирован: 16.01.2017

Доброго времени суток. Подскажите пожалуйста номиналы деталей показанным жел. стрелочками.

          

Заранее спасибо.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

gogirystaveli пишет:
А что нужно сделать чтобы бузер громче работал?

Какой тип буззера? Активный или пассивный? На какое напряжение?

zoidovsh пишет:
Подскажите пожалуйста номиналы деталей показанным жел. стрелочками.

Плпта контроллера:
Транзистор в цепи пищалки - любой маломощный, n-p-n структуры, например КТ3102, КТ503 (СССР) или BC547 (имп.).
На плате картинка контура транзистора может не соответствовать вашему варианту, ориентируйтесь на обозначения КБЭ - они соответствуют.

Силовая часть:
Электролиты, те, что поменьше на 100-220 мкФ х 35...63В, тот, что побольше, перед стабилизатором 1000-2200мкФ х 16...35В. В цепи 5В - на 100мкФ, напряжением 6.3...10В

На плате усилителя - 10...100 мкФ х 6.3...10В.

gogirystaveli
Offline
Зарегистрирован: 12.11.2017

Активный 5 вольт!

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Напрямую, без транзистора от 5В громче звучит?

zoidovsh
Offline
Зарегистрирован: 16.01.2017

OlegK Спасибо. Еще вопрос, какую реле все таки использовать 12в или 24в ?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

zoidovsh пишет:
какую реле все таки использовать 12в или 24в ?

Конечно, логичнее на 24В, т.к. тогда можно выкинуть лишний стабилизатор с обвязкой. У меня в то время были только на 12В, отсюда и некоторые излишества.

sergik5
Offline
Зарегистрирован: 28.01.2018

Олег, добрый день. чтобы сделать "*" на канал паяльника, нужно добавить дефайны работа, стоп, пауза, раскомментить "byte solder_state = st_stop" и далее через "switch".... ну как в канале фена?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Добрый!
В общем - да, повторить структуру, как у фена.

sergik5
Offline
Зарегистрирован: 28.01.2018

Я попробую, но я совсем новичек, если что поможете ?

sergik5
Offline
Зарегистрирован: 28.01.2018

Всем доброе утро, более менее все настроил, но осталось по мелочи :

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

2 ) Когда фен включен и после нагрева выходит на стабилизацию, загорается "*" и через секунд 5 якобы ложится на подставку, то есть запускается таймер, но фен то в руке ! При этом напряжение на 10 пине не меняется и равно 5 вольтам.

Пины 9 и 10 за уши притянуты к +5В через 10 кОм.

Контроллер запитан от DC-DC через кренку. Сейчас скинул клемму с разьема концевиков - таймер самопроизвольно не включается. Что это ? Помеха на провод ?

pter
Offline
Зарегистрирован: 15.02.2016

Здравствуйте,sergik5 попробуйте паралельно геркону установить конденсатор 100нф,мне помогло избавится от ситуации описанной вами.

sergik5
Offline
Зарегистрирован: 28.01.2018

Поставил экранированный провод на концевики внутри корпуса, оплетки подключил на GND со стороны ардуины. Вроде вылечил. Пункт 2 можно закрыть.

Что делать с паяльником ? Это код так работает ?

sergik5
Offline
Зарегистрирован: 28.01.2018

 /* Solder "on-off" button */
    if (SolderOnButton.update()) {
        if (SolderOnButton.read()) {
            SONbuttonState = false;
        } else {
            if (!SolderON) {
                SolderON = true;
                SolderProtect = false;
                Activate_S_countdown();
                Graph_count = 0;
                selected_Mode = modeSolder;
                resetSolderStablePoint();
                set_s_f();
            } else {
                resetSolderCountdown();
            }
            SONbuttonState = true;
            SONbuttonPressTime = millis();
            Beep(50);
        }
    }

Наверно вот здесь(09 строка) нужно переписать на 

{
  val = digitalRead(sw_S);      // считываем значение с геркона
  digitalWrite(????????, val);     // устанавливаем значение на ???????? равным значению геркона
}

 и если sw_S=LOW включить таймер и "бипнуть", иначе таймер выключен и "бипнуть"

только как связать все вместе ? и правильный ли ход мыслей ?

sergik5
Offline
Зарегистрирован: 28.01.2018

Приделал к паяльнику  "*" на дисплей.

#else //LCD2004

    lcd.setCursor(6, 1);
    lcd.print(bspace);
    lcd.setCursor(7, 1); 

    if (SolderProtect) {                          // если сработала защита
        lcd.print(F("!"));                           // выводим на экран "!"
        lcd.print(s_error);                        // выводим на экран "код ошибки"
    } else if (need_S_countdown) {      // иначе если требуется таймер
        lcd.print(S_countdown);             // выводим на экран таймер
    } else if (SolderON) {                      // иначе если паяльник включен
      if (S_temp_stable) {                     // если температура стабильна     
       lcd.print(F(" *"));                          // выводим на экран "*"
       } else {                                        // иначе
        lcd.print(F(" :"));                         // выводим на экран ":"
    }
    }

 

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

sergik5 пишет:
1 ) При вкл канала паяльника, если паяльник находится в руке и раскомментирована подставка - все равно запускается таймер. Приходится положить на подставку и снять с нее, тогда работает нормально до выключения.

Проверил, есть такая фича.
Некритично, в общем-то - с одной стороны включили паяльник в руках, значит паяем при этом не более 10 мин. Таймер перезапустится при укладывании в подставку и далее всё заработает - как обычно. С другой стороны, если паяльник включить, если он вне подставки оказался (лежит на столе), то время его работы хотя бы будет ограничено. Случай утрированный, но не невозможный.

Если сильно мешает, можете сделать так -
в процедуре опроса кнопок ScanButtons(),
в секции /* Solder "on-off" button */
вызов Activate_S_countdown() (строка 945) обернуть директивой условной компиляции.
Т. е строку Activate_S_countdown() меняете на

#ifdef SOLDER_TIMER_ON_STAND
   if (!D9_Read) Activate_S_countdown();
#else
   Activate_S_countdown();
#endif

Это должно устранить замеченный Вами эффект.

sergik5 пишет:
Вот мигающий таймер "10"

Лучше этот кусок удалить и чуть переделать там же в выводе на дисплей -
 

case st_pause: {
        static uint32_t prev_blink_millis = millis();
        static boolean blink_state = true;
        if (millis() - prev_blink_millis > 500) {
            if (blink_state) lcd.print(HA_countdown);
            blink_state = !blink_state;
            prev_blink_millis = millis();
        }
        break;
  }

 

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Из аппаратных доработок/улучшений - можно зашунтировать кнопки и датчики подставок конденсаторами 0.047...0.1 мкФ (как выше писал pter). Цепи датчиков подставок можно развязать оптопарами, что должно повысить надёжность и нечувствительность к наводкам.

как-нибудь так

sergik5
Offline
Зарегистрирован: 28.01.2018

Олег, доброе утро. Попробовал, огромное спасибо, все работает. От задержек  "delay" я отказался через 5 минут, ибо начались тормоза. Понял, что надо использовать "millis", но знаний нема. Попытался к паяльнику привязать мигающий "10", но не хочет.  Пробовал вот так:

if (need_S_countdown) {
        lcd.setCursor(7, 1);
        if (round(millis() / 100) % 2 == 0)
        lcd.print("  ");
    }

Разместил там, где раньше "blink" был. Вроде работает, но может не правильно ? А вот так не хочет:

if (need_S_countdown) {
    static uint32_t prev_blink_millis = millis();
        static boolean blink_state = true;
        if (millis() - prev_blink_millis > 500) {
          if (blink_state) lcd.print(S_countdown);
          blink_state = !blink_state;
          prev_blink_millis = millis();
        }
  }

Что я упустил ?

PS) Все равно, что в фене, что в паяльнике моргает с разным интервалом, как будто пропуски случаются. не знаю с чем связано, может c обновлением дисплея.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Дисплей обновляется каждые 500 мсек. У мигания через миллис - свой интервал. Отсюда и несинхронность.
Для устранения нужно "мигательный" флаг перекидывать синхронно с обновлением дисплея,  а в коде обновления его проверять и для паяльника и для фена. Перезалейте код из 2336, будет мигать синхронно.

sergik5
Offline
Зарегистрирован: 28.01.2018

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

Еще раз посмотрел код, это "80 level"  - как ни скажут.

Могу ли я Вас отблагодарить, так скажем поддержать проект ? 

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

sergik5 пишет:
Все, на этом все.

Лады. Потестите, если косяков ещё каких-нибудь не вылезет, то обновлю архив в "шапке".

Цитата:
Могу ли я Вас отблагодарить, так скажем поддержать проект ?

В сообщении #976 есть ответ на эту тему ;)

sergik5
Offline
Зарегистрирован: 28.01.2018

Тады еще раз спасибо, будем тестить, но почему то мне кажется, что все будет безупречно. Ну и фото:

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

PS) не знаю как сделать фото кликабельными, не нашел превью

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Отлично получилось! Под дисплейчик фрезеровочка замечательная ))

aleksandr23uam
Offline
Зарегистрирован: 22.01.2017

sergik5, да, красивая станция!

Dmitriy_399
Offline
Зарегистрирован: 31.03.2014

Всем привет. Станцию собрал давно уже, все работает замечательно, но корпус был сделан временный. Сейчас обзавелся 3d принтером и вот дошли руки сделать нормальный корпус. Еще не до конца допечал но хотел бы поделиться фотками что уже получилось))

Фотки вставить не получилось, не знаю можно нет, выложил ссылку на вк

https://vk.com/id373968301?w=wall373968301_94%2Fall

snag
Offline
Зарегистрирован: 29.05.2015

Добрый день!

Олег, подскажите пожалуйста - я правильно понял, что в соседнем проекте (КПФ) Вы упростили узел контроля нуля, заменив его на РС814 и два одноватных резистора. Код (если я ничего не просмотрел) остался прежним, за исключением калибровочных коэффициентов и имен, а так же пинов?

1.Можно ли применить эту схему здесь без изменения кода?

В обоих проектах разные коэффициенты регулирования.

2. Это связано с изменением схемотехники, или в каждом отдельном случае (при одинаковой схемотехнике) требуется индивидуальный подбор? Если это так, то Вы каждый раз прошивали плату с новыми значениями или использовали какую то процедуру подбора коэфф-в?

В снабберной цепи у Вас применен конденсатор 0,1 мкф х 400в, а в даташите 0,01

3. Это допустимая замена по наличию или с чем то связано?

Спасибо. 

И еще вопрос по питанию. 5 вольт планирую брать как у Вас в КПФ через DC-DC (такой же) и линейник.

Как то образовалась напряженка с дросселями. Нашел один в модеме на 220 uH и пару на 33 uH. Их думаю в обвязку 7805. Но есть т.н. бусинки с материнки (1206 и меньше). Я понимаю, что без реальной оценки пульсаций осциллографом это гадать на кофейной гуще, но как Ваше мнение, имеет смысл поставить их непосредственно в цепь питания усилителя и МК. По идее дросселя и бусины давят помехи в разном диапазоне частот. Или не мудрить и искать "гантельки"?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

snag пишет:
Добрый день!

Добрый!

Цитата:
Код (если я ничего не просмотрел) остался прежним

Ещё условие прерывания изменено на противоположное - по фронту в КПФ, по спаду в ОПС.

Цитата:
Можно ли применить эту схему здесь без изменения кода?

Да, с коррекцией условия прерывания (см. выше).

Цитата:
В обоих проектах разные коэффициенты регулирования.

В ОПС (для меня) более приемлемые коэффициенты, т.к. я этим проектом всё же больше занимался.
Для КПФ коэффициенты выставлялись такие же, как были в ОПС, на тот момент. В любом случае, и там и тут есть возможность снять график выхода на режим, что позволяет визуально оценить работу с выбранными коэффициентами.

Цитата:
Это связано с изменением схемотехники, или в каждом отдельном случае (при одинаковой схемотехнике) требуется индивидуальный подбор? Если это так, то Вы каждый раз прошивали плату с новыми значениями или использовали какую то процедуру подбора коэфф-в?

Схемотехника-то, фактически, одна и та же, за исключением узла ZC.
МК - да, прошивку после изменения коэффициента(ов) заливал заново и тестировал. Можно, конечно, сделать меню, где выбирать коэффициенты "на лету", но оно, как бы не нужно -  с уже подобранными коэффициентами повторяемость, в общем-то, приемлемая. Разные финты могут возникнуть по другим причинам (питание, разводка, и т.д.). По регулированию и настройке коэфф. в "шапке" темы есть ссылка на книжку.

Цитата:
В снабберной цепи у Вас применен конденсатор 0,1 мкф х 400в, а в даташите 0,01

Таки, да. Индуктивная составляющая обмотки нагревателя фена не велика, но совсем не ставить снаббер я бы не стал, т.к. он, помимо подавления индуктивных выбросов, ещё и предовращает ложное (неконтролируемое) открытие симистора от воздействия сетевых помех. Ну а отличие в номинале, несмотря на то, что правильная снабберная цепь должн быть рассчитана, имеет простую причину - у меня просто не было конденсатора с нужным напряжением. В общем, в диапазоне от дэйташитных 0,01 до "моих" 0,1 ставьте любой, лишь бы напряжение было не ниже 400В.

Цитата:
По идее дросселя и бусины давят помехи в разном диапазоне частот.

Логичнее применить и то и то, именно по этому )) У меня не нашлось бусин, способных "напялиться" на на вывод стаба в TO220, поэтому я напихал гантелек. Даже,  если их (гантелек) у Вас сейчас не имеется, ничто не помешает предусмотреть место для их установки и при необходимости добавить потом.
Вот есть интересная статья на эту тему.
Ну и ещё накидаю ссылок, по минимизации шумов и помех в БП - раз, два, три.

sergik5
Offline
Зарегистрирован: 28.01.2018

Народ, а у кого сколько времени уходит на разогрев паяльника. У меня паяльник с терморезистором, после включения через 25 секунд на табло 400гр. и режим стабилизации, а по термопаре на жале паяльника 400гр. набегает только через 105 секунд от включения. То бишь разница составляет почти 1,5 минуты. На фене почти вровень идет.

Софт старт отключен, усилитель на AD.

snag
Offline
Зарегистрирован: 29.05.2015

OlegK пишет:
Вот есть интересная статья на эту тему.

Прочел внимательно (как и книжку Карпова), от туда и взял что бусины давят в более высокочастотном диапазоне :-). Только я бусинами назвал SMD элементы (похожи не кондеры). Транзистортестер их считает пикофарадной емкостью))). Мультимером в них несколько ом. У них же импеданс. 

Получил только сейчас паяльник и фен. Продавец, редиска, подсунул паяльник с термопарой, хотя в описании лота -керамика, да и на фото А1321. Буду скандалить.

Да и фен подозрительный - проводки тонковаты, и турбинка 24в, 0,15 а, хотя обычно там 0,25а. Уж не на 110 вольт ли он мне подсунул. Не подскажите как это определить? Сопротивление спирали 73 Ом.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

sergik5 пишет:
То бишь разница составляет почти 1,5 минуты. На фене почти вровень идет.

Тепловая инерция, что Вы хотите...
Термодатчик находится в нагревателе и реагирует на температуру нагревателя, а не жала.
Жало на нагреватель насажено с воздушным зазором + охлаждается воздухом снаружи, пока оно прогреется.
Кстати, при пайке, температура жала может падать на десятки градусов ниже температуры нагревателя.
Этот недостаток практически не проявляется в паяльниках на картриджах Т12 по конструктивным особенностям.

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

snag пишет:
У них же импеданс.

"И опыт - сын ошибок трудных..." )) Всмысле, нужно провести опыт и померять эффективность или неэффективность включения их в цепь питания DC-DC.

Цитата:
Уж не на 110 вольт ли он мне подсунул. Не подскажите как это определить? Сопротивление спирали 73 Ом.

По идее, нормально. Мощность фена заявлена в районе 700Вт, что примерно соответвтует этому сопротивлению.
220 / 73 ~ 3A => 3 * 220 = 660Вт
Только напрямую, без регулирования, в 220 я бы его не стал включать - не хватит мощности турбины, что бы обдуть спираль и, скорее всего, корпус фена обуглится.
Максимальной температуры в 450 град. фен достигает при мощности в примерно 30 % от целой полуволны, программно максимальная мощность ограничена на уровне 60%.