Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха.

 
Опции темы
Непрочитано 19.11.2017, 22:42  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Мои ответы на вопросы AR_Favorit

Чтобы не засорять тему Сколько видов работ вы выполняете без оплаты ? (https://kazus.ru/forums/showthread.php?t=115912) вопросами AR_Favorit обращенными ко мне, я решил создать отдельную тему, и ответить на его вопросы.

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

Цитата:
Код:

if (pid_counter‹(EE_PID_TIME*1000)) pid_counter++;
else
{
pid_counter = 0;
PID_curr_err = EE_FUEL_TARGET_TEMP - temp;//Начало
if (integral_err‹(EE_PID_TIME*2000)) integral_err += PID_curr_err;
control = (int32_t)EE_PID_P*PID_curr_err;
control += (integral_err*(int32_t)EE_PID_I)/1000;
control -= (PID_prev_err - PID_curr_err)*(int32_t)EE_PID_D;

PID_prev_err = PID_curr_err;//конец
}

if (control›heat_counter) HEAT_ON; else HEAT_OFF;
heat_counter++;
if (heat_counter›(EE_PID_TIME*1000)) heat_counter=0;
где

pid_counter = 0 - ПЕРВЫЙ СЧЕТЧИК ЦИКЛОВ ПРОХОДОВ ПРОГРАММЫ
heat_counter = 0 - ВТОРОЙ СЧЕТЧИК ЦИКЛОВ ПРОХОДОВ ПРОГРАММЫ

EE_PID_TIME = 100 мc - ДЛИТЕЛЬНОСТЬ ЦИКЛА ОПРОСА РЕГУЛИРУЕМОЙ ВЕЛИЧИНЫ (ТЕМПЕРАТУРЫ БАКА)

EE_PID_P
= 1.0 - КОЭФФИЦИЕНТ УСИЛЕНИЯ ДЛЯ ПРОПОРЦИОНАЛЬНОЙ СОСТАВЛЯЮЩЕЙ ПИД-РЕГУЛЯТОРА
EE_PID_I = 1.0 - КОЭФФИЦИЕНТ УСИЛЕНИЯ ДЛЯ ИНТЕГРИРУЮЩЕЙ СОСТАВЛЯЮЩЕЙ ПИД-РЕГУЛЯТОРА
EE_PID_D = 1.0 - КОЭФФИЦИЕНТ УСИЛЕНИЯ ДЛЯ ДИФФЕРЕНЦИИРУЮЩЕЙ СОСТАВЛЯЮЩЕЙ ПИД-РЕГУЛЯТОРА

PID_curr_err = 0 - ТЕКУЩАЯ ОШИБКА РАССОГЛАСОВАНИЯ (ГРАДУСЫ)
PID_prev_err = 0 - ПРЕДЫДУЩАЯ ОШИБКА РАССОГЛАСОВАНИЯ (ГРАДУСЫ)
integral_err = 0 - СУММА ОШИБОК РАССОГЛАСОВАНИЯ (ГРАДУСЫ)

control = 0 - УРОВЕНЬ СИГНАЛА УПРАВЛЕНИЯ

EE_FUEL_TARGET_TEMP = 100 - КОНЕЧНАЯ ТЕМПЕРАТУРА НАГРЕВА(ГРАДУСЫ)
temp = 20 - ТЕКУЩАЯ ТЕМПЕРАТУРА НАГРЕВА(ГРАДУСЫ)

HEAT_ON = ВКЛ - СОСТОЯНИЕ "НАГРЕВАНИЕ" ДЛЯ РЕГУЛИРУЮЩЕГО ЭЛЕМЕНТА
HEAT_OFF = ВЫКЛ - СОСТОЯНИЕ "ОХЛАЖДЕНИЕ" ДЛЯ РЕГУЛИРУЮЩЕГО ЭЛЕМЕНТА

Примечание

Для полноты освещения вопросов, связанных c созданием кода реализации ПИД-регулятора, и работы самого ПИД-регулятора, приветствуются любые замечания и предложения от форумчан, специализирующихся в рассматриваемых вопросах!

Последний раз редактировалось ALEGYR; 20.11.2017 в 03:40.
ALEGYR вне форума  
Непрочитано 20.11.2017, 00:11  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от AR_Favorit Посмотреть сообщение
Цитата:
if (integral_err‹(EE_PID_TIME*2000)) integral_err += PID_curr_err;
а почему ты не спрашиваешь, что такое "2000" в этом выражении, а? Что это такое и в каких единицах оно выражено?
Я не спрашиваю, потому что знаю, что это просто масштабный коэффициент, переводящий параметр EE_PID_TIME из миллисекун в секунды. Точно также как и в строках
Цитата:
if (pid_counter‹(EE_PID_TIME*1000)) pid_counter++;
и
Цитата:
if (heat_counter›(EE_PID_TIME*1000)) heat_counter=0;
Сообщение от AR_Favorit Посмотреть сообщение
Вот тебе еще один вариант для того, чтоб у тебя в голове могло что-то перещелкнуть уже: это же коэффициент. Не тот коэффициент, что весовые для составляющих, а мой собственный, личный коэффициент, как раз специально для тебя "переводящий секунды в градусы", то есть имеющий размерность "гр/сек".
Тогда получается, что если EE_PID_TIME - секунды, то EE_PID_TIME * 2000 гр/сек - это уже градусы. И градусы сравниваются с градусами. Что скажешь?
В моей голове действительно перещёлкнуло, и я понял, что это действительно ТВОЙ коэффициент!!!
Ведь только ты мог ввести в свой код некий коэффициент, который у тебя характеризует скорость нагревания твоего бачка с маслом, да еще со значением 2000(!) градусов в секунду!

Я конечно понимаю, что ты свой код писал для ООООчень больших бачков, но я сильно сомневаюсь что они могут нагреваться до нескольких тысяч градусов, да еще со скоростями сравнимыми с двумя тысячами градусов в секунду! То есть круче и быстрее чем нагреваются сопла реактивных самолетов!!!
Ведь произведение EE_PID_TIME*2000 будет еще круче чем твой коэффициент, и получается, что в строке

if (integral_err‹(EE_PID_TIME*2000)) integral_err += PID_curr_err;

переменная integral_err сравнивается со значением 200 000 градусов!
ALEGYR вне форума  
Непрочитано 20.11.2017, 01:14  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Хоть я и не специализируюсь на построении ПИД регуляторов, но всё-таки замечу, что все комментарии к фрагменту кода AR_Favorit, написаны форумчанином ALEGYR исключительно исходя из своего личного представления о программировании и своего понимания логики работы ПИД-регулятора.

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

Топикстартеру настоятельно рекомендую почитать хотя бы в википедии про принципы ПИД-регулирования и вспомнить хотя бы школьную алгебру, чтоб не облажаться также, как и в предыдущем топике.
omercury вне форума  
Эти 2 пользователя(ей) сказали Спасибо omercury за это сообщение:
ForcePoint (20.11.2017), laser532 (20.11.2017)
Непрочитано 20.11.2017, 02:09  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от omercury Посмотреть сообщение
Топикстартеру настоятельно рекомендую
Поздно!

Видео:


Ну тогда сразу и начнём.
Сообщение от ALEGYR Посмотреть сообщение
pid_counter = 0 - ПЕРВЫЙ СЧЕТЧИК ЦИКЛОВ ПРОХОДОВ ПРОГРАММЫ
heat_counter = 0 - ВТОРОЙ СЧЕТЧИК ЦИКЛОВ ПРОХОДОВ ПРОГРАММЫ
EE_PID_TIME = 100 мc - ДЛИТЕЛЬНОСТЬ ЦИКЛА ОПРОСА РЕГУЛИРУЕМОЙ ВЕЛИЧИНЫ (ТЕМПЕРАТУРЫ БАКА)
EE_PID_P = 1.0 - КОЭФФИЦИЕНТ УСИЛЕНИЯ ДЛЯ ПРОПОРЦИОНАЛЬНОЙ СОСТАВЛЯЮЩЕЙ ПИД-РЕГУЛЯТОРА
EE_PID_I = 1.0 - КОЭФФИЦИЕНТ УСИЛЕНИЯ ДЛЯ ИНТЕГРИРУЮЩЕЙ СОСТАВЛЯЮЩЕЙ ПИД-РЕГУЛЯТОРА
EE_PID_D = 1.0 - КОЭФФИЦИЕНТ УСИЛЕНИЯ ДЛЯ ДИФФЕРЕНЦИИРУЮЩЕЙ СОСТАВЛЯЮЩЕЙ ПИД-РЕГУЛЯТОРА
PID_curr_err = 0 - ТЕКУЩАЯ ОШИБКА РАССОГЛАСОВАНИЯ (ГРАДУСЫ)
PID_prev_err = 0 - ПРЕДЫДУЩАЯ ОШИБКА РАССОГЛАСОВАНИЯ (ГРАДУСЫ)
integral_err = 0 - СУММА ОШИБОК РАССОГЛАСОВАНИЯ (ГРАДУСЫ)
control = 0 - УРОВЕНЬ СИГНАЛА УПРАВЛЕНИЯ
EE_FUEL_TARGET_TEMP = 100 - КОНЕЧНАЯ ТЕМПЕРАТУРА НАГРЕВА(ГРАДУСЫ)
temp = 20 - ТЕКУЩАЯ ТЕМПЕРАТУРА НАГРЕВА(ГРАДУСЫ)
HEAT_ON = ВКЛ - СОСТОЯНИЕ "НАГРЕВАНИЕ" ДЛЯ РЕГУЛИРУЮЩЕГО ЭЛЕМЕНТА
HEAT_OFF = ВЫКЛ - СОСТОЯНИЕ "ОХЛАЖДЕНИЕ" ДЛЯ РЕГУЛИРУЮЩЕГО ЭЛЕМЕНТА
Это ты так думаешь, на самом деле
pid_counter - первый (и единственный) счётчик циклов таймера, служащий для установки периода квантования ПИД.
heat_counter - счётчик длительности периода регулирования исполнительного устройства, в данном случае тактируется тем же таймером (что логично), что и счётчик ПИД, а также опять же в данном случае имеет тот же период, что и ПИД-регулятор, хотя может тактироваться от чего угодно и иметь другой период.
EE_PID_TIME - эмпирическая величина, задающая элементарный отрезок времени для отсчёта периода квантования ПИД, измеряется в циклах тактирующего таймера.

С описанием следующих шести параметров согласен, не согласен с их величиной, ибо задаётся при настройке, и трактовкой единиц измерения.
control - выходной параметр ПИД.
EE_FUEL_TARGET_TEMP - контрольный параметр, поддерживаемый регулятором.
temp - входной параметр ПИД, в данном случае вероятнее всего пропорциональный температуре датчика, текущее значение.
HEAT_ON
HEAT_OFF - макросы включения/выключения (что впрочем непринципиально).

Судя по предыдущей переписке, все параметры с префиксом EE_, задаются при настройке и хранится, судя по названию, во внешней EEPROM либо в эмулируемой EEPROM в силу использования МК STM32. Все рабочие параметры имеют тип int32_t, кроме настроечных коэффициентов, которые имеют размерность int16_t, что видно по явному приведению их к нужной размерности в коде.


Ну что, поехали,
continue следует.

Последний раз редактировалось omercury; 20.11.2017 в 02:26. Причина: ютуба неправильно вставилась
omercury вне форума  
Сказали "Спасибо" omercury
AR_Favorit (20.11.2017)
Непрочитано 20.11.2017, 03:37  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от omercury Посмотреть сообщение
Ну что, поехали,
Да не проблема.

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

И так первая строка кода

if (pid_counter‹(EE_PID_TIME*1000)) pid_counter++;

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

Поскольку выход на этот код производится по прерыванию таймера контроллера, то первый (и единственный) счётчик циклов таймера pid_counter будет у нас определять время выхода на расчет пида.

Пусть цикл таймера у нас составляет 1 миллисекунду. То есть прерывание по таймеру у нас происходит 1000 раз в секунду
Пусть частота опроса датчика температуры у нас происходит 10 раз в секунду. (Мы же крутые, и хотим максимально эффективно и с максимальной точностью знать состояние объекта регулирования, то есть бачка с маслом)
Тогда мы можем записать, что эмпирическая величина EE_PID_TIME, задающая элементарный отрезок времени для отсчёта периода квантования ПИД равна 100 мc, То есть

EE_PID_TIME = 100 (мc)

Таким образом первая строка кода

if (pid_counter‹(EE_PID_TIME*1000)) pid_counter++;

нам говорит, что пока счетчик pid_counter не отсчитает 100 секунд, мы забываем о расчете пида (то есть сигнал управления control = 0), включаем сигнал HEAT_ON (включаем нагрев) по строке

if (control›heat_counter) HEAT_ON; else HEAT_OFF;

и тупо, в течение 100 (!) секунд, считаем длительность периода нагревания исполнительного устройства, счетчиком heat_counter, по строкам

heat_counter++;
if (heat_counter›(EE_PID_TIME*1000)) heat_counter=0;

Почему именно в течение 100 (!) секунд тупо считаем?! Потому что и первая и последние строки кода имеют одинаковое значение величины сравнения

if (pid_counter‹(EE_PID_TIME*1000)) pid_counter++;
...
if (heat_counter›(EE_PID_TIME*1000)) heat_counter=0;

ВОПРОС - Не круто ли каждые 100 секунд, тупо нагревать бачок, забывая о пиде, который должен 10 раз в секунду знать текущую температуру бачка и рассчитывать control (то есть выходной параметр ПИДа) ?

Последний раз редактировалось ALEGYR; 20.11.2017 в 17:34.
ALEGYR вне форума  
Непрочитано 20.11.2017, 03:57  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от ALEGYR Посмотреть сообщение
Пусть цикл таймера у нас составляет 1 миллисекунду.
Почему например не микросекунду?
Хотя для понимания принципа это неважно.
Сообщение от ALEGYR Посмотреть сообщение
Пусть частота опроса датчика температуры у нас происходит 10 раз в секунду. (Мы же крутые, и хотим максимально эффективно и с максимальной точностью знать состояние объекта регулирования, то есть бачка с маслом)
А чё так скромно?
Мы его можем опрашивать и МИЛЛИОН раз в секунду.
Но пусть будет 10, неважно.
Кстати, это отдельная операция и производится она в другом участке кода, здесь этого нет. Как и усреднения результата.

Сообщение от ALEGYR Посмотреть сообщение
Тогда мы можем записать, что эмпирическая величина EE_PID_TIME, задающая элементарный отрезок времени для отсчёта периода квантования ПИД равна 100 мc, То есть
Можем, но тогда 0,1*1000=100с.
Многовато, не находишь?
Я бы предпочёл 1 мллисекунду. Это ни много ни мало, а 120 000 тактов ядра МК, вполне достаточно для расчётов.)))
upd
Кстати, это наиболее часто используемый период Systick (системного таймера).

Последний раз редактировалось omercury; 20.11.2017 в 04:02.
omercury вне форума  
Непрочитано 20.11.2017, 04:55  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от omercury Посмотреть сообщение
Почему например не микросекунду?
Можно и 1 микросекунду! Только зачем? Мы же бачок с маслом нагреваем, а в нем мало что происходит и за 1 миллисекунду!

Сообщение от omercury Посмотреть сообщение
Я бы предпочёл 1 миллисекунду. Это ни много ни мало, а 120 000 тактов ядра МК, вполне достаточно для расчётов.)))
Вообще-то, EE_PID_TIME определятся исходя из требуемой точности к регулируемой величины.
Я не думаю что бочок надо нагревать с точностью до сотых градусов цельсия. Тем более что скорость нагрева (или остывания) бачка, может превышать 10 градусов в секунду! Уж больно бачок с маслом вещь инерционная!!!
А что касается ресурсов для расчета, то расчетов то всего - 3 раза сравнить, 3 раза сложить, да 3 раза умножить!

Сообщение от omercury Посмотреть сообщение
Можем, но тогда 0,1*1000=100с.
Многовато, не находишь?
Конечно нахожу, но код писал не я! Я бы просто написал

if (pid_counter‹ EE_PID_TIME) pid_counter++;
или
if (heat_counter›EE_PID_TIME) heat_counter=0;

а прерывание таймера сделал бы не 1 миллисекунду, а 10 или даже 100!!! Вдруг у нас датчик температуры не очень ловок, переводя аналог в цифру!

Последний раз редактировалось ALEGYR; 20.11.2017 в 04:58.
ALEGYR вне форума  
Непрочитано 20.11.2017, 05:43  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от ALEGYR Посмотреть сообщение
Надеюсь эта тема будет познавательной для форумчан, и поможет им понять некоторые вещи, связанные с написанием кода для реализации ПИД-регулятора. А примером послужит код программы, предложенный AR_Favorit
Человек, не понимающий принципа работы ПИД-регулятора и не умеющий программировать будет объяснять форумчанам работу PID_алгоритма на основе чужого кода, работу которого он не смог понять и даже не догадался проверить на практике (ардуина справится)? Это снова будет весело

Я пока немного посмотрю, смогут ли "форумчане, специализирующихся в рассматриваемых вопросах" что-то втолковать в этом случае "рассматривающему"

Только, как автор "рассматриваемого" отрывка кода, сразу замечу, чтоб форумчане не были введены в заблуждение нашим "разработчиком", что в данном участке кода все переменные, за исключением тех, имя которых начинается с префикса "ЕЕ_" - имеют размерность int_32, а эти самые "ЕЕ_" - размерность int_16, и все величины в расчетах (включая весовые коэффициенты PID) смасштабированы в бОльшую сторону на один или несколько десятичных порядков, чтобы избежать потерь точности из-за отсутствия "дробных частей".

Процитированный участок кода вызывается в прерывании по таймеру Systick, возникающему раз в миллисекунду. "Рассматривающему" это понять проблемно, но данный участок кода выдран из программы реального устройства, в которой помимо данного кусочка еще довольно много строк, оформленных в виде конечных автоматов, вызываемых раз в миллисекунду в основном цикле по флагу, устанавливаемому в этом прерывании.

Собственно, omercury определил эти моменты совершенно верно.

Последний раз редактировалось AR_Favorit; 20.11.2017 в 06:26.
AR_Favorit вне форума  
Непрочитано 20.11.2017, 12:02  
stalkernet
Почётный гражданин KAZUS.RU
 
Регистрация: 02.07.2009
Сообщений: 1,110
Сказал спасибо: 1,246
Сказали Спасибо 2,178 раз(а) в 624 сообщении(ях)
stalkernet на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

AR_Favorit, А причем андурина то??? Пид прекрасно реализуется и на обычном 8 битном и нискоскоростном контроллере. Вставлю и свои 5 копеек на основе своего непосредственного опыта.

Вводная информация. занимался пид регуляторами в течении почти 7 лет. С 95 года. Работал в фирме выпускающей терморегуляторы. Много бывал на пусконаладках. Делали и на пиках и на атмелах. Блин и хватало-же.

Итак как уже говорил - ПИД дубовый и надежный до безобразия. что сказали то и делает. и не шагу в сторону. тока вот подобрать коэффициенты - это просто пиз...ц. Если помните уровнение то в нем ТРИ переменных. И соблюсти баланс в нем не всем дано.

Пропорциональная часть - скорость нагрева и время переходного процеса в раойне уставки.
Интегральная часть - точность поддержания температуры.
Деферинциальная часть - скорость реакции на изменение условий.
Говорю прямо хоть потом и писал софт но расчет коэффициентов мне не дался.

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

Используется 3 переменных П-И-Д и период регулирования. Период регулирования равен времени реакции системы. меньше просто бессмысленно. гоняется в холостую. А дальше от искуства программиста. а как упровлять это уже дело десятое. толи ШИМ, толи число-импульсное управление или частотное - похеру. Есть период регулирования и на его основе уже от значения ПИД считается воздействие. Мне например больше нравилось число-импульсное - в сеть не срет, включается выключается в нуле. да и считать по проще 100 импульсов 1 сек. и 100% воздействие.
а натему флоат и интов. так я вобще нечего не считал брал с ацп напрямую значение и его использовал. но к этому привыкнуть надо. Это просто индивидуальная часть. ктото не может без конкретных цифр. комуто только целые подавай, а ктото без запятой или конкретных градусей не может.

Некоректно будет сказано но ПИД выдает процент воздействия от периода регулирования. тоесть если пер.рег(ПР) 3 сек а пид выдал 10 то это 10% от 3 сек. или если ПР 100 импульсов то это будет 10 импульсов. Все и нечего больше.

PS а вобще на него есть ГОСТ. в котором более мение расписано.

Последний раз редактировалось stalkernet; 20.11.2017 в 12:31.
stalkernet вне форума  
Сказали "Спасибо" stalkernet
ALEGYR (20.11.2017)
Непрочитано 20.11.2017, 12:26  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от stalkernet Посмотреть сообщение
А причем андурина то???
Это средство, доступное топикстартеру.

Сообщение от stalkernet Посмотреть сообщение
ПИД дубовый
Вот именно. Особенно если речь о регулировке температуры. Тем удивительнее, что ТС никак не может сопоставить процитированный фрагмент с тем, что он для себя скачал из интернета.
AR_Favorit вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wiznet W7100. Общие вопросы R_N Микроконтроллеры, АЦП, память и т.д 7 06.06.2012 00:33
PCAD - вопросы и ответы avr123-nm-ru Proteus, KiCAD и другие ECAD 7 27.01.2011 21:15
Система измерения температуры (на AD8495), вопросы по схеме и реализации spartakchamp Измерительное оборудование 2 15.11.2010 22:04


Часовой пояс GMT +4, время: 10:40.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot