Publié le 12 novembre 2017 - par

UniPi : un automate industriel avec le Raspberry Pi

UniPi est une entreprise Tchèque, installée à Brno. Elle propose toute une gamme d’automates programmables pilotés par un Raspberry Pi. Je vous propose de découvrir ces produits à partir des informations fournies par l’entreprise, et d’autre glanées sur le site Unipi.

Unipi : Une gamme d’automates industriels à base de Raspberry Pi

INTRODUCTION

UniPi Neuron est une gamme modulaire d’Automates Programmables (PLC=Programmable Logic Controller) conçue pour être utilisée comme système de contrôle, de régulation et de surveillance dans les « bâtiments intelligents », de systèmes CVC (chauffage, ventilation, climatisation) et d’automatisation industrielle. Grâce à son architecture modulaire et à son design compact, le Neuron représente une solution très flexible et abordable pour l’expansion rapide de la technologie intelligente. Les clients peuvent également utiliser le Neuron pour une gestion intelligente de l’énergie afin d’obtenir une meilleure efficacité énergétique et de réduire les dépenses.

Neuron est utilisable pour

  • la domotique intelligente
  • les entreprises de construction
  • les installations électriques
  • la gestion de l’énergie
  • automatisation HVAC (Heating, Ventilation and Air-Conditioning = Chauffage, ventilation et climatisation)
  • le contrôle à distance et SCADA (Supervisory Control And Data Aquisition = contrôle de supervision et d’acquisition de données)
  • les entreprises fournissant des services BMS (Building management system)
  • l’automatisation de serres et de systèmes agricoles
  • les geeks et amateurs de DYI
  • l’industrie des boissons
  • les data-centers
  • la surveillance industrielle
  • les petits projets industriels
  • etc.

La gamme Neuron est conçue pour s’adapter à pratiquement tous les projets d’automatisation. Cela en fait un choix intéressant pour un large éventail de technologies.

Matériel

Chaque modèle de Neuron est divisé en un à trois groupes d’entrée-sortie (E/S). En fonction du modèle, chacun contient un groupe de modules d’E/S et/ou de communication. Chaque carte d’E/S est commandée par son propre processeur STM32, qui contrôle les entrées et les sorties et communique avec l’unité centrale (CPU).

Les processeurs utilisent un firmware propre à UniPi contenant les fonctions d’E/S de base, mais aussi des fonctions et fonctionnalités supplémentaires.

Les modules d’E/S de chaque groupe sont bien repérées, pour minimiser le risque d’erreur de connexion. Il existe12 modèles de Neuron, qui peuvent être équipés avec

  • jusqu’à 64 entrées numériques
  • jusqu’à 4 sorties numériques
  • jusqu’à 56 sorties relais
  • jusqu’à 9 entrées analogiques
  • jusqu’à 9 sorties analogiques
  • jusqu’à 3 ports de bus universel RS485
  • diverses combinaisons de ce qui précède

L’ordinateur monocarte (SBC = Single Board Computer) Raspberry Pi est utilisé comme CPU de toutes les unités Neuron,. Chaque processeur de groupe d’E/S est connecté à la carte CPU et à un canal de communication central pour tous les processeurs du groupe. Il n’y a pas de communication entre les groupes d’E/S.

Chaque processeur peut également fonctionner indépendamment sur son propre CPU, permettant aux utilisateurs de conserver le contrôle de base des modules d’E/S en cas de dysfonctionnement de l’unité centrale ou de problème logiciel.

L’image suivante montre les entrées, les sorties et l’étiquetage de groupe sur l’unité Neuron L40x

Groupe 1 Groupe 2 Groupe 3

Modularité

Grâce à leur conception modulaire, les cartes d’E/S sont entièrement interchangeables, ce qui permet au client de choisir parmi les combinaisons de modules d’E/S par défaut ou de créer une architecture personnalisée en fonction de besoins spécifiques. Neuron peut ainsi être personnalisé pour répondre aux besoins des clients sans avoir besoin de développer au préalable un matériel adapté.

Interface de Communication

1-Wire

