Publié le 7 juillet 2017 - par

Portail automatique piloté par un Raspberry Pi

Frédéric a réalisé un portail automatique à base de Raspberry Pi. Il a souhaité faire profiter la communauté de sa réalisation que je vous présente donc ici…

Automatisme de portail à base de Raspberry Pi

Frédéric est un lecteur régulier de framboise314, passionné de longue date d’informatique. Il en a d’ailleurs fait son métier puisqu’il gère une entreprise d’informatique à Romans-sur-Isère : CAP INFORMATIQUE 26. Par ailleurs électronicien amateur, il avait déjà automatisé son portail précédemment avec une carte à base d’ATMEL.

« Il y a quelques années, j’ai réalisé un automatisme de portail roulant sur la base d’un microcontrôleur ATMEL. J’ai voulu le rendre ‘connecté’ pour le commander avec un smartphone et j’ai donc refait l’ensemble de l’électronique sur la base d’un Raspberry PI 3.« 

La motorisation du portail est logée sous une boîte en forme de maison…

Le prototype

 

Si vous débutez en électronique, ne soyez pas étonné(e) vous avez devant les yeux un prototype réalisé sur des breadboards (cartes prototypes). Cela permet de tester la faisabilité et le fonctionnement du montage avant de le finaliser et de fabriquer une carte plus « professionnelle » 🙂

Le schéma

Frédéric a mis ses schémas en ligne. S’ils sont un peu trop petits, cliquez simplement dessus pour les agrandir.

La carte de circuit imprimé (PCB)

A partir de son prototype, Frédéric a réalisé cette carte qui comporte un connecteur 40 points destiné à assurer la liaison avec le Raspberry Pi

Montage du Raspberry Pi

Le Raspberry Pi est monté sous la carte de commande. Celle-ci est protégée de la corrosion par un enduit.

Le boîtier de commande et les annexes

L’électronique est protégée par un boîtier étanche qui la protège des intempéries. Un détecteur infrarouge assure la sécurité, un clavier permet de commander le portail et l’antenne est fixée sur un pilier.

Vidéo

Il y a plusieurs vidéos disponibles sur le site de Frédéric. Je vous propose celle-ci qui montre le fonctionnement deu portail ainsi que différentes images de la réalisation.

Conclusion

L’ensemble du montage (schémas, circuit imprimé, programmes, configuration du Raspberry PI, photos, vidéos) et disponible sur le site de Frédéric :  http://www.frederic-robin.fr/schema-automatisme-portail-roulant-coulissant-rpi3.html

Si vous voulez découvrir tous les détails, mais alors vraiment TOUS les détails puisqu’il y a même le brochage des transistors utilisés 🙂 visitez la page de Frédéric !

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.

11 réflexions au sujet de « Portail automatique piloté par un Raspberry Pi »

  1. Dodutils

    J’ai une question sur cette sympathique réalisation : pourquoi être parti sur du RasPi (gros modèle en plus, même pas le RasPi Zero) et pas un petit ESP8266 (si besoin de communication WiFi) voir même un simple Arduino qui aurait fait l’affaire, beaucoup plus petit, bien moins cher et certainement plus fiable sur la durée (moins de composants, pas de SDCard…) ? était-ce pour la faire spécifiquement avec un Raspi 3, parce que là on a sorti un tank pour écraser une mouche j’ai l’impression 😉

    Répondre
    1. FRED

      Réponse de l’auteur:
      C’est bien dit vrai : autant prendre un tank écraser une mouche. En fait je suis électronicien amateur et donc pas un spécialiste de tous les modules Arduino (que ne m’amuserais surtout pas à critiquer) et j’ai trouvé sympa le Raspberry pour les raisons suivantes :
      – Pouvoir mettre à jour le programme sans devoir aller avec un PC portable devant le portail (sous la pluie, en plein soleil) pour flasher la puce. J’avais donné avec une version basée sur 8035 d’ATMEL (tiens ATMEL c’est dans l’Arduino çà ?). Maintenant c’est tranquille : depuis chez moi en wifi et une interface SSH ou des partages Windows.
      – Je cherchais un langage interprété, bien plus commode pour la mise au point du programme qu’un langage compilé comme le C. J’ai choisi Python et Python est disponible sur Raspbian. Arduino je ne sais pas.
      – Il me fallait interfacer un petit serveur Web pour commander le portail depuis un smartphone, si possible programmable en Python sans trop s’embêter. Sous Raspbian il y a Flask, Bottle, Carriguel… C’est Flask avec Bootstrap que j’ai retenu. Trouve-t-on la même chose dans le monde Arduino ?
      – La communauté, les librairies… tout un petit monde très actif autour du Raspberry. C’est sans doute pareil avec l’Arduino.

      Si quelqu’un veut basculer le projet sur un PI Zéro et refaire la carte électronique pour miniaturiser le tout, il peut compter sur mon aide. Je tends une perche…
      En fait ce qui m’a réellement manqué sur le Raspberry c’est des entrées analogiques intégrées. Pourvu que le PI4 en ai…

      Voilà j’espère avoir répondu à la question

      Répondre
      1. Dodutils

        Et bien justement j’ai une bonne nouvelle, chacun des arguments ayant dirigé ton choix vers le RasPi … a une réponse avec un ESP8266 (j’aime autant RasPi que ESP que Arduino, mais vu que je connais les 3 ça aide à faire le choix le plus adapté selon mes besoins).

        Donc pour chaque argument sa réponse :

        – Pouvoir mettre à jour sans relier au PC : possible avec l’ESP on peut le mettre son code à jour en OTA via son wifi intégré qui peut fonctionner en mode AP, et i l peut changer de mode en cours de route, par exemple démarrer en mode AP pour qu’on se connecte dessus et paramétrer par exemple sur quel réseau wifi il va se connecter au final un peu comme sur un module WiFi Extender, ou alors profiter le laisser 30 secondes dans ce mode pour y accéder et balancer une mise à jour (ou le laisser aller la chercher plus tard via le WiFi de la maison).

        – Langage interprété : l’ESP accepte le MicroPython et même du Basic avec ESPBasic ou B4X 🙂

        – Implémenter un petit serveur WEB : pas de problème non plus (si on s’en tient en effet à la notion de « petit serveur web » genre consulter quelques pages d’infos/stats ou de paramétrage, ou faire du MQTT par exemple (l’ESP est bien plus limité en mémoire et capacité de stockage qu’un RasPi mais tout de même bien plus qu’un Arduino s’il était interfacé WiFi).

        – Communauté : RasPi, ESP, Arduino elle sont toutes très larges pas de problème.

        – Analogique : l’Arduino est supérieur au RasPi et ESP8266 mais rien n’empêche de leur coller un Arduino et communiquer avec via le port série /UART. L’ESP8266 ne possède qu’un seul I/O Analogique, mais son grand frère l’ESP32 en possède à foison.

        Voilà, j’espère t’avoir donné envie de découvrir l’ESP qui est parfois le bon compromis entre le « gros RasPi » et le petit Arduino, c’est une merveille de miniaturisation (en plus sa puce WIFi a la patate niveau portée) son seul gros reproche serait de n’avoir qu’un seul port Analogique mais celui-ci est balayé par son grand frère l’ESP32 qui possède aussi des interfaces de communication bien remplies avec I2C, UART, CAN2.0, PWM, SPI, RMII (l’ESP8266 n’a pas CAN2.0 ni RMII).

        Et en parlant de langage interprété, B4X par exemple est un Basic multiplatforme qui permet de créer des programmes aussi bien pour iOS & Android en version payante, mais aussi Windows, Mac, RasPi, ESP, Arduino en version gratuite. Bien sûr chaque plateforme cible aura ses spécificités mais le langage central restera le même et son éditeur de type RAD et possède une interface visuelle façon VisualBasic pour créer les interfaces utilisateur ou WEB.

        Répondre
        1. FRED

          Ok merci pour toutes ces infos, c’est allèchant en effet. Mon prochain projet sera la gestion d’un arrosage automatique connecté. Commande la pompe, les électrovannes, capteur de pression, etc… J’étudierai alors sérieusement les ESP. Ce qui m’embête un peu c’est l’acquis que j’ai appris avec le Raspberry+Python+Flask+PiGPIO, etc… J’étais vraiment parti de zéro pour tout et il va falloir recommencer.

          A suivre dans deux ans… (le temps que m’a pris ce projet sur mes temps libres).

          PS : Seulement un seul port ADC ? c’est justement celui là qu’il me manquait !

          Répondre
          1. Dodutils

            De rien ravis d’avoir titillé ta curiosité, un seul port ADC sur ESP8266 oui et sur ESP32 beaucoup plus du coup ça remplace un Arduino tout en gardant l’aspect miniaturisé.

            Après c’est toujours pareil il faut jongler avec le temps donc si ça ne te dérange pas d’utiliser un « gros » RasPi pour tes projets parce que tu connais et qu’avec un peu d’astuce (ou de modules supplémentaires) tu peux faire ce dont tu as besoin « rapidement » c’est vrai que la tendance serait de continuer sur cette voie, un peu comme moi dans un autre domaine quand je dèv de l’EXE sous Windows, je suis encore sous Delphi (ou Lazarus si besoin de 64bits absolument) parce que je maîtrise et peux faire tout ce dont j’ai besoin sans avoir besoin de me mettre à un autre langage.

            Répondre
  2. msg

    Bonjour ,

    Cette installation me fait penser à celle d’un ami , qui avait trouvé le matériel dans une décharge .
    Il avait tout sauf les télécommandes , la carte électronique de gestion moteur était absente ou défectueuse , je ne sais plus.
    Il n’a pas eu à mettre une petite maison sur le boitier moteur , le sien était fermé . 😉

    Remarque sur l’installation :
    Il semble manquer le voyant clignotant piéton obligatoirement visible de l’intérieur et extérieur .
    Il doit s’activer quelques secondes avant que le portail ne se mette en mouvement .

    Accessoiement , certains portails ont même un éclairage fixe de zone (applique ou halogène) qui attire encore plus l’attention le jour et éclaire la nuit .
    Il s’active avant même le feux clignotant et reste allumé jusqu’à la fermeture totale voir quelques secondes au dela .

    Remarque sur le cablage :
    Les sécurités électriques (fin de courses et arrêt d’urgence) se font toujours sur contact NF (Normalement Fermé) afin que tout défaut soit immédiatement détecté par l’absence de signal électrique , en cas de panne , suite à un fil électrique sectionné dans un bornier , un contact électrique oxydé ou une défaillance du circuit d’alimentation .

    Le code binaire envoyé par les fin de courses est alors le suivant :
    11 = non ouvert , non fermé = entre ouvert
    10 = non ouvert , non (non fermé) = non ouvert , fermé
    01 = non (non ouvert) , non fermé = ouvert , non fermé
    00 = non (non ouvert) , non (non fermé) = ouvert et fermé => impossible car contradictoire .

    Le défaut de fin de course est alors détectable logiciellement quelque secondes après que le moteur se soit mis à tourner car le code binaire 11 n’arrive pas .
    Il faut alors éviter que le portail aille jusqu’au fin de course opposé sinon on tombe sur le code 00 .
    Le code 00 indique normalement une défaillance d’alimentation sur le circuit des sécurités .

    Le montage peut ainsi s’auto diagnostiquer en temps réel sans avoir à mettre des poussoirs test sur la carte électronique .

    Répondre
  3. FRED

    Réponse de l’auteur :
    Merci pour ces astuces de pro que j’ignorais. Il est trop tard pour moi mais les codes sources en Python fournis permettent aisément l’adaptation par ceux qui le désirent.
    Et pour info je suis bien comme ton ami : le bloc moteur c’est de la récup d’un automatisme qui avait mal supporté le passage d’un camion de trop près !!!

    Répondre
    1. msg

      Il n’est jamais trop tard pour bien faire .

      Il n’est pas bon de relier des capteurs directement au raspberry pi (ou autres circuits intégrés) lorsque les fils qui les relient sont long .
      Il y a risque potentiel de destruction à causes des ondes électromagnétiques environnantes .
      Les fils agissent comme des antennes , plus ils sont longs , plus ils sont parasités (Ex lignes ADSL) .

      Il faut isoler le cœur du système , des capteurs , soit par des optocoupleurs , soit par des mini relais .

      Répondre
      1. FRED

        Je comprends mieux pourquoi avec la version ‘ATMEL’ de cette réalisation on retrouvait parfois (mais rarement) le portail ouvert le matin… (50 m de câble réseau du portail vers le bouton d’ouverture de la maison)…. Avec la version Raspberry PI ce n’est plus le cas. Croisons les doigts…

        Répondre
        1. msg

          En plus , tu n’as rien à changer sur ta platine électronique .

          Là où tu as des longs fils sur tes entrées , il te suffit juste d’intercaler un relais commandé en 12 ou 24V entre ton entré RPi et le fin de course / signal distant .
          Le contact électrique du relais remplace ton bouton / fin de course sur ton schéma .
          Les parasites restent alors isolés côté bobine et ne peuvent pas l’actionner car trop faibles .

          SI tu préfère utiliser un optocoupleur , avec des résistances en série et de puissance adapté , utilise une commande en 12 ou 24V car les parasites n’atteignent pratiquement jamais ces valeurs .

          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.