Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/169: Рейтинг темы: голосов - 169, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 138

Нужно ли городить PID для удержания температуры?

14.11.2015, 00:19. Показов 32413. Ответов 67
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Хочу собрать экструдер для протяжки нити для 3д принтера, нужен нагрев до определенной температуры. Никогда с подобным не сталкивался. Почитал статьи, народ пишет про PID контроллеры. Почитал про них, честно говоря, понимаю принцип работы в довольно общих чертах.
Чем, например, не подойдет включение нагрева, если температура достигла нижнего предела и выключение его, если достигла верхнего? На сколько я понимаю, таким образом и работает параметр P, но чем это чревато на практике?
Система будет довольно термо-инертная (по сути, нагревается стальная трубка).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2015, 00:19
Ответы с готовыми решениями:

Нужно ли городить изолированный DC-DC для RS-485?
Есть два прибора, соединение между которыми осуществляется по RS-485. Каждый прибор питается от 12В через отдельный испульсный источник...

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

Нужно написать подпрограмму для движения с PID регулированием по перекрёсткам по 4-м датчикам движения
Нужно, чтобы телега двигалась согласно заданному маршруту (как на картинке ниже) и при этом поворачивала на 90 градусов на перекрёстках и...

67
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 918
15.11.2015, 12:47
Студворк — интернет-сервис помощи студентам
Я криво спотрел. Это стационарный процесс, и при неизменной скорости протяжки нити можно подобрать коэффициенты ПИДа для того, чтобы он не "самовозбуждался"
0
Oxford
15.11.2015, 13:19
Для начало нужно на практике проверить ШИМ или фазовую регулировку(в зависимости от напряжения и мощности), и если ее не будет хватать, тогда бежать за PID.
PID не панацея и тоже не умеет правильно управлять тех. процессами, так как требуется тюнинг относительно погоды на марсе, температуры океана, и сферического ваккума.
Т.е. когда факты будут, тогда и поговорим.

Здесь важно знать тех.процесс, систему и уметь программировать ее.

На примере паяльных станций самодельщики сколько не мучались с этим PID так никто и не добился хороших результатов, в том числе и Леанид Ивинавич со своей станцией.
0 / 0 / 0
Регистрация: 23.06.2014
Сообщений: 831
15.11.2015, 16:31
Цитата Сообщение от Oxford
На примере паяльных станций самодельщики сколько не мучались с этим PID так никто и не добился хороших результатов, в том числе и Леанид Ивинавич со своей станцией.
Боюсь, что все же не PID тому причиной. А настойчивые и принципиальные попытки отлить из говна пулю довести паяльники а-ля Люкей до уровня приличного брендового инструмента. Посмотрим, может Л.И. переключит внимание на картриджи Т12 – там успех возможен.
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
15.11.2015, 16:56
Я вот делал печку небольшую до 900 градусов с тепмопрофилями, даже и не знаю как бы без ПИД оно работало. Тем более что ПИД там занимал 2% ресурсов, остальное гуй с редактором термопрофилей, графиками и менюшками, а так бы и tiny13 легко справился.
0
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
21.11.2015, 14:35
Цитата Сообщение от Oxford
для экструдера достаточно шим или фазовой регулировки мощности. т.е. устанавливаете 76 процентов и смотрите на какой температуре стабилизируется система. и работаете. обратная связь не требуется. если не достаточно мощности добавляете пока плавление не достигнет нужных параметров. по сути даже температуру знать не надо. на практике сразу будет видно сколько мощности потребуется.
Если бы все было так просто. Хотя если термостабилизация не нужна.
А вообще факторов много - сквозняк, какие то нестабильные воздушные потоки при таких температурах могут сильно сбивать режим. Подача пластика - отбор мощности, нужно компенсировать. Конечно можно возложить это на оператора, но о стабильности техпроцесса можно забыть.
0
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
21.11.2015, 14:55
Цитата Сообщение от dikor
Нельзя.
А точнее можно, но с учётом скорости протяжки нити. При работающем экструдере оптимальные коэффициентаы ПИДа зависят от скорости подачи филамента, и от самого филамента. Сам на это напаролся. Фазовый переход, пусть даже и второго рода, весьма энергозатратен.
Фазовый переход да. А коэффициентов обычно хватает тех что настроены для экструдера без подачи, правда при большом объеме материала внутри настраивать нужно с материалом. Если настроены правильно, то должны справляться с флуктуациями. Собственно вся суть ПИД - работа с инерционными объектами. Просто постоянный отбор мощности не меняет коэффициенты. Переменный - с этим ПИД должен справится если изменения не катастрофические.
0
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
21.11.2015, 15:04
Цитата Сообщение от инкер
К ПИД регуляторам настороженное отношение еще и потому, что в почти всех отечественных учебниках их работа слишком заумно описывается - пять строк вступительного текста и полетели критерии Найквиста и годографы Нихийлова с трехэтажными формулами в комплексных числах. Человек глянет на эти петли и махнув рукой поворачивается к релейному, где все понятно.
Интернет правда эту проблему решил, можно найти на любой вкус и степень подготовки. Почти )).
Несмотря на то что есть теория простые способы все таки работают. Имею опыт как по точному расчету через анализ ЛАЧХ и ФЧХ и применению результатов расчета так и по экспериментальной наладке по поведению. Для простых инерционных объектов экспериментальная настройка работает неплохо. Например так:
http://www.outomatix.ru/articles/?id=29244
0
Oxford
21.11.2015, 15:27
На словах(теории) раздувать из мухи слона можно сколько угодно долго.
Нужна практика. Какие шаги сделал ТС к цели?
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
21.11.2015, 15:34
Цитата Сообщение от Oxford
На словах(теории) раздувать из мухи слона можно сколько угодно долго.
Нужна практика. Какие шаги сделал ТС к цели?
Это да.