En standard, toutes les unités Neuron sont équipées d’interfaces de communication RS485-Modbus et 1-Wire. Le 1-Wire à basse vitesse est utilisée pour la collecte passive de données à partir de divers capteurs reliés à l’automate, comme des thermomètres, des hygromètres et d’autres appareils de mesure. Le bus de données à faible débit 1-Wire permet de connecter jusqu’à 15 appareils avec des adresses hardware uniques pour chaque canal.

Capteur 1-Wire

Les modules 1-Wire disponibles :

  • U1WTVS – mesure de la température, de l’humidité et de l’intensité lumineuse
  • U1WTVD – mesure de température et d’humidité + une entrée numérique
  • U1WTS – mesure de la température et de l’intensité lumineuse
  • U1WTD – mesure de la température + une entrée numérique
  • U1WTA – mesure de la température + une entrée analogique
  • U1WTL – mesure de la température + rétro-éclairage LED – couleur bleu, blanc,

Modbus

Modbus est un protocole de communication utilisant le bus série RS485. Il sert d’interface pour la connexion et la programmation de dispositifs partageant un protocole donné. En standard, toutes les unités Neuron sont équipées d’un bus RS485 – à l’exception de la ligne Neuron 500 avec jusqu’à 3 ports de bus RS485. Ces unités peuvent ensuite être connectées à des dispositifs utilisant jusqu’à trois protocoles de communication.

Entrées et sorties

Selon le modèle, les groupes d’E/S peuvent être équipés de modules numériques, analogiques et / ou relais, ou d’une combinaison de tous types. Chaque type a ses propres caractéristiques et utilisations spécifiques.

Les entrées numériques sont conçues pour la lecture de valeurs binaires (0/1, marche / arrêt, ouvert / fermé, etc.) et conviennent donc pour connecter des interrupteurs, des détecteurs de mouvement, des serrures magnétiques de porte ou de fenêtre, etc.

Les sorties numériques peuvent être utilisées pour contrôler les dispositifs d’état binaires, comme les commandes d’éclairage, le contrôle des volets de fenêtre, l’ouverture de porte à distance, etc.

Les entrées analogiques sont utilisées pour recevoir des signaux de tension comprise entre 0 et 10 V ou de courant entre  0 et 20 mA. Elles peuvent aussi être utilisées pour lire des données provenant de capteurs tels que des thermomètres à résistance (thermistance). L’utilisateur peut ajuster le mode d’entrée via le logiciel de contrôle.

Les sorties analogiques sont utilisées pour commander des appareils externes comme des vannes à trois voies ou des échangeurs de chaleur via une tension 0-10 V ou un courant 0-20 mA. Les sorties analogiques permettent la régulation du courant ou de la tension – Les entrées du groupe 1 peuvent également être utilisées en combinaison avec des capteurs thermiques à résistance.

Les sorties relais sont conçues pour commuter des dispositifs à deux états via une tension alternative ou continue. Les relais peuvent être utilisés pour commander des chaudières, des chauffe-eau, des moteurs électriques ou d’autres relais plus puissants. Les relais de l’unité Neuron sont conçus pour un courant maximum de 5 A et une tension continue de 250 V en alternatif ou  30 V en continu.

Modules d’extension

En plus de la gamme des automates Neuron, Unipi propose également une gamme de modules d’extension Neuron XS. Ces modules sont basés sur l’unité de base Neuron S103, mais le Raspberry Pi est remplacé par un groupe d’E/S supplémentaire, adapté aumodèle particulier.

La ligne XS représente un moyen simple et bon marché d’étendre le système en ajoutant plus d’entrées et de sorties sans avoir besoin d’acheter plus d’unités. Les modules d’extension sont connectés via un bus universel RS485 et peuvent être utilisés en combinaison non seulement avec Neuron, mais aussi avec n’importe quel autre automate dans le cas où d’autres fabricants ne fourniraient pas leurs propres extensions natives ou que leur achat soit trop élevé.

Selon le modèle choisi, les modules d’extension peuvent fournir à l’utilisateur

  • jusqu’à 24 entrées numériques supplémentaires
  • jusqu’à 14 sorties relaxantes
  • jusqu’à 4 entrées analogiques
  • jusqu’à 4 sorties analogiques

Logiciel

 

Le logiciel Neuron a été conçu pour être aussi ouvert que possible. Les clients ne sont donc pas limités à une seule solution logicielle et peuvent choisir parmi une variété de plates-formes natives, commerciales ou open-source pour le contrôle, la régulation et la configuration d’API.

Le logiciel de base fourni est le système d’exploitation Linux avec une interface de communication Modbus utilisant le protocole TCP – les deux peuvent être téléchargés librement sur notre site Web. Cette solution de base est conçue pour la mise en œuvre d’applications utilisateur simples et prend en charge l’accès à distance avec l’exécution du logiciel sur l’unité elle-même. La combinaison des deux méthodes fournit au client les avantages d’un système distribué.

Plateformes logicielles natives

Les principales plates-formes logicielles utilisées sont Mervis et EVOK.

La plate-forme Mervis est une collection d’outils et d’applications pour le contrôle et la régulation avancés. Outre le logiciel de contrôle, une application de développement et une interface graphique conviviale sont également fournies, ainsi qu’une interface SCADA pour le contrôle et la surveillance à distance. La plate-forme a été développée conformément à la norme IEC 66131-3 pour les logiciels d’automates. Mervis nécessite une licence, en vente 39€ dans la boutique UniPi.

EVOK est le nom de l’interface de programmation d’application (API) open-source, conçue principalement pour l’accès à distance des unités PLC d’UniPi. C’est un logiciel simple à utiliser permettant un accès facile au matériel sans nécessiter de programmation complexe. EVOK utilise six méthodes (ou protocoles) unifiés, grâce auxquels l’utilisateur n’a pas à écrire son propre code. Cela signifie que tout langage de programmation peut être utilisé. Ces méthodes sont:

  • Formulaires Web REST
  • Bulk JSON
  • REST JSON
  • SOAP
  • JSON-RPC
  • WebSocket

Ces protocoles couvrent la plupart des appareils et logiciels existants, ce qui fait d’EVOK un logiciel très flexible agissant comme une couche entre l’appareil ou le logiciel lui-même et la page web EVOK, contenant l’interface de contrôle. Le logiciel résultant est suffisamment facile à utiliser pour que même des débutants puissent l’utiliser. Il est téléchargeable gratuitement sur https://github.com/UniPiTechnology/evok.

Pour Mervis et EVOK, UniPi fournit un support technique complet.

Logiciel commercial

La plus importante plate-forme software commerciale est CoDeSys qui est conforme à la norme IEC 61131-3, et conçue pour être utilisée dans des projets d’automatisation industrielle modernes.

Le logiciel REX peut servir d’alternative en fournissant un ensemble d’outils et d’applications pour les projets d’automatisation. Il permet une programmation aisée de l’API via une interface graphique complète. La programmation graphique est également utilisée par la plate-forme Wyliodrin, qui permet à l’utilisateur d’utiliser un simple glisser-déposer pour créer rapidement un code de contrôle pour différentes fonctions de base telles que la commutation des lumières, le contrôle des capteurs de mouvement, etc.

HomeSeer HS3 est quant à lui un logiciel de base pour contrôler l’allumage de lampes, les thermostats, les serrures de porte et bien d’autres.

Le support des plate-formes commerciales est fourni par les développeurs respectifs des plate-formes.

Plates-formes open-source

Comme UniPi insiste sur l’ouverture de son système, ses produits peuvent utiliser un large éventail de plates-formes open-source. Actuellement, il est possible d’utiliser les plateformes suivantes

  • Jeedom
  • FHEM
  • PiDome
  • Pimatic
  • Domoticz
  • DomotiGa
  • Node-RED

Parmi ces choix il faut retenir Node-RED avec son interface web qui permet une connexion facile de matériel, d’API et de services en ligne grâce à un éditeur graphique complet. LE code s’écrit par simple déplacement de blocs en un clic de souris.

La plate-forme FHEM offre un large support de divers protocoles et est particulièrement adaptée pour combiner des systèmes filaires et sans fil.

La plate-forme DomotiGa fournit à l’utilisateur une interface de développement pour créer des applications smarthome basées sur le système d’exploitation Linux.

Le support des plate-formes Open Source est fourni par les développeurs respectifs.

Fonctionnalité

Les modules d’entrée et de sortie numériques du Neuron disposent d’un ensemble de fonctions permettant à l’utilisateur de personnaliser les fonctionnalités de l’unité.

Les entrées numériques contiennent les fonctions Debounce, Counter et DirectSwitch.

Debounce compense automatiquement les fluctuations de signal grâce à un intervalle de contrôle mesuré en millisecondes. L’impulsion est alors évaluée comme valide seulement si elle dure pendant un intervalle de temps donné. De ce fait, le Debounce peut empêcher les détections multiples d’une seule impulsion. Un réglage Debounce correct est essentiel pour qu’une entrée numérique fonctionne bien.

La fonction Compteur compte les impulsions reçues par l’entrée numérique et se réinitialise lorsqu’une valeur maxi prédéfinie est atteinte. Avec cette fonction, l’entrée numérique peut être utilisée pour lire les données collectées par les débitmètres numériques, les thermomètres et autres appareils de mesure numériques.

DirectSwitch est un groupe de fonctions des sorties numériques, permettant la réaction rapide de la sortie à un changement d’état d’entrée, qui est traité par un processeur local d’un groupe d’E/S donné, en contournant la communication avec le CPU. En conséquence, l’appareil peut fonctionner avec une très faible latence. DirectSwitch est un bon choix pour le contrôle de commutation ou d’autres applications critiques. Les modules d’extension Neuron XS sont également équipés de la fonctionnalité DirectSwitch.

Les sorties numériques prennent également en charge la modulation de largeur d’impulsion (PWM) pour la transmission de signaux analogiques avec deux niveaux.

Autres fonctions

MasterWatchdog surveille la communication entre l’UC et le processeur local. Si aucun échange n’a lieu dans un délai prédéfini, MasterWatchdog réinitialise automatiquement le périphérique et les modules d’E/S avec les paramètres par défaut.

Save default settings permet à chaque processeur d’enregistrer sa configuration par défaut. Cette configuration est ensuite chargée après le redémarrage de chaque périphérique, soit par un redémarrage manuel, soit après une coupure de courant.

Restart offre à l’utilisateur la possibilité de déclencher un redémarrage de tout groupe d’E/S et sa réinitialisation aux paramètres par défaut.

Tous les modèles Neuron sont également équipés de quatre diodes LED personnalisables. Celles-ci sont étiquetées X1 à X4 et peuvent être utilisés comme indicateur d’état personnalisé.

Assurance qualité

Pendant tout le processus de développement et d’assemblage, UniPi met fortement l’accent sur la qualité et la fiabilité de tous ses produits. Tous les composants sont fabriqués en République tchèque par des fabricants éprouvés. Chaque carte électronique est également marquée d’un code QR unique, ce qui permet la traçabilité de chaque composant individuel en cas de panne ou de problème de fiabilité.

Chaque carte subit de multiples tests avant l’assemblage final :

  • Téléchargement du firmware
  • Calibrage d’E/S
  • Test d’E/S
  • Assemblage de plusieurs modules

Sur le produit final, chaque composant peut être tracé, y compris pour l’information indiquant quelle personne était responsable des tests et de l’étalonnage.

Support aux développeurs

UniPi.technology soutient les startups, les petits projets et les développeurs débutants. Pour cette raison, ils offrent une option pour créer une variante OEM personnalisée du Neuron pour des lots de plus de 20 unités. Le client peut non seulement réaliser sa propre conception graphique, mais également commander une architecture d’E/S personnalisée en fonction de ses besoins. Pour les grandes entreprises, un développement sur mesure est envisageable à partir de 200 unités.

Conclusion

J’ai publié plusieurs articles avant celui-ci, concernant l’utilisation du Raspberry Pi dans le monde industriel.
Chacun de ces articles a déclenché de vives discussions entre automaticiens « classiques » et « modernes ». Les uns ne jurent que par la fiabilité et la sécurité apportée par les Automates Programmables, les autres mettent en avant les fonctions avancées disponibles avec les nouvelles technologies. Il en sera sans doute de même pour celui-ci 🙂

Avec cette gamme d’automates à base de Raspberry Pi 3, UniPi fait un pas de plus vers l’utilisation de la framboise dans le monde industriel.

Merci à Eric qui m’a signalé cette gamme d’automates.

Sources

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

25 réflexions au sujet de « UniPi : un automate industriel avec le Raspberry Pi »

  1. Charles

    Bonjour,
    Pensez-vous qu’il serait possible de brancher directement des fil pilote (venant de radiateurs), et ainsi se passer pas un réseau z-wave (émetteurs Qubino + carte d’extension razberry) ?
    Merci

    Répondre
    1. jc

      ça doit être possible en utilisant les sorties relais, elles semblent être à potentiel libre.

      Il faudra sans doute utiliser une ou plusieurs sorties pour gérer les différents ordres, en jouant avec un diode .. (comme c’est normalement le cas avec les modules Zwave il me semble).

      Répondre
  2. Erwann

    Merci François pour cette information.
    Cela va être très pratique pour réaliser des formations à l’automatisme (IT for non-IT people) ; je sais ce que je vais faire entre Noël et Nouvel An …
    Avec des retombées utiles pour ma maison …

    Répondre
  3. Yann

    Nouvelle très « instructive » dans mon cas, merci François.
    Bon allez, petite coquille « comémo » en conclusion : Chacun de ces articles a déclenché de « vices » discussions…/…
    😉
    Salutations,

    Yann

    Répondre
  4. Joël

    Bonsoir françois,
    J’ai cherché il y à quelques temps quels étaient les automates programmables à base de Framboise, et en plus de la société Unipi j’ai trouvé aussi :
    – Pixtend (www.pixtend;de) : Automate et cartes d’entrées/sorties d’extension.
    – Sferalabs (www.sferalabs.cc) : propose plusieurs modèles :
    – Strato Pi : automate
    – Strato Pi Touch : automate avec écran tactile
    – Iono Pi : automate (à noter l’existence d’un Iono Arduino)

    Merci pour vos articles toujours intéressants.
    Cordialement.
    Cordialement

    Répondre
  5. Frarier

    bonjour ! je travaille sur une Raspberry pi 3 model b1v1.2 j’ai pour objectif de faire fonctionner les relais en I2C à partir d’un script python . Je ne sais pas comment faire je trouve les explication fournis par le fabriquant vraiment peu claire… Quelqu’un aurait il un script python permettant d’ouvrir et de fermer les relais… merci

    Répondre
        1. Frarier

          Bonjour,
          au cour de mes recherche j’ai atterrie sur cette page oui, mais je ne sais pas quelle script choisir… Je ne sais pas non plus quoi installer pour qu’il fonctionne.

          Répondre
        2. Frarier

          J’ai utilisé le script « unipig.py General sync (update) commit to v.2.0.8″
          mais il me renvoie l’erreur:
           » Traceback (most recent call last):
          File « test.py », line 10, in
          import config
          ImportError: No module named config »

          Répondre
          1. François MOCQ Auteur de l’article

            je n’ai pas d’unipi pour les tests mais la doc indique que les relais sont connectés au MCP23008 qui est à l’adresse 0x20 sur le bus I2C, il faudrait essayer de piloter directement les sorties de ce CI

            Répondre
            1. Frarier

              bonjour,
              J’ai essayé d’utiliser le MCP23008 sans me soucier du UniPi, j’ai exploré beaucoup de piste et testé beaucoup de script.
              mais les script sont vieux et les bibliothèques ne sont plus à jour… par exemple, je n’ai pas réussi à faire fonctionner la bibliothèque adafruit MCP2300xx.
              je n’ai pas encore compris comment utiliser github (beaucoup trop de version de script et de document, je me perd, je ne sais pas quoi télécharger) .
              Je cherche comment configurer mon Raspberry pour qu’il envoie une information d’ouverture et de fermeture à mon relais.
              Quelqu’un à t’il déjà utilisé ce module, ou au moins un module relais fonctionnent en I2C ? merci pour les précédente réponse.

              Répondre
              1. François MOCQ Auteur de l’article

                bonjour
                n’ayant pas cette carte pour faire les tests et ne sachant pas ce que vous avez fait/testé… c’est difficile de vous aiguiller. Avez vous contacté Unipi ?
                quoi qu’il en soit si vous vous lancez dans ce genre de produit il faut savoir un minimum programmer en python et gérer les biblis.

                Répondre
  6. el khiari hassan

    Bonjour,

    s’il vous plais, j’ai besoin d’un rapport pour la conception et programmation d’une respberry pi 4 pour un système d’irrigation automatisés à base d’un logiciel Proview Open Sorce

    C’est  urgent et merci d’avance.

     

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.