Цифровая паяльная станция своими руками.(V 2.0)
Да вот я тоже об этом подумал, будет с деньгами попроще, да закажу, как нить, а так пусть пока так квакает!
Главное что все работает!!! Единственное, что надо будет сделать, так это выходной дроселек помощней поставить, а то 3х амперный походу слабоват, в насыщение влетает, греется уж довольно ощутимо!!! 
Закон Ома, закон Ома - весь уголовный кодекс перечитал -НЕТ ТАМ ТАКОГО!!!
- Реклама
Прошивка 1.4 для моего варианта станции.
добавлено:
• сторожевая собака на 1с;
• подтверждение автовыбора типа индикатора коротким нажатием на энкодер и возможность задать вручную при ошибке автовыбора;
• параметр настройки AdL – чувствительность детектора активности паяльника 0-95 (большее значение – меньшая чувствительность, 0 - детектор выключен);
изменено:
• замеры температуры сделаны в перерывах между импульсами ШИМ нагревателя;
• полностью изменен ПИД алгоритм нагрева, применен дифференциальный вариант по совету и при поддержке Леонида Ивановича;
• полностью изменен детектор активности паяльника, применен алгоритм Леонида Ивановича;
• шаг изменения значения таймера изменен с 10 на 5 минут;
• таймер работает только в режиме стабилизации температуры (зеленый светодиод), во время нагрева/остывания нет;
• выход из любого параметра настройки (с сохранением – коротким нажатием, без сохранения – ждем 4с) происходит в режим настройки, выход из режима настройки теперь длинным нажатием на энкодер;
исправлено:
• убрана реакция на последнюю нажатую кнопку в режиме ошибки;
• теперь при переходе в режим установки времени таймера, если перед этим была выбрана температура из пресета, она таки выбирается;
• при длинном нажатии на энкодер в режиме выбора пресета или времени таймера теперь значение записывается, выбирается и производится выход в основной режим.
также написал короткую инструкцию
добавлено:
• сторожевая собака на 1с;
• подтверждение автовыбора типа индикатора коротким нажатием на энкодер и возможность задать вручную при ошибке автовыбора;
• параметр настройки AdL – чувствительность детектора активности паяльника 0-95 (большее значение – меньшая чувствительность, 0 - детектор выключен);
изменено:
• замеры температуры сделаны в перерывах между импульсами ШИМ нагревателя;
• полностью изменен ПИД алгоритм нагрева, применен дифференциальный вариант по совету и при поддержке Леонида Ивановича;
• полностью изменен детектор активности паяльника, применен алгоритм Леонида Ивановича;
• шаг изменения значения таймера изменен с 10 на 5 минут;
• таймер работает только в режиме стабилизации температуры (зеленый светодиод), во время нагрева/остывания нет;
• выход из любого параметра настройки (с сохранением – коротким нажатием, без сохранения – ждем 4с) происходит в режим настройки, выход из режима настройки теперь длинным нажатием на энкодер;
исправлено:
• убрана реакция на последнюю нажатую кнопку в режиме ошибки;
• теперь при переходе в режим установки времени таймера, если перед этим была выбрана температура из пресета, она таки выбирается;
• при длинном нажатии на энкодер в режиме выбора пресета или времени таймера теперь значение записывается, выбирается и производится выход в основной режим.
также написал короткую инструкцию
- Вложения
-
- FW_VP_v1.4_ENC.rar
- (94.64 КБ) 746 скачиваний
С новой прошивкой нужно заново настраивать? (коэффициенты ПИД, калибровка)
dmirrr, к сожалению да.
ПИД то настроен, ну может в маленьких пределах придется подобрать Кп и Ки, а вот калибровку заново придется запустить.
В принципе, если в 1.31 все устраивает, то особого смысла менять на 1.4 нету.
ПИД то настроен, ну может в маленьких пределах придется подобрать Кп и Ки, а вот калибровку заново придется запустить.
В принципе, если в 1.31 все устраивает, то особого смысла менять на 1.4 нету.
А что это такое и где такое поглядеть можно?дифференциальный вариант по совету и при поддержке Леонида Ивановича;
- Реклама
Vseryj, это я когда-то давно в личке спрашивал у него, как организован замер температуры и алгоритм нагрева в его станции, и он мне довольно подробно все обьяснил. Но тогда я все-таки додедал свой вариант. А недавно вспомнил о его ответе и решил попробовать его вариант, и он мне очень сильно понравился.
Касаемо самого алгоритма, вот слова Л.И.: "... Регулятор реализован в дифференциальной форме, т.е. пропорциональная составляющая превращается в дифференциальную, интергральная - в пропорциональную, а дифференциальная - во вторую производную. На выходе получим дифференциал воздействия. Такой подход позволяет избавиться от интегральной составляющей вместе с проблемой ее ограничения:
dP = Kp*(t - t) - Ki*(tset - t) + Kd*(t - 2*t + t)
Из дифференциала мощности и предыдущего значения мощности получаем текущее значение мощности, которую нужно подать на нагреватель:
p = P[i-1] - dP"
Он очень охотно и терпеливо отвечает на все вопросы, за что ему огромноное спасибо.
Я могу скинуть Вам всю информацию, полученную от Л.И. чтоб лишний раз не отвлекать его на одну и ту-же тему, только спросите об этом у него, без его разрешения я этого не сделаю, все-таки это его интеллектуальная собственность. А может Вам достаточно вышенаписанного алгоритма и больше ничего не нужно или у Вас появятся свои вопросы. В любом случае напишите ему в личку, как минимум получите удовольствие от общения с умным человеком.
Касаемо самого алгоритма, вот слова Л.И.: "... Регулятор реализован в дифференциальной форме, т.е. пропорциональная составляющая превращается в дифференциальную, интергральная - в пропорциональную, а дифференциальная - во вторую производную. На выходе получим дифференциал воздействия. Такой подход позволяет избавиться от интегральной составляющей вместе с проблемой ее ограничения:
dP = Kp*(t - t) - Ki*(tset - t) + Kd*(t - 2*t + t)
Из дифференциала мощности и предыдущего значения мощности получаем текущее значение мощности, которую нужно подать на нагреватель:
p = P[i-1] - dP"
Он очень охотно и терпеливо отвечает на все вопросы, за что ему огромноное спасибо.
Я могу скинуть Вам всю информацию, полученную от Л.И. чтоб лишний раз не отвлекать его на одну и ту-же тему, только спросите об этом у него, без его разрешения я этого не сделаю, все-таки это его интеллектуальная собственность. А может Вам достаточно вышенаписанного алгоритма и больше ничего не нужно или у Вас появятся свои вопросы. В любом случае напишите ему в личку, как минимум получите удовольствие от общения с умным человеком.
Даж спрашивать об этом неудобно.Я могу скинуть Вам всю информацию, полученную от Л.И. чтоб лишний раз не отвлекать его на одну и ту-же тему, только спросите об этом у него
Не совсем понял что есть t, t, t- текущая, предыдущая, предпредыдушая температуры?
Да.Vseryj писал(а):... t, t, t- текущая, предыдущая, предпредыдушая температуры?
Вот здесь подобная реализация ПИД алгоритма описана, тоько в П составляющей используется разность ошибок (по словам Л.И. это шаг назад), и низкочастотный фильтр для Д составляющей тоже не нужен.
Сделал станцию Victor_P.
1.4 - мусор на индикаторе, 1.31 - на индикаторе SET, на энкодер реагирует только звуком.
Причина - другая распиновка энкодера. Проверяйте.
Паяльники самодельные, термопары зачеканены в жало.
При включении термопара не успевает нагреться - выводит ошибку.
1.4 - мусор на индикаторе, 1.31 - на индикаторе SET, на энкодер реагирует только звуком.
Причина - другая распиновка энкодера. Проверяйте.
Паяльники самодельные, термопары зачеканены в жало.
При включении термопара не успевает нагреться - выводит ошибку.
Вплоне может быть. Я когда делал станцию вообще не знал, что у них может распиновка различаться. Плату делал под конкретный энкодер. Так что придется немного дорожки почикать.Metryx писал(а):...Причина - другая распиновка энкодера...
Metryx, а ничего. Станция рассчитана на стандартные пальники, у них скорость нагрева большая, оибка не возникает. У самодельных, видимо, скорость нагрева намного ниже. В принципе я могу перекомпилить прошивку (отключив проверку нагрева/остывания), но я не представляю как поведет себя ПИД-нагрев с таким паяльником, скорее всего там тихий ужас будет.
ПИД замечательно себя ведет. Только при включении приходится чем-то нагревать жало,
чтобы начался рост температуры. А паяльник до 250 градусов греется около 40сек.
Буду очень благодарен за прошивку.
чтобы начался рост температуры. А паяльник до 250 градусов греется около 40сек.
Буду очень благодарен за прошивку.
Залил прошивку, ошибки нет.
На подставке +-1 градус, пайка SMD -2-3 градуса, сплошные полигоны -10 градусов и сразу подъем до заданной.
Работой станции очень доволен.
Единственный нюанс: когда паяльник на подставке происходит постоянный сброс таймера при колебаниях в один градус
при любых настройках чувствительности.
Спасибо, отличный проект.
На подставке +-1 градус, пайка SMD -2-3 градуса, сплошные полигоны -10 градусов и сразу подъем до заданной.
Работой станции очень доволен.
Единственный нюанс: когда паяльник на подставке происходит постоянный сброс таймера при колебаниях в один градус
при любых настройках чувствительности.
Спасибо, отличный проект.
можно поиграться с ПИД, чтоб на подставке температура не колебалась.Metryx писал(а):...На подставке +-1 градус...
...когда паяльник на подставке происходит постоянный сброс таймера при колебаниях в один градус...
Судя по тому, что таймер сбрасывается, нужно пробовать уменьшить П, И по вкусу, Д увеличить.
С ПИД еще не игрался, взял настройки из оригинальной прошивки,
в патченной стабильность хуже.
в патченной стабильность хуже.
стабильность та-же, коэффициенты другие и масштабы (или вес, не знаю как правильно сказать) их другие. Для И нужно значение в 2 раза больше чем в оригинальной 1.4 чтоб влияние было такое-же, для Д сейчас не помню на сколько, но тоже нужно увеличивать.Metryx писал(а):...в патченной стабильность хуже...
Настройка ПИД не помогла, все решила дополнительная керамика 1мкф на входе АЦП.
Все отлично.
Спасибо за помощь.
ПС
Пытался настроить ПИД по этой методике http://radiokot.ru/forum/download/file.php?id=112938
не смог добиться затухающих колебаний для П и Д при И99
Сейчас П99 И28 Д99.
Все отлично.
Спасибо за помощь.
ПС
Пытался настроить ПИД по этой методике http://radiokot.ru/forum/download/file.php?id=112938
не смог добиться затухающих колебаний для П и Д при И99
Сейчас П99 И28 Д99.


