Table des matières:

Treuil contrôlé par Art-Net : 6 étapes
Treuil contrôlé par Art-Net : 6 étapes

Vidéo: Treuil contrôlé par Art-Net : 6 étapes

Vidéo: Treuil contrôlé par Art-Net : 6 étapes
Vidéo: Je suis B0URRÉE ? 😱 2024, Novembre
Anonim
Treuil Contrôlé Art-Net
Treuil Contrôlé Art-Net

Bonjour à tous, dans cette instructable, je vais expliquer comment j'ai créé mon treuil contrôlé par art-net. "Ton quoi?" Je vous entends demander, laissez-moi vous expliquer très rapidement. Il y a quelques années, nous avons organisé une fête avec la maison des jeunes du quartier, et en tant que scénographie, nous avons eu l'idée de faire un toit mobile.

Avec 9 treuils (takels) nous avons soulevé un tissu blanc géant et à travers le protocole dmx nous les avons contrôlés. Mais à l'époque, les treuils que nous utilisions étaient contrôlés en 3 phases. Donc, pour le faire monter et descendre, nous avons dû créer un système de relais contrôlé par un méga Arduino central contrôlé à l'aide de dmx. Le relais où commutent des tensions de 230V et 12 ampères.

Pour le dire en termes plus compréhensibles, nous avons dû créer un énorme désordre de fils et de relais qui était super instable, peu fiable et assez dangereux en fait.

Nous nous sommes donc dit qu'il devait y avoir une meilleure façon de le faire. Nous avons commencé à réfléchir et sommes arrivés à la conclusion que la meilleure façon de le faire serait d'utiliser un système modulaire de treuils, contrôlés via le protocole Art-Net, de sorte que nous n'aurions besoin que d'une source de tension et d'un câble Ethernet.

C'est donc exactement ce que j'ai créé et je vais essayer de vous expliquer comment je l'ai fait. L'ensemble de la configuration repose sur un raspberry pi qui contrôle le processus de configuration. Une fois installé, le contrôle est confié à un ordinateur léger (Chamsys, etc.) qui contrôlera les treuils à partir de là.

Je suppose que vous avez des connaissances de base sur python, arduino et raspberry pi ainsi que sur le protocole et les contrôleurs art-net.

Fournitures

Ce dont vous aurez besoin:

  • Tarte aux framboises
  • Arduino
  • Blindage Ethernet Arduino
  • Bouclier moteur Arduino
  • Tout écran OLED
  • câble Ethernet
  • commutateur Ethernet
  • Moteur à courant continu avec encodeur intégré

Étape 1: Configuration du Raspberry Pi

Ok, donc la façon dont cela fonctionnera est que le raspberry pi exécutera un serveur Apache et MariaDB. Le serveur apache est d'héberger le site web, la MariaDB est de garder une base de données où nous stockerons les données des treuils.

Je ne vais pas vous expliquer tout le processus de configuration du pi avec ssh, si vous n'êtes pas familier, voici un bon tutoriel.

Donc, tout d'abord, nous allons nous assurer que le raspberry pi est configuré, dans votre terminal:

Pour installer Apache

sudo apt installer apache2 -y

Pour installer mariaDB

sudo apt-get install mariadb-server

Ce sont toutes les extensions python dont nous aurons besoin

pip3 installer mysql-connector-python

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

Pour l'écran oled, nous avons besoin d'un processus de configuration un peu plus difficile qui peut être trouvé ici.

Ok c'est le pi tout fait!

Étape 2: Comprendre le fonctionnement de la configuration

Donc, la façon dont vous voulez configurer le treuil est de lui donner une position de départ et une position de fin. Un certain canal lui sera assigné et avec ce canal, vous ne pourrez vous déplacer qu'entre la stat choisie et la position finale.

Pour sélectionner ces positions, vous devrez déplacer le treuil vers elles, une fois que vous y serez, vous tournerez un certain canal à la valeur de 56. Lorsque ce canal exact atteint cette valeur, il saura qu'il s'agit de sa position de début / fin de fin, s'il doit monter ou descendre ou s'il doit changer ses valeurs artnet. Le déplacement du treuil se fait également en réglant un certain canal sur 56. "Et pourquoi 56" je vous entends vous demander, eh bien, je devais choisir quelque chose:).

La position est calculée par l'encodeur qui se trouve sur le moteur à courant continu.

Étape 3: Backend du Pi

Arrière du Pi
Arrière du Pi

Le backend du système se trouve sur mon github. J'ai écrit ma propre bibliothèque pour le protocole art-net, alors n'hésitez pas à l'utiliser. Je ne vais pas vous expliquer tout ligne par ligne, mais je vais vous donner une idée globale de tout cela.

Le code exécute un serveur flask qui communique avec le serveur Apache exécuté sur le pi. Il utilise le module flask-socketio pour envoyer et recevoir des données au frontend. La bibliothèque art-net utilise le module socket de python pour envoyer des paquets UDP vers et depuis l'arduino.

Chaque méthode qui commence par @socketio.on('F2B_***') attend un appel F2B du frontend. Une fois reçu, il exécutera l'action correspondante. Qu'il s'agisse d'envoyer un commando artnet ou d'obtenir des données de la base de données et de les renvoyer au front.

La méthode oled_show_info() est utilisée pour afficher l'ip de l'ip (à la fois sur les interfaces wlan et ethernet).

alors exécutez simplement le code avec

python3 app.py

Étape 4: Frontend du Pi

Frontend du Pi
Frontend du Pi

Pour pouvoir éditer le frontend du pi, vous devez d'abord vous donner accès au répertoire /var/www/html/. C'est là qu'Apache récupère ses fichiers à afficher sur son site Web. Pour obtenir l'accès, exécutez:

sudo chmod 777 /var/www/html/

Maintenant que tout est fait, récupérez le code pour le frontend de mon github et placez-le dans le répertoire /var/www/html/.

Le frontend utilise le même principe que le backend mais maintenant il envoie les commandes F2B_*** lorsqu'un bouton est enfoncé ou que le curseur est déplacé.

Et voilà le frontend terminé !

Étape 5: L'Arduino

L'Arduino
L'Arduino
L'Arduino
L'Arduino
L'Arduino
L'Arduino

Pour utiliser l'arduino, vous devrez utiliser le blindage Ethernet et le blindage moteur. Il suffit de les pousser doucement sur l'arduino. Assurez-vous de ne pas pousser le blindage du moteur trop loin sur le blindage Ethernet ou vous risqueriez de court-circuiter les 2 broches du moteur sur la connexion Ethernet !

Le code de l'arduino peut également être trouvé sur mon github. Téléchargez le fichier artnet_winch.ino et tout devrait être bon.

Assurez-vous de définir les bonnes broches pour les bonnes broches de votre moteur. Les broches du blindage du moteur sont choisies avec les broches d'en-tête sur le dessus du blindage. Ces broches sont choisies dans le //--- motor config. Aswel que les broches de l'encodeur qui doivent être connectées aux bonnes broches de l'arduino.

Assurez-vous également que votre adresse MAC du shield est correcte. Cela peut être trouvé sur un autocollant sous le bouclier et édité dans la variable MAC. L'adresse IP que vous utilisez pour le pi doit être dans la même plage que le PI, cela peut normalement être trouvé sur l'écran oled.

Le code a l'air un peu lourd mais n'est pas si difficile à comprendre. Fondamentalement, le bouclier Ethernet lit constamment les paquets udp entrants. Si ce paquet est un paquet Artnet, il le décode et en obtient les informations dont il a besoin. Les différents paquets artnet sont bien décrits sur le site Web d'Art-Net, donc si vous êtes intéressé, vous pouvez lire ce qu'ils font tous.

S'il reçoit un paquet ArtPoll, il répondra avec un ArtPollReply. ceci est utilisé dans la fonction d'appel dans le backend pour trouver quels appareils sont sur le réseau.

S'il reçoit un paquet ArtDMX, il décodera le paquet et utilisera les données fournies pour exécuter certaines commandes de configuration ou déplacer le treuil en position.

La fonction move_takel transforme la valeur DMX donnée (entre 0 et 255) en une position entre les positions de début et de fin (0 étant la fin et 255 le début). Si la position de l'encodeur n'est pas égale à la valeur transformée, le treuil se déplacera vers le haut/bas selon l'endroit où vous vous trouvez.

Je travaillais sur une boucle de rétroaction entre le PI et l'arduino afin qu'il puisse suivre sa position, mais mon arduino a manqué de mémoire pour stocker le programme:).

Tout monter

Pour son montage j'ai attaché le moteur à un support en métal et mis une sorte de tube dessus. Ensuite, attachez simplement un cordon sur le tube et utilisez un rouleau de ruban adhésif comme poids. C'est très basique et vous pouvez être très créatif dans la façon dont vous voulez le monter.

Étape 6: Tout connecter

Une fois que l'arduino et le pi sont tous configurés, branchez simplement les deux câbles Ethernet dans votre commutateur et cela devrait être tout!

Vous pouvez le tester en surfant sur l'IP WLAN indiquée sur l'écran Oled et vous devriez voir le site. Appuyez sur rechercher des appareils pour voir si vous pouvez trouver l'appareil. S'il ne montre rien, c'est que votre arduino n'est pas bien connecté ou que l'IP que vous avez choisie n'est pas dans la même plage que celle du PI.

Une fois que vous voyez l'appareil, appuyez simplement sur la configuration. Dans le menu de configuration, vous pouvez déplacer le treuil à l'aide des flèches et tester si ses positions de début et de fin sont correctes avec le curseur.

Assurez-vous que votre contrôleur est également branché sur le shield et que son IP est à portée de celle du PI et de l'arduino.

C'est ça!

Conseillé: