ProjetAutomatisme

De troyesGEII
Aller à : navigation, rechercher

Partie 1 : Phase d'étude

Cahier des charges

L'objectif de ce projet est de décentraliser un automate industriel à l'aide de cartes électroniques ainsi qu'une gestion à distance avec une interface homme-machine. Afin d'effectuer un tour avec des étapes sur des postes permettant certaines opérations tout cela à l'aide de distributeurs et actionneurs.

Fonctionnement du système

  1. Gestion générale
    Le convoyeur est géré par un seul et même automate regroupant les entrées ainsi que les sorties.Ce convoyeur possède 3 postes manuels ainsi que 3 postes gérés par l'automate. Notre travail se concentre donc sur les 3 postes automatisés.
    Chaque poste est composé d'un tapis qui est régit par différents capteurs inductifs TOR capteur Tout Ou Rien.
    • Le premier type de capteur est utiliser pour identifier la palette pour analyser le type de pièce envoyé sur le convoyeur pour effectuer la bonne modification.
    • Le deuxième type de capteur est le capteur de bourrage ; il permet en cas de surcharge trop importante sur le convoyeur de ne pas envoyer la pièce tant que le convoyeur n’est pas libéré.
    Le convoyeur dispose également d'actionneurs et de cran d'arrêt permettant d'arrêter la palette.
  2. Étude du fonctionnement
    Nous avons fait un grafcet du convoyeur pour détailler son fonctionnement.
    default


Fonctionnement d'un relais

Le Relais est une sorte d'interrupteur à deux positions : "NO" Normally Open et "NC" Normally Closed, pour l'utilisation de ce dernier nous avons utilisé un transistor qui permet de changer l'état du relais sur commande, et en sortie il y'a les actionneurs des tapis du convoyeur qui font tourner le circuit.

Un Schéma du fonctionnement du relais :

Partie 2 : Création des cartes et programmation

Trois cartes de bases ont été conçues pour ce projet : L'idée de base était de créer plusieurs Shield pour la NanoPi afin de superposer nos différentes cartes, cependant il était difficile à réaliser vu la distance qui séparait les différents branchements des cartes NanoPis, nous avons donc préféré d'associer une carte avec une NanoPi afin d'éviter le problème de grands fils.

La Carte Capteurs :

La Carte capteur a été faire sur Eagle de la façon suivante : Fichier:Carte capteurs.sch Je n'ai pas joint la version du routage à cause d'une erreur de routage par rapport au MCP23008 et à la NanoPi, c'est à dire qu'il faut " s'imaginer la façon dont on placerait la NanoPi sur la carte fabriquée, pour que le routage corresponde au placement.

NanoPiSurCarte.jpg

La carte capteurs peut contenir jusqu'à 8 capteurs de branchés grâce au MCP23008, sur le convoyeur elles doivent permettent de détecter des pièces et d'activer les différents actionneurs et relais. Cela permet de maintenir une automatisation du système qu'on peut contrôler grâce au protocole réseau MQTT. Exemple : une pièce arrive, un des capteurs détectent Après de multiples essaies et de connaissances acquises sur plaques à essai, je décide de reproduire le même type de fonctionnement sur Eagle c'est-à-dire que j'ai mis 9 borniers d'alimentation j'en ai mis 4 de chaque côté + 1 en haut qui correspond à l'alimentation en +24 des capteurs. Il faut faire attention pusique chaque optocoupleur permet d'isoler chaque partie pour éviter de griller une NanoPi ou un capteur donc vu qu'il y'a du 3,3V et du 24V il y'a 2 masses sur le schéma et routage cela est différencié entre GND et AGND. La solution pour les connecteurs et de prendre 8 connecteurs molex de 3 et 1 connecteur molex de 2

Faire attention aux tailles des pistes selon si c'est l'alimentation ou non.


Antoine BARBIER












La Carte des Relais : https://www.dropbox.com/sh/d9unfax7ycnr9uh/AABrn3GFD3SWyF3gVlGpBquaa?dl=0 Voici le lien permettant de télécharger le schéma ainsi que le routage eagle. Cette carte permet de contrôler les 3 relais du convoyeur à l'aide d'information qu'elle prend sur un réseau (superposé à une carte NanoPi)



La Carte des Actionneurs :

Réalisée sur Eagle, elle permet de contrôler jusqu'à 8 actionneurs grâce au module MCP230008 et à la NanoPi, elle est composée d'une batterie de résistance de tirage, de transistors et de diodes de roue libre. Lors de la conception de cette carte nous pensions que tous les actionneurs étaient reliés à la masse or la plupart ont le +24V pour commun, il faut donc la coupler avec une série de relais permettant d'ajuster ce problème et de contrôler les actionneurs à notre guise. Fichier:Distributeur Routage.brd Fichier:Distributeur Schéma.sch

Configuration de Node-RED et de la NanoPI

Avant de lire téléchargez d'abord ces fichiers, ce sont des photos ou screens concernant le projet et ses étapes spécifiques. Vous pourrez les regarder selon l'étape à laquelle vous êtes https://mega.nz/file/AOp2RaDD

clé : q23HsjgqWhluuLY0qVCZlZDdyQfCgO-NHRg35XE_mxY


Allez chercher une NanoPi au magasin (avec son chargeur...) et branchez là aussi avec un câble Ethernet.

Comme vous pouvez le voir, c'est la carte numéro 8 cela a toute son importance.

NanoPi8.jpg


Maintenant lancez un terminal de commande (linux uniquement) connectez la carte au réseau internet Node-RED local au GEII. en tapant ssh root@10.98.9.x x = le numéro de la carte NanoPi correspondant + 49 donc pour l'exemple cela est ssh root@10.98.9.57. Faites entrée, puis tapez Yes

Terminal01.png















Maintenant rendez-vous sur Node-RED en tapant dans la barre du navigateur l'IP correspondante à votre carte en ajoutant le port 1880, ici dans notre exemple 10.98.9.57:1880 Prenez sur l'onglet de gauche "l'objet" MQQT Out et renommez-le comme vous le voulez,cela sera votre topic pour l'exemple on va l'appeler tuto1 voici un exemple minim'.

ExempleNodeRed.jpg








Essayez de brancher un bouton sur une broche de la NanoPi puis une LED sur une autre pour tester le réseau MQTT avec Node-RED en vous aidant du PinOut.

Pinout01.jpg






Donc pour l'exemple, et pour que vous puissiez comprendre, on va essayer d'allumer ou éteindre une LED avec un bouton (""n'oubliez pas la résistance de tirage de 10k"") mais qui sont branchés sur des broches (GPIO) différents. donc :

      PG6 / Bouton (IN) ---> MQTT ""tuto1" (OUT) 
      MQTT (IN) ""tuto1" ---> PA11 / Led (IN) 

Donc là le processus se fait en deux fois. Dès que vous appuyez sur votre bouton qui est relié à la broche PG6 cela envoie l'info' sur le protocole réseau MQTT (donc là en sortie) puis la deuxième partie (le réseau MQTT en entrée) envoie l'info à la LED de s'allumer ou de s'éteindre. Si ça fonctionne vous pourrez faire ça à grande échelle avec des capteurs ou des relais et avec le MCP23008.




Antoine BARBIER

Configuration et fonctionnement du MCP23008

Le MCP23008 est un micro-contrôleur comportant 8 sorties de GP0 à GP7, il fonctionne grâce à une configuration d'adresse choisi arbitrairement. Pour comprendre son fonctionnement, allez chercher une plaque à essais, une Nano Pi (et son chargeur...), et bien-sûr pleins de fils mâle-mâle et mâle-femelle. Voici un schéma simplifié montrant le branchement à effectuer.

Mcp23008.png











J'ai testé le fonctionnement du composant ainsi : VDD branché au 3,3V et VSS au GND. Pour tester, mettez les 3 adresses A0 A1 A2 au GND, puis reliez les SDA et SCL du MCP à ceux de la NanoPi avec une résistance de tirage de 10K chacune.

Branchement du MCP23008.png
MCP-Labdec.jpg













































Faites des essaies de détection des ports i2c, Lancez un terminal de commande et tapez la commande suivante : i2cdetect -y 0 Dès que le MCP23008 est connecté (marqué connected avec un point vert contrairement à la photo ci contre) configurez les adresses en décochant toutes les adresses si toutes mises à la masse

NodeRed03.png

Pour faire des testes avec des LED prenez 2x le bouton inject en haut à gauche comme sur la photo, paramétrez le en fonction si c'est un allumage ou un arrêt (1 ou 0) et en sortie mettre un debug suivant là ou vous aurez branché votre sortie sur le MCP23008 (voir photo datasheet plus haut)

Attention!! Sur Node-RED le GPIO est décalé de 1 par rapport à votre configuration donc prenez en connaissance.


Antoine BARBIER














Branchement d'un capteur

Les capteurs utilisés dans le convoyeur sont en PNP de la marque ""Contrinex DW-Ax-70x-M8". https://www.contrinex.cn/wp-content/uploads/ctx_products/datasheets/DW-Ax-70x-M8.pdf Voici la datasheet si vous voulez essayer d'apprendre le branchement sur plaque à essais et de se servir des outils avec le MCP23008 et NodeRed.

Voici le Schéma correspondant :

SchemaCapteurs.jpg

Il faut aller chercher une alim' 24V, des connecteurs Wago, des fils mâles-mâles, mâles-femelles au magasin et prenez connaissance du schéma ci-contre puis de la datasheet et testez votre capteur avec Node-RED et le MCP230008.

Faites attention de ne pas brancher le capteur en court-circuit avec sa rallonge le fil vert est celui des données (celui qu'on relie au MCP23008 ou NanoPi selon vos tests) le fil blanc est le + et le fil marron est le - voir photo schéma capteur avec optocoupleur dans le fichier à télécharger plus haut.



Antoine BARBIER


Branchement d'un Actionneur

Les Actionneurs sont pour la plupart de simples vérins à deux positions. Leur configuration est détaillé dans le classeur d'ancien élèves qui ont travaillés sur la machine que nous n'avons malheureusement pas conserver. Pour résumer simplement l'actionneur est relié d'un côté à la masse et de l'autre au +24V. La plupart des actionneurs utilisés sont reliés au +24V mais le premier que nous ayons testé avait pour commun la masse, c'est l'électrovanne d'air général. Elle alimente le système en air comprimé afin de faire fonctionner tous les vérins. Il a dnc suffit d'aller trouver ses deux extrémités afin de les remplacer par des fils directement reliés à notre carte électronique. Une fois cela fait, nous pouvions à l'aide d'un générateur et de Node-RED contrôler cette arrivée d'air.

Pour les autres actionneurs, nous avons comme précédemment dit, fait une erreur en pensant que comme l'électrovanne ils étaient tous reliés à la masse du système. Pour palier à ce problème nous avons utilisé une série de relais, qui elle est reliée au +24V et permet de changer l'état de l'actionneur depuis la carte électronique, après un test rapide lors de la dernière séance il s'est avéré positif car le vérin testé changeait bien de position une fois l'air général distribué dans le système.

Partie 3 : Programmation

Pour la partie programmation j’ai codé une interface graphique permettant de contrôler le convoyeur, le programme est disponible en lien téléchargeable à utiliser sur QT : https://www.dropbox.com/s/qe5fkng60u5s9f5/COnvoyeur-20200328T191142Z-001.zip?dl=0 Le programme sert à envoyer des valeurs pour forcer ou non les différents relais à fonctionner.








Conclusion

Carte capteurs : Pour vérifier son fonctionnement j'ai dû brancher la NanoPi dessus car son alimentation fait fonctionner le MCP23008 et à partir de là je peux vérifier si ça fonctionne ou non. Ce n'était pas le cas puisque comme je l'ai dis plus haut : la carte a été mal routée car mal imaginée sur son support donc les pistes du MCP23008 vers les connecteurs NanoPi sont faux et pour y remédier j'ai dû  :

couper les pistes avec un cuter, puis ressouder avec des fils aux bons endroits après avoir vu le bon "positionnement". Sauf que cela a été très difficile de ressouder proprement.

La carte servait plus de test que de réel solution. J'ai dû refaire mes soudures pour définir les adresses du MCP23008 puis, tester sur arduino si il détectait bien l'adresse

Top dépannage02.jpg




Il détectait une adresse sauf que réellement cela ne fonctionnait toujours pas. La solution idéale aurait été de refaire un routage en corrigeant les erreurs et en faisant attention à la fabrication.

I2Cdepannage01.jpg



.

Antoine BARBIER

État du travail

En ce qui concerne l'état du projet en lui même c'est-à-dire le convoyeur qui doit être automatisé grâce à nos cartes et au réseau MQTT n'est pas fini malheureusement et il reste pas mal de travail, déjà il faut refaire la carte capteurs correctement en corrigeant les erreurs (décrites au début) et retrouver dans les armoires en dessous des tapis les fils correspondant aux actionneurs afin de tout refaire proprement. On aurait sûrement dû prendre plus confiance en nous afin d’accélérer nos différents travaux qui amènent petit à petit à la finalisation du projet.


Antoine BARBIER