Для себя для экструдера 3D принтера и стола сделал PID. Это временная конструкция, смонтированная на CNC. Как напечатаю детали для принтера и соберу наверное электроника принтера будет все обеспечивать.

Если ТС не может написать сам - есть готовые функции. Если вообще не дружит с электроникой - китайский PID контроллер также недорог.

http://www.ebay.som/itm/Digital-PID-Tem ... SwT6pVpGj9
http://www.ebay.som/itm/100-240V-Digita ... SwGvhUD8P4

Это то что навскидку находится.

Есть и низковольтные, просто поискать.
0
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 172
21.11.2015, 18:27
Делал по http://www.atmel.som/images/doc2558.pdf
http://microsin.net/programming/avr/avr ... n-avr.html

Проблем не было. Правда D не использовал.

А, и еще вот такой простенький ПИ-регулятор для софтового степ-апа использовал

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*******************************************************************************
*Функция для регулирования boost в поллинге ( включает вызов измерения напряжения
и ПИ -регулятор)
*   Parameter: код ацп, который должен поддерживать стабилизатор
*
*   Return: фактический код с ацп
*******************************************************************************/
static int32_t error=0, error_old=0, P_error=0, I_error=0;
 
extern int32_t boost_poll (uint32_t set_point){
//int32_t result, code_process;
int32_t code_process;
int32_t result;
 
code_process = ADCboost_meas(); // измерили фактическое напряжение на выходе boost
 
// начало ПИ-регулирования,
error_old = error;
error = set_point - code_process;
P_error = error;
I_error += error_old;
if (I_error > 100000) I_error = 100000; // ограничим насыщение интегрального звена
if (I_error < 0) I_error = 0;
 
//result = (P_error / 2) + (I_error / 2); // П=0.5 И=0.5 result = 0-4095
result = (P_error) + (I_error / 10); // П=1 И=0.1 result =
// result = (P_error); // П=1  result = 0-4095
 
// отмасштабируем регулятор, т.к. у нас допустимое значение 0-35
// транзистор boost можно открыть максимум на 85%
 
result = result /117;                         // 4095/35
if (result > 35) result = 35;
if (result < 0) result = 0;
 
timer_pwm->CCR1 = (uint32_t)result;                      // установим заполнение
 
return code_process;
}
0
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
21.11.2015, 18:35
Цитата Сообщение от 45893569365
Делал по http://www.atmel.som/images/doc2558.pdf
http://microsin.net/programming/avr/avr ... n-avr.html

