Оглавление:

Перевернутый маятник: теория и динамика управления: 17 шагов (с изображениями)
Перевернутый маятник: теория и динамика управления: 17 шагов (с изображениями)

Видео: Перевернутый маятник: теория и динамика управления: 17 шагов (с изображениями)

Видео: Перевернутый маятник: теория и динамика управления: 17 шагов (с изображениями)
Видео: Математика это не Ислам 2024, Июль
Anonim
Image
Image
Перевернутый маятник: теория и динамика управления
Перевернутый маятник: теория и динамика управления
Перевернутый маятник: теория и динамика управления
Перевернутый маятник: теория и динамика управления
Перевернутый маятник: теория и динамика управления
Перевернутый маятник: теория и динамика управления

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

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

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

И, наконец, не забудьте проголосовать в конкурсе «Классная наука», если вам понравился этот проект, и не стесняйтесь оставлять любые вопросы в разделе комментариев ниже. Удачи!:)

Шаг 1. Проблема

Эта проблема
Эта проблема

Задача перевернутого маятника аналогична тому, как уравновесить метлу или длинный шест на ладони, что большинство из нас пробовали в детстве. Когда наши глаза видят, что шест падает в определенную сторону, они отправляют эту информацию в мозг, который выполняет определенные вычисления, а затем инструктирует вашу руку двигаться в определенное положение с определенной скоростью, чтобы противодействовать движению шеста, что, как мы надеемся, принесет опрокидывать штангу обратно в вертикальное положение. Этот процесс повторяется несколько сотен раз в секунду, что позволяет полностью контролировать веху. Перевернутый маятник работает аналогичным образом. Цель состоит в том, чтобы уравновесить перевернутый маятник на тележке, которой разрешено двигаться. Вместо глаз используется датчик для определения положения маятника, который отправляет информацию в компьютер, который выполняет определенные вычисления и инструктирует исполнительные механизмы перемещать тележку таким образом, чтобы маятник снова стал вертикальным.

Шаг 2: решение

Решение
Решение

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

Уравнения движения могут быть получены двумя способами в зависимости от вашего уровня. Они могут быть получены либо с использованием основных законов Ньютона и некоторых математических представлений средней школы, либо с использованием лагранжевой механики, которая обычно вводится на курсах физики бакалавриата. (Примечание: вывод уравнений движения с использованием законов Ньютона прост, но утомителен, тогда как использование лагранжевой механики намного элегантнее, но требует понимания лагранжевой механики, хотя оба подхода в конечном итоге приводят к одному и тому же решению).

Оба подхода и их формальные производные обычно рассматриваются в средней школе или на курсах бакалавриата по математике или физике, хотя их легко найти с помощью простого поиска в Google или по этой ссылке. Наблюдая за окончательными уравнениями движения, мы замечаем связь между четырьмя величинами:

  • Угол маятника к вертикали
  • Угловая скорость маятника
  • Угловое ускорение маятника
  • Линейное ускорение тележки

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

Шаг 3: теория управления

Теория управления
Теория управления

Теория управления - это раздел математики, который занимается управлением и управлением динамическими системами в спроектированных процессах и машинах. Цель состоит в том, чтобы разработать модель управления или контур управления для достижения стабильности в целом. В нашем случае балансируйте перевернутый маятник.

Существует два основных типа контуров управления: управление без обратной связи и управление с обратной связью. При реализации управления без обратной связи управляющее действие или команда от контроллера не зависят от выходных данных системы. Хорошим примером этого является печь, в которой время, в течение которого печь работает, полностью зависит от таймера.

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

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

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

Шаг 4: Реализация этого проекта в вашем классе

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

Охватываемые концепции: Основные концепции, охваченные этим проектом, - это динамика и теория управления.

Требуемое время: после того, как все детали собраны и изготовлены, сборка занимает от 10 до 15 минут. Создание контрольной модели требует еще времени, для этого студентам может быть предоставлено от 2 до 3 дней. После того, как каждый отдельный ученик (или группы учеников) разработает свои соответствующие модели управления, можно использовать другой день для демонстрации отдельных лиц или групп.

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

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

Еще один способ реализовать этот проект в вашем классе - обучить детей старшего возраста (уровень средней школы или около того), разработать этот проект и продемонстрировать его детям младшего возраста, давая им обзор динамики и средств управления. Это может не только вызвать интерес к физике и математике у младших детей, но также поможет старшим ученикам кристаллизовать свои концепции теории, потому что один из лучших способов укрепить свои концепции - это объяснять их другим, особенно детям младшего возраста, как это требуется. формулировать свои идеи очень просто и ясно.

Шаг 5: Запчасти и расходные материалы

Запчасти и расходные материалы
Запчасти и расходные материалы
Запчасти и расходные материалы
Запчасти и расходные материалы
Запчасти и расходные материалы
Запчасти и расходные материалы

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

Электроника:

  • Одна совместимая с Arduino плата, подойдет любая. Я рекомендую Uno на тот случай, если вы не слишком разбираетесь в электронике, потому что так будет проще следовать за вами.
  • Один шаговый двигатель Nema17, который будет работать как привод для тележки.
  • Один драйвер шагового двигателя, опять же, все подойдет, но я рекомендую драйвер шагового двигателя A4988, потому что так будет проще следовать.
  • Один шестиосевой MPU-6050 (гироскоп + акселерометр), который будет определять различные параметры, такие как угол и угловую скорость маятника.
  • Один источник питания 12 В, 10 А, 10 А на самом деле является небольшим перебором для этого конкретного проекта, все, что выше 3 А, будет работать, но наличие возможности потреблять дополнительный ток позволяет для будущих разработок, где может потребоваться больше энергии.

Аппаратное обеспечение:

  • 16 подшипников, я использовал подшипники для скейтборда, и они отлично работали
  • 2 шкива GT2 и ремень
  • Около 2,4 метра 1,5-дюймовой трубы ПВХ
  • Связка болтов и гаек по 4мм

Некоторые детали, которые использовались в этом проекте, также были напечатаны на 3D-принтере, поэтому наличие 3D-принтера будет очень полезным, хотя локальные или онлайн-средства 3D-печати обычно доступны.

Общая стоимость всех деталей чуть меньше 50 $ (без учета 3D-принтера).

Шаг 6: детали, напечатанные на 3D-принтере

Детали, напечатанные на 3D-принтере
Детали, напечатанные на 3D-принтере
Детали, напечатанные на 3D-принтере
Детали, напечатанные на 3D-принтере
Детали, напечатанные на 3D-принтере
Детали, напечатанные на 3D-принтере

Некоторые части системы тележки и рельсов должны были быть изготовлены на заказ, поэтому я использовал бесплатную Autodesk для использования Fusion360 для моделирования файлов CAD и 3D-печати их на 3D-принтере.

Некоторые детали, которые имели чисто двухмерную форму, такие как маятник и платформа гентри, были вырезаны лазером, так как это было намного быстрее. Все файлы STL прикреплены ниже в заархивированной папке. Вот полный список всех частей:

  • 2 x портальный ролик
  • 4 x заглушки
  • 1 x шаговый кронштейн
  • 2 x держатель подшипника холостого шкива
  • 1 x держатель маятника
  • 2 х ремень
  • 1 x держатель подшипника маятника (a)
  • 1 x держатель подшипника маятника (b)
  • 1 х проставка для шкива
  • 4 х проставки для подшипниковых отверстий
  • 1 х портальная плита
  • 1 x пластина держателя шагового двигателя
  • 1 x пластина держателя холостого шкива
  • 1 x маятник (а)
  • 1 x маятник (b)

Всего имеется 24 детали, печать которых не занимает много времени, так как детали небольшие и их можно распечатать вместе. В ходе этого руководства я буду ссылаться на части, основанные на названиях в этом списке.

Шаг 7: Сборка портальных роликов

Сборка портальных роликов
Сборка портальных роликов
Сборка портальных роликов
Сборка портальных роликов
Сборка портальных роликов
Сборка портальных роликов
Сборка портальных роликов
Сборка портальных роликов

Ролики портала подобны колесам тележки. Они будут катиться по направляющей из ПВХ, что позволит тележке двигаться плавно с минимальным трением. Для этого шага возьмите два напечатанных на 3D-принтере портальных ролика, 12 подшипников и связку гаек и болтов. Вам потребуется 6 подшипников на каждый ролик. Прикрепите подшипники к ролику с помощью гаек и болтов (используйте рисунки для справки). После того, как каждый валик изготовлен, наденьте его на трубу из ПВХ.

Шаг 8: Сборка системы привода (шагового двигателя)

Сборка системы привода (шаговый двигатель)
Сборка системы привода (шаговый двигатель)
Сборка системы привода (шаговый двигатель)
Сборка системы привода (шаговый двигатель)
Сборка системы привода (шаговый двигатель)
Сборка системы привода (шаговый двигатель)

Тележка будет приводиться в движение стандартным шаговым двигателем Nema17. Закрепите двигатель в кронштейне шагового двигателя с помощью винтов, которые должны были быть в комплекте с шаговым двигателем. Затем прикрутите кронштейн к пластине держателя шагового двигателя, совместите 4 отверстия на кронштейне с 4 отверстиями на пластине и используйте гайки и болты, чтобы скрепить их вместе. Затем установите шкив GT2 на вал двигателя и прикрепите 2 торцевые крышки к пластине держателя шагового двигателя снизу, используя дополнительные гайки и болты. После этого вы можете надеть заглушки на трубы. В случае, если посадка слишком правильная, вместо того, чтобы прижимать торцевые крышки к трубам, я рекомендую отшлифовать внутреннюю поверхность торцевой крышки, напечатанной на 3D-принтере, до плотной посадки.

Шаг 9: Сборка системы привода (холостой шкив)

Сборка системы привода (холостой шкив)
Сборка системы привода (холостой шкив)
Сборка системы привода (холостой шкив)
Сборка системы привода (холостой шкив)
Сборка системы привода (холостой шкив)
Сборка системы привода (холостой шкив)

Гайки и болты, которые я использовал, были 4 мм в диаметре, хотя отверстия на шкиве и подшипниках были 6 мм, поэтому мне пришлось распечатать адаптеры на 3D-принтере и вставить их в отверстия шкива и подшипников, чтобы они не покачиваться на болте. Если у вас есть гайки и болты подходящего размера, этот шаг вам не понадобится.

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

Как только это будет сделано, прикрепите пару держателей подшипников холостого шкива к пластине держателя холостого шкива и прикрепите торцевые крышки к нижней поверхности этой пластины, как и в предыдущем шаге. Наконец, закройте противоположный конец двух труб из ПВХ этими заглушками. На этом рельсы для вашей тележки готовы.

Шаг 10: Сборка портала

Сборка портала
Сборка портала
Сборка портала
Сборка портала
Сборка портала
Сборка портала

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

Затем установите два крепления ремня по обе стороны от платформы портала. Обязательно прикрепляйте их снизу, иначе ремень не будет на одном уровне. Не забудьте также продеть болты снизу, потому что в противном случае, если болты будут слишком длинными, они могут стать препятствием для ремня.

Наконец, прикрепите держатель маятника к передней части тележки с помощью гаек и болтов.

Шаг 11: Сборка маятника

Сборка маятника
Сборка маятника
Сборка маятника
Сборка маятника
Сборка маятника
Сборка маятника
Сборка маятника
Сборка маятника

Маятник был сделан из двух частей просто для экономии материала. Вы можете склеить две части, совместив зубцы и склеив их. Снова вставьте проставки отверстий подшипников в два подшипника, чтобы компенсировать меньшие диаметры болтов, а затем вставьте подшипники в отверстия для подшипников двух частей держателя маятникового подшипника. Зажмите две детали, напечатанные на 3D-принтере, с каждой стороны нижнего конца маятника и скрепите их вместе с помощью 3 гаек и болтов, проходящих через держатели подшипников маятника. Проденьте болт через два подшипника и закрепите другой конец соответствующей гайкой.

Затем возьмите MPU6050 и прикрепите его к противоположному концу маятника с помощью крепежных винтов.

Шаг 12: Установка маятника и ремней

Установка маятника и ремней
Установка маятника и ремней
Установка маятника и ремней
Установка маятника и ремней
Установка маятника и ремней
Установка маятника и ремней

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

Наконец, возьмите ремень GT2 и сначала прикрепите один конец к одному из ремней, закрепленных на тележке. Для этого я использовал аккуратный зажим для ремня для 3D-печати, который крепится к концу ремня и предотвращает его проскальзывание через узкую щель. Стандартные тексты для этого материала можно найти на Thingiverse по этой ссылке. Оберните ремень полностью вокруг шагового шкива и холостого шкива и прикрепите другой конец ремня к приспособлению для крепления ремня на противоположном конце тележки. Натяните ремень, следя за тем, чтобы он не был слишком сильно затянут и не потерял слишком много места, и на этом ваш маятник и тележка готовы!

Шаг 13: Электромонтаж и электроника

Электропроводка и электроника
Электропроводка и электроника
Электропроводка и электроника
Электропроводка и электроника
Электропроводка и электроника
Электропроводка и электроника

Электропроводка состоит из подключения MPU6050 к Arduino и электропроводки системы привода. Следуйте приведенной выше схеме подключения для подключения каждого компонента.

MPU6050 для Arduino:

  • GND к GND
  • От + 5В до + 5В
  • SDA в A4
  • SCL в A5
  • Int в D2

Шаговый двигатель к шаговому приводу:

  • Катушка 1 (а) на 1А
  • Катушка 1 (б) - 1В
  • Катушка 2 (а) на 2А
  • Катушка 2 (б) - 2В

Шаговый драйвер для Arduino:

  • GND к GND
  • VDD до + 5В
  • ШАГ к D3
  • DIR в D2
  • VMOT к плюсовой клемме источника питания
  • GND к клемме заземления источника питания

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

Шаг 14: Управление системой (пропорциональное управление)

Управление системой (пропорциональное управление)
Управление системой (пропорциональное управление)
Управление системой (пропорциональное управление)
Управление системой (пропорциональное управление)
Управление системой (пропорциональное управление)
Управление системой (пропорциональное управление)

Изначально я решил опробовать базовую систему пропорционального управления, то есть скорость тележки просто пропорциональна определенному коэффициенту углу, который маятник образует с вертикалью. Это должно было быть просто тестом, чтобы убедиться, что все части работают правильно. Хотя эта базовая пропорциональная система была достаточно прочной, чтобы маятник уже уравновешивался. Маятник мог довольно устойчиво противостоять легким толчкам и толчкам. Хотя эта система управления работала замечательно, у нее все еще было несколько проблем. Если посмотреть на график показаний IMU за определенное время, мы можем четко заметить колебания показаний датчика. Это означает, что всякий раз, когда контроллер пытается внести коррекцию, он всегда выходит за пределы определенного значения, что, по сути, является самой природой пропорциональной системы управления. Эту небольшую ошибку можно исправить, применив другой тип контроллера, который учитывает все эти факторы.

Код для пропорциональной системы управления прилагается ниже. Код требует поддержки нескольких дополнительных библиотек, таких как библиотека MPU6050, библиотека PID и библиотека AccelStepper. Их можно загрузить с помощью интегрированного менеджера библиотек Arduino IDE. Просто перейдите в Sketch >> Include Library >> Manage Libraries, а затем просто найдите PID, MPU6050 и AccelStepper в строке поиска и установите их, просто нажав кнопку Install.

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

Шаг 15: Управление системой (ПИД-регулирование)

Управление системой (ПИД-регулирование)
Управление системой (ПИД-регулирование)
Управление системой (ПИД-регулирование)
Управление системой (ПИД-регулирование)
Управление системой (ПИД-регулирование)
Управление системой (ПИД-регулирование)

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

Хотя ПИД-регулирование было намного сложнее реализовать, после правильной реализации и нахождения идеальных параметров настройки маятник сбалансирован значительно лучше. В этот момент он также может противостоять световым ударам. Показания IMU за заданное время (прилагаются выше) также доказывают, что показания никогда не уходят слишком далеко от желаемой уставки, то есть вертикали, демонстрируя, что эта система управления намного более эффективна и надежна, чем базовое пропорциональное управление..

Еще раз, мой совет всем тем из вас, кто является энтузиастом науки и математики, - это попытаться создать ПИД-регулятор с нуля, прежде чем использовать код, который прилагается ниже. Это может быть воспринято как проблема, и никто не знает, может ли кто-нибудь придумать систему управления, которая будет намного более надежной, чем все, что было предпринято до сих пор. Хотя для Arduino уже доступна надежная библиотека PID, разработанная Бреттом Борегардом, которую можно установить из диспетчера библиотек в Arduino IDE.

Примечание. Каждая система управления и ее результаты демонстрируются на видео, которое прилагается на самом первом этапе.

Шаг 16: Дальнейшие улучшения

Дальнейшие улучшения
Дальнейшие улучшения

Одной из вещей, которые я хотел попробовать, была функция "качания вверх", когда маятник изначально висит под тележкой, а тележка совершает несколько быстрых движений вверх и вниз по рельсовому пути, чтобы поднять маятник с подвески. положение вверх ногами перевернутое. Но это было невозможно с текущей конфигурацией, потому что длинный кабель должен был соединять инерциальный измерительный блок с Arduino, поэтому полный круг, сделанный маятником, мог вызвать скручивание и заедание кабеля. Эта проблема может быть решена путем использования поворотного энкодера, прикрепленного к оси маятника, вместо инерциального измерительного блока на самом его конце. В энкодере его вал - единственное, что вращается вместе с маятником, в то время как корпус остается неподвижным, что означает, что кабели не перекручиваются.

Вторая особенность, которую я хотел попробовать, - это сбалансировать двойной маятник на тележке. Эта система состоит из двух соединенных друг за другом маятников. Хотя динамика таких систем намного сложнее и требует гораздо больше исследований.

Шаг 17: окончательные результаты

Окончательные результаты
Окончательные результаты
Окончательные результаты
Окончательные результаты
Окончательные результаты
Окончательные результаты

Подобный эксперимент может позитивно изменить настроение класса. Как правило, большинство людей предпочитают применять концепции и идеи для их кристаллизации, в противном случае идеи остаются «в воздухе», что заставляет людей быстрее их забывать. Это был всего лишь один пример применения определенных концепций, изученных во время занятий, в реальных приложениях, хотя это, безусловно, вызовет энтузиазм у студентов, которые в конечном итоге попытаются провести свои собственные эксперименты для проверки теорий, которые сделают их будущие уроки гораздо более интересными. живые, что заставит их захотеть узнать больше, что заставит их придумывать новые эксперименты, и этот позитивный цикл будет продолжаться до тех пор, пока будущие классы не будут полны таких веселых и приятных экспериментов и проектов.

Надеюсь, это станет началом еще многих экспериментов и проектов! Если вам понравилось это руководство и вы нашли его полезным, пожалуйста, оставьте голосование ниже в «Конкурсе классных наук», и любые комментарии или предложения приветствуются! Спасибо!:)

Конкурс классной науки
Конкурс классной науки
Конкурс классной науки
Конкурс классной науки

Финалист в конкурсе классных наук

Рекомендуемые: