Тёмный

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

Vladimir Medintsev
Подписаться 36 тыс.
Просмотров 14 тыс.
50% 1

Ролик рассказывает о возможных подходах к организации регулировки температуры реальных объектов. Дискретный алгоритм, пропорциональное, интегральное и дифференциальное регулирование.
Сопровождается реальными примерами кода и графиками регулировки.
------------------------------------------
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/
Канал на RU-vid - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------

Наука

Опубликовано:

 

4 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 245   
@pvhnexsys
@pvhnexsys 2 года назад
Владимир, спасибо за Ваш труд. Работаю во встроенных системах более 15 лет, и Ваш контент считаю лучшим в этой области. Очень близка и понятна Ваша манера подачи материала + Ваши ссылки делают этот ресурс уникальным ( по крайней мере для меня). Желаю Вам действовать в этом ключе и далее, а так же дальнейшего процветания в профессиональном плане!
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Огромное вам спасибо.
@thatemptyspace
@thatemptyspace 2 года назад
Прямо готовый учебный ролик, благодарю!
@dowsiw
@dowsiw 2 года назад
Спасибо за прекрасный материал.
@ruslangabitov5202
@ruslangabitov5202 2 года назад
Спасибо за видео. Как всегда на канале, сложные вещи объясняются наглядно и простыми словами
@vernnms78
@vernnms78 2 года назад
Ваше видео, прям, в цель! Ровно год назад занимался PID. Как раз дело касалось отопления. Там реакция системы была около 10 минут. Самой большой задачей было именно создание тестового стенда. Ваша идея, прям, то, что нужно. Удивительно, как не догадался сам. Большое спасибо за доходчивый и наглядный рассказ!
@user-vq5nu1vz6d
@user-vq5nu1vz6d 2 года назад
Благодарю за отличный контент. Комментарий в поддержку канала!
@user-ve4he6os8m
@user-ve4he6os8m 2 года назад
Очень доходчиво и интересно. Тоже с удовольствием послушал бы про алгоритмы автоподстройки ПИД - коэффициентов
@SIM31r
@SIM31r 2 года назад
Там уже математика будет в Матлабе. Электроника тут не понадобится. ПИД регулятор тоже можно было в Матлабе симулировать.
@RadioTexnik
@RadioTexnik 2 года назад
Большое спасибо за труды! Здоровья и творческих успехов!
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Спасибо
@artvk8294
@artvk8294 2 года назад
Спасибо за ликбез. Как раз "печку" делать собираюсь😊
@CanchezAK
@CanchezAK 2 года назад
А я в процессе, мне тоже дико помогает, ибо нужны именно такие, дубовые алгоритмы, которые применяются только в учебных целях - малость напарились, когда компоненты заказывали, пришло не совсем то, что нужно, так что исполнительным механизмом стало твердотельное реле без фазоимпульсной регулировки)
@tetestet4940
@tetestet4940 2 года назад
Для наглядности можно еще добавить на график текущую мощность нагревателя и тогда будет хорошо видно задержку между воздействием на объект и его текущим состоянием.
@user-gn5uw7ou8y
@user-gn5uw7ou8y 2 года назад
Очень интересно, спасибо
@user-ic1rd1jf6u
@user-ic1rd1jf6u Год назад
Огромнейшее спасибо за ваш труд, огромнейшее спасибо за ваш канал, огромнейшее спасибо что вы есть!!!
@ArthurIslamRU
@ArthurIslamRU 2 года назад
Спасибо Большое, Уважаемый Владимир
@alexlitvinenko6901
@alexlitvinenko6901 2 года назад
Огромное спасибо за Ваш труд!!! Занимаюсь электроникой в рамках хобби, но Ваш канал считаю лучшим в качестве, не только просвещающего, но и обучающего материала. Что там говорить - даже анализируя код этого творения, я бы уже городил "скользящее среднее" создав массив, и в каждой итерации обновлял одно из значений массива, высчитывал среднее арифметическое и с ним уже работал (да - я чуть-чуть гладкомозгий попорук, но стараюсь совершенствоваться). А Вы это реализовали так просто и без лишних телодвижений. Да и объясняете Вы столь доступно, что и до младшешкольника, который решит войти в мир программируемой микроэлектроники - дойдёт. В общем моё Вам уважение, с нетерпением жду каждого нового ролика!!!
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Огромное спасибо.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Особенно шыкарно читатется: "гладкомозгий попорук"! Надо запомнить и взять в оборот! 👍😁🤪
@alexlitvinenko6901
@alexlitvinenko6901 2 года назад
@@user-dq2ci5ln5g ну да... Бывает дело, созидаю упоротые эпитеты, чтоб банально не крыть оппонента матом. А то перед моим взором часто показываются шедевры экскрементального искусства, созданные субъектами с синдромом выпрямления полированных извилин, с помощью матрилинейно-дендрофекальных технологий (зато всё понятно и бан за мат не получишь). В результате и получаются такие фразы, что быстро расходятся по устам, как цитаты... А ещё немного паяю и немного программирую.
@DunnoOnTheMoon
@DunnoOnTheMoon 2 года назад
Спасибо. Очень интересно.
@BubonicPestilence
@BubonicPestilence 2 года назад
Спасибо за самое простое описание пида
@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 И на Марлине и на Клиппере. Да, очень интересно понять как этот механизм работает.
@alexejw8954
@alexejw8954 2 года назад
Огромное спасибо! В ролике рассказать пол курса ТАУ, плюс с примером и еще приличную часть курса по микропроцессорной технике, такое далеко не каждому под силу. Очень хорошо, что Вы приобщаетесь еще к преподаванию. Хороших преподавателей, как и хороших инженеров, к сожалению, не так много. Творческих успехов!
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Благодарю.
@ahtungs6274
@ahtungs6274 2 года назад
Хоть кто-то показал как ограничить интегральную составляющую. Спасибо за информацию.
@easystm6865
@easystm6865 2 года назад
Было интересно увидеть на практике все эти формулы из теории ПИД, и довольно наглядно
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Спасибо.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Это самый наглядный гайд, который я видел за крайние 20 лет! 👍 Хотя ещё в начале 0-вых, используя "первые" простейшие пид-регуляторы фирмы "овен" ТРМ приходилось "вручную" подбирать/рассчитывать коэффициенты П.И.Д. на самопально построенной физ.модели в майко.экселе! Ничо так получалось, 😁 особенно когда пошли ТРМ'ы с автонастройкой, цыферки отличались лишь на +- 3-5 в последнем разряде! Есть в майко.экселе такая фишка - поиск решения, подробностей уже не вспомню, но скажу лишь одно: и нагрев и остывание есть функция экспоненты, цыфры которой просчитываются исходя из реальных замеров на "объекте" управления! А тут уже всё, особенно в экселе, считается на 1-2-3! 👍😁🤪
@PaninAndrey
@PaninAndrey 2 года назад
Шикарная лекция по ПИД. Спасибо!!! В русскоязычной сети нет ничего даже близко.
@sasha-bj5tt
@sasha-bj5tt 2 года назад
У AlexGyver тоже есть хороший урок
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Да не, есть тонны описалова, но чтоб вот так, на физической модели, да ещё с визуализацией, найти тяжело, тут я с вами соглашусь! 👍😁🤪
@Avtovet
@Avtovet 2 года назад
И Вам большое спасибо!
@ShelbyCobraGH
@ShelbyCobraGH 2 года назад
4 года занимаюсь электроникой - уже кажется что все ру комьюнити знаю лично) что бы там про Илью не говорили - с его роликов стартовал изучать альтиум. Если вас не затруднит - снимите по настройке cube monitor ролик. После STM studio посмотрел на все это, потыкал и закрыл 😂
@MrLedball
@MrLedball 2 года назад
Заставка - шикарна! :)
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Спасибо.
@MrLedball
@MrLedball 2 года назад
@@VladimirMedintsev Как теперь смотреть предновогодние фильмы без отсылкам к теории автоматического регулирования? :))
@MrLedball
@MrLedball 2 года назад
@@VladimirMedintsev Ипполит - явно гуманитарий. Но обеспеченный :)
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
@@MrLedball О-о-о, тёпленькая пошла! ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-MiKcXFjZtpQ.html "Потрите мне спинку, пжалста! ну пжалста, что вам трудно что-ли!?" 👍😁🤪
@Romychs
@Romychs 2 года назад
Интересный такой, наглядный, способ показать работу коэффициентов PID-регулятора.
@vladimirmalazin9711
@vladimirmalazin9711 2 года назад
Владимир, как всегда спасибо за отличный информативный контент! Было б интересно от Вас полушать ещё и о "подборке коэффициентов" для ПИД регуляторов. П.С. STM-103ий с Блю Пилла не содержит на борту мат сопроцессор с плавающей точкой и немало памяти подъедает при выполнений операций, гораздо медленней чем "за один такт"... хотя, конечно с 8ми-битными несравнимо) Спасибо ещё раз!
@SIM31r
@SIM31r 2 года назад
Тут можно на 1000 умножить все переменные и работать с целочисленной арифметикой.
@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 А как это связано с ПИД регулятором? И в чем проблема, почему размеры не получаются?
@MrCrossRaccoon
@MrCrossRaccoon 2 года назад
Вроде как полноценно плавающая точка с f4 начиная. Спасибо за видео.
@KDSYouTube
@KDSYouTube 2 года назад
Рассказывали об этом в вузе, но полостью понял только сейчас, на конкретном примере
@StMetr
@StMetr 2 года назад
Занимательное видео. Спасибо! Но ручной подбор коэффициентов не комильфо)) Matlab Вам в помощь! Снимаем кривую разгона, стоим модель объекта и рассчитываем параметры ПИД регулятора.
@user-je8oz6lh6w
@user-je8oz6lh6w 2 года назад
А можно поподробней ? Заранее благодарен
@user-mm7zi4ey6i
@user-mm7zi4ey6i 2 года назад
Тоже интересно, есть ссылки на какой-то материал или видео?
@StMetr
@StMetr 2 года назад
На русском языке ничего не нашел. Но вот по ключевым словам можно нагуглить. Построение модели: снимает кривую разгона, т.е. переход объекта из исходного состояния (холодного) к заданному (разогретому). В Matlab есть приложение (apps) System Identifications строим модель в виде передаточной функции (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-u7hJ1aF-JrU.html). Полученные коэффициенты переносим в блок Simulink где мы нарисовали нашу систему с PID регулятором (стандартный блок) (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-wUO4pMdnuNQ.html). В настройках блока PID вызывается PID tuner, он то и рассчитывает параметры регулятора в интерактивном режиме. Можно поиграть и посмотреть как будет идти переходной процесс. Есть канал Matlab, можно там поискать.
@admin_of_youtube
@admin_of_youtube 2 года назад
когда-то давно я сквозь пальцы смотрел на все эти модели в матлабе. но поработав с грамотными людьми и правильными моделями, я просто офигевал от того, что можно без железа подобрать коэффициенты и точно спрогнозировать когда система будет стабильна, а когда на грани устойчивости, а когда и вовсе развалится сразу. и как же я каждый раз удивлялся, когда осциллограф мне выдавал в точности то, что я вижу на графиках в модели. великолепный инструмент. жаль только, что графики рисует очень медленно. порой для построения 10-15 секунд симуляции приходилось ждать по полчаса. ну и при не совсем удачном времени дискретизации (заниженном, чтоб быстрее рисовалось), он выдавал такое, от чего волосы на голове шевелились. но в целом инструмент действительно очень мощный.
@StMetr
@StMetr 2 года назад
@@admin_of_youtube Полностью с Вами согласен.
@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_дискр
@Stresscms
@Stresscms 2 года назад
Да, сопроцессор в M4 хорошо, но классно было бы увидеть (может в отдельном ролике)работу с числами с фиксированной точность. Подключение библиотек и пр.
@AlexandrMeleshko
@AlexandrMeleshko 2 года назад
Все очень ненаглядно и понятно! Спасибо огромное! А можно пример кода Node-RED?
@AndySm1973
@AndySm1973 2 года назад
Наверное, это самый наглядный урок по PID, который я видел!
@user-to9sp7tp7w
@user-to9sp7tp7w 2 года назад
Спасибо, хорошая лекция! Но для повторения лабораторной работы было бы хорошо выложить коды с комментариями , схему , ссылку на программу. Подобные опыты я делал на ардуино. Идею с фильтрацией, усреднением я взял на заметку. Надеюсь на продолжение темы ПИД-регуляторов - алгоритм автонастройки коэффициентов (В китайском регуляторе REX-C100 автонастройка вполне успешно работает).
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Простите схему чего? И ссылку на какую программу?
@user-to9sp7tp7w
@user-to9sp7tp7w 2 года назад
@@VladimirMedintsev Извинясь, снимаю свои вопросы
@user-to1lb6dj6g
@user-to1lb6dj6g 2 года назад
эта задача настолько медленная, что и любой avr с флоатами справится вообще не задумываясь
@user-dk6nt5gg9b
@user-dk6nt5gg9b 2 года назад
Спасибо, исключительно полезное видео! А уж до чего мне нравится "диссипативное яйцо", почти как твердотопливное реле ;) Увы, F103-й контроллер на "синей пилюле" (как и любой на Cortex-M3) не умеет в аппаратную плавающую точку, это и по размеру кода можно понять, там всё чисто программно. Существует, кстати говоря, относительно легковесная библиотека Qfplib-M3 для софтовой "плавучки" на Cortex-M3, менее прожорливая, чем "комплектная".
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Если вы посмотрите внимательно, то обнаружите, что врезка про плавающую точку немного выбивается из общего контента видео. Это делать обязательно нужно. Психологи говорят, что такие ошибки заставляют зрителей комментировать и как следствие продвигать видео. Даже по самым скромным подсчётам фраза про твердотопливные реле принесла массу популярности тому видео. К сожалению этого успеха мне повторить так и не удалось.
@admin_of_youtube
@admin_of_youtube 2 года назад
окно ассемблерных команд в кейле очень помогает оценить за сколько тактов выполняется та или иная команда. как оказалось, чтоб для плавающей точки задействовать дсп инструкции, их надо ещё и включить, иначе флоат обрабатывается не так быстро, как хочется. счётчик времени и тактов у меня на ф4 почему-то часто некорректно работает. к примеру, есть кусок кода. если я его прохожу пошагово, получаю одно время выполнения, а если от брейка до брейка, то другое, причём почти на порядок меньше. но всё же стм32 оставляет далеко позади 8-ми битные мк. особенно с возможностью замены камня на более мощный благодаря фишке пин-то-пин.
@AndreyChigisheff
@AndreyChigisheff 2 года назад
АСУ в одну петлю ОС получается. Особенно с первыми двумя методами управления. Поэтому и гуляет. Для систем, помещающихся в кулак и находящихся в более-менее стабильных условиях среды пойдет. У 3D принтеров так же? Теперь понятно, почему мой открытый иногда "ревматизмом" страдал. Сейчас то я его в бокс загнал. Надо попробовать вторую петлю управления организовать. Два термометра. Один дальше от нагревателя, чтобы получить температуру объекта управления, сформировав вторую петлю обратной связи.
@ekd177
@ekd177 2 года назад
Скажите пожалуйста а интегральная составляющая это время деленое на пропорцыональю составляющую
@U_video
@U_video 2 года назад
На stm32f103 аппаратная обработка плавающей точки. Ну Вы блин даёте. И таки да, для ускорения расчётов можно перейти от плавающей к фиксированной точке. А так видео интересное. Спасибо.
@aabdev
@aabdev 2 года назад
Вот бы ещё видео про LQR регулятор.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Да легко.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
А самому, не, никак? 👍😁🤪
@trollquantum
@trollquantum 2 года назад
Знову джекпот, зберігаю 😊
@Devishhike
@Devishhike 5 месяцев назад
Класное, прозрачное видео - побольше б таких. Хотелось бы в нем ещё увидеть разбор с точки зрения реализации на железке кода. Вы частично затронули тему холивара по поводу типа данных, интересно услышать ваше мнение об оптимизации инттеграла на флоат типе, а именно ситуацию когда накопленое значение интеграла значительно больше чем входное значение - по сути отбрасываеться. Насколько это критично?
@user-bx5vy6yd5n
@user-bx5vy6yd5n 2 года назад
Спасибо, очень интересно. С удовольствием смотрю этот канал. На каком этапе раскладчик компонентов? Может не в тему, что там с модулем управления Ильи. (Что за реакция людей?). Желаю творческих успехов Владимир.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Раскладчик управляется. У меня нет времени пойти и купить светодиодную ленту для подсветки нижней камеры. Я признаться и так выпускал посвященные ему видео слишком часто. Теперь будет только одно, последнее в котором он уже будет плату собирать.
@Ololoshize
@Ololoshize 2 года назад
Про адептов AVR смешно. Да, они такие. )
@user-je8oz6lh6w
@user-je8oz6lh6w 2 года назад
На самом деле целочисленную математику используют не только адепты AVR. Просто, иногда, необходимо свести до минимума количество операций. Например - для снижения энергопотребления.
@streamdx
@streamdx 2 года назад
И далеко не на всех stm32 есть аппаратная плавучка
@916363
@916363 2 года назад
Здравствуйте, а могут эти все коэффициенты подбираться автоматически как в нейросетях, на основании истории данных. Понимаю, что условия будут постоянно меняться, но по идее система может предсказывать любые условия на основании начальных данных.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Могут и подбираются.
@user-sj1nu7bx3q
@user-sj1nu7bx3q 2 года назад
А верна ли информация в ролике про Д-составляющую. Что это такое и для чего она нужна, не попутно с интегральной?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Есть уже тонны инфы в инете про ПИД-регуляторы, только читай, это не то что 30 лет назад! что это, зачем, почему, и как! всё "ручками" настраивали по 2-3 дня! 👍😁🤪
@user-sj1nu7bx3q
@user-sj1nu7bx3q 2 года назад
@@user-dq2ci5ln5g Да я как бы знаю предмет. Мне показалось в контенте косячок в понятиях.
@user-oo3ny2db4b
@user-oo3ny2db4b Год назад
Владимир, спасибо вам за ваш труд! Хотел бы уточнить момент с интегральной частью регулятора - там коэффициент И складывается или умножается? В видео вы складываете, хотя коэффициенты П и Д умножаются. Возможно я не верно понял суть коэффициента, а возможно у вас опечатка. Ещё раз спасибо! Каждый раз с нетерпением жду ваших новых видео!
@dmitriibannikovasx
@dmitriibannikovasx 2 года назад
Не разобрался все таки с постоянной времени dt. В каких случаях её нужно использовать? И на что она вообще влияет?
@VladimirMedintsev
@VladimirMedintsev 2 года назад
dt тогда, когда каждый ваш замер происходит в разное время. Тогда, когда цикл не постоянен.
@nefton001
@nefton001 Год назад
Спасибо за графики! вывод - пид - хрень )) разве только для окончательной регуляции
@user-fo1bu9zc4e
@user-fo1bu9zc4e 2 года назад
А быстрая работа с float есть же не во всех stm32? В STM32F103 ее нет?
@ilpd2k436
@ilpd2k436 2 года назад
Нет её там. Cortex m3 не имеет fpu
@Electronika_
@Electronika_ 2 года назад
Саня, допиши постскриптум - Причал для адептов авр)))
@Kruzhaev_Valery
@Kruzhaev_Valery 2 года назад
Самая простая моделька инерционной системы (без яиц) - кастрюля с водой на электроплитке. Но оооочень инерционная. ))) Высиживал возле нее по нескольку часов в ожидании. Воду менял на холодную для ускорения. )
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Тогда я знаю еще круче. Парафин. В него макнуть и спираль и датчик.
@Kruzhaev_Valery
@Kruzhaev_Valery 2 года назад
@@VladimirMedintsev О да!! Когда-то делал ПИД для парафинового тигеля, там такие эффекты в зависимости от фазы парафина ))
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Поэтому и "плясать" надо от конкретного физического объекта, а не от какой-то там "виртуальной" модельки пролёта "варёных вкрутую яиц над гнездом кукушки над пропастью во ржи в лунную ночь"! 👍😁🤪
@idro0000
@idro0000 2 года назад
Спортивный репортаж :)
@michal621
@michal621 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-ой класс школьной программы), надо просто подобрать адекватную физическую модель! Кароче, даже не знаю что ещё можно к этому добавить, может только если вы не пришлёте полный график нагрева в экселе, а я вам посчитаю параметры нагрева (не бесплатно:)), но и вы сами можете это сделать, подсказка - в экселе есть подбор формулы по графику замеров! 👍😁🤪
@user-cf4pl4yl5l
@user-cf4pl4yl5l 2 года назад
а из cube monitor можно записывать значения в переменную?
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Нет. Это монитор
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Это, как бы, замочная скважина, через которую подглядывают за обстановкой в программе! Как из коридора в квартиру докричаться? 👍😁🤪
@nicknaym1
@nicknaym1 2 года назад
Ничего не понятно, но очень интересно. И непонятно, почему при таких ценах невыгодно распотрошить готовый регулятор))
@rmatveev
@rmatveev 2 года назад
Без этого не было бы образовательного контента!
@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 года назад
У алексгайвера есть примеры кода на ардуино для автоматического подбора коэффициентов, сам проверял его, более менее нормально получалось
@Vasily-ze5wf
@Vasily-ze5wf 2 года назад
Холодненькая пошла!
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
О-о-о, тёпленькая пошла! ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-MiKcXFjZtpQ.html "Потрите мне спинку, пжалста! ну пжалста, что вам трудно что-ли!?" 👍😁🤪
@adminroot1345
@adminroot1345 2 года назад
Лабораторка по тау.)
@Nidvoraich
@Nidvoraich 2 года назад
Спасибо за проделанную работу! Вопрос: у нас есть реальная система (яйцо, например). Есть программа, в которой реализован ПИД, и которая видит всю статистику нагрева. Насколько реален алгоритм, который сам подкрутит коэффициенты оптимальным образом? Ведь программа же видит, что вот тут она превысила, тут не дошла, тут долго устаканивала температуру. Это ведь можно автоматизировать, по идее. Вопрос только - насколько сложная это будет математика?
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Если есть возможность дать программе нагреть систему он низшей точки до верхней ничего не повредив. То алгоритм не сложный. Главное, чтобы программный код мог несколько раз проэкспериментировать.
@adminroot1345
@adminroot1345 2 года назад
Полистате учебники по теории автоматического управления этот велосипед уже изобретен.
@SIM31r
@SIM31r 2 года назад
@@adminroot1345 там нужно параметры модели знать. А если регулятор ничего не знает о объекте управления, придется перебором коэффициенты подбирать.
@cnjzyjdheckfy
@cnjzyjdheckfy 2 года назад
"как он посмел? как он может использовать" hal_delay? )
@admin_of_youtube
@admin_of_youtube 2 года назад
это тонкий троллинг 8-ми битников, так сказать, чтоб добить ))))
@CrazyPit
@CrazyPit 2 года назад
не раскрыта методика подбора коэффициентов. и методика автоматического подбора коэффициентов..(мне помог жкод от дмитрия соркина для настройки пид регулятора на марлине).. в ручную не смог подобрать
@rmatveev
@rmatveev 2 года назад
Небольшой комментарий по вашему коду: ограничение величины по максимальному значению лучше делать строчкой if(value>max_value) value = max_value; А то в вашем случае получится, что величина, подходя к значению 1000 будет испытывать небольшой отскок.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Таки да, соглашусь.
@sergnova528
@sergnova528 2 года назад
любой мк на 8бит тоже быстро работает с флоат , и ещё отдыхать успевает . может компилятор не такой и потому долго считает или программа не грамотная
@user-zi1hf6xn2w
@user-zi1hf6xn2w 2 года назад
Владимир, вот эта музыка в начале роликов - это ваше музыкальное пристрастие? Вы за рулем тоже такое слушаете?
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Нет, за рулем я музыку не слушаю совсем. У меня не так много времени побыть одному и в тишине. Что касается музыкальных пристрастий, то я предпочитаю кантри, джаз и рок.
@user-zi1hf6xn2w
@user-zi1hf6xn2w 2 года назад
@@VladimirMedintsev , ))) . Я так и думал, почему-то. И потому выбор музыки для заставки вызвал когнитивный диссонанс. Сам радио-Джаз слушаю за рулем. Не то, чтобы мне нравился джаз, но эта музыка не дает мне поубивать нахрен всех других участников движения - успокаивает.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Ютуб блокирует огромное количество треков и приходится использовать бесплатные - эти бесплатные.
@MrDrakonBlack
@MrDrakonBlack 2 года назад
Отличный ролик, но я бы сделал несколько замечаний. 1 Нежелательно показывать людям на каналах где есть новички код где есть такие вещи как переменные в одну букву. Они будут думать что это нормальная практика 2 Оптимизировать переменные с точки зрения размера занемаемого ими места есть всегда, даже когда пишут под х86 некоторые одаренные могут парой строчек кода схомячить 32 Гига оперативы и удивляться что ничего не работает. 3 ПИД а точнее его интегральная и дефференциальная часть имеют помимо каэффициента еще и время. В вашем случае очень медленной и инертной системы это не так важно, но когда период квантования приближается к собственной частоте системы, там так легко ПИД уже не настроить... Ну и насчет нескольких строк кода это конечно лукавство, сколько у вас строк в использованных библиотеках? :) Если человек начнет с нуля то что бы эти 20 строк заработали надо будет еще и библиотеки написать которые я думаю сильно за 100 вывалятся... :)
@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, стало понятно, что тут используется обычный низкоомный керамический резистор в качестве нагревателя! А что бы вас поняли максимально прозрачно, можно было б задать прямой вопрос: "хочу нагревать то-то и так-то, с такой вот скоростью и вот этой точностью! Посоветуйте мне модель нагревателя для моих нужд!" 🤔 А то сами задали вопрос, сами ж и ответили на него в стиле Кин-дза-дза! 👍😁🤪
@aka_DRY
@aka_DRY 2 года назад
Ziegler-Nichols method. Євристический метод настройки ПИД. Для печки в самьій раз. По крайней мере у меня получалось бьістро и доаольно неплохо.
@user-il7ub4jq8q
@user-il7ub4jq8q 2 года назад
Этот метод для того чтобы как нибудь настроить, как и альтернативные методы. Для нормальной настройки, обычно если это важная система, делают модель и настраивают как надо, или используют адаптивное управление, и более сложные системы регулирования.
@nordriver
@nordriver 2 года назад
А как поведет себя система если при уменьшении ошибки уменьшать время интегрирования? Исходя из математики отклонение должно становиться существенно меньше
@VladimirMedintsev
@VladimirMedintsev 2 года назад
С математической точки зрения и в низкоинерциальных системах это прям очень хорошо повышает точность регулирования. Прям очень. Но в системах с большим временем реагирования на воздействие не влияет ровным счетом никак.
@nordriver
@nordriver 2 года назад
@@VladimirMedintsev т. е. в высокоинерциальных системах выгодней уменьшать мощность воздействия для увеличентя точность (хоть это и приведет к большему времени выхода на рабочий показатель) либо подстраивать мощность через измерение потока в период охлаждения.. хотя тут надо будет делать замеры в режимах ближе к рабочей точке
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Да, так и есть. В принципе в промышленности ведь так и есть. В большинстве случаев запас по мощности весьма не большой. И регулировать легче и стоимость ниже.
@Andrei011000
@Andrei011000 2 года назад
Жаль "Овен" программисты это не посмотрят. Они такие "умные" что просто нет слов.
@rmatveev
@rmatveev 2 года назад
А что с ними не так?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
А что не так с программистами "Овнов"? 🤔 Только первые модели (>20 лет назад) были без "автонастройки", а чем дальше, тем лучше у них работал этот алгоритм "автонастройки"! Крайний раз я пользовался этой "фишкой" лет 3-5 назад, и она вполне себе пристойно работала! 👍😁🤪
@Andrei011000
@Andrei011000 2 года назад
@@user-dq2ci5ln5g ага, в быту стоят старые, которые надо через комп настраивать. Но уже тогда были проекты на атмеге с экраном и кнопками для нормального настраивания параметров. Сам делал автомат для съемки круговых панорам.
@VasyaPupkinus
@VasyaPupkinus 2 года назад
Здравствуйте . Я адепт атмел и других 8-ми битных микроконтроллеров. Если вы не знаете , то у атмел тоже есть FPU и он может проводить вычисления менее чем за один такт, учите матчасть.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Вы как адепт Atmel, наверное хорошо с ними знакомы. А сможете пояснить, что за чудо технология "менее чем за один такт"? Это что-то новое. А за сколько? За 0.75 такта? Или быстрее? Балдею с таких учителей матчасти.
@VasyaPupkinus
@VasyaPupkinus 2 года назад
@@VladimirMedintsev Это долго объяснять, применяется мелкодисперсное квантование и благодаря ему можно добиться потрясающих скоростей
@user-bn7he3rs5s
@user-bn7he3rs5s 2 года назад
Разрешите поинтересоваться в целях повышения образованности... А на каком камне, простите, эти пытки регулятора проводились?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
А чо, вид в кине блю пил не наводит ни на какие подозрения? 👍😁🤪
@chez1k
@chez1k 2 года назад
Есть готовые пид регуляторы с автонастройкой по типу rex c100, который стоит как этот корпус)
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Согласен, не надо ничего не изучать ни делать. Давайте купим готовое. Полностью согласен.
@chez1k
@chez1k 2 года назад
@@VladimirMedintsev против изучения ничего против не имею, просто высказал свое мнение, что на практике лучше применить готовое отлаженное устройство)
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
@@chez1k Практики бывают разные: 1. надо иметь понятие, что и как должно работать! 2. Кто-то же должен это устройство настроить и отладить! 👍😁🤪
@SIM31r
@SIM31r 2 года назад
Интегральная часть что-то слабая и не вытягивает температуру к установленной. Может из-за ограничения или низкого значения I коэффициента. D коэффициент самый не практичный, от него часто шум только.
@user-vr5po9kq2b
@user-vr5po9kq2b 2 года назад
Метод Циглера-Никольса вам в помощь
@sergeyrink3003
@sergeyrink3003 Год назад
Не полностью раскрыто время. Интегральный регулятор это функция времени ( или частоты). Лучше учитывать, тогда коэффициент не будет зависеть от Delay. Не говоря уже, что упущен момент временных параметров объекта и матмоделей для предварительного подбора параметров регуляторов. AVR не такие слабые, мне хватает на вполне приличное управление квадриком. А там и чтение MPU6050 и фильтрация и несколько PID регуляторов и все это во float. B переход в целочисленные типы ничего не дает там та же разрядность и почти то же время выполнения. Основное время уходит на тасование через 8бит ALU. На переход в STM32 я уже созрел, в общем то это не так сложно если не тупить в даташиты, а пользоваться примерами реализации нужных функций.
@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. Вот тогда, при плавающем времени каждого цикла это необходимо учитывать.
@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 кстати да, так вообще-то и делают) Я как-то в контекст примера слишком погрузился
@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 градусов. Печи Эбнера (несколько штук друг за другом (несколько зон)) поточная для слябов несколько линий. ОЭМК самая качественная сталь в мире поставляется только на крупные европейские концерны. Мат модель там то что надо словами не передать, нелинейности и различных возмущений хватает.
@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 раз в секунду, и чо? Всё зависит от инерционности системы, скорости съёма показаний и быстродействия проца и алгоритма! 👍😁🤪
@sergnova528
@sergnova528 2 года назад
с дифференциальной частью что-то не то . если текущая разница +5 а прошлая +3 то мощность ещё увеличится , надо наоборот знак
@oxfordelectronics8313
@oxfordelectronics8313 2 года назад
А где дискретное с гистерезисом?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
А тут гистерезис=0! 👍😁🤪
@oxfordelectronics8313
@oxfordelectronics8313 2 года назад
@@user-dq2ci5ln5g дык с гистерезисом интересно график глянуть так как там можно учесть инерционность, при чем есть еще и адаптивный гистерезис
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Я еще с гистерезисом сам не видел. Сделаю. Поделюсь.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
@@oxfordelectronics8313 Гистерезис позволяет уменьшить "шум квантования" и уменьшить количество переключений реле, особенно если это сильноточная система с релейной схемой и релюшка имеет свойство подгорать! А если честно, то брякнул, что первое на ум пришло, так как один "чорт" в этих комментах вынес мне моск своей неадекватностью по поводу используемого автором нагревателя! 👍😁🤪
@acx2379
@acx2379 2 года назад
по моему блюпил имеет ядро М3, которое не имеет FPU.
@user-dq2ci5ln5g
@user-dq2ci5ln5g 2 года назад
Хм-м, а софтовые библы на что? 👍😁🤪
@kospov2002
@kospov2002 2 года назад
Балин, пол видео за float зуб точил, а он мне сопли утëр )))
@f33net
@f33net 2 года назад
200 сек на достижение уровня? При такой крутизне нарастания ПИД должен выходить в ноль погрешности с первой итерации без видимых колебаний. :) Мощность нагревателя очень мала. Хорошим показателем для регулируемой системы является единицы-десятки секунд. А зачем яйцо мотать, если достаточно было в стакан с водой пихнуть нагреватель и термодатчик - весьма инерционная система получилась бы и весьма неустойчивая без регуляции. :) Кстати, инерция системы определяется не только остаточным нагревом источника - "система разогналась" как-то странно звучит. Теплоёмкость и теплопроводность на разгон как-то не тянут. Даже идеальный нагреватель, перестающий отдавать тепло моментально, не сделает систему без инерциальной, ибо инерции добавляет тепловое сопротивление пути от нагревателя до датчика и инерция самого датчика. И хорошо бы было вспомнить про take-back-half регулятор. :)
@user-rx4rp5yb5j
@user-rx4rp5yb5j 2 года назад
Ну теперь точно можно яйца высиживать.
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Главное, чтобы не откладывать.
@mocksoul
@mocksoul 2 года назад
интегральная часть стремится в бесконечность только при невозможности довести состояние до целевого у вас же тупо ошибка)
@VladimirMedintsev
@VladimirMedintsev 2 года назад
Так а вы расскажите про ошибку. Вот прям тут в комментариях возьмите и правильный код напишите.
@qsandr
@qsandr 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 Вообще я стараюсь выпускать материалы на темы малораскрытые либо нераскрытые совсем. По ПИД регуляторам ну очень много инфы, как для спецов так и для начинающих. Вам для какого применения нужно? Может я подскажу вам ссылку на уже готовый материал?
Далее
Уроки Ардуино. ПИД регулятор
28:57
PID Balance+Ball | full explanation & tuning
13:13
Просмотров 736 тыс.