Оглавление:

Лебедка с управлением Art-Net: 6 ступеней
Лебедка с управлением Art-Net: 6 ступеней

Видео: Лебедка с управлением Art-Net: 6 ступеней

Видео: Лебедка с управлением Art-Net: 6 ступеней
Видео: Чем же она так провинилась? 😆 #фигурноекатание #этеритутберидзе #олимпиада #щербакова #загитова 2024, Ноябрь
Anonim
Лебедка с управлением Art-Net
Лебедка с управлением Art-Net

Всем привет, в этой инструкции я расскажу, как я создал свою лебедку, управляемую арт-сетью. "Твое что?" Я слышал, вы спрашиваете, позвольте мне объяснить очень быстро. Несколько лет назад мы устроили вечеринку с местным домом молодежи, и в качестве декоратора у нас возникла идея сделать подвижную крышу.

С помощью 9 лебедок (такелей) мы подняли гигантскую белую ткань и по протоколу dmx управляли ими. Но в то время мы использовали лебедки с трехфазным управлением. Таким образом, чтобы заставить его двигаться вверх и вниз, нам пришлось создать систему реле, управляемую центральным мегапикселем Arduino, который управлялся с помощью dmx. Реле с коммутируемыми напряжениями 230В и 12 ампер.

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

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

Это именно то, что я создал, и я постараюсь объяснить вам, как я это сделал. Вся установка основана на Raspberry Pi, который контролирует процесс установки. После настройки управление передается легкому компьютеру (Chamsys и др.), Который будет управлять лебедками оттуда.

Я предполагаю, что у вас есть базовые знания о Python, Arduino и Raspberry Pi, а также что-то понимание протокола и контроллеров art-net.

Запасы

Что вам понадобится:

  • Raspberry Pi
  • Ардуино
  • Шилд Arduino Ethernet
  • Моторный щит Arduino
  • Любой OLED-экран
  • сетевой кабель
  • коммутатор Ethernet
  • Двигатель постоянного тока с энкодером

Шаг 1. Настройка Raspberry Pi

Хорошо, так что это будет работать так: raspberry pi будет запускать сервер Apache и MariaDB. Сервер apache предназначен для размещения веб-сайта, MariaDB - для ведения базы данных, в которой мы будем хранить данные о лебедках.

Я не буду описывать вам все процессы настройки пи с помощью ssh, если вы не знакомы, вот хороший учебник.

Итак, сначала мы убедимся, что Raspberry Pi полностью настроен в вашем терминале:

Чтобы установить apache

sudo apt install apache2 -y

Чтобы установить mariaDB

sudo apt-get install mariadb-server

Это все расширения Python, которые нам понадобятся

pip3 установить mysql-connector-python

pip3 установить flask-socketio pip3 установить flask-cors pip3 установить gevent pip3 установить gevent-websocket pip3 установить netifaces

Для OLED-дисплея нам потребуется немного более сложный процесс настройки, который можно найти здесь.

Хорошо, пи все готово!

Шаг 2: понимание того, как будет работать установка

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

Чтобы выбрать это положение, вам нужно будет переместить лебедку к ним, как только вы окажетесь там, вы измените определенный канал на значение 56. Когда этот точный канал достигнет этого значения, он будет знать, что это его конечное начальное / конечное положение., если ему нужно переместиться вверх или вниз, или если ему нужно изменить свои значения Artnet. Перемещение лебедки также осуществляется путем установки определенного канала на 56. «И почему 56», я слышал, вы задаетесь вопросом, ну, я должен был что-то выбрать:).

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

Шаг 3: бэкэнд Pi

Бэкэнд Пи
Бэкэнд Пи

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

Код запускает флеш-сервер, который взаимодействует с сервером apache, работающим на пи. Он использует модуль flask-socketio для отправки и получения данных во внешний интерфейс. Библиотека art-net использует модуль сокетов из Python для отправки пакетов UDP на Arduino и обратно.

Каждый метод, который начинается с @ socketio.on ('F2B _ ***'), ожидает вызова F2B от внешнего интерфейса. Как только он будет получен, он выполнит соответствующее действие. Будь то отправка коммандос artnet или получение данных из БД и отправка их обратно на передний план.

Метод oled_show_info () используется для отображения IP-адреса IP-адреса (как для интерфейсов wlan, так и для Ethernet).

так что просто запустите код с

python3 app.py

Шаг 4: внешний вид Pi

Внешний вид Pi
Внешний вид Pi

Чтобы иметь возможность редактировать интерфейс pi, вам сначала нужно получить доступ к каталогу / var / www / html /. Здесь apache получает файлы для отображения на своем веб-сайте. Чтобы получить доступ, выполните:

sudo chmod 777 / var / www / html /

Теперь все готово, получите код интерфейса моего github и поместите его в каталог / var / www / html /.

Интерфейс использует тот же принцип, что и серверный, но теперь он отправляет команды F2B _ *** при нажатии кнопки или перемещении ползунка.

И вот интерфейс готов!

Шаг 5: Arduino

Ардуино
Ардуино
Ардуино
Ардуино
Ардуино
Ардуино

Для использования Arduino вам необходимо использовать сетевой экран и моторный щит. Просто аккуратно вставьте их в Arduino. Убедитесь, что вы не прижимаете экран двигателя слишком далеко к экрану Ethernet, иначе вы закоротите 2 контакта двигателя на соединении Ethernet!

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

Убедитесь, что вы правильно определили контакты для правильных контактов вашего двигателя. Штифты моторного щита выбираются так, чтобы штыри жатки находились наверху щита. Эти контакты выбираются в // --- конфигурации двигателя. Aswel как контакты энкодера, которые необходимо подключить к правильным контактам Arduino.

Также убедитесь, что ваш MAC-адрес экрана правильный. Его можно найти на наклейке под экраном и отредактировать в переменной MAC. IP, который вы используете для pi, должен быть в том же диапазоне, что и PI, обычно его можно найти на oled-экране.

Код выглядит многословно, но его не так сложно понять. Обычно экран Ethernet постоянно считывает входящие пакеты udp. Если этот пакет является пакетом Artnet, он декодирует его и получает от него необходимую информацию. Различные пакеты artnet хорошо описаны на веб-сайте Art-Net, поэтому, если вам интересно, вы можете прочитать, что они все делают.

Если он получит пакет ArtPoll, он ответит ArtPollReply. это используется в функции выноски в серверной части, чтобы определить, какие устройства находятся в сети.

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

Функция move_takel преобразует заданное значение DMX (от 0 до 255) в положение между начальной и конечной позицией (0 - конец, а 255 - начало). Если положение энкодера не соответствует преобразованному значению, лебедка будет двигаться вверх / вниз в зависимости от того, где вы находитесь.

Я работал над обратной связью между PI и arduino, чтобы он мог идти в ногу со своей позицией, но хорошо, что моему arduino не хватило памяти для хранения программы:).

Монтаж всего

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

Шаг 6: соединяем все

После того, как arduino и pi настроены, просто подключите оба кабеля Ethernet к коммутатору, и все готово!

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

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

Убедитесь, что ваш контроллер также подключен к щиту и его IP-адрес находится в диапазоне от PI и Arduino.

Вот и все!

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