Tabla de contenido:

Cabrestante controlado por Art-Net: 6 pasos
Cabrestante controlado por Art-Net: 6 pasos

Video: Cabrestante controlado por Art-Net: 6 pasos

Video: Cabrestante controlado por Art-Net: 6 pasos
Video: Tracing distribuido con .NET 6 2024, Noviembre
Anonim
Cabrestante controlado por Art-Net
Cabrestante controlado por Art-Net

Hola a todos, en este instructivo voy a explicar cómo creé mi cabrestante controlado por art-net. "¿Tu que?" Te escucho preguntar, bueno, déjame explicarte muy rápido. Hace unos años hicimos una fiesta con la casa juvenil local, y como escenografía tuvimos la idea de hacer un techo móvil.

Con 9 winches (takels) levantamos una tela blanca gigante y mediante el protocolo dmx los controlamos. Pero en ese momento, los cabrestantes que usamos estaban controlados por 3phase. Entonces, para hacerlo subir y bajar, tuvimos que crear un sistema de relés controlado por un mega Arduino central que se controlaba mediante dmx. El relé donde se conmutan voltajes de 230V y 12 amperios.

Para decirlo en términos más comprensibles, tuvimos que crear un lío gigante de cables y relés que era súper inestable, poco confiable y bastante peligroso en realidad.

Así que pensamos para nosotros mismos que tiene que haber una mejor manera de hacer esto. Empezamos a pensar y llegamos a la conclusión de que la mejor forma de hacerlo sería mediante un sistema modular de winches, controlados sobre el protocolo Art-Net por lo que solo necesitaríamos una fuente de voltaje y un cable ethernet.

Así que eso es exactamente lo que creé e intentaré explicarte cómo lo hice. Toda la configuración se basa en una frambuesa pi que controla el proceso de configuración. Una vez configurada, el control está cediendo a una computadora liviana (Chamsys, etc.) que controlará los cabrestantes a partir de ahí.

Supongo que tiene conocimientos básicos de python, arduino y raspberry pi aswel, ya que comprende algo sobre el protocolo y los controladores art-net.

Suministros

Lo que necesitarás:

  • Frambuesa pi
  • Arduino
  • Escudo Ethernet Arduino
  • Escudo del motor Arduino
  • Cualquier pantalla OLED
  • Cable de ethernet
  • interruptor de Eternet
  • Motor de CC con codificador incorporado

Paso 1: Configurar la Raspberry Pi

De acuerdo, la forma en que esto funcionará es que la raspberry pi ejecutará un servidor Apache y MariaDB. El servidor apache es para alojar el sitio web, el MariaDB es para mantener una base de datos donde almacenaremos los datos de los winches.

No lo guiaré a través de todo el proceso de configuración de pi con ssh, si no está familiarizado, aquí hay un buen tutorial.

Entonces, primero nos aseguraremos de que la Raspberry Pi esté configurada, en su terminal, ejecute:

Para instalar apache

sudo apt install apache2 -y

Para instalar mariaDB

sudo apt-get install mariadb-server

Estas son todas las extensiones de Python que necesitaremos

pip3 instalar mysql-connector-python

pip3 instalar flask-socketio pip3 instalar flask-cors pip3 instalar gevent pip3 instalar gevent-websocket pip3 instalar netifaces

Para la pantalla OLED, necesitamos un proceso de configuración un poco más difícil que se puede encontrar aquí.

Ok, ese es el pi todo hecho!

Paso 2: comprender cómo funcionará la configuración

Entonces, la forma en que desea configurar el cabrestante es dándole una posición inicial y una posición final. Se le asignará un canal determinado y con este canal solo podrá moverse entre la estadística elegida y la posición final.

Para seleccionar estas posiciones, deberá mover el cabrestante hacia ellas, una vez que esté allí, girará un cierto canal al valor de 56. Cuando este canal exacto alcance ese valor, sabrá que esta es su posición final de inicio / fin., si necesita moverse hacia arriba o hacia abajo o si necesita cambiar sus valores artnet. Mover el cabrestante también se hace estableciendo un determinado canal en 56. "Y por qué 56", escuché que te preguntas, bueno, tuve que elegir algo:).

La posición se calcula a través del codificador que está en el motor de CC.

Paso 3: backend del Pi

Backend del Pi
Backend del Pi

El backend del sistema se puede encontrar en mi github. He escrito mi propia biblioteca para el protocolo art-net, así que siéntase libre de usarla. No lo guiaré a través de todo línea por línea, pero le daré una idea general de todo.

El código ejecuta un servidor de matraces que se comunica con el servidor apache que se ejecuta en pi. Utiliza el módulo flask-socketio para enviar y recibir datos a la interfaz. La biblioteca art-net utiliza el módulo socket de python para enviar paquetes UDP desde y hacia el arduino.

Cada método que comienza con @ socketio.on ('F2B _ ***') está esperando una llamada F2B desde la interfaz. Una vez recibido, ejecutará la acción correspondiente. Ya sea enviando un comando artnet o obteniendo datos de la base de datos y enviándolos al frente.

El método oled_show_info () se usa para mostrar la ip de la ip (tanto en las interfaces wlan como ethernet).

así que ejecuta el código con

python3 app.py

Paso 4: Frontend de la Pi

Frontend del Pi
Frontend del Pi

Para poder editar la interfaz de pi, primero deberá acceder al directorio / var / www / html /. Aquí es donde apache obtiene sus archivos para mostrarlos en su sitio web. Para obtener acceso ejecutar:

sudo chmod 777 / var / www / html /

Ahora que todo está hecho, obtenga el código para la interfaz de mi github y colóquelo en el directorio / var / www / html /.

El frontend utiliza el mismo principio que el backend, pero ahora envía los comandos F2B _ *** cuando se presiona un botón o se mueve el control deslizante.

¡Y esa es la interfaz lista!

Paso 5: el Arduino

El arduino
El arduino
El arduino
El arduino
El arduino
El arduino

Para usar el arduino, necesitará usar el escudo ethernet y el escudo del motor. Simplemente empújelos suavemente sobre el arduino. ¡Asegúrese de no empujar demasiado el blindaje del motor sobre el blindaje ethernet o provocará un cortocircuito en los 2 pines del motor en la conexión ethernet!

El código para arduino también se puede encontrar en mi github. Sube el archivo artnet_winch.ino y todo debería estar bien.

Asegúrese de definir los pines correctos para los pines correctos de su motor. Los pines del escudo del motor se eligen con los pines del cabezal en la parte superior del escudo. Estos pines se eligen en la configuración del motor // ---. Al igual que los pines del codificador que deben conectarse a los pines derechos del arduino.

También asegúrese de que su dirección MAC del escudo sea correcta. Esto se puede encontrar en una etiqueta debajo del escudo y se puede editar en la variable MAC. La IP que usa para el pi debe estar en el mismo rango que el PI, esto normalmente se puede encontrar en la pantalla oled.

El código parece demasiado pero no es tan difícil de entender. Básicamente, el escudo ethernet lee constantemente los paquetes udp que ingresan. Si ese paquete es un paquete Artnet, lo decodifica y obtiene la información que necesita. Los diferentes paquetes de artnet están bien descritos en el sitio web de Art-Net, por lo que si estás interesado, puedes leer lo que hacen todos.

Si recibe un paquete ArtPoll, responderá con un ArtPollReply. esto se usa en la función de llamada en el backend para encontrar qué dispositivos están en la red.

Si recibe un paquete ArtDMX, decodificará el paquete y usará los datos proporcionados para ejecutar ciertos comandos de configuración o mover el cabrestante a su posición.

La función move_takel transforma el valor DMX dado (entre 0-255) en una posición entre la posición inicial y final (0 es el final y 255 el comienzo). Si la posición del codificador no es igual al valor transformado, el cabrestante se moverá hacia arriba o hacia abajo dependiendo de dónde se encuentre.

Estaba trabajando en un ciclo de retroalimentación entre el PI y arduino para que pudiera mantenerse al día con su posición, pero bueno, mi arduino se quedó sin memoria para almacenar el programa:).

Montarlo todo

Para su montaje até el motor a un soporte metálico y puse encima una especie de tubo. Luego, simplemente colocó un cable en el tubo y usó un rollo de cinta adhesiva como peso. Esto es muy básico y puedes ser muy creativo en la forma en que quieras montarlo.

Paso 6: conectándolo todo

Una vez que el arduino y el pi estén todos configurados, simplemente conecte ambos cables ethernet en su conmutador y eso debería ser todo.

Puede probarlo navegando a la ip wlan proporcionada en la pantalla oled y debería ver el sitio. Presione buscar dispositivos para ver si puede encontrar el dispositivo. Si no muestra nada, entonces su arduino no está bien conectado o la IP que ha elegido no está en el mismo rango que la del PI.

Una vez que vea el dispositivo, simplemente presione configuración. En el menú de configuración, puede mover el cabrestante usando las flechas y probar si sus posiciones inicial y final son correctas con el control deslizante.

Asegúrese de que su controlador también esté conectado al escudo y que su IP esté dentro del rango del PI y arduino.

¡Eso es todo!

Recomendado: