Système automatisé : Robot UR3, API Siemens et caméra Cognex

L’objectif du projet était de réaliser une maquette de démonstration mettant en scène un traitement de pièces avec un convoyeur, une caméra Cognex et un Robot UR.

Le cahier des charges que nous avions établi était le suivant :

  • Réaliser un schéma de câblage du convoyeur
  • Refaire le câblage du convoyeur
  • Faire fonctionner le convoyeur
  • Refaire le câblage pneumatique
  • Faire communiquer le Robot UR, la caméra COGNEX et l’automate Siemens
  • Réaliser un programme de traitement des pièces avec le Robot UR
  • Réaliser un programme de traitement des pièces avec la caméra COGNEX
  • Faire un programme de traitement des pièces avec la CPU Siemens S7-1200

Pour répondre à ce cahier des charges, nous avons réalisé les tâches suivantes :

  • Programme Cognex
    • Organigramme
    • Communication entre les appareils
    • Programme Robot UR
    • Planification
    • Câblage pneumatique
    • Schématisation
    • Câblage électrique
    • Câblage pneumatique
    • Boitier de contrôle
    • Programme automate

Les équipements qui équipent le système sont les suivants :

  • CPU Siemens S7-1200 DC/DC/DC
  • Robot UR3
  • Caméra Cognex Insight 2000
  • Variateur Télémécanique ALTIVAR 11 0.18kW
  • Disjoncteur Merlin Gerin DT40 4A Courbe C
  • Disjoncteur Merlin Gerin DT40N 1A Courbe D
  • Alimentation 230VAC/24VDC Télémécanique ABL 7RM2401
  • Contacteur 24V Télémécanique LP1K0610BD

La communication se fait via un switch qu’il faut relier au réseau pour programmer l’automate ou se connecter à la caméra via l’application InSight Explorer.

Les équipements de la maquette représenté en figure 1 sont commandés par l’automate qui reçoit des informations des capteurs, de la caméra Cognex et qui envoie un ordre de marche au Robot UR.

Les capteurs détectent les pièces à trois niveaux et donnent les ordres suivants :

  • Présence pièce au départ => démarrage du tapis + action vérin au départ
  • Présence pièce à la caméra => lancement d’une acquisition
  • Présence pièce bonne avant le vérin => éjection de la pièce

Le scénario de la maquette est la suivante :

  1. Une pièce est introduite sur le tapis par un vérin pneumatique.
  2. La caméra Cognex prend un cliché de la pièce pour vérifier si elle est « bonne » ou « mauvaise ».
  3. Si la pièce est « bonne », elle continue sur le tapis et est éjecté par un vérin.
  4. Si la pièce est « mauvaise », le tapis s’arrête et le Robot UR prend la pièce sur le tapis.
Figure 1 : Convoyeur en configuration de marche

Commande système

Après avoir branché le convoyeur et le Robot UR, le système est commandé via une boite à bouton représenté sur la figure 2.

Figure 2 : Boite à bouton pour la commande du système

Programme automate

Le programme automate représenté ci-dessous est chargé dans la CPU Siemens et se met en route dès la mise sous tension du système.

Schéma de câblage

Le Folio 01 du schéma électrique ci-dessous représente le câblage de la partie puissance de la maquette et le folio 02 le câblage des E/S de l’automate.

Programme Caméra

Quand le capteur détecte une pièce, la caméra se déclenche et prend une photo. Pour que la caméra Cognex puisse reconnaitre les pièces bonnes ou mauvaises le principe est assez simple avec le modèle Insight 2000. En effet, il suffit d’utiliser la fonction model sur l’interface Insight, puis choisir la région de la pièce ainsi que le modèle. Le logiciel détectera automatiquement les détails sur la pièce, il faudra alors définir dans quel cas la pièce est bonne ou mauvaise (1 ou 0).

Programme robot

Pour commencer il nous fallait un signal de départ on a donc réfléchi à plusieurs solution modbus… Et on c’est alors rabattu sur un contact mouillé avec sa propre tension. Je m’explique le robot lancera sa boucle seulement si il reçoit du 24v à ses borne qui sera commander depuis un contact de l’automate Siemens. Pour continuer le scénario marche à l’aide d’une synchronisation entre la caméra et le temps de déclenchement qui donne une position approximative au robot. Il faut donc bien le positionner par rapport au repère du banc. On pourra imaginer par la suite que la position soit envoyer depuis la caméra. Le robot reçois le top départ seulement si la pièce est mauvaise il la prends et la dépose dans le bac. La pince marche en tcp nommée rg2 avec une prise directement sur le bras. On a un point d’initiation et à chaque fois une appro avant la prise et la dépose de pièce.

Programmes complets ici