На форуме обязательно:
  1. Заполнить свой профиль НА РУССКОМ ЯЗЫКЕ КИРИЛЛИЦЕЙ. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Рекламу мы не размещаем ни на каких условиях.

Нечеткий контроллер

Ответить
Аватара пользователя

Автор темы
Werehouse
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 26 мар 2017, 06:33
Имя: Максим
Благодарил (а): 2 раза

Нечеткий контроллер

Сообщение Werehouse » 22 дек 2017, 20:17

Доброго времени суток!
Нужна помощь. Получил дипломное задание, реализовать нечеткий контроллер для скорости движка по математической модели.
То есть будет приложение, куда заходит пользователь, задает мат модель двигателя или выбирает ее из списка. Далее задает требуемую скорость и движок должен поддерживать эту скорость.
В чем собственно вопрос: как можно реализовать это физически? То есть, графики построятся, но как подключить реальные движки? Есть мысль сделать это через OPC сервер. То есть есть мат модели в матлабе, в зависимости от выбора пользователя через OPC врубается движок.
Подскажите, может кто сталкивался с таким? Или может знаете где почитать и посмотреть такое можно?


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2630
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 77 раз
Контактная информация:

Нечеткий контроллер

Сообщение Михайло » 23 дек 2017, 09:26

Что-то ты разогнался куда-то.
Не надо убегать от математики в область фантастических современных технологий.

Возьми математическую модель "движка" и изучай её. :ext_book: Потом изучай модель регулятора скорости, изучи нечёткую логику. Ну в общем делай всё как положено.


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 3795
Зарегистрирован: 07 окт 2011, 08:12
Имя: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 117 раз
Поблагодарили: 207 раз

Нечеткий контроллер

Сообщение Ryzhij » 23 дек 2017, 10:49

OPC Toolbox Вам в помощь!
Т.е. для того, чтобы Matlab стал OPC-клиентом, Вам нужна эта надстройка, а дальше начинается аппаратная конкретика - сервер OPC и набор драйверов в нём выбираются под конкретную периферию, протоколы и сети связи.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр

Аватара пользователя

VADR
администратор
администратор
Сообщения: 2851
Зарегистрирован: 25 июл 2008, 06:12
Имя: Диев Александр Васильевич
Благодарил (а): 60 раз
Поблагодарили: 44 раза

Нечеткий контроллер

Сообщение VADR » 23 дек 2017, 11:49

Михайло писал(а): Не надо убегать от математики в область фантастических современных технологий.
В "нечёткой логике" нет ничего фантастичного, чистая математика. Разве что название продиктовано маркетологами. В реальной жизни нечёткие там множества, а с логикой всё в порядке. И сами эти нечёткие множества прекрасно описываются математически и реализуются несложно.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2630
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 77 раз
Контактная информация:

Нечеткий контроллер

Сообщение Михайло » 23 дек 2017, 13:48

Я не про нечёткую логику (это есть в задании дипломной работы), я про всякие там OPC-Simulink (этого нет в задании).

Если немного знать матчасть по двигателям и СУЭП, то станет понятно, что OPC слишком медленный, чтобы обеспечить работу контура скорости, не говорю о контуре тока.

Просто студент пытается все сложности темы электропривода переложить на Матлаб. Типа преподы сами разбирайтесь, чего у него там в библиотеке Симулинка понаворочено, а я вам тут прикрутил матлаб к удалённому компьютеру или удалённому двигателю, любуйтесь.

Нужно выполнить работу по ТЕМЕ. Если в задании требуется разработать нечёткий регулятор, то надо разработать нечёткий регулятор. Так как для произвольного движка это слишком сложно для студента, то лучше взять что-то конкретное, например, двигатель постоянного тока, но лучше асинхронный двигатель.


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 3795
Зарегистрирован: 07 окт 2011, 08:12
Имя: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 117 раз
Поблагодарили: 207 раз

Нечеткий контроллер

Сообщение Ryzhij » 23 дек 2017, 15:01

Дык, нечеткий регулятор (как и любой контроллер) обычно вычисляет задание, а уж отслеживает это задание вполне себе четкий привод)))
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр

Аватара пользователя

TEB
администратор
администратор
Сообщения: 9766
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Благодарил (а): 124 раза
Поблагодарили: 146 раз
Контактная информация:

Нечеткий контроллер

Сообщение TEB » 29 дек 2017, 11:27

И аккуратнее с терминологией. А то нечёткий контроллер я видел только один - Siemens LOGO, сделанный из пористой резины. С виду контроллер, а в руки возьмёшь - нет четкости в формах. :)
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3047
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Откуда: Мурманск
Благодарил (а): 10 раз
Поблагодарили: 67 раз

Нечеткий контроллер

Сообщение Никита » 02 янв 2018, 16:07

TEB писал(а): И аккуратнее с терминологией. А то нечёткий контроллер я видел только один - Siemens LOGO, сделанный из пористой резины. С виду контроллер, а в руки возьмёшь - нет четкости в формах. :)
На прошлом месте работы у коллеги постарше из той же резины был мозг (вроде с логотипом Novell, еще со времен коаксиала и IPX/SPX). Вот там точно все нечеткое)
По сути: Подобную задачу решали лет двадцать лет назад, еще без OPC, под досом. Но у движков [постоянного тока] были отдельные стенды, которые, кроме формирования напряжения для двигателей, позволяли вводить инерционности соизмеримые с машинами большой мощности. Суть затеи - кроме чистых диффур, ввести в систему наводки на сигналы 0..10В, шумы щеток тахогенераторов и т.п. вещи, которые математикой плохо описывались, а на регулятор влияли. Так вот, к чему я - если у ТС есть четкая модель двигателя, то есть и четкие же методы синтеза регулятора под эту модель. И при отсутствии непредсказуемых влияний они будут работать как минимум, не хуже нечеткого регулятора, тогда смысла в нем особого нет)
ТС, опишите задачу подробнее, хотя бы Ваше видение.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

Автор темы
Werehouse
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 26 мар 2017, 06:33
Имя: Максим
Благодарил (а): 2 раза

Нечеткий контроллер

Сообщение Werehouse » 03 янв 2018, 18:04

Никита писал(а): ТС, опишите задачу подробнее, хотя бы Ваше видение.
Да вот я сам не очень понимаю задачу. Поставлена она так: есть двигатель (то есть его мат. модель), есть алгоритм Мамдани или Сугено. Нужно контролировать скорость этого двигателя.
Я не очень представляю как это все должно быть, у моих одногрупников мода менять темы на диплом. Но мне хочется в этом разобраться.

Полагаю что должно быть так: есть мат. модель, в качестве возмущающего сигнала на нее подается какой-то шум, скорость начинает скакать. Мы задаем нужную скорость и регулируем при помощи нечеткой логики её. А сколько там будет этих возмущаюших сигналов (ну это если я правильно вижу решение)..

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3047
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Откуда: Мурманск
Благодарил (а): 10 раз
Поблагодарили: 67 раз

Нечеткий контроллер

Сообщение Никита » 03 янв 2018, 21:28

Тогда давайте подробности. Что за двигатель и что у Вас за модель, если она известна? Возмущение для контура скорости будет одно - это момент нагрузки на валу двигателя. Который, в соответствии с крутизной характеристики, вызывает изменение оборотов. Теперь интересна входная координата двигателя.
И в чем как реализована модель?
Да, если по заданию физических моторов нет, то не стоит заморачиваться. Конструирование реального регулируемого электропривода - это не тема дипломной работы. Ну, точнее, не одной. Те стенды, о которых я упоминал, делали два или три поколения дипломников, по паре человек в каждом, отучившихся по пять с половиной лет. Инженерский диплом для одного человека - проектирование этого в бумаге и софте для микроконтроллера, при условии что это заведомо реализовываться не будет :) А у Вас еще и регулятор есть. Элементарно ПЗ написать не успеете на такой объем:)
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

Автор темы
Werehouse
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 26 мар 2017, 06:33
Имя: Максим
Благодарил (а): 2 раза

Нечеткий контроллер

Сообщение Werehouse » 05 янв 2018, 01:46

Никита писал(а):
Ну конкретного мотора нет. Просто со слов руководителя: вы должны сделать приложение, в котором пользователь вводит мат. модель двигателя (например DC) и её параметры числовые и ваш программный регулятор выдает графики с отрегулированной скоростью.
А регулирование одного конкретного двигателя он назвал просто курсовой работой.
Типо вся сложность моего диплом в том, что движок может быть любой или условно любой (несколько мат. моделей на выбор).
Мне не обязательно чтобы физически что-то крутилось и работало. Вся соль в том, чтобы я сделал это визуально.
Но поговорив с выпускниками, на дипломе очень любят, чтобы задание было аппаратно подкреплено.
Вот я и хочу сделать хотя бы для одного из движков, чтобы он запустился.
Сейчас читаю Fuzzy Control авторы Passino, Yurkovich , но пока особо не нашел как и где применяется нечеткой управление скоростью двигателя. Да и вообще плаваю в этой теме. Нет ли у вас каких то примеров?

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3047
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Откуда: Мурманск
Благодарил (а): 10 раз
Поблагодарили: 67 раз

Нечеткий контроллер

Сообщение Никита » 05 янв 2018, 17:34

Примеров нет. И две причины тому уже названы. Первая: быстродействия компьютера под Windows, тем более с OPC, не хватит для работы с доступными Вам двигателями. Соизмеримые постоянные времени могут дать двигатели с ротором массой в полтонны. Второе: машина постоянного тока с независимым возбуждением описывается диффурой второго порядка, причем, насколько помню, решаемой символьно. [Да, реально решение реализуется лишь с определенными допущениями] И есть методики расчета и настройки регуляторов на оптимальные коэффициенты без применения нечеткой логики, из области четкой математики. По крайней мере, двадцать лет назад, в методичке по тиристорному электроприводу они были. Внутренний регулятор [тока якоря] на доступной базе Вы все равно не сделаете. (операционники не в счет, DSP и микроконтроллеры - не успеете).
Даже для асинхронных машин современные векторные частотники рассчитывают модель двигателя и положение векторов [потокосцепления], и на основании этого, опять же по четкой математике, рассчитывают воздействия.
Поэтому задание Ваше из области скрещивания змеи с ежиком, но раз такое есть - придется делать. Рисуйте структуру системы, будем смотреть. В первую очередь, интересуют входные координаты регулятора, ибо нечеткий регулятор с одним входом в общем-то не имеет смысла. Хотя бы еще производную в него затащить.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

Автор темы
Werehouse
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 26 мар 2017, 06:33
Имя: Максим
Благодарил (а): 2 раза

Нечеткий контроллер

Сообщение Werehouse » 12 янв 2018, 02:23

Никита писал(а):
05 янв 2018, 17:34
В первую очередь, интересуют входные координаты регулятора, ибо нечеткий регулятор с одним входом в общем-то не имеет смысла. Хотя бы еще производную в него затащить.
Нашел вот старую методичку, когда-то у меня по ней лаба была. Вот подобное что-то нужно будет разработать. То есть я запрограмирую все элементы схемы. А пользователю нужно будет просто вводить числовые значения для ДПТ или другого двигателя. Ну логика такая.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3047
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Откуда: Мурманск
Благодарил (а): 10 раз
Поблагодарили: 67 раз

Нечеткий контроллер

Сообщение Никита » 12 янв 2018, 10:43

Ничего сверхъестественного. Реализовывать в чем будете?
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

Автор темы
Werehouse
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 26 мар 2017, 06:33
Имя: Максим
Благодарил (а): 2 раза

Нечеткий контроллер

Сообщение Werehouse » 12 янв 2018, 13:00

