0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 138

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

14.11.2015, 00:19. Показов 32497. Ответов 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 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru