Выпускной год по мехатронике
<основной класс="главный сайт" id="главный">
Это был мой выпускной проект по мехатронике. на машиностроительном факультете в Скопье. Его цель состояла в том, чтобы разработать устройство, которое позволит взаимодействовать с реальными движениями рук с компьютерными 3D-моделями. Я объединил три разных поля в одном устройстве, т.е. машиностроение, электротехника и вычислительная техника:
- Solidworks создает 3D-модель, отображающую движения руки.
- Карта Arduino Mega 2560 для соединения реального мира с компьютером.
- MATLAB/Simulink для программирования управления 3D-моделью
В следующем видео вы можете увидеть презентацию проекта. Вот его содержание:
- Введение. Здесь я кратко рассказываю о мехатронике как области исследований, которая позволила мне разработать такое устройство.
- Ардуино Мега 2560. Некоторые основные функции этой платы Arduino, которые я использовал в этом проекте.
- 3D-модели в среде Simulink. Как перенести 3D-модель из Solidworks в Matlab / Simulink с помощью SimMechanics Link.
- Разработка устройства. Здесь я рассказываю о компонентах, которые я использовал для создания устройства, и о том, как они работают, а также о модели Simulink, программе, которая работает на плате Arduino и обеспечивает взаимодействие между реальным миром и компьютером
- Вы можете посмотреть следующее видео или прочитать письменное руководство ниже.
Сборка устройства
Детали, используемые в этом проекте
- Ардуино Мега 2560
- 3-осевой акселерометр
- Линейный потенциометр x5
Акселерометр используется для отслеживания ориентации руки. Когда рука движется, значения по осям X, Y и Z от акселерометра изменяются и считываются на аналоговых входах платы Arduino. По их словам, 3D-модель тоже движется.
Потенциометры используются для отслеживания положения пальцев. Я прикрепил пружину (пружину ручки) к каждому потенциометру. Пружина удерживает ползунок потенциометра в определенном положении, и при движении пальцев ползунок вытягивается, и сопротивление потенциометра изменяется. Эти значения считываются с аналоговых входов платы Arduino, и в соответствии с ними двигаются пальцы 3D-модели.
В качестве основы я использовал пластиковую крышку от калькулятора, на которую прикрепил пять потенциометров. Поверх них я положил макетную плату, на которой с помощью ленты закрепил плату Arduino и акселерометр. На картинке ниже вы можете увидеть окончательный вид устройства.
Схема устройства
3D-модель
3D-модель представляет собой изображение руки человека. Сначала я смоделировал его в Solidworks, а затем перенес в Matlab/Simulink с помощью SimMechanicsLink из Matworks.
Модель MATLAB / Simulink
Перед созданием модели Simulink мне сначала пришлось установить пакет ввода-вывода Arduino, который состоит из библиотеки Simulink для связи с платой Arduino. Также с помощью Arduino IDE мне пришлось загрузить код на плату Arduino, которая поставляется вместе с пакетом, чтобы включить библиотеку Simulink. Здесь я настоятельно рекомендую мой учебник для пакета ввода-вывода Matlab и Arduino, чтобы вы могли понять принцип работы и увидеть код.
Я разбил свою модель Simulink на шесть подсистем:
- Блоки аналоговых входов Arduino для значений от акселерометра и потенциометров
- Корректировка аналоговых показаний в соответствии с моими потребностями
- ПИД-управление для более плавных движений
- Блоки Joint Actuators для управления суставами 3D-модели
- 3D-модель, созданная автоматически с помощью SimMechanicsLink
- Совместный блок датчиков для отслеживания положения 3D-модели
Вы можете скачать модель Simulink здесь:
Проверьте мое расширение этого проекта.
Я перепрограммировал Arduino Glove для работы в качестве игрового контроллера.
Производственный процесс
- Идеи проектов на основе датчиков для студентов последних курсов инженерного факультета
- Smart Pen:последний проект для ECE5725
- Создание монитора Ambilight с помощью Arduino
- Игра Arduino Pong - OLED-дисплей
- Детектор звуковой частоты
- Клон Arduino Tamagotchi - цифровой питомец
- Манипулятор беспроводного переключателя света
- Tech-TicTacToe
- Водяной пистолет с датчиком движения
- Таймер обратного отсчета Arduino