WACAM-N - Caméra embarquée dans un wagon

Le wagon caméra échelle N (WACAM-N) est bâti sur un châssis de wagon tombereau et positionné en tête de convoi afin d’offrir la vision du conducteur du train. Les images captées sont accessibles via un serveur de streaming embarqué dans un microcontrôleur ESP32-CAM. La connexion à ce serveur s’effectue en temps réel par le réseau WIFI.

Les avantages de ce montage sont multiples :

  • vidéo temps réel : le flux vidéo est disponible immédiatement et diffusé en direct ;
    • durée d’utilisation illimitée : l’alimentation électrique est réalisée par les rails du réseau (pas de batterie) ;

    • aucune contrainte de connexion filaire : la récupération du flux vidéo est effectuée par le réseau WIFI, la restitution des images peut être réalisée dans un large périmètre autour du réseau ferré ;

    • facilité d’emploi : un simple navigateur internet (Firefox par exemple) sur un ordinateur distant permet de visualiser les images envoyées par WACAM-N.

    Caractéristiques

    • taille du montage : Longueur 67mm x largeur 16mm x hauteur 27mm ;
    • hauteur finale du wagon : 40mm (identique à une locomotive électrique ayant son pantographe déployé) ;
    • alimentation d’entrée 7 à 20V continus ou alternatifs (alimentation rails) ;
    • serveur WEB et serveur de streaming intégrés (une seule connexion) ;
    • connexion automatique au réseau WIFI ;
    • éclairage commutable depuis le serveur WEB ;
    • consommation au repos : 130mA ;
    • consommation en émission streaming (client connecté au serveur Web ou streaming) : 210mA ;
    • consommation en émission streaming avec éclairage (2 LEDs intensité 100%) : 250mA.

        Maturité : 100%

        État d'avancement du projet

        Évolutions

        Version 2.0 (11/2022)

        Le montage respecte ses promesses. Le signal est stable et aucune micro-coupure ne vient perturber la vidéo en temps réel. Les premiers tests d'endurance sont concluants et aucun échauffement anormal n'apparaît après 2 heures de fonctionnement continu. 

        Les condensateurs au tantale ajoutés dans cette nouvelle version, jouent parfaitement leur rôle de stabilisation de l'alimentation pour un faible encombrement tout en affichant un produit capacité-tension élevé. Ils sont réputés pour leur grande fiabilité.

        Version 2.0 beta (11/2022)

        De nouveaux tests réalisés à partir du PCB de la version 1, confirment l'hypothèse de devoir "gonfler" l'accumulation de courant pour absorber les micro-coupures.

        Version 1.0 (11/2022)

        Toutes les hypothèses de conception ont été validées fonctionnellement par la réalisation de ce premier montage. Le serveur de streaming est opérationnel.

        Certains ajustements sont malgré tout indispensables :

        • modifier l'implantation du régulateur 5V sur le PCB de la carte châssis (légèrement incliné en raison du positionnement des composants de la carte serveur) ;
        • revoir les valeurs des condensateurs car leur pouvoir absorbant des micro-coupures est limité. En effet, le montage consommant plus de 200mA lors de l'émission du flux vidéo, il est nécessaire d'emmagasiner plus de courant pour être moins sensible aux coupures ;
        • répartir plus uniformément les composants dans cet espace restreint afin de mieux équilibrer le wagon.

        Version 0.5 (10/2022)

        Le montage a été réalisé sur une planche à pain (breadboard) afin de vérifier rapidement le fonctionnement général du projet. Ce type de réalisation permet également de mettre au point et valider la partie logicielle du microcontrôleur.

        Version 2.0

        On distingue de gauche à droite sur le châssis du tombereau : les LEDs d'éclairage, l'ESP32-CAM, le condensateur principal et le régulateur 5V.

        Version 2.0

        Vue face avant du wagon. L'antenne externe est positionnée au-dessus du montage.

        Version 1.0

        Version 0.5

        Schémas électronique

        Le montage électronique se décompose en trois parties (de haut en bas) :

        • la carte châssis ;
        • la carte serveur ;
        • la carte éclairage.

        Le cœur de ce montage est un microcontrôleur ESP32-CAM qui est un concentré de technologies. Tous les composants qui gravitent autour n'ont qu'un seul objectif : fournir une alimentation 5V stable sans aucune interruption. Cette tension permet l'alimentation de l'ESP32-CAM et des deux leds d'éclairage WS2812B.

        Matériel nécessaire

        Description Quantité Référence Url de recherche
        Wagon tombereau 1 Fleischmann
        FL8205
        Pack de captage de l’alimentation des rails et deux essieux isolés par moitier 1 Fleischmann
        FL9461
        Antenne 5dBi 2400MHz 1
        Condensateur polarisé électrolytique 5600µF 25V (diamètre 16 et hauteur 27 mm maxi) 1 C1
        Condensateur polarisé CMS tantale 1000µF 1 C2
        Condensateur polarisé CMS tantale 220µF 1 C3
        Condensateur polarisé CMS polymère 220µF 2 C6, C7
        Condensateur polarisé CMS polymère 100µF 1 C8
        Condensateurs 10nF 1 C5
        Condensateurs 100nF 3 C4, C9, C10
        Led CMS WS2812B 2 WS2812B
        Objectif caméra grand angle OV2640 1
        ESP32-CAM avec sa carte de développement 1
        Pont redresseur à diodes DB107 1 BR1
        Mini régulateur 5V (format TO220) 1 U1
        Pin socket droit 24 J3, J5, J7, ESP32-CAM
        Pin header coudé 8 J4, J6, J8

        Fonctionnement

        Le courant capté des rails est redressé par un pont de diode (BR1). Un super-condensateur permet un stockage de courant afin de supporter les micros-coupures induites par le frottement des roues sur les rails. Un régulateur miniature haute performance (U1) permet ensuite de fournir une tension d'alimentation régulée à 5V (1A maxi). Tous les condensateurs placés en parallèle sur cette alimentation permettent de lisser la tension tout en absorbant les interférences et les microcoupures liées aux secousses du wagon sur les rails.

        L'ESP32-CAM pilote la mise sous tension des deux leds WS2812B par la broche IO13 via un serveur web connecté au réseau WIFI.

        Circuits imprimés

        Le montage est composé de trois circuits imprimés :

        • le plus petit PCB (carte éclairage) correspond à la face avant supportant l'objectif de la caméra et les deux LEDs d'éclairage ;
        • le PCB moyen (carte châssis) correspondant à la largeur du châssis du wagon (d'où son nom), sera fixé directement sur celui-ci ;
        • le dernier PCB, le plus grand (carte serveur), accueille la presque totalité des condensateurs ainsi que l'ESP32-CAM.

        Les interconnexions entre les PCB sont réalisées par des broches pin socket et pin header.

        Cuivre

        face dessus

        Le trou percé au centre du PCB de gauche permet d'accueillir l'objectif de la caméra.

        Cuivre

        face dessous

        Les deux LEDs WS2812B sont soudées de ce côté  (D1 et D2 sur le PCB de droite)

        Schéma d'implantation

        des composants

        Le fichier compressé ci-dessous, contient :

        • tous les fichiers de descriptions du montage au format gerber (extension gbr) ;
        • le fichier de perçage (extension drl).

        Cette archive peut être directement utilisée si vous commandez la réalisation des circuits imprimés à un prestataire (voir le tutoriel Faire réaliser son PCB).

        PCB Wagon CAM V 2 0
        Archive – 85,1 KB

        Implantation de l'ESP32-CAM

        Deux rangées de huit pin socket sont soudées sur le PCB pour accueillir l'ESP32-CAM.

        Mise en place des composants

        L'ordre d'implantation est toujours le même. On commence par le plus petit composant et on termine par le plus grand :

        • commencez par les condensateurs tantale C2 et C3 (attention à respecter le sens des connexions) ;
        • les quatre condensateurs non polarisés (C4, C5, C9 et C10) ;
        • les trois autres condensateurs polymère (C6, C7 et C8) ;
        • le pont de diodes ;
        • toutes les broches header et socket (insérez les broches dans l'ESP32 et soudez les pins sur le PCB avec le microcontrôleur déjà en place. Cette astuce permet de positionner correctement tous les composants et ne pas avoir besoin de les tordre par la suite) ;
        • le régulateur 5V ;
        • les LEDs WS2812B ;
        • pour finir par le condensateur électrolytique C1 (là aussi, connectez tous les PCB entre eux avant de mettre en place ce dernier composant afin d'obtenir le meilleur ajustement sans contrainte mécanique).

        Les trois circuits imprimés sont maintenant prêts à être interconnectés. Les deux LEDs WS2812B sont soudées sur la face opposée du PCB "éclairage".

        On peut observer particulièrement sur cette photo :

        • tous les condensateurs CMS implantés sous l'emplacement de l'ESP32-CAM qui est surélevé par des pin socket ;
        • le condensateur électrolytique principal implanté sur le circuit imprimé fixé au châssis ;
        • les points de connexions à chaque extrémité entre la carte châssis et la carte serveur permettant une meilleure tenue mécanique de l'ensemble.

        Une fois les trois circuits imprimés interconnectés, il est nécessaire de limer toutes les soudures trop volumineuses. Les points de soudures sous la carte châssis doivent particulièrement être réduits afin de pouvoir positionner le circuit imprimé au plus proche du châssis du wagon. Tous les points de soudures au dos de la carte serveur doivent également être réduits afin de pouvoir insérer tout le montage dans le boîtier final.

        Attention si vous utilisez une dremel à ne pas toucher le PCB ce qui risquerait de couper une piste du circuit imprimé...

        Opérations de montage

        Préparation du châssis

        • Démonter le wagon tombereau : retirer les essieux d’origines et la caisse fixée sur le châssis. L'avantage d'utiliser un wagon Fleischmann (FL8205) réside dans le maintien de l’attelage qui n'est pas dépendant du châssis comme le wagon NITRIX ci-contre.

        • Dans le châssis dénudé, percer un trou central diamètre 5 mm et un trou de passage de connexion diamètre 2 mm de chaque côté (sur l'axe de la largeur, entre le bord du wagon et le bord du trou central). Vous pouvez utiliser le circuit imprimé qui sera positionné sur le châssis du wagon, comme guide de perçage.

        • Soudez un fil sur chaque connexion du système de captage du courant.

        • Insérez le système de captage de l’alimentation des rails dans le châssis et coupez la partie des tiges de contacts dépassant de chaque axe d’essieux (garder une marge de deux millimètres de dépassement).

        • Installez les essieux fournis dans le pack de captage (essieux isolés par moitié).

        • Soudez les composants sur les trois circuits imprimés en suivant le plan d’implantation des composants (cf. mise en place des composants).

        • Solidarisez le circuit imprimé avec le châssis du wagon à l’aide de 2 vis M2 et soudez les deux fils d’alimentation sur le circuit imprimé en J1 et J2.

        Préparation de l'ESP32-CAM

        • Modifiez la position de la résistance de sélection d’antenne sur la carte du microcontrôleur (voir la fiche synthétique de l'ESP32-CAM) afin de pouvoir utiliser une antenne extérieure plus performante.

        • Branchez l’antenne sur la prise de l’ESP32-CAM. Le raccordement s'effectue par une simple pression. Attention à rester dans l'axe lors de la pression sur la prise.

        • Extraire la caméra d’origine pour la remplacer par la référence OV2640 grand angle. Utilisez une pince brucelles coudée positionnée de chaque côté de la nappe pour soulever délicatement l’attache du connecteur.

        • Branchez l’ESP32-CAM sur son module de programmation et connectez le à l’ordinateur par la prise USB.

        Programmation de l'ESP32-CAM

        • Installez si nécessaire le gestionnaire de carte "ESP32" dans l'IDE Arduino.
        • Vérifiez la bonne sélection du type de carte correspondant à l'ESP32-CAM : "AI Thinker ESP32-CAM"
        • Chargez le programme ci-dessous dans l’IDE Arduino et vérifiez l'installation des bibliothèques spécifiques déclarées au début (esp_camera.h, WiFi.h, esp_timer.h, img_converters.h, Arduino.h, fb_gfx.h, soc/soc.h, soc/rtc_cntl_reg.h, esp_http_server.h, Adafruit_NeoPixel.h). En lançant une compilation, vous serez très vite fixé...

        • Modifiez les lignes 13 et 14 afin de renseigner le nom de votre réseau WIFI ainsi que le mot de passe associé pour s'y connecter.
        • Affichez la console série juste après avoir téléversé le programme et notez l’adresse IP attribuée au serveur lors de sa connexion au réseau WIFI (attribution automatique de l’adresse IP via le protocole DHCP installé nativement sur votre borne WIFI).

        • A cette étape, il est déjà possible de vérifier le bon fonctionnement du serveur embarqué avant sa mise en place définitive dans le wagon. L'alimentation du module étant réalisée par la prise USB, vous pouvez vous connecter au flux vidéo (rubrique suivante) et vérifier l'émission du streaming.
        • Retirez l’ESP32-CAM de son support de programmation et connectez-le sur le montage final.

        Connexion au flux vidéo

        • positionnez le wagon sur les rails et alimentez le réseau ferré ;
        • depuis un ordinateur connecté au même réseau WIFI que WACAM-N, tapez l’adresse de connexion du serveur dans le navigateur :

          • exemple de connexion au serveur web : http://192.168.1.17,

          • exemple de connexion au serveur de streaming : http://192.168.1.17:81/stream ;

        • cliquez sur le bouton "Éclairage" dans l'interface du navigateur pour commander alternativement l'allumage et l'extinction des leds.

        Tests réalisés sur le réseau de mise au point et vision caméra sans éclairage ambiant.

        Il ne reste plus qu'à atteler le wagon à une loco et faire le tour du propriétaire... Bon visionnage de votre réseau !

        Programme WACAM-N pour l'ESP32-CAM

        Après avoir téléchargé et extrait le fichier ino contenu dans l'archive ci-contre :

        1. ouvrez-le dans l'IDE Arduino ;
        2. branchez l'ESP32-CAM avec son module de programmation à un connecteur USB ;
        3. sélectionnez le type de carte : AI Thinker ESP32-CAM ;
        4. sélectionnez le port USB ;
        5. complétez les lignes 13 et 14 dans l'éditeur de l'IDE avec vos informations de connexion WIFI ;
        6. téléversez-le dans l'ESP32-CAM.
        Programme WACAM N V 2 0
        Archive – 3,2 KB

        Dans cette dernière évolution du logiciel, les deux LEDs sont allumées en vert lors de la mise sous tension. Ceci permet de vérifier visuellement le bon fonctionnement de l'ESP-32 CAM.

        Un boîtier imprimé en 3D pour une finition parfaite...

        Si vous ne disposez pas d'imprimante 3D, vous pouvez demander à une société spécialisée l'impression du boîtier pour moins de 2€ TTC. Il suffira de fournir le fichier stl contenu dans l'archive ci-contre.

        (voir le tutoriel Faire réaliser son impression 3D)

        Vous trouverez ci-dessous le fichier stl permettant d'imprimer le boîtier de finition avec une imprimante 3D. Il restera à le poncer et le peindre...

        Boitier WACAM N V 2 0
        Archive – 10,0 KB

        Pour aller plus loin...

        • En ne modifiant que le programme de l'ESP32-CAM, il est possible, très simplement, de proposer une interface permettant de faire varier l'intensité des LEDs, voire de proposer plusieurs couleurs d'éclairages.
        • En faisant évoluer le PCB de la carte éclairage, il est possible d'ajouter plusieurs LEDs (au moins 4) afin de disposer d'un éclairage plus puissant. La consommation en courant serait largement absorbée par le montage (4 LEDs consomment environ 80mA).
        • Cette caméra peut être installée sur un wagon à l'échelle HO en adaptant le système de captage du courant.

        Commentaires

        Il n'y a pas encore de commentaire.

        Ajouter un commentaire

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