Проблем не было. Правда D не использовал.
В данном случае D желателен чтобы уменьшить просадку или подскок температуры при изменении подачи пластика или при сквозняках.
0
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 172
21.11.2015, 19:07
Даже не сомневаюсь, но для этого ТС не должен забывать что должен быть запас по мощности нагревателя и источника питания. Я просто согласился что хотя-бы ПИ, но нужен, т.к. сил не хватит для ручной подстройки мощности нагревателя.
0
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 185
22.11.2015, 01:44
Ребята, не знаю чем, но чем-то задним чувствую, что ПИ-регулятор будет в самый раз для данного приложения. Если нагревательный узел достаточно инертен, то свободно можно обойтись без Д. Д составляющая нужна для быстрых процессов в основном. если делать "по уму", то система должна регулировать диаметр прутка (т.е. получать как SP) и иметь два звена - это звено в регуляторе скорости протяжки и звено в узле нагрева, вот там-то без Д не обойтись. Ну и опять-таки, Д составляющая будет необходини при значительной мощности нагревателя для упреждения перерегулирования.
0
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
22.11.2015, 02:56
Цитата Сообщение от oxytt
Для меня ПИД не освоенная тема, вчера попробовал почитать, с ходу не осилил ;)
Представь себе сильно "бубнящий" динамик, например, от сабвуфера. Ставится задача: получить из него качественный звук. Что делать? Правильно, подключить эквалайзер и настроить полосы. Так вот, ПИД - это и есть эквалайзер для цепи обратной связи, только простейший - ВЧ + НЧ + усиление. Настройка должна быть такой, чтобы получить максимально плоскую АЧХ системы как можно в более широком диапазоне частот. Это будет также соответствовать оптимальной реакции системы на воздействие - самой быстрой и самой точной. ПИД - еще не самый оптимальный способ обратной связи. АЧХ можно накручивать сколь угодно изощренно, но тогда утратится относительная простота ПИДа.

ПИД можно попытаться настроить так же, как и усилитель - подавать разные частоты, построить АЧХ прямой передачи без обратной связи, а затем смоделировать цепь коррекции АЧХ, обратную к измеренной. Но это только на словах всё просто. В реальности имеют место множество трудномоделируемых факторов, такие, как ключевая подача тока в нагревательный элемент, а не плавная, и несимметричность постоянной времени для нагрева и охлаждения. Всё это приводит к нелинейности процессов и невозможности построения точной модели математически, поэтому на практике используются приближенные модели, дающие удовлетворительный результат. Еще одна причина - что любое измерение реального тракта занимает огромное время и точная настройка займет несколько суток.

На линии, где я работал, в управляющей программе был предусмотрен цикл автоматической калибровки ПИД-регуляторов одновременно для 15 зон, процесс занимал примерно 3-4 часа. Как это было реализовано, одному программисту известно. Каждая зона на 3 кВт, вес 50 кг, внутри были ТЭНы по 500 Вт и каналы водяного охлаждения.

