Auteur Sujet: DCC : Détection par consommation avec des courants faibles  (Lu 75186 fois)

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
DCC : Détection par consommation avec des courants faibles
« le: janvier 19, 2024, 09:33:44 am »
Bonjour à tous,

J'avais rapidement testé les détecteurs par consommation de courant que nous avions réalisé à Locoduino à base de diodes et opto. Il m'a semblé que ceux ci-étaient incompatibles avec notre détection Railcom. Donc j'ai aussitôt abandonné pour aller vers des solution à effet Hall.

Je n'ai pas de certitude sur ce que j'avance et je n'ai malheureusement pas le temps de faire des tests. Cependant, si certains parmi vous ont besoin de cette réponse, CATPLUS est certainement en mesure de faire le test, il a tout sous la main.

Christophe
« Modifié: mars 23, 2024, 08:52:32 am par bobyAndCo »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #1 le: janvier 30, 2024, 04:16:15 pm »
Bonjour à tous,

J’aborde ici la question de l’occupation par un train de deux cantons au même moment. Ce point avait été abordé sur le forum il y a quelques semaines.

De quoi parle-t-on ? Il s’agit principalement du cas où la locomotive a déjà quittée le canton et où certains wagons sont encore présents sur le précédent. L’objectif est donc de détecter ce que l’on pourrait appeler « la double occupation ».

En quoi cela est-il important ? Il y a moins deux cas où cela peut présenter de gros problèmes. Le premier, interdire tout manœuvre d’une aiguille tant que le train n’a pas totalement quitté le canton. La seconde, interdire qu’un autre convoi puisse pénétrer sur le canton encore occupé par des wagons.

La (meilleure ?) détection peut être réalisée en surveillant la consommation de courant. Pour cela, on équipe au moins le dernier wagon par exemple avec des feux de fin de convoi ou encore avec une résistance placée sur le dernier essieu.

Denis nous avait proposé deux liens qui expliquent comment réaliser cela avec une résistance CMS :

https://lestrainsdutertre.redheberg.com/TouteVapeur/Les_trains_du_Tertre/Articles_Trains_du_Tertre/C03_La_detection_de_presence.html

http://rouge-et-creme.over-blog.com/2014/08/detection-facile-de-vos-wagon-et-voitures-en-ho.html


Pour les satellites autonomes, j’ai ajouté directement sur le PCB (version 8.0) un ACS712 de 5A pour réaliser cette détection. Jusqu’ici, cette détection pouvait être réalisée avec un composant extérieur.


Dans la datasheet de l’ACS712, il est préconisé le schéma suivant pour « raccorder » le composant qui fonctionne sous 5 volts à un ESP32 par exemple qui est limité à 3,3 volts.

Je ne suis pas un cador en électronique mais je crois comprendre que C1 devra être choisi en fonction de la charge (consommation j’imagine) et R1 peut-être omise.

Qui pourrait m’apporter des précisions sur ce point et des avis plus généraux sur le choix d’un tel montage sur la carte du satellite autonome ?

Merci par avance

Christophe.

DDEFF

  • Hero Member
  • *****
  • Messages: 760
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #2 le: janvier 30, 2024, 04:32:56 pm »
Bonjour Christophe,

RF-R1 forment un pont diviseur pour avoir 4V à l'anode de la diode.
V sortie = V entrée * R1/(R1+RF). Ici, 5*10/12 = 4.16V
On perd 0,7 V dans la diode. Il reste 4.16 - 0.7 = 3.46 V aux bornes du condensateur.

Comme il y a une diode, le condensateur ne peut pas se décharger dans R1.

Plus le condensateur sera gros, plus longtemps il gardera une charge => moins on sera sujet aux micro coupures (rails sales)

Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #3 le: janvier 30, 2024, 04:40:46 pm »
Ok Denis, merci pour cette réponse. Quand on m'explique simplement, je comprends car j'ai déjà toutes ces notions.

Christophe


Etienne66

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #4 le: janvier 30, 2024, 07:28:36 pm »
L'ACS712 5A va te sortir un signal proportionnel au courant entre 0 et 5V ( 0 pour -5A, 2.5 pour 0A et +5 pour +5A)
Le courant de ton fourgon de queue va être de l'ordre de 10 ou 15 mA et ça va te donner
en sortie autour de 5mV par rapport au 2.5V central qui correspond à 0 Ampères.
Ton convertisseur AtoD doit donc avoir au grand minimum 10 bits de précision et ce à condition
de n'avoir aucun parasites dans le système.
Moralité : il faut un autre détecteur.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #5 le: janvier 30, 2024, 09:21:23 pm »
Effectivement, c'est aiguille et botte de foin :
sensibilité de l'ACS712 5A : 185 mV/A. Pour 20 mA, cela donne 3,7 mV.
Cela donne 5 digits sur 4095 sur une ligne de base de 1,4 V soit 1737 .
En plus on est obligé de réduire la gamme de sortie de 5V à 3,3V. Il ne reste plus que 3 digits.
Ce problème on l'a pour la lecture des CV (60 mA)
Ce n'est peut-être pas désespéré mais devra être optimisé du coté soft avec une extraction de la ligne de base et plusieurs relectures.
A noter qu'ici la ligne de base au milieu de la plage de l'ESP32 est un bonne chose car on s’affranchit de la non linéarité du convertisseur ADC en début de gamme.

Par ailleurs, il faut adapter la constante de temps avec une cellule RC.
L'entrée à haute impédance de l'ESP32 (typ 66Mohms) mais avec une forte dispersion doit être mieux définie.
En adoptant 10k pour R2 on limite la tension à moins de 3,3V (nouveau pont diviseur) et 100nF pour C1 on a une constante de temps de 1ms qu'on devra adapter (augmenter) en fonction des résultats des  tests.
« Modifié: janvier 30, 2024, 09:23:59 pm par msport »
Cordialement

laurentr

  • Hero Member
  • *****
  • Messages: 647
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #6 le: janvier 30, 2024, 09:29:48 pm »
Bonsoir

Il est sure que de "capter" une poignée de mV va être délicat.

Il y a toujours la possibilité d'amplifier le signal (via  AMPLIOP notamment en montage suiveur non inverseur) et disposer d'un delta plus important surtout sur le seuil bas.  (attention aux limites)

Si tu inverses le signe des mesures entre -5A et 0A et que tu les ajoutes dans les calculs de moyenne des valeurs entre 0A et 5A tu recentres entre 2.5V et 5V.

Si tu  a une valeur >0 et que tu soustrais alors le Vcc/2 correspondant ( 511 en 10Bits) tu es alors juste sur le delta que tu cherches à mesurer.

A défaut de l ACS712_A5 tu peux envisager aussi l INA219 qui lui va bien tourner en 3V3 ( mais aussi en 5V) mais dont l interface est en I2C.

Avantage: les valeurs y sont dispo dans des registres que tu peux aller interroger lorsque tu le désires dans ta boucle de CPU principal.

Perso j ai une nette préférence pour travailler entre un CPU et un capteur sur la même plage de tensions sauf cas de l'I2C qui va porter les valeurs encodées par le sensor.

Laurent
« Modifié: janvier 30, 2024, 09:33:06 pm par laurentr »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #7 le: janvier 30, 2024, 11:20:38 pm »
Bon effectivement, je n’avais pas regardé le manque de sensibilité de l’ASC712. En fait j’étais resté sur l’hypothèse où chaque satellite réalisait sa propre mesure de courant pour être en mesure de parer à un court-circuit. Mais la problématique n’est pas la même en effet quand on veut mesurer 10mA et quelques A.

Merci à tous pour vos réponses, je revois ma copie (en fait probablement une liste de questions) et je reviens vers vous.

Je pense que ce problème va se poser pour tout type de gestionnaire de réseau ?

Christophe

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #8 le: janvier 30, 2024, 11:42:04 pm »
@Laurent (et autres)

Comment va se comporter l’INA219 (donné pour 3,2A) s’il y a un court jus sur les rails qui peut dépasser ce seuil ?

Merci d’avance.

Christophe

laurentr

  • Hero Member
  • *****
  • Messages: 647
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #9 le: janvier 31, 2024, 01:01:39 am »
Hello

Idéalement pour un seuil donné ( ex 2A max) et un temps dépassé (ex 50ms)  il faut pouvoir le déconnecter (via un relais par exemple) dans un circuit de type BREAKER.

Mais ce n'est pas aussi simple car on peut aussi être dans le cas d'un CC bref et local pour une "LOOP" où il faut basculer un relais pour aligner les polarités des rails de deux sections.

Tel que je vois les choses: 

Je ne confie pas cette tache à l'INA219 ni à l ESP32 directement ( mais je lui notifie les états des capteurs)

Je laisse cette tache dédiée à un MEGATINY en annexe avec un ACS712. ( pour chaque type de circuit de détection LOOP et BREAKER) ( c est plus chère mais c est aussi très fiable je pense)

Pour la protection globale CC:
Je bride pour max 2A le BREAKER (local) en cas de "gros CC long" avec un temps d'activation vers 50ms par exemple, il faut une commande externe pour réarmer (push ou cde venant de l'ESP32 pour générer une interruption sur le MEGATINY)

Pour le cas des LOOP:
Si le CC est bref alors c'est à un circuit de type LOOP reverse d'opérer (plus rapidement que le BREAKER avec seuil de bascule plus bas ( ex 1.8A) et temps plus courts)

Si après une 1ere commutation de la LOOP cela ne résout pas le problème du CC détecté ( on temporise le temps de bascule du relais et on mesure de nouveau la conso)  alors  c'est le BREAKER qui prend la suite, et s il n'y pas de breaker c'est à la centrale ou au booster de faire le job de disjonction. ( vers 100ms souvent) et la on risque de chauffer un peu!

On peut piloter aussi le relais de la LOOP depuis l'ESP32 et en récupérer les états.


On voit bien l'intérêt de cascader les éléments.


l'INA219 ne fera que des mesures de conso globale et établira des rapports moyennés à intervalles de temps "long" (>100 ou 200Ms par exemple) sauf à savoir en faire meilleure usage.

Note que si tu confies la lecture de l'INA219 à l'ESP32 la gestion des priorités de ces valeurs va être à traiter.

Il y a peut être moyen de lui confier les 2 rôles pour LOOP et BREAKER qui seront sur 2 relais en série pilotés par l'ESP32.
A voir si c est plus efficace d'avoir des petits CPU dédiés pour cela avec un ACS712 chacun ou ajouter des taches à l'ESP32 et à l'INA219.

Perso j avance actuellement sur le code de la gestion du LOOP.

Laurent

Etienne66

  • Jr. Member
  • **
  • Messages: 98
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #10 le: janvier 31, 2024, 06:28:16 am »
Il y a un truc que je ne comprends pas : pourquoi tu veux rajouter une détection de présence?
On a déjà une détection dans la zone et pour la double occupation on a le satellite de la zone adjacente.
Il suffit juste qu'un satellite informe ses voisins de la libération de sa zone.

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #11 le: janvier 31, 2024, 07:09:45 am »
Il y a un truc que je ne comprends pas : pourquoi tu veux rajouter une détection de présence?
On a déjà une détection dans la zone et pour la double occupation on a le satellite de la zone adjacente.
Il suffit juste qu'un satellite informe ses voisins de la libération de sa zone.

La détection de présence sur un canton est actuellement basée sur la détection d’un signal Railcom émis par le décodeur de la locomotive. Si la locomotive a quitté le canton mais pas tous les wagons, comment savoir sinon quand le canton sera bien libéré de tous wagons ???

Christophe
« Modifié: janvier 31, 2024, 07:11:22 am par bobyAndCo »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #12 le: janvier 31, 2024, 07:20:11 am »
Je me demandais s’il n’y avait pas un point de la carte Railcom où il serait possible de « capter » cette information de consommation de courant.

Puisque l’information Railcom est encapsulée dans un courant très faible (probablement similaire à la lecture de CV’s dont parlait Michel), n’y a-t-il pas un point de la carte où se piquer pour savoir s’il n’y a pas un courant plutôt que rien.

Voici le schéma de la carte Railcom :



Christophe

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3037
  • 100% Arduino et N
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #13 le: janvier 31, 2024, 11:46:19 am »
Je ne comprends pas bien pourquoi cette détection de présence ne serait pas aussi simple que celle qui est dans le Satellite V1, en série avec l’alimentation DCC, avec un transistor amplificateur et ajustage du gain, puis filtre à condo.
Le court-circuit Railcom peut être du côté des rails, ce qui ne doit pas gêner la détection de présence bien filtrée mais pas trop (1 seconde de temps de décharge)
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1080
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #14 le: janvier 31, 2024, 01:08:38 pm »
Je ne comprends pas bien pourquoi cette détection de présence ne serait pas aussi simple que celle qui est dans le Satellite V1

Bonjour Dominique,

Je n’avais testé que très rapidement mais il m’était apparu que la détection adoptée sur les satellites v1 (à base de diodes) n’était pas compatible avec Railcom.

Deuxième point, j’évoque ici le cas, non pas de la détection d’une locomotive mais de wagons suiveurs avec des courants très faibles de l’ordre de 10 ou 20 mA.

A-t-on testé les décodeurs des satellites v1 dans ces conditions ?

Je ne peux pas faire les tests car je ne suis pas chez moi pour quelques temps.

Christophe