Заголовок сообщения: ПИД-регулятор нагревателя -как сделать ???
Добавлено: Пн фев 28, 2011 18:57:09
Вымогатель припоя
Зарегистрирован: Вс мар 04, 2007 01:17:12 Сообщений: 690
Рейтинг сообщения:0
Собственно нужно держать температуру нагрева как можно точнее, ровнее. Хотелось бы сделать ПИД регулятор. Почитал про принцип действия, но как организовать на мк и настроить его- пока мыслей нет. Может кто уже делал или знает как- подскажите пожалуйста. (мк типа МЕГА8)
Есть термопара с платой усилителя сигнала. мк АЦП можно захватывать значение входа усилителя термопары, а вот что далее, как это значение в какие формулы пихать, да еще и коэффициенты применять...
поделитесь дельными предложениями, ссылками... (готовые решения что то дороги очень 3500-6500руб.)
нужно держать температуру нагрева как можно точнее, ровнее. Хотелось бы сделать ПИД регулятор.
... до конца не знаю задачу, но скорее всего достаточно ПИ-регулятора. Диф.-составляющая влияет на скоростные характеристики, а раз нагреватели инерционны, то можно без нее.
Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
Добавлено: Пн фев 28, 2011 21:57:35
Вымогатель припоя
Зарегистрирован: Вс мар 04, 2007 01:17:12 Сообщений: 690
Рейтинг сообщения:0
я тоже думаю нафига дифференциальная составляющая- может она и не нужна вовсе? скажем так -задача регулировать нагреватели ИК станции. Нижний- просто держать температуру уставки, верхний -программный, поход по нескольким температурам (термопрофиль).
Интересует, конечно, если кто уже сам делал. Поделитесь практической реализацией, кода, схемотехники, алгоритм... (понятно, что управление симистором через оптопару с детектором перехода через ноль, а как мк сигнал на оптопару формирует- шим? как связать шим с расчетом ПИ, как применить коэффициенты и расчитать их значение...)
Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России.
На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.
Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
Добавлено: Пн фев 28, 2011 23:45:05
Модератор
Карма: 46
Рейтинг сообщений: 236
Зарегистрирован: Чт окт 27, 2005 18:50:07 Сообщений: 11169 Откуда: из мест не столь отдалённых
Рейтинг сообщения:0 Медали: 2
Можно обойтись без ПИД. Нагревайте на полной мощности до уровня, например, 80% от заданного. Затем перейдите на половинный уровень мощности (или несколько другой). За несколько таких проходов подберёте нужные коэффициенты мощности. Правда, этот способ больше подходит для нагревателей с большой тепловой инерцией.
Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO
подробнее>>
maglev
Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
Если использовать ПИД, то примерно так: in - входная переменная, out - выход, setpoint - уставка, max_error - предел интегрирования.
Код:
error = in - setpoint;
velocity = error - error_1; error_1 = error;
sum_error += error; if (sum_error > max_error) sum_error = max_error; else if (sum_error < -max_error) sum_error = -max_error;
out = Kp * error + Ki * sum_error + Kd * velocity;
Смысл коэффициентов в том, что без П работать не будет вовсе. Без И будет отлично, только возможно постоянное смещение. Без Д будут колебания в районе уставки, придется снизить П и сильно растянуть по времени выход на температуру.
Настраивать можно по-всякому, проще всего И=0, Д=0, поднимаем П до возникновения колебаний. Поднимаем Д до исчезновения колебаний. Поднимаем И до исчезновения смещения.
Далее, управление нагрузкой: можно коммутировать целые периоды сети по Брезенхему, а можно фазовый регулятор. ШИМ не нужен. Это если питание от 50Гц.
... ну "на пальцах" лучше не объяснишь... Стоит, наверное, еще добавить о периоде квантования - при больших значениях, ухудшается реакция регулятора, а при малых - возрастает нагрузка на МК и появляются шумы.
Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
Добавлено: Вт мар 01, 2011 12:16:25
Вымогатель припоя
Зарегистрирован: Вс мар 04, 2007 01:17:12 Сообщений: 690
Рейтинг сообщения:0
maglev писал(а):
Далее, управление нагрузкой: можно коммутировать целые периоды сети по Брезенхему, а можно фазовый регулятор. ШИМ не нужен. Это если питание от 50Гц.
Спасибо большое за ответы, а можно по подробнее как управлять нагрузкой?
Планирую использовать оптопару с детектором нуля и симистор. Оптопара при подаче на нее сигнала управления включит симистор только в ближайший переход через ноль. Как на мк реализовать подачу сигнала на оптопару, ведь скорее всего продолжительность подачи этого сигнала нужно как то увязать с рассчитанным значением ПИД?
Как на мк реализовать подачу сигнала на оптопару, ведь скорее всего продолжительность подачи этого сигнала нужно как то увязать с рассчитанным значением ПИД?
... Вам же написали
maglev писал(а):
можно коммутировать целые периоды сети по Брезенхему, а можно фазовый регулятор.
что не ясно???
В процессе расчета out имеет определенную величину. Скармливаете это значение, например, алгоритму Брезенхема, который равномерно распределяет вкл/выкл состояние на интервал управления нагрузкой.
Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
Добавлено: Вт мар 01, 2011 20:57:27
Мучитель микросхем
Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
Alexeus писал(а):
Оптопара при подаче на нее сигнала управления включит симистор только в ближайший переход через ноль.
А как симистор откроется при нулевом напряжении? Симистор надо открывать при напряжении отличном от нуля, а вот закрывать в тот момент, кода ток и напряжение равно нулю. На пример: 1-Отследили "ноль" (напр. внешним прерыванием) 2-Запустили таймер 3-Таймер досчитал до нужного значения - подаём импульс открытия. 4-При правильной постройке схемы контроля перехода через ноль, симистор сам закроется в "нуле"
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Это вы описали фазовое управление. Для нагревателя допустим и другой вариант, либо целый период пропускаем в нагрузку, либо нет. Для этого при переходе через ноль принимаем решение и либо открываем оптопару, либо нет. Симистор в этом периоде однажды откроется, если нужно. Таймер не нужен. Описание алгоритма Брезенхема на этом форуме я давал, поиск найдет.
Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
Добавлено: Чт мар 03, 2011 12:48:58
Вымогатель припоя
Зарегистрирован: Вс мар 04, 2007 01:17:12 Сообщений: 690
Рейтинг сообщения:0
для управления симистором предполагается использовать оптопару MOC3083M. у нее на вход просто подается питание, а выход уже сам включается в ближайший, подходящий для включения симистора, момент времени по внутренней схеме с детектором нуля.
имхо зачем усложнять и считать периоды, когда подал напряжение и вуаля, в ближайший момент времени открывается симистор, подключается нагрузка, затем, по высчитанному с термопары ПИД значению отключается.
вопрос лишь в том, вероятна ли и существенна ли ситуация, что оптопара будет включать симистор например только в положительный полупериод. при поддержании граничных значений температуры, когда уже все прогрелось и стоит лишь немного поддерживать- совпадет например так, что симистор будет открываться интервалами в полупериод и только в положительную его часть. возникнут ли какие неприятные последствия в сети?
подал напряжение и вуаля, в ближайший момент времени открывается симистор, подключается нагрузка, затем, по высчитанному с термопары ПИД значению отключается.
добрые коты, помогите разобраться с ПИД регулятором. Есть кусок кода CVAVR для регулировки нагревателям (лампа 60Вт.), управляю нагревом через оптотиристор + симистор, режим роботы: 100% - максимальный нагрев и 30% минимальный нагрев. термометр - термопара. нарыл кусок ПИД регулятора ...ну не могу его превинтить к своим проекту необходимо что бы функция возвращала процент нагрузки в приделах ((
Код:
#define INTERVAL 0.1 #define MAX 100 #define MIN 30 signed int Kp=2,Ki=1,Kd=0; static signed int last_error;
signed int pid_control(signed char setpoint, signed char currentpoint) { signed int P; signed int D; static signed int I; signed int PID; P = (setpoint - currentpoint); I = (I + (setpoint - currentpoint) * INTERVAL); D = (((setpoint - currentpoint) - last_error) / INTERVAL); last_error = setpoint - currentpoint; PID = (Kp * P) + (Ki * I) + (Kd * D); return (PID); }
каждые 250 мс. я считываю показания термопары, и передаю показания
добрые коты, помогите разобраться с ПИД регулятором. Есть кусок кода CVAVR для регулировки нагревателям (лампа 60Вт.), управляю нагревом через оптотиристор + симистор, режим роботы: 100% - максимальный нагрев и 30% минимальный нагрев. термометр - термопара. нарыл кусок ПИД регулятора ...ну не могу его превинтить к своим проекту необходимо что бы функция возвращала процент нагрузки в приделах ((
Код:
#define INTERVAL 0.1 #define MAX 100 #define MIN 30 signed int Kp=2,Ki=1,Kd=0; static signed int last_error;
signed int pid_control(signed char setpoint, signed char currentpoint) { signed int P; signed int D; static signed int I; signed int PID; P = (setpoint - currentpoint); I = (I + (setpoint - currentpoint) * INTERVAL); D = (((setpoint - currentpoint) - last_error) / INTERVAL); last_error = setpoint - currentpoint; PID = (Kp * P) + (Ki * I) + (Kd * D); return (PID); }
каждые 250 мс. я считываю показания термопары, и передаю показания
Уважаемый Alexeus! Чтобы помочь Вам, мне надо знать следующее: Тип термопары (хромель-алюмель, хромель- константан или другая), или, по крайней мере, на какую температуру рассчитана термопара. Также надо знать род тока (постоянный или переменный), а также значения напряжения и тока нагрузки. Будет ли применяться LCD дисплей для вывода задания и контроля температуры, а также желательно схему Вашего усилителя. Пожалуй, пока и все, остальное будем решать в процессе работы. Да еще, нужны ли контроль и регулировка терморегулятора от компьютера?
_________________ На каждого Моцарта есть свой Сальери.
Последний раз редактировалось siamds Пн июл 09, 2012 00:34:38, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения