Например TDA7294

Форум РадиоКот • Просмотр темы - ПИД-регулятор нагревателя -как сделать ???
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс апр 20, 2025 09:48:46

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 22 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пн фев 28, 2011 18:57:09 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 01:17:12
Сообщений: 690
Рейтинг сообщения: 0
Собственно нужно держать температуру нагрева как можно точнее, ровнее. Хотелось бы сделать ПИД регулятор. Почитал про принцип действия, но как организовать на мк и настроить его- пока мыслей нет. Может кто уже делал или знает как- подскажите пожалуйста. (мк типа МЕГА8)

Есть термопара с платой усилителя сигнала. мк АЦП можно захватывать значение входа усилителя термопары, а вот что далее, как это значение в какие формулы пихать, да еще и коэффициенты применять...

поделитесь дельными предложениями, ссылками...
(готовые решения что то дороги очень 3500-6500руб.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пн фев 28, 2011 20:42:04 
Встал на лапы

Зарегистрирован: Пн ноя 29, 2010 10:13:46
Сообщений: 114
Рейтинг сообщения: 0
Я не буду сильно оригинальным, но предложу http://ru.wikipedia.org/wiki/PID


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пн фев 28, 2011 20:58:23 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
Alexeus писал(а):
нужно держать температуру нагрева как можно точнее, ровнее. Хотелось бы сделать ПИД регулятор.
... до конца не знаю задачу, но скорее всего достаточно ПИ-регулятора. Диф.-составляющая влияет на скоростные характеристики, а раз нагреватели инерционны, то можно без нее.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пн фев 28, 2011 21:57:35 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 01:17:12
Сообщений: 690
Рейтинг сообщения: 0
я тоже думаю нафига дифференциальная составляющая- может она и не нужна вовсе?
скажем так -задача регулировать нагреватели ИК станции. Нижний- просто держать температуру уставки, верхний -программный, поход по нескольким температурам (термопрофиль).

Интересует, конечно, если кто уже сам делал. Поделитесь практической реализацией, кода, схемотехники, алгоритм...
(понятно, что управление симистором через оптопару с детектором перехода через ноль, а как мк сигнал на оптопару формирует- шим? как связать шим с расчетом ПИ, как применить коэффициенты и расчитать их значение...) :shock:


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пн фев 28, 2011 23:45:05 
Модератор
Аватар пользователя

Карма: 46
Рейтинг сообщений: 236
Зарегистрирован: Чт окт 27, 2005 18:50:07
Сообщений: 11169
Откуда: из мест не столь отдалённых
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Можно обойтись без ПИД. Нагревайте на полной мощности до уровня, например, 80% от заданного. Затем перейдите на половинный уровень мощности (или несколько другой). За несколько таких проходов подберёте нужные коэффициенты мощности.
Правда, этот способ больше подходит для нагревателей с большой тепловой инерцией.


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вт мар 01, 2011 00:23:23 
Потрогал лапой паяльник
Аватар пользователя

Карма: -1
Рейтинг сообщений: 4
Зарегистрирован: Пт апр 17, 2009 22:45:42
Сообщений: 316
Откуда: Minsk
Рейтинг сообщения: 0
Если использовать ПИД, то примерно так:
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Гц.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вт мар 01, 2011 10:31:32 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
maglev писал(а):
Если использовать ПИД, то примерно так:
... ну "на пальцах" лучше не объяснишь... Стоит, наверное, еще добавить о периоде квантования - при больших значениях, ухудшается реакция регулятора, а при малых - возрастает нагрузка на МК и появляются шумы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вт мар 01, 2011 12:16:25 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 01:17:12
Сообщений: 690
Рейтинг сообщения: 0
maglev писал(а):
Далее, управление нагрузкой: можно коммутировать целые периоды сети по Брезенхему, а можно фазовый регулятор. ШИМ не нужен. Это если питание от 50Гц.


Спасибо большое за ответы, а можно по подробнее как управлять нагрузкой?

Планирую использовать оптопару с детектором нуля и симистор. Оптопара при подаче на нее сигнала управления включит симистор только в ближайший переход через ноль.
Как на мк реализовать подачу сигнала на оптопару, ведь скорее всего продолжительность подачи этого сигнала нужно как то увязать с рассчитанным значением ПИД?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вт мар 01, 2011 13:46:48 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
Alexeus писал(а):
Как на мк реализовать подачу сигнала на оптопару, ведь скорее всего продолжительность подачи этого сигнала нужно как то увязать с рассчитанным значением ПИД?
... Вам же написали
maglev писал(а):
можно коммутировать целые периоды сети по Брезенхему, а можно фазовый регулятор.
что не ясно???

В процессе расчета out имеет определенную величину. Скармливаете это значение, например, алгоритму Брезенхема, который равномерно распределяет вкл/выкл состояние на интервал управления нагрузкой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вт мар 01, 2011 20:57:27 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вс янв 07, 2007 01:45:48
Сообщений: 491
Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения: 0
Alexeus писал(а):
Оптопара при подаче на нее сигнала управления включит симистор только в ближайший переход через ноль.


А как симистор откроется при нулевом напряжении? Симистор надо открывать при напряжении отличном от нуля, а вот закрывать в тот момент, кода ток и напряжение равно нулю. На пример:
1-Отследили "ноль" (напр. внешним прерыванием)
2-Запустили таймер
3-Таймер досчитал до нужного значения - подаём импульс открытия.
4-При правильной постройке схемы контроля перехода через ноль, симистор сам закроется в "нуле"

_________________
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вт мар 01, 2011 23:49:28 
Потрогал лапой паяльник
Аватар пользователя

Карма: -1
Рейтинг сообщений: 4
Зарегистрирован: Пт апр 17, 2009 22:45:42
Сообщений: 316
Откуда: Minsk
Рейтинг сообщения: 0
Это вы описали фазовое управление.
Для нагревателя допустим и другой вариант, либо целый период пропускаем в нагрузку, либо нет. Для этого при переходе через ноль принимаем решение и либо открываем оптопару, либо нет. Симистор в этом периоде однажды откроется, если нужно. Таймер не нужен. Описание алгоритма Брезенхема на этом форуме я давал, поиск найдет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Чт мар 03, 2011 12:48:58 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 01:17:12
Сообщений: 690
Рейтинг сообщения: 0
для управления симистором предполагается использовать оптопару MOC3083M.
у нее на вход просто подается питание, а выход уже сам включается в ближайший, подходящий для включения симистора, момент времени по внутренней схеме с детектором нуля.

имхо зачем усложнять и считать периоды, когда подал напряжение и вуаля, в ближайший момент времени открывается симистор, подключается нагрузка, затем, по высчитанному с термопары ПИД значению отключается.

вопрос лишь в том, вероятна ли и существенна ли ситуация, что оптопара будет включать симистор например только в положительный полупериод. при поддержании граничных значений температуры, когда уже все прогрелось и стоит лишь немного поддерживать- совпадет например так, что симистор будет открываться интервалами в полупериод и только в положительную его часть. возникнут ли какие неприятные последствия в сети?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пт мар 04, 2011 23:45:46 
Потрогал лапой паяльник
Аватар пользователя

Карма: -1
Рейтинг сообщений: 4
Зарегистрирован: Пт апр 17, 2009 22:45:42
Сообщений: 316
Откуда: Minsk
Рейтинг сообщения: 0
Alexeus писал(а):
подал напряжение и вуаля, в ближайший момент времени открывается симистор, подключается нагрузка, затем, по высчитанному с термопары ПИД значению отключается.

Отключается? Это не симистор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Чт мар 22, 2012 09:29:27 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пт фев 05, 2010 20:47:51
Сообщений: 38
Рейтинг сообщения: 0
добрые коты, помогите разобраться с ПИД регулятором. Есть кусок кода 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 мс. я считываю показания термопары, и передаю показания
Код:
pid_control(set,temperature);

_________________
http://roma4ka.at.ua/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Чт мар 22, 2012 15:17:03 
Мудрый кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 5
Зарегистрирован: Ср янв 23, 2008 22:11:54
Сообщений: 1867
Откуда: Калининград
Рейтинг сообщения: 0
Roma4ka, INTERVAL задаете 250 мс (в тиках).
Перед return PID описываете процедуру приведения значения в границы MIN и MAX, например:
Код:
if(PID>MAX) PID=MAX;
else if(PID<MIN) PID=MIN;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вс июл 08, 2012 20:05:39 
Открыл глаза

Зарегистрирован: Чт янв 10, 2008 15:30:33
Сообщений: 74
Рейтинг сообщения: 0
Roma4ka писал(а):
добрые коты, помогите разобраться с ПИД регулятором. Есть кусок кода 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 мс. я считываю показания термопары, и передаю показания
Код:
pid_control(set,temperature);



поделись пожалуйста кодом и схемой если не жалко,

заранее спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вс июл 08, 2012 21:04:38 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1585
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вот здесь методика настройки ПИД-регулятора: download/file.php?id=112938

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вс июл 08, 2012 22:07:00 
Открыл глаза

Зарегистрирован: Чт янв 10, 2008 15:30:33
Сообщений: 74
Рейтинг сообщения: 0
da-nie писал(а):
Вот здесь методика настройки ПИД-регулятора: download/file.php?id=112938

огромное спасибо!

а не подскажите откуда можно скачать готовый проект желательно на CVAVR и на C ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Вс июл 08, 2012 23:49:12 
Встал на лапы
Аватар пользователя

Карма: -5
Рейтинг сообщений: -6
Зарегистрирован: Вт мар 20, 2012 20:50:22
Сообщений: 99
Откуда: Краснодар
Рейтинг сообщения: 0
Уважаемый Alexeus!
Чтобы помочь Вам, мне надо знать следующее:
Тип термопары (хромель-алюмель, хромель- константан или другая), или, по крайней мере, на какую температуру рассчитана термопара. Также надо знать род тока (постоянный или переменный), а также значения напряжения и тока нагрузки. Будет ли применяться LCD дисплей для вывода задания и контроля температуры, а также желательно схему Вашего усилителя. Пожалуй, пока и все, остальное будем решать в процессе работы. Да еще, нужны ли контроль и регулировка терморегулятора от компьютера?

_________________
На каждого Моцарта есть свой Сальери.


Последний раз редактировалось siamds Пн июл 09, 2012 00:34:38, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ПИД-регулятор нагревателя -как сделать ???
СообщениеДобавлено: Пн июл 09, 2012 00:22:22 
Друг Кота
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1029
Зарегистрирован: Сб апр 02, 2011 12:40:46
Сообщений: 4779
Откуда: Минск
Рейтинг сообщения: 0
Я вот здесь описывал структуру терморегулятора: viewtopic.php?p=1093940#p1093940


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 22 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y