Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Изображение сервомотора

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

Arduino UNO
× 1
16-канальный ШИМ-контроллер серводвигателя Adafruit
× 3
Микро-серводвигатель SG90
× 36
Импульсный источник питания 5 В 30 Вт
× 1
Удлинители кабеля серводвигателя
× 1
Доска для колышков размером 24 x 48 дюймов
× 1
Палочки от мороженого, обрезанные до 3 1/4 дюйма
× 36
Ультразвуковой датчик - HC-SR04 (общий)
Эти компоненты являются необязательными - требуются только при добавлении интерактивной функции.
× 5

Необходимые инструменты и машины

Паяльник (универсальный)
Пистолет для горячего клея (общий)

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

На видео ниже показано, как 36 серводвигателей создают электронное произведение искусства. За кулисами работают Arduino Uno и три 16-канальных сервоконтроллера PWM. Первоначальным вдохновением для этого была гораздо большая версия с 450 сервоприводами, которую я видел в музее современного искусства. Но даже эта маленькая версия всего с 36 сервоприводами дает некоторые интересные эффекты.

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

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

Как видите, этот проект был построен на доске размером 24 на 48 дюймов. Ширина была уменьшена до 32 дюймов. Сервоприводы устанавливаются на расстоянии 4 дюймов друг от друга и прикрепляются к задней части доски с помощью горячего клея. Палочки для мороженого, обрезанные до 3 1/4 дюйма, крепятся к валам сервоприводов, опять же с использованием горячего клея.

Серводвигатели SG90 - единственная дорогостоящая деталь в этом проекте. Вы можете получить набор из 8 штук за 20 долларов на Amazon. Даже в этом случае вам нужно вложить 100 долларов в сервоприводы. Предполагается, что все SG90 будут сервоприводами на 180 °, но большинство из них не справляются с этим. Некоторые из них не оправдывают ожиданий, и от них следует отказаться. Если вы купите 5 комплектов по 8 штук, вы сможете найти 36 товаров, которые перемещаются не менее чем на 160 °.

Сервоприводы должны быть установлены в их минимальное положение (положение на ШИМ 150), а палочки для мороженого должны быть установлены горизонтально и вправо в этом минимальном положении, если смотреть спереди. Я предоставил небольшую программу, которую вы можете использовать, чтобы убедиться, что сервоприводы находятся в этом минимальном положении:SetServosToMinimum.

На фото выше показан макет обратной стороны. Три контроллера ШИМ установлены на левой стороне сервоприводов. Источник питания 30 Вт и 5 В находится справа. Arduino питается отдельно от адаптера питания USB. Я делаю это только для того, чтобы отсоединить USB-кабель и с помощью удлинительного USB-кабеля подключить его к компьютеру для изменения программы. Выглядит немного странно, но мне это удобно.

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

Программное обеспечение

Я использую библиотеку PWM Servo Driver от Adafruit для обработки 16-канальных сервоконтроллеров, поэтому вам нужно будет получить ее от Adafruit и установить в библиотеках Arduino. Мое программное обеспечение можно использовать как есть с дополнительными ультразвуковыми датчиками или без них. Он представляет собой множество эффектов в шоу, которое длится немногим более трех минут перед повторением. Если установлены дополнительные датчики, он будет переходить в интерактивный режим всякий раз, когда рука находится рядом с центральным датчиком.

В программе много чего. Я не буду пытаться здесь все объяснять, но дам вам небольшую информацию о том, как это работает. У меня две таблицы. В таблице curPos хранится текущая позиция каждого сервопривода, разделенная на три. Таблица tarPos хранит желаемое положение каждого сервопривода, разделенное на три. Их делят на 3 по двум причинам. Во-первых, это позволяет хранить их в байтах, а во-вторых, я всегда перемещаю сервоприводы с шагом в 3 шага.

Uno изначально не знает положения каждого сервопривода, поэтому процедура настройки устанавливает все сервоприводы в вертикальное положение и устанавливает все переменные curPos и ​​tarPos в соответствии с этим вертикальным положением. Затем мы можем переместить сервоприводы оттуда в другие позиции, изменив нужные позиции в tarPos.

Подпрограмма goToTargets () - это основной способ перемещения сервоприводов. Мы контролируем, куда идут сервоприводы, устанавливая цели в tarPos. Затем мы можем контролировать, насколько быстро они идут туда, с помощью процедуры goToTargets. У него есть два способа контролировать скорость. Он перемещает сервоприводы к их целям с шагом 15 шагов, при этом количество повторений, вводимых в подпрограмму, дает вам число, кратное 15 шагам. Другой ввод - это mydelay, который просто добавляет задержку в миллисекундах к каждому вызову goToTargets.

Есть много других вещей, но в основном все остальное - это просто различные настройки и реализации различных представленных эффектов.

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

Код

  • Программное обеспечение ServosArt для Arduino Uno
Программное обеспечение ServosArt для Arduino Uno Arduino
 Нет предварительного просмотра (только загрузка). 

Схема

Показывает, как Uno и сервоприводы соединяются через три 16-канальных контроллера. Подключает 5 ультразвуковых датчиков расстояния к Uno, чтобы сервоприводы могли отслеживать движение руки.

Производственный процесс

  1. Прототип Raspoulette
  2. Простой робот Pi
  3. Эксперты по ремонту серводвигателей Fanuc
  4. Эксперт по ремонту серводвигателей Siemens
  5. Советы по ремонту серводвигателя и устранению неисправностей
  6. MOSMusic
  7. Что такое линейный двигатель?
  8. Красота планетарной коробки передач для серводвигателя
  9. Введение в сервопресс
  10. Что такое серводвигатель?