Регулируйте правильно. ПИД (PID) регулятор. Методы и приемы регуляции на реальных примерах кода.

  Рет қаралды 13,775

Vladimir Medintsev

Vladimir Medintsev

Күн бұрын

Ролик рассказывает о возможных подходах к организации регулировки температуры реальных объектов. Дискретный алгоритм, пропорциональное, интегральное и дифференциальное регулирование.
Сопровождается реальными примерами кода и графиками регулировки.
------------------------------------------
00:00 - Приветствие подписчикам и зрителям
02:13 - Модель для проведения экспериментов
03:20 - Дискретное регулирование температуры
06:00 - Пропорциональное регулирование температуры
11:37 - Интегральный вклад в регулирование температуры
14:56 - Дифференциальный регулятор
18:04 - Как все это тестировалось
18:56 - Разбор кода
------------------------------------------
Корпуса для температурных регуляторов:
aliclick.shop/r/c/1r005t2soct...
aliclick.shop/r/c/1r005uvyifm...
aliclick.shop/r/c/1r005vczmr4...
Канал в телеграмм - t.me/vladimir_medintsev
Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
Канал на RuTube - rutube.ru/channel/1797552/
Канал на KZfaq - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------

Пікірлер: 245
@pvhnexsys
@pvhnexsys 2 жыл бұрын
Владимир, спасибо за Ваш труд. Работаю во встроенных системах более 15 лет, и Ваш контент считаю лучшим в этой области. Очень близка и понятна Ваша манера подачи материала + Ваши ссылки делают этот ресурс уникальным ( по крайней мере для меня). Желаю Вам действовать в этом ключе и далее, а так же дальнейшего процветания в профессиональном плане!
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Огромное вам спасибо.
@tetestet4940
@tetestet4940 2 жыл бұрын
Для наглядности можно еще добавить на график текущую мощность нагревателя и тогда будет хорошо видно задержку между воздействием на объект и его текущим состоянием.
@alexejw8954
@alexejw8954 2 жыл бұрын
Огромное спасибо! В ролике рассказать пол курса ТАУ, плюс с примером и еще приличную часть курса по микропроцессорной технике, такое далеко не каждому под силу. Очень хорошо, что Вы приобщаетесь еще к преподаванию. Хороших преподавателей, как и хороших инженеров, к сожалению, не так много. Творческих успехов!
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Благодарю.
@alexlitvinenko6901
@alexlitvinenko6901 2 жыл бұрын
Огромное спасибо за Ваш труд!!! Занимаюсь электроникой в рамках хобби, но Ваш канал считаю лучшим в качестве, не только просвещающего, но и обучающего материала. Что там говорить - даже анализируя код этого творения, я бы уже городил "скользящее среднее" создав массив, и в каждой итерации обновлял одно из значений массива, высчитывал среднее арифметическое и с ним уже работал (да - я чуть-чуть гладкомозгий попорук, но стараюсь совершенствоваться). А Вы это реализовали так просто и без лишних телодвижений. Да и объясняете Вы столь доступно, что и до младшешкольника, который решит войти в мир программируемой микроэлектроники - дойдёт. В общем моё Вам уважение, с нетерпением жду каждого нового ролика!!!
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Огромное спасибо.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Особенно шыкарно читатется: "гладкомозгий попорук"! Надо запомнить и взять в оборот! 👍😁🤪
@alexlitvinenko6901
@alexlitvinenko6901 2 жыл бұрын
@@user-dq2ci5ln5g ну да... Бывает дело, созидаю упоротые эпитеты, чтоб банально не крыть оппонента матом. А то перед моим взором часто показываются шедевры экскрементального искусства, созданные субъектами с синдромом выпрямления полированных извилин, с помощью матрилинейно-дендрофекальных технологий (зато всё понятно и бан за мат не получишь). В результате и получаются такие фразы, что быстро расходятся по устам, как цитаты... А ещё немного паяю и немного программирую.
@user-ve4he6os8m
@user-ve4he6os8m 2 жыл бұрын
Очень доходчиво и интересно. Тоже с удовольствием послушал бы про алгоритмы автоподстройки ПИД - коэффициентов
@SIM31r
@SIM31r 2 жыл бұрын
Там уже математика будет в Матлабе. Электроника тут не понадобится. ПИД регулятор тоже можно было в Матлабе симулировать.
@ShelbyCobraGH
@ShelbyCobraGH 2 жыл бұрын
4 года занимаюсь электроникой - уже кажется что все ру комьюнити знаю лично) что бы там про Илью не говорили - с его роликов стартовал изучать альтиум. Если вас не затруднит - снимите по настройке cube monitor ролик. После STM studio посмотрел на все это, потыкал и закрыл 😂
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Это самый наглядный гайд, который я видел за крайние 20 лет! 👍 Хотя ещё в начале 0-вых, используя "первые" простейшие пид-регуляторы фирмы "овен" ТРМ приходилось "вручную" подбирать/рассчитывать коэффициенты П.И.Д. на самопально построенной физ.модели в майко.экселе! Ничо так получалось, 😁 особенно когда пошли ТРМ'ы с автонастройкой, цыферки отличались лишь на +- 3-5 в последнем разряде! Есть в майко.экселе такая фишка - поиск решения, подробностей уже не вспомню, но скажу лишь одно: и нагрев и остывание есть функция экспоненты, цыфры которой просчитываются исходя из реальных замеров на "объекте" управления! А тут уже всё, особенно в экселе, считается на 1-2-3! 👍😁🤪
@user-kn5of4zv5u
@user-kn5of4zv5u 2 жыл бұрын
Было бы очень интересно посмотреть на алгоритмы автоматической настройки ПИД-коэффициентов, как в промышленных регуляторах.)
@f33net
@f33net 2 жыл бұрын
ПИД на коэффициенты ПИД. :)
@nikolaecolog1438
@nikolaecolog1438 2 жыл бұрын
@@f33net ahahahahahaha
@ShelbyCobraGH
@ShelbyCobraGH 2 жыл бұрын
На 3д принтерах в марлине можно поглядеть как автонастройка пид реализована.
@f33net
@f33net 2 жыл бұрын
@@ShelbyCobraGH или книжки почитать... :)
@rmatveev
@rmatveev 2 жыл бұрын
@@ShelbyCobraGH И на Марлине и на Клиппере. Да, очень интересно понять как этот механизм работает.
@thatemptyspace
@thatemptyspace 2 жыл бұрын
Прямо готовый учебный ролик, благодарю!
@ruslangabitov5202
@ruslangabitov5202 2 жыл бұрын
Спасибо за видео. Как всегда на канале, сложные вещи объясняются наглядно и простыми словами
@dowsiw
@dowsiw 2 жыл бұрын
Спасибо за прекрасный материал.
@user-vq5nu1vz6d
@user-vq5nu1vz6d 2 жыл бұрын
Благодарю за отличный контент. Комментарий в поддержку канала!
@RadioTexnik
@RadioTexnik 2 жыл бұрын
Большое спасибо за труды! Здоровья и творческих успехов!
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Спасибо
@ArthurIslamRU
@ArthurIslamRU 2 жыл бұрын
Спасибо Большое, Уважаемый Владимир
@artvk8294
@artvk8294 2 жыл бұрын
Спасибо за ликбез. Как раз "печку" делать собираюсь😊
@CanchezAK
@CanchezAK 2 жыл бұрын
А я в процессе, мне тоже дико помогает, ибо нужны именно такие, дубовые алгоритмы, которые применяются только в учебных целях - малость напарились, когда компоненты заказывали, пришло не совсем то, что нужно, так что исполнительным механизмом стало твердотельное реле без фазоимпульсной регулировки)
@user-ic1rd1jf6u
@user-ic1rd1jf6u Жыл бұрын
Огромнейшее спасибо за ваш труд, огромнейшее спасибо за ваш канал, огромнейшее спасибо что вы есть!!!
@BubonicPestilence
@BubonicPestilence 2 жыл бұрын
Спасибо за самое простое описание пида
@user-gn5uw7ou8y
@user-gn5uw7ou8y 2 жыл бұрын
Очень интересно, спасибо
@DunnoOnTheMoon
@DunnoOnTheMoon 2 жыл бұрын
Спасибо. Очень интересно.
@ahtungs6274
@ahtungs6274 2 жыл бұрын
Хоть кто-то показал как ограничить интегральную составляющую. Спасибо за информацию.
@vernnms78
@vernnms78 2 жыл бұрын
Ваше видео, прям, в цель! Ровно год назад занимался PID. Как раз дело касалось отопления. Там реакция системы была около 10 минут. Самой большой задачей было именно создание тестового стенда. Ваша идея, прям, то, что нужно. Удивительно, как не догадался сам. Большое спасибо за доходчивый и наглядный рассказ!
@easystm6865
@easystm6865 2 жыл бұрын
Было интересно увидеть на практике все эти формулы из теории ПИД, и довольно наглядно
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Спасибо.
@Romychs
@Romychs 2 жыл бұрын
Интересный такой, наглядный, способ показать работу коэффициентов PID-регулятора.
@Avtovet
@Avtovet 2 жыл бұрын
И Вам большое спасибо!
@fimichsal2687
@fimichsal2687 2 жыл бұрын
Спасибо за видео! На 20:26 это не совсем скользящее среднее, это рекурсивный(БИХ) фильтр низких частот первого порядка. А вот скользящее среднее применяется у вас в интегральной составляющей (reg_error + last_reg_error)/2 это ср.арифм между текущим и предыдущим значением это и есть скользящее среднее на 2 ступеньки. И то и другое это ФНЧ но у рекурсивного фильтра АЧХ имеет форму реального фильтра (как у RC цепочки), а скользящее среднее это по сути нерекурсивный (КИХ) фильтр и имеет АЧХ вида abs(sin(x)/x) Не обязательно такую конструкцию вставлять в интегральную составляющую, просто integral = integral + reg_error. Кроме того привязка к периоду дискретизации ( периоду расчета) тут все равно есть, просто она "встроена" в коэффициенты I и D, удобнее ее было бы вынести в отдельную переменную Differential = D*(reg_error - last_reg_error)/T_дискр
@user-to1lb6dj6g
@user-to1lb6dj6g 2 жыл бұрын
эта задача настолько медленная, что и любой avr с флоатами справится вообще не задумываясь
@PaninAndrey
@PaninAndrey 2 жыл бұрын
Шикарная лекция по ПИД. Спасибо!!! В русскоязычной сети нет ничего даже близко.
@sasha-bj5tt
@sasha-bj5tt 2 жыл бұрын
У AlexGyver тоже есть хороший урок
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Да не, есть тонны описалова, но чтоб вот так, на физической модели, да ещё с визуализацией, найти тяжело, тут я с вами соглашусь! 👍😁🤪
@KDSYouTube
@KDSYouTube 2 жыл бұрын
Рассказывали об этом в вузе, но полостью понял только сейчас, на конкретном примере
@StMetr
@StMetr 2 жыл бұрын
Занимательное видео. Спасибо! Но ручной подбор коэффициентов не комильфо)) Matlab Вам в помощь! Снимаем кривую разгона, стоим модель объекта и рассчитываем параметры ПИД регулятора.
@user-je8oz6lh6w
@user-je8oz6lh6w 2 жыл бұрын
А можно поподробней ? Заранее благодарен
@user-mm7zi4ey6i
@user-mm7zi4ey6i 2 жыл бұрын
Тоже интересно, есть ссылки на какой-то материал или видео?
@StMetr
@StMetr 2 жыл бұрын
На русском языке ничего не нашел. Но вот по ключевым словам можно нагуглить. Построение модели: снимает кривую разгона, т.е. переход объекта из исходного состояния (холодного) к заданному (разогретому). В Matlab есть приложение (apps) System Identifications строим модель в виде передаточной функции (kzfaq.info/get/bejne/q52YfZSSq5Ouook.html). Полученные коэффициенты переносим в блок Simulink где мы нарисовали нашу систему с PID регулятором (стандартный блок) (kzfaq.info/get/bejne/rbt_Z9N-ydTZfoU.html). В настройках блока PID вызывается PID tuner, он то и рассчитывает параметры регулятора в интерактивном режиме. Можно поиграть и посмотреть как будет идти переходной процесс. Есть канал Matlab, можно там поискать.
@admin_of_youtube
@admin_of_youtube 2 жыл бұрын
когда-то давно я сквозь пальцы смотрел на все эти модели в матлабе. но поработав с грамотными людьми и правильными моделями, я просто офигевал от того, что можно без железа подобрать коэффициенты и точно спрогнозировать когда система будет стабильна, а когда на грани устойчивости, а когда и вовсе развалится сразу. и как же я каждый раз удивлялся, когда осциллограф мне выдавал в точности то, что я вижу на графиках в модели. великолепный инструмент. жаль только, что графики рисует очень медленно. порой для построения 10-15 секунд симуляции приходилось ждать по полчаса. ну и при не совсем удачном времени дискретизации (заниженном, чтоб быстрее рисовалось), он выдавал такое, от чего волосы на голове шевелились. но в целом инструмент действительно очень мощный.
@StMetr
@StMetr 2 жыл бұрын
@@admin_of_youtube Полностью с Вами согласен.
@MrCrossRaccoon
@MrCrossRaccoon 2 жыл бұрын
Вроде как полноценно плавающая точка с f4 начиная. Спасибо за видео.
@AndySm1973
@AndySm1973 2 жыл бұрын
Наверное, это самый наглядный урок по PID, который я видел!
@MrGenryh
@MrGenryh 2 жыл бұрын
Спасибо, то что надо для 3d принтера.
@rmatveev
@rmatveev 2 жыл бұрын
Ну для 3D принтеров все давно реализовано.
@MrGenryh
@MrGenryh 2 жыл бұрын
@@rmatveev Не поверишь - реализована только небольшая часть. Например сделать нейлоновую трубку диаметром 8 мм, длиной 30 мм и толщиной стенки 1 мм. Причем точно. Попробуй.
@rmatveev
@rmatveev 2 жыл бұрын
@@MrGenryh я не печатаю нейлоном, так что не понял вашу мысль. Не поясните?
@MrGenryh
@MrGenryh 2 жыл бұрын
@@rmatveev Хорошо, Например нужна нейлоновая втулка - внешний диаметр 8 мм и внутренний 6 мм. Чтобы входила в трубку с внутренним диаметром 8мм. ( с натягом) А вал диаметром 6мм должен скользить без люфта во втулке. С виду все просто, но в реале на стандартном 3d принтере не сделать - размеры будут уходить. Причем втулка работает под давлением воздуха в 5 атмосфер. Все просто, да не тут то и было.!
@rmatveev
@rmatveev 2 жыл бұрын
@@MrGenryh А как это связано с ПИД регулятором? И в чем проблема, почему размеры не получаются?
@AndreyChigisheff
@AndreyChigisheff 2 жыл бұрын
АСУ в одну петлю ОС получается. Особенно с первыми двумя методами управления. Поэтому и гуляет. Для систем, помещающихся в кулак и находящихся в более-менее стабильных условиях среды пойдет. У 3D принтеров так же? Теперь понятно, почему мой открытый иногда "ревматизмом" страдал. Сейчас то я его в бокс загнал. Надо попробовать вторую петлю управления организовать. Два термометра. Один дальше от нагревателя, чтобы получить температуру объекта управления, сформировав вторую петлю обратной связи.
@MrLedball
@MrLedball 2 жыл бұрын
Заставка - шикарна! :)
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Спасибо.
@MrLedball
@MrLedball 2 жыл бұрын
@@VladimirMedintsev Как теперь смотреть предновогодние фильмы без отсылкам к теории автоматического регулирования? :))
@MrLedball
@MrLedball 2 жыл бұрын
@@VladimirMedintsev Ипполит - явно гуманитарий. Но обеспеченный :)
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@MrLedball О-о-о, тёпленькая пошла! kzfaq.info/get/bejne/g897lrt3z8DYoIU.html "Потрите мне спинку, пжалста! ну пжалста, что вам трудно что-ли!?" 👍😁🤪
@admin_of_youtube
@admin_of_youtube 2 жыл бұрын
окно ассемблерных команд в кейле очень помогает оценить за сколько тактов выполняется та или иная команда. как оказалось, чтоб для плавающей точки задействовать дсп инструкции, их надо ещё и включить, иначе флоат обрабатывается не так быстро, как хочется. счётчик времени и тактов у меня на ф4 почему-то часто некорректно работает. к примеру, есть кусок кода. если я его прохожу пошагово, получаю одно время выполнения, а если от брейка до брейка, то другое, причём почти на порядок меньше. но всё же стм32 оставляет далеко позади 8-ми битные мк. особенно с возможностью замены камня на более мощный благодаря фишке пин-то-пин.
@trollquantum
@trollquantum 2 жыл бұрын
Знову джекпот, зберігаю 😊
@vladimirmalazin9711
@vladimirmalazin9711 2 жыл бұрын
Владимир, как всегда спасибо за отличный информативный контент! Было б интересно от Вас полушать ещё и о "подборке коэффициентов" для ПИД регуляторов. П.С. STM-103ий с Блю Пилла не содержит на борту мат сопроцессор с плавающей точкой и немало памяти подъедает при выполнений операций, гораздо медленней чем "за один такт"... хотя, конечно с 8ми-битными несравнимо) Спасибо ещё раз!
@SIM31r
@SIM31r 2 жыл бұрын
Тут можно на 1000 умножить все переменные и работать с целочисленной арифметикой.
@Stresscms
@Stresscms 2 жыл бұрын
Да, сопроцессор в M4 хорошо, но классно было бы увидеть (может в отдельном ролике)работу с числами с фиксированной точность. Подключение библиотек и пр.
@AlexandrMeleshko
@AlexandrMeleshko 2 жыл бұрын
Все очень ненаглядно и понятно! Спасибо огромное! А можно пример кода Node-RED?
@U_video
@U_video 2 жыл бұрын
На stm32f103 аппаратная обработка плавающей точки. Ну Вы блин даёте. И таки да, для ускорения расчётов можно перейти от плавающей к фиксированной точке. А так видео интересное. Спасибо.
@user-dk6nt5gg9b
@user-dk6nt5gg9b 2 жыл бұрын
Спасибо, исключительно полезное видео! А уж до чего мне нравится "диссипативное яйцо", почти как твердотопливное реле ;) Увы, F103-й контроллер на "синей пилюле" (как и любой на Cortex-M3) не умеет в аппаратную плавающую точку, это и по размеру кода можно понять, там всё чисто программно. Существует, кстати говоря, относительно легковесная библиотека Qfplib-M3 для софтовой "плавучки" на Cortex-M3, менее прожорливая, чем "комплектная".
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Если вы посмотрите внимательно, то обнаружите, что врезка про плавающую точку немного выбивается из общего контента видео. Это делать обязательно нужно. Психологи говорят, что такие ошибки заставляют зрителей комментировать и как следствие продвигать видео. Даже по самым скромным подсчётам фраза про твердотопливные реле принесла массу популярности тому видео. К сожалению этого успеха мне повторить так и не удалось.
@nefton001
@nefton001 Жыл бұрын
Спасибо за графики! вывод - пид - хрень )) разве только для окончательной регуляции
@Devishhike
@Devishhike 4 ай бұрын
Класное, прозрачное видео - побольше б таких. Хотелось бы в нем ещё увидеть разбор с точки зрения реализации на железке кода. Вы частично затронули тему холивара по поводу типа данных, интересно услышать ваше мнение об оптимизации инттеграла на флоат типе, а именно ситуацию когда накопленое значение интеграла значительно больше чем входное значение - по сути отбрасываеться. Насколько это критично?
@Kruzhaev_Valery
@Kruzhaev_Valery 2 жыл бұрын
Самая простая моделька инерционной системы (без яиц) - кастрюля с водой на электроплитке. Но оооочень инерционная. ))) Высиживал возле нее по нескольку часов в ожидании. Воду менял на холодную для ускорения. )
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Тогда я знаю еще круче. Парафин. В него макнуть и спираль и датчик.
@Kruzhaev_Valery
@Kruzhaev_Valery 2 жыл бұрын
@@VladimirMedintsev О да!! Когда-то делал ПИД для парафинового тигеля, там такие эффекты в зависимости от фазы парафина ))
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Поэтому и "плясать" надо от конкретного физического объекта, а не от какой-то там "виртуальной" модельки пролёта "варёных вкрутую яиц над гнездом кукушки над пропастью во ржи в лунную ночь"! 👍😁🤪
@user-to9sp7tp7w
@user-to9sp7tp7w 2 жыл бұрын
Спасибо, хорошая лекция! Но для повторения лабораторной работы было бы хорошо выложить коды с комментариями , схему , ссылку на программу. Подобные опыты я делал на ардуино. Идею с фильтрацией, усреднением я взял на заметку. Надеюсь на продолжение темы ПИД-регуляторов - алгоритм автонастройки коэффициентов (В китайском регуляторе REX-C100 автонастройка вполне успешно работает).
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Простите схему чего? И ссылку на какую программу?
@user-to9sp7tp7w
@user-to9sp7tp7w 2 жыл бұрын
@@VladimirMedintsev Извинясь, снимаю свои вопросы
@Ololoshize
@Ololoshize 2 жыл бұрын
Про адептов AVR смешно. Да, они такие. )
@user-je8oz6lh6w
@user-je8oz6lh6w 2 жыл бұрын
На самом деле целочисленную математику используют не только адепты AVR. Просто, иногда, необходимо свести до минимума количество операций. Например - для снижения энергопотребления.
@streamdx
@streamdx 2 жыл бұрын
И далеко не на всех stm32 есть аппаратная плавучка
@aabdev
@aabdev 2 жыл бұрын
Вот бы ещё видео про LQR регулятор.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Да легко.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
А самому, не, никак? 👍😁🤪
@ekd177
@ekd177 2 жыл бұрын
Скажите пожалуйста а интегральная составляющая это время деленое на пропорцыональю составляющую
@Vasily-ze5wf
@Vasily-ze5wf 2 жыл бұрын
Холодненькая пошла!
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
О-о-о, тёпленькая пошла! kzfaq.info/get/bejne/g897lrt3z8DYoIU.html "Потрите мне спинку, пжалста! ну пжалста, что вам трудно что-ли!?" 👍😁🤪
@michal621
@michal621 2 жыл бұрын
в теории - читаем книжки по подборке коэффициентов ПИД регулятора, штурмуем соответствующие разделы ТАУ, а на практике используем метод Стеля :)
@user-bx5vy6yd5n
@user-bx5vy6yd5n 2 жыл бұрын
Спасибо, очень интересно. С удовольствием смотрю этот канал. На каком этапе раскладчик компонентов? Может не в тему, что там с модулем управления Ильи. (Что за реакция людей?). Желаю творческих успехов Владимир.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Раскладчик управляется. У меня нет времени пойти и купить светодиодную ленту для подсветки нижней камеры. Я признаться и так выпускал посвященные ему видео слишком часто. Теперь будет только одно, последнее в котором он уже будет плату собирать.
@idro0000
@idro0000 2 жыл бұрын
Спортивный репортаж :)
@user-oo3ny2db4b
@user-oo3ny2db4b Жыл бұрын
Владимир, спасибо вам за ваш труд! Хотел бы уточнить момент с интегральной частью регулятора - там коэффициент И складывается или умножается? В видео вы складываете, хотя коэффициенты П и Д умножаются. Возможно я не верно понял суть коэффициента, а возможно у вас опечатка. Ещё раз спасибо! Каждый раз с нетерпением жду ваших новых видео!
@user-je8oz6lh6w
@user-je8oz6lh6w 2 жыл бұрын
А нет ли у Вас какокого нибудь революционного метода автоматического подбора коэффициентов?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Эх, революционного нету.
@user-je8oz6lh6w
@user-je8oz6lh6w 2 жыл бұрын
@@VladimirMedintsev ООООххх.. Придется совершать революцию самому....
@MikeVoinikov
@MikeVoinikov 2 жыл бұрын
Тут без погружения в ТАУ не обойтись )
@user-je8oz6lh6w
@user-je8oz6lh6w 2 жыл бұрын
@@MikeVoinikov Да понятно..
@user-mm7zi4ey6i
@user-mm7zi4ey6i 2 жыл бұрын
У алексгайвера есть примеры кода на ардуино для автоматического подбора коэффициентов, сам проверял его, более менее нормально получалось
@adminroot1345
@adminroot1345 2 жыл бұрын
Лабораторка по тау.)
@user-fo1bu9zc4e
@user-fo1bu9zc4e 2 жыл бұрын
А быстрая работа с float есть же не во всех stm32? В STM32F103 ее нет?
@ilpd2k436
@ilpd2k436 2 жыл бұрын
Нет её там. Cortex m3 не имеет fpu
@Electronika_
@Electronika_ 2 жыл бұрын
Саня, допиши постскриптум - Причал для адептов авр)))
@dmitriibannikovasx
@dmitriibannikovasx 2 жыл бұрын
Не разобрался все таки с постоянной времени dt. В каких случаях её нужно использовать? И на что она вообще влияет?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
dt тогда, когда каждый ваш замер происходит в разное время. Тогда, когда цикл не постоянен.
@916363
@916363 2 жыл бұрын
Здравствуйте, а могут эти все коэффициенты подбираться автоматически как в нейросетях, на основании истории данных. Понимаю, что условия будут постоянно меняться, но по идее система может предсказывать любые условия на основании начальных данных.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Могут и подбираются.
@rmatveev
@rmatveev 2 жыл бұрын
Небольшой комментарий по вашему коду: ограничение величины по максимальному значению лучше делать строчкой if(value>max_value) value = max_value; А то в вашем случае получится, что величина, подходя к значению 1000 будет испытывать небольшой отскок.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Таки да, соглашусь.
@nicknaym1
@nicknaym1 2 жыл бұрын
Ничего не понятно, но очень интересно. И непонятно, почему при таких ценах невыгодно распотрошить готовый регулятор))
@rmatveev
@rmatveev 2 жыл бұрын
Без этого не было бы образовательного контента!
@m-jeka
@m-jeka 2 жыл бұрын
Добрый день. А есть возможность высчитывать по аналогии время? Есть тёплый пол и постоянная мощность, нужно расчитывать время начала нагрева, чтобы к указанному времени он вышел на целевую температуру. Так называемый предпрогрев. Нигде не могу найти алгоритм решения и формулы расчетов.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
А формулу не надо искать, функция нагрева и остывания - есть экспонента, коэффициенты которой не рассчитываются, а берутся из реальных замеров на "объекте" управления! То есть, вы берёте секундомер, включаете нагрев и спокойно записывайте значения температуры на листочке бумаги! Всё остальное - дело техники, то бишь, калькулятор в руки, но я бы посоветовал внести все данные в эксель, а там можно и график нарисовать и все цыферки посчитать! Я так делал ещё лет 20 назад, и получал вполне неплохие результаты по точности! 👍😁🤪
@m-jeka
@m-jeka 2 жыл бұрын
@@user-dq2ci5ln5g это если базовая температура пола не меняется и на улице. А учитывая, что может быть -25 и +10, то нужен именно расчёт. Т.к. при -25 нагрев занимает существенное время.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
​@@m-jeka Дружище, нет и ещё раз нет, исходная температура на старте процесса не имеет никакого значения! Как я выше уже написал, надо снять характеристики "объекта" в реале, и этого будет достаточно, чтобы смоделировать объект в цифрах! 1. Надо снять характеристику нагрева на максимальной мощности нагревателя, и это будет термосопротивление, т.е. способность заполнителя проводить определённое количество тепла от нагревателя до поверхности пола, а затем - 2. снять характеристику остывания, и это будет теплоёмкость всей системы, т.е. способность этой системы рассеять запасённое количество тепла в окружающую среду! Потом используя формулы школьного курса физики за 8-ой класс "теплопроводность и теплоёмкость" (почитайте, очень занимательно:) считаем коэффициенты всей системы нагреватель+наполнитель+пол! А отсюда о-очень легко просчитывается сколько времени потребуется для нагрева объекта Х от температуры А до температуры В, при заданной мощности нагревателя Z! Напишите формулы на листочке, и сами поймёте, что там сложного ничего нет, одни циферки! Все ж решали задачки про нагрев ведра воды при сжигании 1 л бензина! для примера - www.niic.nsc.ru/study/studentam/157-tasks/reshenie-zadachi/550-reshenie-zadachi-80 👍😁🤪
@m-jeka
@m-jeka 2 жыл бұрын
@@user-dq2ci5ln5g и да и нет. У меня под квартирой считай улица (входная дверь подъезда) и коридор. Так вот зимой при минус 20 (от 20 до 28 мне нужно до 3-х часов на прогрев, а летом, 1 час). Температура в квартире +- одинаковая, но за счет того, что бетон проводит тепло и с наружи разница зимой больше, а летом меньше, то и прогревать пол приходится по разному. Я уже не говорю, что есть еще мосты холода, где от стен холод переходит и в перекрытия. Поэтому все эти формулы до одного места, когда у тебя по другую сторону стен, пола, потолка постоянно меняются условия. Формулы работают, когда у тебя снаружи ничего не меняется и в комнате температура стабильная, т.е. ты форточки не открываешь и не проветриваешь зимой или не отключаешь отопление когда ты ушел и до твоего прихода оно должно включиться так, чтобы успеть прогреть на нужную температуру. Время ухода и прихода тоже не постоянно. Поэтому формулы формулами, но они до лампочки.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@m-jeka Дружище, не кажется ли вам, что вы противоречите сами себе?! 😲 Сначала вы хочите алгоритм и формулы, я вроде бы как написал вам, в какую сторону копать, но нет же - вы пишете, что формулы вам до одного места лампочки!? 🤔 Попробую ещё раз... Ваша квартира, какбэ это сказать, является термостатом с определёнными параметрами - есть теплоёмкость и теплопроводность, и вот эти параметры, как раз, являются какой-то константой (надо измерить) - они уменьшают температуру, а есть ещё мощность нагревателя, то же постоянна - увеличивает температуру! Влияние открытой форточки и "плавание" напруги в сети, я думаю, можно не учитывать - не существенно! Эт как на раскалённый до 300°C тэн слегка дуть губами! Так вот, тэн выдаёт какое-то количество теплоты = Q, а квартира это количество теплоты потребляет, и соответственно - нагревается! Так вот, кривая нагрева и остывания БУДЕТ ВСЕГДА одна и таже, независимо от температуры снаружи, ведь параметры квартиры почти не меняются со временем(ну если только вы что-то не поменяете в квартире)! Формулы работают всегда - это всего-навсего физика теплоты(8-ой класс школьной программы), надо просто подобрать адекватную физическую модель! Кароче, даже не знаю что ещё можно к этому добавить, может только если вы не пришлёте полный график нагрева в экселе, а я вам посчитаю параметры нагрева (не бесплатно:)), но и вы сами можете это сделать, подсказка - в экселе есть подбор формулы по графику замеров! 👍😁🤪
@Andrei011000
@Andrei011000 2 жыл бұрын
Жаль "Овен" программисты это не посмотрят. Они такие "умные" что просто нет слов.
@rmatveev
@rmatveev 2 жыл бұрын
А что с ними не так?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
А что не так с программистами "Овнов"? 🤔 Только первые модели (>20 лет назад) были без "автонастройки", а чем дальше, тем лучше у них работал этот алгоритм "автонастройки"! Крайний раз я пользовался этой "фишкой" лет 3-5 назад, и она вполне себе пристойно работала! 👍😁🤪
@Andrei011000
@Andrei011000 2 жыл бұрын
@@user-dq2ci5ln5g ага, в быту стоят старые, которые надо через комп настраивать. Но уже тогда были проекты на атмеге с экраном и кнопками для нормального настраивания параметров. Сам делал автомат для съемки круговых панорам.
@user-sj1nu7bx3q
@user-sj1nu7bx3q 2 жыл бұрын
А верна ли информация в ролике про Д-составляющую. Что это такое и для чего она нужна, не попутно с интегральной?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Есть уже тонны инфы в инете про ПИД-регуляторы, только читай, это не то что 30 лет назад! что это, зачем, почему, и как! всё "ручками" настраивали по 2-3 дня! 👍😁🤪
@user-sj1nu7bx3q
@user-sj1nu7bx3q 2 жыл бұрын
@@user-dq2ci5ln5g Да я как бы знаю предмет. Мне показалось в контенте косячок в понятиях.
@sergeyrink3003
@sergeyrink3003 Жыл бұрын
Не полностью раскрыто время. Интегральный регулятор это функция времени ( или частоты). Лучше учитывать, тогда коэффициент не будет зависеть от Delay. Не говоря уже, что упущен момент временных параметров объекта и матмоделей для предварительного подбора параметров регуляторов. AVR не такие слабые, мне хватает на вполне приличное управление квадриком. А там и чтение MPU6050 и фильтрация и несколько PID регуляторов и все это во float. B переход в целочисленные типы ничего не дает там та же разрядность и почти то же время выполнения. Основное время уходит на тасование через 8бит ALU. На переход в STM32 я уже созрел, в общем то это не так сложно если не тупить в даташиты, а пользоваться примерами реализации нужных функций.
@aka_DRY
@aka_DRY 2 жыл бұрын
Ziegler-Nichols method. Євристический метод настройки ПИД. Для печки в самьій раз. По крайней мере у меня получалось бьістро и доаольно неплохо.
@user-il7ub4jq8q
@user-il7ub4jq8q 2 жыл бұрын
Этот метод для того чтобы как нибудь настроить, как и альтернативные методы. Для нормальной настройки, обычно если это важная система, делают модель и настраивают как надо, или используют адаптивное управление, и более сложные системы регулирования.
@sergnova528
@sergnova528 2 жыл бұрын
любой мк на 8бит тоже быстро работает с флоат , и ещё отдыхать успевает . может компилятор не такой и потому долго считает или программа не грамотная
@user-cf4pl4yl5l
@user-cf4pl4yl5l 2 жыл бұрын
а из cube monitor можно записывать значения в переменную?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Нет. Это монитор
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Это, как бы, замочная скважина, через которую подглядывают за обстановкой в программе! Как из коридора в квартиру докричаться? 👍😁🤪
@cnjzyjdheckfy
@cnjzyjdheckfy 2 жыл бұрын
"как он посмел? как он может использовать" hal_delay? )
@admin_of_youtube
@admin_of_youtube 2 жыл бұрын
это тонкий троллинг 8-ми битников, так сказать, чтоб добить ))))
@CrazyPit
@CrazyPit 2 жыл бұрын
не раскрыта методика подбора коэффициентов. и методика автоматического подбора коэффициентов..(мне помог жкод от дмитрия соркина для настройки пид регулятора на марлине).. в ручную не смог подобрать
@MrDrakonBlack
@MrDrakonBlack 2 жыл бұрын
Отличный ролик, но я бы сделал несколько замечаний. 1 Нежелательно показывать людям на каналах где есть новички код где есть такие вещи как переменные в одну букву. Они будут думать что это нормальная практика 2 Оптимизировать переменные с точки зрения размера занемаемого ими места есть всегда, даже когда пишут под х86 некоторые одаренные могут парой строчек кода схомячить 32 Гига оперативы и удивляться что ничего не работает. 3 ПИД а точнее его интегральная и дефференциальная часть имеют помимо каэффициента еще и время. В вашем случае очень медленной и инертной системы это не так важно, но когда период квантования приближается к собственной частоте системы, там так легко ПИД уже не настроить... Ну и насчет нескольких строк кода это конечно лукавство, сколько у вас строк в использованных библиотеках? :) Если человек начнет с нуля то что бы эти 20 строк заработали надо будет еще и библиотеки написать которые я думаю сильно за 100 вывалятся... :)
@VasyaPupkinus
@VasyaPupkinus 2 жыл бұрын
Здравствуйте . Я адепт атмел и других 8-ми битных микроконтроллеров. Если вы не знаете , то у атмел тоже есть FPU и он может проводить вычисления менее чем за один такт, учите матчасть.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Вы как адепт Atmel, наверное хорошо с ними знакомы. А сможете пояснить, что за чудо технология "менее чем за один такт"? Это что-то новое. А за сколько? За 0.75 такта? Или быстрее? Балдею с таких учителей матчасти.
@VasyaPupkinus
@VasyaPupkinus 2 жыл бұрын
@@VladimirMedintsev Это долго объяснять, применяется мелкодисперсное квантование и благодаря ему можно добиться потрясающих скоростей
@Nidvoraich
@Nidvoraich 2 жыл бұрын
Спасибо за проделанную работу! Вопрос: у нас есть реальная система (яйцо, например). Есть программа, в которой реализован ПИД, и которая видит всю статистику нагрева. Насколько реален алгоритм, который сам подкрутит коэффициенты оптимальным образом? Ведь программа же видит, что вот тут она превысила, тут не дошла, тут долго устаканивала температуру. Это ведь можно автоматизировать, по идее. Вопрос только - насколько сложная это будет математика?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Если есть возможность дать программе нагреть систему он низшей точки до верхней ничего не повредив. То алгоритм не сложный. Главное, чтобы программный код мог несколько раз проэкспериментировать.
@adminroot1345
@adminroot1345 2 жыл бұрын
Полистате учебники по теории автоматического управления этот велосипед уже изобретен.
@SIM31r
@SIM31r 2 жыл бұрын
@@adminroot1345 там нужно параметры модели знать. А если регулятор ничего не знает о объекте управления, придется перебором коэффициенты подбирать.
@Sergey_Bobrov
@Sergey_Bobrov 2 жыл бұрын
А какой именно нагревающий элемент у вас используется?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Нагревательный элемент максимально имитирующий реальные условия.
@Sergey_Bobrov
@Sergey_Bobrov 2 жыл бұрын
@@VladimirMedintsevОтвет а-ля Кин-дза-дза. :) УЭФ: Друг! У вас какая система? Разрешите взглянуть... СТРАННИК: Система обычная. Нажал на кнопку и дома.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@Sergey_Bobrov Ну каков вопрос, таков и ответ! 👍😁🤪
@Sergey_Bobrov
@Sergey_Bobrov 2 жыл бұрын
@@user-dq2ci5ln5g А что не так с моим вопросом? Мне было интересно узнать модель нагревателя я и спросил. Как раз хочу сделать что-то подобное для своих нужд, вот и ищу подходящий нагреватель. Автор видимо не смог или не захотел раскрывать эти данные и вместо прямого ответа, дал максимально уклончивый ответ, а жаль.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@Sergey_Bobrov Ну просто это выглядит, как чисто академический интерес! А лично мне, глядя видос на 02:58, стало понятно, что тут используется обычный низкоомный керамический резистор в качестве нагревателя! А что бы вас поняли максимально прозрачно, можно было б задать прямой вопрос: "хочу нагревать то-то и так-то, с такой вот скоростью и вот этой точностью! Посоветуйте мне модель нагревателя для моих нужд!" 🤔 А то сами задали вопрос, сами ж и ответили на него в стиле Кин-дза-дза! 👍😁🤪
@user-zi1hf6xn2w
@user-zi1hf6xn2w 2 жыл бұрын
Владимир, вот эта музыка в начале роликов - это ваше музыкальное пристрастие? Вы за рулем тоже такое слушаете?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Нет, за рулем я музыку не слушаю совсем. У меня не так много времени побыть одному и в тишине. Что касается музыкальных пристрастий, то я предпочитаю кантри, джаз и рок.
@user-zi1hf6xn2w
@user-zi1hf6xn2w 2 жыл бұрын
@@VladimirMedintsev , ))) . Я так и думал, почему-то. И потому выбор музыки для заставки вызвал когнитивный диссонанс. Сам радио-Джаз слушаю за рулем. Не то, чтобы мне нравился джаз, но эта музыка не дает мне поубивать нахрен всех других участников движения - успокаивает.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Ютуб блокирует огромное количество треков и приходится использовать бесплатные - эти бесплатные.
@chez1k
@chez1k 2 жыл бұрын
Есть готовые пид регуляторы с автонастройкой по типу rex c100, который стоит как этот корпус)
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Согласен, не надо ничего не изучать ни делать. Давайте купим готовое. Полностью согласен.
@chez1k
@chez1k 2 жыл бұрын
@@VladimirMedintsev против изучения ничего против не имею, просто высказал свое мнение, что на практике лучше применить готовое отлаженное устройство)
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@chez1k Практики бывают разные: 1. надо иметь понятие, что и как должно работать! 2. Кто-то же должен это устройство настроить и отладить! 👍😁🤪
@kospov2002
@kospov2002 2 жыл бұрын
Балин, пол видео за float зуб точил, а он мне сопли утëр )))
@tetestet4940
@tetestet4940 2 жыл бұрын
Да, объект регулирования получился интересный. Правда он совсем не похож на водогрейный котёл, который практически есть интегратор и с ним графики, на сколько я помню курс ТАУ и свой курсовой проект, должны были быть наоборот - первый надо поменять с последним. В этом "яйце" скорее всего присутствует задержка передачи тепла от нагревателя к термопаре, что при периоде измерений в разы меньше этой задержки приводит к перерегулированию в П-режиме и сильному "недолёту" до уставки в остальных. Интересно, как изменятся графики если увеличить период измерений. Кстати, поведение объекта очень похоже на нагрев платы нижним подогревом BGA-паялки. А в них, в BGA-паялках, ПИД в чистом виде практически не используют.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Тут два фактора подбирал: задержку передачи тепла и теплоемкость средней части показанного "яйца". Тем самым создавалась небольшая нелинейность.
@tetestet4940
@tetestet4940 2 жыл бұрын
@@VladimirMedintsev Нелинейность в тепле это когда фазовый переход происходит, а тут скорее транспортная задержка. ИМХО разумеется.
@user-il7ub4jq8q
@user-il7ub4jq8q 2 жыл бұрын
@@tetestet4940 В данном случае скорее всего да, но в больших, во всех смыслах, тепловых объектах нелинейности достаточно много, особенно когда управление осуществляется составам горючей смеси подаваемой на горелки.
@tetestet4940
@tetestet4940 2 жыл бұрын
@@user-il7ub4jq8q А чем рулим и какому параметру замыкается обратная связь?
@user-il7ub4jq8q
@user-il7ub4jq8q 2 жыл бұрын
@@tetestet4940 Газ воздух соотношение, (рассчитывается алгоритмом) как в машинах на инжекторе, плюс защитный газ, исполнительные механизмы т е положение заслонки свой контур на газ на воздух на защитный газ + датчики расхода на каждый тип газа, несколько десятков термопар, несколько датчиков открытия закрытия технологических каналов дверей и тд (используются как маломальское измерение возмущений) , контуры продувки (скорость, расход). Так же учитывается вес в тоннах метала проходящего в час. Все это в одну многоконтурную систему заводится, на выходе объекта должна быть соблюдена температура с погрешностью 3-5 градусов в диапазоне от 500 до 800 градусов. Печи Эбнера (несколько штук друг за другом (несколько зон)) поточная для слябов несколько линий. ОЭМК самая качественная сталь в мире поставляется только на крупные европейские концерны. Мат модель там то что надо словами не передать, нелинейности и различных возмущений хватает.
@nordriver
@nordriver 2 жыл бұрын
А как поведет себя система если при уменьшении ошибки уменьшать время интегрирования? Исходя из математики отклонение должно становиться существенно меньше
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
С математической точки зрения и в низкоинерциальных системах это прям очень хорошо повышает точность регулирования. Прям очень. Но в системах с большим временем реагирования на воздействие не влияет ровным счетом никак.
@nordriver
@nordriver 2 жыл бұрын
@@VladimirMedintsev т. е. в высокоинерциальных системах выгодней уменьшать мощность воздействия для увеличентя точность (хоть это и приведет к большему времени выхода на рабочий показатель) либо подстраивать мощность через измерение потока в период охлаждения.. хотя тут надо будет делать замеры в режимах ближе к рабочей точке
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Да, так и есть. В принципе в промышленности ведь так и есть. В большинстве случаев запас по мощности весьма не большой. И регулировать легче и стоимость ниже.
@anatoliydad0x078
@anatoliydad0x078 2 жыл бұрын
какой еще сопроцессор в stm32f103c8t6?
@Ololoshize
@Ololoshize 2 жыл бұрын
Подожду тут.
@anatoliydad0x078
@anatoliydad0x078 2 жыл бұрын
Как хорошо, что пид-регуляторы только в котлах используются.... А нет! у меня в квадрокоптере он 500 раз в сек рассчитывается и время там плавает (точно не HAL_Delay(500))! Зачем время из расчетов выкинули?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@anatoliydad0x078 Для упрощения проги, а если вы в этом шарите, то и промблем у вас не возникнет! И да, я так думаю, что это не пособие для начинающих, а указатель на дороге, куда идти за информацией по такой сложной теме как ПИД-регуляторы! 👍😁🤪
@anatoliydad0x078
@anatoliydad0x078 2 жыл бұрын
@@user-dq2ci5ln5g объясняю: если время отсутствует в рассчетах, то оно будет сидеть в коэффициентах. Значит если HAL_Delay(500) заменить на HAL_Delay(5) получится хрень.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Нет, хрень не получится. От изменения постоянной времени ничего не зависит. Именно по этой причине в реализации ПИД времени нет нигде. Время надо учитывать только если у вас одно измерение через 2 мс, а другое через 50 мс и третье через 5. Вот тогда, при плавающем времени каждого цикла это необходимо учитывать.
@user-bn7he3rs5s
@user-bn7he3rs5s 2 жыл бұрын
Разрешите поинтересоваться в целях повышения образованности... А на каком камне, простите, эти пытки регулятора проводились?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
А чо, вид в кине блю пил не наводит ни на какие подозрения? 👍😁🤪
@sergnova528
@sergnova528 2 жыл бұрын
с дифференциальной частью что-то не то . если текущая разница +5 а прошлая +3 то мощность ещё увеличится , надо наоборот знак
@SIM31r
@SIM31r 2 жыл бұрын
Интегральная часть что-то слабая и не вытягивает температуру к установленной. Может из-за ограничения или низкого значения I коэффициента. D коэффициент самый не практичный, от него часто шум только.
@user-vr5po9kq2b
@user-vr5po9kq2b 2 жыл бұрын
Метод Циглера-Никольса вам в помощь
@silentage6310
@silentage6310 2 жыл бұрын
имхо, интегрльная составляющая неправильно показана. не должно быть там костылей с ограничением 1000. в таком сосотоянии она естественно всегда 1000 возвращает и по сути превращается в константу.
@SIM31r
@SIM31r 2 жыл бұрын
Возможно из-за этого и нулевая ошибка не получается, тут типа пропорционального регулятора остается система.
@KishovRasul
@KishovRasul 2 жыл бұрын
Нужно ограничивать, обязательно. Но правда лучше делать проверяя значение выходной мощности, а не интегрального коэффициента. Дело в том, что интегральный коэффициент очень быстро улетит в космос - ведь система думает, что с ростом интегральной составляющей растет и выходное воздействие, а это не так, потому что в какой-то момент выходное воздействие достигает максимального значения и дальше расти не может. Если дать интегральной составляющей и дальше расти, то потом очень она очень долго будет возвращаться после прострела целевой температуры. Загуглите integral windup error
@SIM31r
@SIM31r 2 жыл бұрын
@@KishovRasul можно проверять выходную мощность, если она 100% или 0%, то интегральный коээффициент не увеличивать и не уменьшать соответственно, и считать ничего не нужно будет. Так даже лучше будет, в первые мгновения интегральный коэффициент не будет вмешиваться в работу P регулятора...
@silentage6310
@silentage6310 2 жыл бұрын
@@KishovRasul так какой смысл от нее тогда? она всегда в 1000 упирается и получается как константа. только неск сек в начале работает. интеграл должен считаться за опредлеленный период времени, а это значит что надо не тольоко добавлять новые значения но и вычитать более старые. иначе бесполезно.
@KishovRasul
@KishovRasul 2 жыл бұрын
@@SIM31r кстати да, так вообще-то и делают) Я как-то в контекст примера слишком погрузился
@ninodor26
@ninodor26 2 жыл бұрын
занимался настройкой сервоприводов. там осциллограмма доли секунды и подстройка значений в реальном времени. очень дико для меня узнать как вы на съем показаний час тратите)
@izada666
@izada666 2 жыл бұрын
Это ещё мало. К примеру подгонка коэффициентов для котла на 1000л занимает примерно неделю.
@user-il7ub4jq8q
@user-il7ub4jq8q 2 жыл бұрын
@@izada666 Шутники давайте поговорим о том сколько времени занимает, съём параметров разгона на промышленной печи по нагреванию стали, с объёмом нагрева в несколько сотен тон в час. Правда коэффициенты, алгоритм и мат-модель потом моделируют через матлаб.
@izada666
@izada666 2 жыл бұрын
@@user-il7ub4jq8q почему шутки? Я говорю о реальном объекте. В котором нужно поддерживать определенную температуру плюс минус 5 градусов. Настройка у меня заняла неделю.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@izada666 А в чём проблема-то? Надо просто как можно точнее зафиксировать параметры физического объекта - скорость нагрева/остывания! А параметры-коэффициенты уже рассчитываются по известным формулам, хоть на калькуляторе, но лучше в экселе или матлабе! 👍😁🤪
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Ну да, ну да, а в квадрокоптере пересчёт идёт 100 раз в секунду, и чо? Всё зависит от инерционности системы, скорости съёма показаний и быстродействия проца и алгоритма! 👍😁🤪
@acx2379
@acx2379 2 жыл бұрын
по моему блюпил имеет ядро М3, которое не имеет FPU.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
Хм-м, а софтовые библы на что? 👍😁🤪
@user-rx4rp5yb5j
@user-rx4rp5yb5j 2 жыл бұрын
Ну теперь точно можно яйца высиживать.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Главное, чтобы не откладывать.
@oxfordelectronics8313
@oxfordelectronics8313 2 жыл бұрын
А где дискретное с гистерезисом?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
А тут гистерезис=0! 👍😁🤪
@oxfordelectronics8313
@oxfordelectronics8313 2 жыл бұрын
@@user-dq2ci5ln5g дык с гистерезисом интересно график глянуть так как там можно учесть инерционность, при чем есть еще и адаптивный гистерезис
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Я еще с гистерезисом сам не видел. Сделаю. Поделюсь.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 жыл бұрын
@@oxfordelectronics8313 Гистерезис позволяет уменьшить "шум квантования" и уменьшить количество переключений реле, особенно если это сильноточная система с релейной схемой и релюшка имеет свойство подгорать! А если честно, то брякнул, что первое на ум пришло, так как один "чорт" в этих комментах вынес мне моск своей неадекватностью по поводу используемого автором нагревателя! 👍😁🤪
@f33net
@f33net 2 жыл бұрын
200 сек на достижение уровня? При такой крутизне нарастания ПИД должен выходить в ноль погрешности с первой итерации без видимых колебаний. :) Мощность нагревателя очень мала. Хорошим показателем для регулируемой системы является единицы-десятки секунд. А зачем яйцо мотать, если достаточно было в стакан с водой пихнуть нагреватель и термодатчик - весьма инерционная система получилась бы и весьма неустойчивая без регуляции. :) Кстати, инерция системы определяется не только остаточным нагревом источника - "система разогналась" как-то странно звучит. Теплоёмкость и теплопроводность на разгон как-то не тянут. Даже идеальный нагреватель, перестающий отдавать тепло моментально, не сделает систему без инерциальной, ибо инерции добавляет тепловое сопротивление пути от нагревателя до датчика и инерция самого датчика. И хорошо бы было вспомнить про take-back-half регулятор. :)
@qsandr
@qsandr 2 жыл бұрын
Превью немного не в тему
@mocksoul
@mocksoul 2 жыл бұрын
интегральная часть стремится в бесконечность только при невозможности довести состояние до целевого у вас же тупо ошибка)
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Так а вы расскажите про ошибку. Вот прям тут в комментариях возьмите и правильный код напишите.
@user-pi3ew4ir2n
@user-pi3ew4ir2n 2 жыл бұрын
Двойка! Столько неточностей и ошибок. Интеграл ограничивать нужно определённым образом, а не от фонаря. Регулятор без диф составляющей вполне может быть стабильным, а с диф составляющая очень даже может раскачать регулятор, всё зависит от настройки. У вас в проекте видно, что чип сотой серии, который CortexM3, а в нём FPU и не пахнет. Вся ваша математика с плавающей точкой будет скомпилирована в эмуляции, и зверски тормозить. Ни слова о расчёте коэффициентов ПИД, или хотя бы о методике ручного подбора. ПИД без настройки - это как машина без водителя. Код даже не оптимизирован - Integral * (1/I) - вы все программы для микроконтроллеров так пишете? Если вещаете на такую огромную аудиторию, то следовало бы ответственно подходить к качеству публикуемого материала.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Ой, как мило. Потрясающе. 1. А скажите, 1,6 микросекунды на цикл это жуткие тормоза или нет? 2. А для понимания сути процесса и для того, чтобы показать оптимизация необходима да? Или все-таки лучше наглядность? Но на самом деле благодарю. Я рад, искренне рад, что 20 тысяч это огромная аудитория. Спасибо. Но замечу, если вас уважаемый так корежит и ломает от ошибок и неточностей, то вы можете просто указать ютубу - не показывать мой канал в рекомендуемых.
@user-pi3ew4ir2n
@user-pi3ew4ir2n 2 жыл бұрын
​@@VladimirMedintsev Я не о ютубе, я о людях, которых вы просвещаете.
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
У нас просветительская деятельность теперь запрещена. Это просто блог. Ничего кроме безобидного блога.
@mihail_redov
@mihail_redov 2 жыл бұрын
​@@user-pi3ew4ir2n я чайник в этой теме и мне показалось, что тема не раскрыта. Вы случайно не планируете записать ролик на тему пид? (желательно для чайников) п.с. на всякий случай подписался
@user-pi3ew4ir2n
@user-pi3ew4ir2n 2 жыл бұрын
@@mihail_redov Вообще я стараюсь выпускать материалы на темы малораскрытые либо нераскрытые совсем. По ПИД регуляторам ну очень много инфы, как для спецов так и для начинающих. Вам для какого применения нужно? Может я подскажу вам ссылку на уже готовый материал?
Balls Strain Wave Gear (harmonic drive). Best Gearbox for 3D Printing?
13:43
Nutella bro sis family Challenge 😋
00:31
Mr. Clabik
Рет қаралды 13 МЛН
Русалка
01:00
История одного вокалиста
Рет қаралды 5 МЛН
How Many Balloons Does It Take To Fly?
00:18
MrBeast
Рет қаралды 111 МЛН
How did the Enigma Machine work?
19:26
Jared Owen
Рет қаралды 9 МЛН
Эффект Зеебека (термопара)
5:54
НИЯУ МИФИ
Рет қаралды 334 М.
Настройка ПИД-регулятора в преобразователях частоты Данфосс
9:55
VEDA MC. Преобразователи частоты
Рет қаралды 25 М.
АЙФОН 20 С ФУНКЦИЕЙ ВИДЕНИЯ ОГНЯ
0:59
КиноХост
Рет қаралды 428 М.
Здесь упор в процессор
18:02
Рома, Просто Рома
Рет қаралды 332 М.
Battery  low 🔋 🪫
0:10
dednahype
Рет қаралды 4 МЛН
НЕ ПОКУПАЙ СМАРТФОН, ПОКА НЕ УЗНАЕШЬ ЭТО! Не ошибись с выбором…
15:23
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,7 МЛН
Красиво, но телефон жаль
0:32
Бесполезные Новости
Рет қаралды 839 М.
⚡️Супер БЫСТРАЯ Зарядка | Проверка
1:00