На javascript. И питон, чтобы общаться с сом портом, к которому будет движок подключен.
Но основная сложность: мне для каждого вида двигателя составить такую схему и соответственно кажлый двигатель запрогать?
Или я не правильно думаю, я просто нуб в этом вопросе?
На сколько я знаю, у питона даже есть библиотеки с двигателями (но название я не помню, возможно мне это приснилось даже)

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3047
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Откуда: Мурманск
Благодарил (а): 10 раз
Поблагодарили: 67 раз

Нечеткий контроллер

Сообщение Никита » 12 янв 2018, 16:59

Вернемся к вопросу о двигателях. Двигатель, как я и ожидал, у Вас постоянного тока, с независимой обмоткой. И описан звеном второго порядка. Только вот в методичке он нарисован виде передаточной функции:) Это и будет первая задача - перейти от изображения к решению дифференциального уравнения. Матлаб это делает легко и ненавязчиво, насчет Java и Python - я совсем не уверен. Это само по себе для студента уже неплохая задача, пусть и не дипломная. Особенно, если Эйлер с Рунге-Куттой не в списке друзей, а конечные разности только по гуглу известны.
Следующее - если тип двигателя будет меняться (именно тип, для разных однотипных двигателей, думаю, догадаетесь как в программе поменять коэффициенты), нужно искать матмодели и других машин, их тоже реализовывать.
Дальше - в Вашей методичке модели не учитывают нелинейности. Здравый смысл подсказывает, что напряжение на двигателе нельзя повышать бесконечно, а железо любой машины имеет свойство насыщаться). Это вопрос к руководителю - надо учитывать эти нюанчсы или нет.
Так вот, когда увидите реальное время расчета Вашей модели, тогда и можно будет говорить о железе. Можете, ради эксперимента в матлабе поэкспериментировать с разными способами расчета - успевает ли хотя бы он в более-менее реальном времени строить графики переходных процессов. Тогда будет смысл говорить про реальное железо. Которое, кстати тоже имеет свою динамику.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

Автор темы
Werehouse
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 26 мар 2017, 06:33
Имя: Максим
Благодарил (а): 2 раза

Нечеткий контроллер

Сообщение Werehouse » 13 янв 2018, 10:19

Никита писал(а):
12 янв 2018, 16:59
Спасибо за советы. Буду пробовать.

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3047
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Откуда: Мурманск
Благодарил (а): 10 раз
Поблагодарили: 67 раз

Нечеткий контроллер

Сообщение Никита » 14 янв 2018, 00:52

Werehouse писал(а):
13 янв 2018, 10:19
Никита писал(а):
12 янв 2018, 16:59
Спасибо за советы. Буду пробовать.
Да, пробуйте. А до меня, похоже, дошла суть идеи Вашего руководителя - регулятор должен работать сам, независимо от ипа двигателя и его характеристик и обеспечивать приемлемые переходные процессы без перенастройки коэффициентов. Т.е. сделать универсальный регулятор для любого двигателя, не требующий настройки. Потребность в нечетких алгоритмах в данном случае опять можно обсуждать, но тут уже неприменимы классические расчеты регуляторов на оптимумы, ибо те считаются из конкретной машины. Тут есть другие методы самонастройки коэффициентов, ну да ладно, пусть будет нечеткий регулятор.
Итого: учитесь пока моделировать двигатели и пытайтесь реализовать нечеткий регулятор. Подсказка - попробуйте обратиться к тем, кто учился в 90-е, тогда как раз в моде были самодельные решатели диффур, своими руками реализованные на паскале/С. Исходники вряд-ли сохранились, скорее всего сдохли вместе с носителями или просто лежат, но никто не помнит где:) А вот нюансы реализации еще могут вспомнить.
Да, еще, вот тут https://www.cta.ru/cms/f/366724.pdf на третьей странице, есть картинка с генератором и двигателем. Это как раз тот стенд, про который я писал выше. Картинку, кстати, рисовал я, примерно в Вашем возрасте. :oops: Реально тогда выглядел вот так:
Изображение
Готовы в свободное от решения диффур время заняться сооружением?
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Ответить

Вернуться в «Вопросы от студентов»