Цифровая паяльная станция своими руками.(V 2.0)

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Леонид Иванович »

Ухода в максимальный нагрев быть не должно. Могут быть колебания, может быть перерегулирование (выброс, иногда длительный), но в среднем должны быть колебания вокруг уставки. Возможно, где-то есть переполнение переменных, или еще что-то.
altais
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс фев 09, 2014 21:14:00
Откуда: Харьков

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение altais »

Если чуть подробнее описать процесс, то получается что станция вроде как при нагреве замедляется около уставки, а потом резко идет вверх. Уходит в насыщение или нет зависит от разницы начальной температуры и уставки, т.е. если сбросить станцию около уставки - она стабилизируется. Еще это все как-то очень резко зависело от коэффициента, например, при D=8 все ок, а при D=10 уже нет. Но все это с 100n конденсаторами на входе ОУ и ADC, при 22n лучше.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Леонид Иванович »

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

СпойлерИзображение
altais
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс фев 09, 2014 21:14:00
Откуда: Харьков

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение altais »

Анализировать то собственно нечего :) , я описал поведение прошивки 1.42b авторства Victor_P на своем железе. Поэтому и бросил ссылку на ту статью, думал натолкнет на какие-нибудь мысли. Да и не стоит вопрос остро, работает же, просто диапазон доступных коэффициентов реально меньше, чем можно выбрать.
Аватара пользователя
Victor_P.
Поставщик валерьянки для Кота
Сообщения: 2168
Зарегистрирован: Сб окт 10, 2009 10:34:07
Откуда: Україна, Хорол

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Victor_P. »

altais писал(а):....описал поведение прошивки 1.42b авторства Victor_P на своем железе...
Видимо что-то с железом не то, потому что такого поведения никто не отмечал из собравиших станцию. Да и я такого ни разу не видел, а уж эксперименты со своей станцией я какие только не проводил. Да и коэффициенты у Вас подозрительные какие-то, у меня сейчас стоят П62 И64 Д00 и ничего нигде не прыгает и не летает.
Мои паяльные станции: первая, вторая, фен.
Аватара пользователя
imon220
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб июл 27, 2013 03:46:14
Откуда: Р Крым

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение imon220 »

Victor_P скажите пожалуйста, у вас есть схема для фена(я какую то нашел но видимо она старая, там еще на кнопках)
У вас ведь уже все на энкодерах.Вроде уже весь форум пролистал а так нечего не нашел...
Если есть то скиньте пожалуйста
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение a5021 »

Леонид Иванович писал(а):Сейчас нет технической цензуры, поэтому ничуть не удивляет появление таких бредовых статей.

А что не так со статьей?
Аватара пользователя
Victor_P.
Поставщик валерьянки для Кота
Сообщения: 2168
Зарегистрирован: Сб окт 10, 2009 10:34:07
Откуда: Україна, Хорол

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Victor_P. »

imon220, нету. Это к Леониду Ивановичу viewtopic.php?f=2&t=61075
Мои паяльные станции: первая, вторая, фен.
altais
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс фев 09, 2014 21:14:00
Откуда: Харьков

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение altais »

Victor_P. писал(а): ....Да и коэффициенты у Вас подозрительные какие-то, у меня сейчас стоят П62 И64 Д00 и ничего нигде не прыгает и не летает.

Записал 2 видео работы, в обоих выбрал ваши коэффициенты. В первом старт с разогретым где-то до 130 паяльником - все хорошо. В втором холодный старт и видна проблема. Не похоже на железо.
Заполнение выбрано максимальным, блок питания MeanWell NES-100-24 100Вт тянет нормально.
https://dl.dropboxusercontent.com/u/40018460/1.mp4
https://dl.dropboxusercontent.com/u/40018460/2.mp4
Как раз кто-то просил здесь видео с демонстрацией, первое неплохо подходит.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение a5021 »

Victor_P. писал(а):Хм, это идея, но вродь пока тких помех не было, чтоб срабатывание кнопок из-за них было.

В небезызвестном "A Guide to Debouncing" описывается прецедент, когда "симпатичная красная кнопочка" давала искрение в течении 157 миллисекунд. Ваш алгоритм сработал бы пять раз на нее. :) То, что ваши кнопки работают замечательно, совсем не значит, что у повторяющих конструкцию никогда, в принципе, не может возникнуть проблем в этом смысле.

В вышеупомянутом гайде описывается шикарный по логике действий и простейший в части реализации алгоритм дибаунса, основанный на операции сдвига. Смысл в том, что в переменную отображающую состояние нажато/отпущено загоняется в качестве младшего бита текущее состояние кнопки. При следующем опросе кнопки, содержимое переменной сдвигается на один разряд влево, а в младший разряд опять записывается текущее состояние. Подразумевая, что цикл этот бесконечен, можно больше не вспоминать о дребезге, а только смотреть на значение этой переменной. Когда все биты встали в единицу, значит мы имеем одно положение кнопки очищенное от дребезга, если все в нулях, то другое.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Леонид Иванович »

a5021 писал(а):А что не так со статьей?


Все не так. Переход к разностной схеме ничего не меняет, физического смысла коэффициентов в том числе. Математически схемы эквивалентны - сначала продифференцировали формулу ПИД, затем проинтегрировали, просуммировав воздействие. Зато появляется дополнительный плюс - простой и понятный критерий ограничения по максимальному воздействию. В прямой схеме интегральную составляющую тоже нужно ограничивать, но нет четких критериев, на каком именно уровне. В результате система имеет медленное восстановление после перегрузок, а иногда приходится прибегать даже к грубому вмешательству в виде сброса интегральной составляющей. Поэтому вывод №1 в статье неверный, всё как раз наоборот - ограничивать нужно обязательно, в этом и состоит основной плюс разностной схемы. А странный эффект, описанный в статье, мог быть связан с ошибкой в реализации. Вывод №2 не имеет отношения к ПИД, эта общая рекомендация при программировании вообще. Надо сказать, что в разностной схеме благодаря ограничению воздействия очень просто контролировать диапазоны значений каждой переменной. Вывод №3 вообще относится к какой-то ошибочной реализации, нет такой ошибки в реальности. Вывод №4 по абсурдности чемпион: "схему следует переинициализировать, как только создалось впечатление, что схема вернулась в нормальное состояние". Ну и заключительный совет, что не стоит использовать разностную схему, весьма спорный. Многие производители промышленных контроллеров почему-то этого совета не придерживаются.
Аватара пользователя
Victor_P.
Поставщик валерьянки для Кота
Сообщения: 2168
Зарегистрирован: Сб окт 10, 2009 10:34:07
Откуда: Україна, Хорол

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Victor_P. »

altais, второе видео очень похоже на описание проблемы BV-Dial с П-канальным полевиком. После 130 градусов температура очень резко вырастает и не управляется. Это очень похоже на то, что полевик полностью открывается и закрыть его получается только выключением станции.

a5021, да, решение интересное, но замедляет в 8 раз скорость опроса кнопок, которую можно конечно и поднять предварительно, но только зачем если и так отлично работает. В любом случае спасибо, если и не сейчас, то когда-то может пригодится.
Мои паяльные станции: первая, вторая, фен.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение a5021 »

Victor_P. писал(а):но замедляет в 8 раз скорость опроса кнопок, которую можно конечно и поднять предварительно

У меня оно висит на таймере, ответственном за динамическую индикацию. Обработчик вызывается каждые 2 миллисекунды, что при восьмибитной переменной дает очищенное состояние через 16 мс после последнего проявления дребезга. Все удовольствие -- три строчки в обработчике.
altais
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс фев 09, 2014 21:14:00
Откуда: Харьков

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение altais »

Полевик IRFR5505 55V 18A, в работе холодный. Драйвер Л.И. больше 12-13В на затвор дать не может. В теории все хорошо. Попробовать его заменить? Почему эффект наблюдается только при определенных коэффициентах? Если руки дойдут, осциллографом гляну.
Аватара пользователя
Victor_P.
Поставщик валерьянки для Кота
Сообщения: 2168
Зарегистрирован: Сб окт 10, 2009 10:34:07
Откуда: Україна, Хорол

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Victor_P. »

a5021, а не может получиться "обратного эффекта" при высокой скорости опроса и "медленной" кнопке? Т.е. варианта, когда один импульс дребезга поместится в 8 измерений?

altais, я не утверждаю что это полевик, но это первое что пришло в голову при просмотре видео.
Мои паяльные станции: первая, вторая, фен.
altais
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс фев 09, 2014 21:14:00
Откуда: Харьков

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение altais »

Victor_P, спасибо за советы. Проблема, получается, индивидуальная. Буду разбираться.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение a5021 »

Victor_P. писал(а):a5021, а не может получиться "обратного эффекта" при высокой скорости опроса и "медленной" кнопке? Т.е. варианта, когда один импульс дребезга поместится в 8 измерений?

Так может получиться, если частота дребезга вдруг окажется ниже 31,5 герца. Контакт, наверное, должен быть толщиной с рельсу. :) В любом случае, никто не мешает увеличить число бит.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Леонид Иванович »

altais писал(а):В втором холодный старт и видна проблема.


Очень подозрительно. На 16 - 17 секунде видео температура за секунду повышается от 153 до 297 градусов. Разве такое физически возможно?

a5021 писал(а):шикарный по логике действий и простейший в части реализации алгоритм дибаунса


Он простой, конечно, но неудобный. Время дебаунса жестко привязано к периоду опроса и разрядности переменной. Лучше прямо в миллисекундах задавать интервал дебаунса. Признаком окончания дребезга является совпадение всех результатов опроса кнопок на этом интервале. Если внутри интервала обнаружено несовпадение - перезапуск интервала. Интервал для распространенных кнопок можно выбрать порядка 20 - 50 мс. Вот кусок исходника источника питания PSL-3604:

Спойлер

Код: Выделить всё

void TKeyboard::Execute(void)
{
  if(TSysTimer::Tick)   //каждый системный тик (чаще не нужно)
  {
    char Key = Scan();  //сканирование клавиатуры
    if(Key != Prev_Key) //код отличается
    {
      DebounceTimer->Start(DEBOUNCE_TM); //запуск Debounce таймера
      Prev_Key = Key;   //сохранение нового кода
    }
    else                //код совпадает
    {
      if(DebounceTimer->Over()) //если интервал истек,
        Message = Key;  //генерация сообщения
    }
  }
}
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение a5021 »

Леонид Иванович писал(а):Время дебаунса жестко привязано к периоду опроса и разрядности переменной. Лучше прямо в миллисекундах задавать интервал дебаунса. Признаком окончания дребезга является совпадение всех результатов опроса кнопок на этом интервале. Если внутри интервала обнаружено несовпадение - перезапуск интервала. Интервал для распространенных кнопок можно выбрать порядка 20 - 50 мс.

Берем переменную подходящей ширины и по маске отслеживаем нужное количество бит. Меняя значение маски можно задавать время дибаунса с шагом 2мс в любой момент. Не надо никаких перезапусков.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Цифровая паяльная станция своими руками.(V 2.0)

Сообщение Леонид Иванович »

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

Вернуться в «Статьи»