Настройка ПИД-регулятора
http://www.contravt.ru/?id=345
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 892
22.11.2015, 07:47
Цитата Сообщение от koprot_82
Ребята, не знаю чем, но чем-то задним чувствую, что ПИ-регулятор будет в самый раз для данного приложения. Если нагревательный узел достаточно инертен, то свободно можно обойтись без Д.
Инертность объекта регулирования палка о двух концах. Из-за неё даже самый быстрый регулятор - релейный с нулевой зоной гистерезиса работает с автоколебаниями. А если регулятор имеет собственную инертность за счет интегрального звена, то самым трудным в настройках становится подавление колебаний температуры вокруг заданной до приемлемой величины.
0
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
22.11.2015, 17:50
Цитата Сообщение от koprot_82
Ребята, не знаю чем, но чем-то задним чувствую, что ПИ-регулятор будет в самый раз для данного приложения. Если нагревательный узел достаточно инертен, то свободно можно обойтись без Д. Д составляющая нужна для быстрых процессов в основном. если делать "по уму", то система должна регулировать диаметр прутка (т.е. получать как SP) и иметь два звена - это звено в регуляторе скорости протяжки и звено в узле нагрева, вот там-то без Д не обойтись. Ну и опять-таки, Д составляющая будет необходини при значительной мощности нагревателя для упреждения перерегулирования.
В первую очередь дифференциальная компонента нужна для компенсации внешних воздействий. Сквозняки, подача материала и т.д.
0
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 185
25.11.2015, 05:01
Сама конструкция узла нагрева подразумевает достаточно удобный объект регулирования, немаловажно обеспечить соотношение нагрев/охлаждение, чем упростить задачу регулятору, т. е. выделяемая нагревателем мощность должна быть ограничена сверху, дабы время нагрева было близко к времени охлаждения, ну и естессно мощность должна быть достаточной. Мне как-то довелось столкнуться с системой подогрева в замкнутом контуре, так там я паровой клапан резал уже на 3-5% открытия и один хрен выброс был на 10-15 градусов, что около 25% от рабочего диапазона, там никакая Д не спасала, ни И и не П, там был полный абзац, алгоритм автонастройки тоже ложился и выдавал ошибку, а в этом же объекте было звено регулирования давления, так там вообще песня, выход на режим за пару секунд с учетом характеристики разгона, заданного в частотнике, и отклонения мизерные. Регуляторы одинаковые, программные в ПЛК.
А чтоб сквозняки не мешали - нужно теплоизоляцию делать:)
0
0 / 0 / 0
Регистрация: 04.09.2011
Сообщений: 1,023
25.11.2015, 05:35
Обычная история. Буржуи понапридумывают всякой фигни, чтобы только не работать вручную, все роботам перепоручить. То ли дело МЫ. Из говна и палок делаем конфетки и празднуем каждый героический случай выполнения плана, почти каждый месяц...
Только в итоге потребитель выбирает буржуйские изделия со стабильно высоким качеством. И это реальность.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
25.11.2015, 08:57
Если речь о 3d-принтере, а не об изготовлении прутка, как в задаче топик-стартера - там, случаем, не используют что-то _сложнее_ PID (фильтр Калмана?)? Ведь на входе несколько переменных (температура с термодатчика, скорость подачи, возможно, ещё что-то) - для PID тупо многовато.
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 892
25.11.2015, 11:25
Цитата Сообщение от koprot_82
довелось столкнуться с системой подогрева в замкнутом контуре, так там я паровой клапан резал уже на 3-5% открытия и один хрен выброс был на 10-15 градусов, что около 25% от рабочего диапазона, там никакая Д не спасала, ни И и не П, там был полный абзац, алгоритм автонастройки тоже ложился и выдавал ошибку... Регуляторы одинаковые, программные в ПЛК.
Чувствуется человек, понюхавший настоящего пороху... ))
Хорошо, если при настройке не лез начальник, подгоняя в шею и тыкая в нос каким-нибудь Солодовниковым.
Похожая ситуация, только с клапаном на фреоне, клацнул на 100 мс при периоде регулирования 20 сек - и уже перебор. Это пол-беды, можно и на 20 мс включить, только вот датчик температуры реакцию дает только через минуту. И что ПИД делает в этот промежуток - П звено гонит завышенную мощность, Д - просто молчит, И - набирает величину, чтобы гарантировано впоследствии загнать систему в перерегулирование.

На этом экструдере где датчик температуры? Его можно расположить так, что обычный релейный регулятор будет работать отлично, а можно так, что ПИД с наворотами ляжет. Любая система регулирования поддерживают температуру собственного датчика, а насколько она соответствует температуре объекта уже конструкторская задача.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2015, 11:25

Каким должно быть сопротивление задатчика стабилизатора температуры для поддержания температуры в камере
Задача. Каким должно быть сопротивление задатчика стабилизатора температуры для поддержания температуры в камере 90°С, если для...

Каким должно быть сопротивление задатчика стабилизатора температуры для поддержания температуры в камере
Задача. Каким должно быть сопротивление задатчика стабилизатора температуры для поддержания температуры в камере 90°С, если для...

Нужно узнать название по VID/PID
Хочу узнать название внешней звуковой карты у наушников знаю Id, гуглил, ничего не нашел ...

Найти мощность двигателя для удержания груза
Имеется следующая задача: Электродвигатель имеет КПД 100% На вал двигателя намотан трос, внизу которого висит груз массой 100 кг. ...

Глобальный Хук для мыши с отслеживанием удержания ЛКМ
Здравствуйте! Для программы нужен хук, который позволит программе реагировать не только на нажатие ЛКМ, но так же и её удерживание!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru