Module Arduino de détection de court-circuit pour l’inversion automatique de phase


Mise à jour du 24.03.2024

Une nouvelle version V1.2a remplace la V1.2. Seul C1 en aval de l'octocoupleur a changé de valeur et de boitier. Les tests en conditions réelles ont mis en évidence des microcoupures sur l'alimentation de l'Arduino lors des courts-circuits à détecter sur la voie. L'augmentation de la capacité de C1 de 10uF à 470uF règle ce problème.

Dans le cadre de la réalisation de mon pont tournant DIY et l’exploitation du réseau se faisant en DCC, j’ai dû résoudre le problème de la gestion de la polarité lors des rotations du pont.

Avec l’objectif de réaliser un maximum de chose par moi-même et ne désirant pas acheter une carte dédiée prête à l’emploi ; j’ai entrepris quelques recherches sur le net. Je suis tombé sur une vidéo YouTube de « InvertLogic » présentant un montage à base d’Arduino Nano qui semblait correspondre à mes besoins. J’ai rapidement réalisé un prototype fonctionnel avec une breadboard ; malheureusement, ce n’était pas entièrement concluant ; la détection du court-circuit étant réalisé sur un seul rail. Dans le cadre de ma plaque tournante, dans certaines conditions et avec certaines machines cela ne fonctionnait pas.

À la suite de ce problème et en lisant les commentaires de la vidéo (j’aurais dû le faire avant), je me suis aperçu qu’un autre internaute avait déjà soulevé le problème et écrit un fork programme et du schéma. J’ai donc repris son travail et assemblé un deuxième prototype selon le principe décrit. Le résultat était cette fois parfaitement fonctionnel.

Pour disposer d’une carte « propre », et comme deux sont nécessaires pour mon réseau, j’ai donc entrepris de dessiner un PCB dédié. J’ai directement intégré sur la carte les deux circuits ACS712 qui réalisent la mesure du courant. J’ai également ajouté un octocoupleur et quelques condensateurs pour alimenter le montage directement avec le signal DCC et me passer d’alimentation externe.

Schéma de la carte

Le schéma de la carte

J’ai passé commande chez JLCPCB du PCB assemblé et je dispose désormais d’une carte un peu plus grande que l’Arduino Nano qui en constitue le chœur et qui répond parfaitement à mes besoins.

PCB sans Arduino

Le PCB sans l’Arduino Nano

J’ai également réécrit le programme pour plus de clarté. Le courant de basculement est réglable dans l’entête du programme, le montage devrait être donc également utilisable en HO (mais je n’ai pas testé ce cas de figure).

Pour un bon fonctionnement du montage, il est important de mesurer la tension d’alimentation de l’Arduino à ses bornes 2 (GND) et 4 (5V), de diviser cette tension par 1024 et de modifier la valeur correspondante dans l’entête du programme (c’est documenté dans le code).

J’ai également modélisé et imprimé en 3D un petit support pour fixer aisément le module sous le réseau.

À noter que ce montage convient aussi parfaitement pour une boucle de retournement. Toutes les sources matérielles et logicielles peuvent être téléchargées ici (zip 323 ko).

PCB sur support

Le PCB sur son support imprimé 3D

Suggestions de lecture :