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

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #45 le: février 13, 2024, 01:08:20 am »
Bonjour à tous,

J’ai beaucoup, beaucoup lu et potaché sur le sujet de la détection de courant et cela m’occupe pratiquement tout mon temps actuellement.

Il faut dire que le sujet est important et je dois avouer (sans jeu de mot) que je n’ai pas totalement pris la mesure des enjeux et des difficultés.

Il me faut la détection de courants faibles pour savoir si le canton est occupé par des wagons qui ne l’on pas encore quitté ou qui se sont décrochés ou encore si le convoi est « poussé ».

La seule chose dont je sois à peu près certain c’est qu’il faut une détection de présence par consommation de courant à base de Transformateurs de courant. Le seul système (je crois) vraiment capable de retourner des valeurs faibles de l’ordre de 10 à 50mA (essieu de wagon avec résistance de 10 à 18 KΩ

Mais il faut pour cela une bobine à 50 tours : https://www.mouser.fr/ProductDetail/580-56050C

Je me pose aussi la question de savoir s’il faut confier la conversion AC/DC à l’ESP32, qui n’est pas excellent dans ce domaine mais ce n’est pas la vraie question. La vraie question est le temps de traitement surtout si on applique un smoothing ce qui me semble absolument nécessaire.

Du coup, c’est Laurent qui m’a mis la puce à l’oreille, pourquoi ne pas utiliser un Attiny pour cela qui fera bien le job, dans son coin, sans gêner personne et qui adresserait sur l’une de ses pins en sortie un bit 1 ou 0 (busy or not) beaucoup plus efficace pour la charge de l’ESP32.

A la réflexion, je crois également que ce serait une très bonne chose que chaque satellite puisse assurer sa propre gestion des court-circuits sur son canton. Du coup, plein d’autres questions. Avec la même bobine et le même Attiny, pas idiot je pense et faire commuter un relais en cas de dépassement de seuil.

Est-il nécessaire de prévoir un autre dispositif pour les CC (ACS712) avec son propre Attiny ???

Mais il y aura certainement des ajustements à prévoir pour les réglages. Je doute que toutes les sections réagissent avec les mêmes réglages avec par exemple la même résistance sur les wagon. Il y a fort à parier que la longueur du tronçon, l’environnement etc influent spécifiquement.

Voilà un vaste sujet qui dépasse largement le cadre des satellites et pour lequel j’attend des réactions et des conseils (de préférence avisés).

Christophe


laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #46 le: février 13, 2024, 01:51:20 am »
Hello

J ai aussi fait des recherches sur ce sujet concernant la détection de conso à l'aide des COILS pour gérer la détection. Plusieurs montages existent.

1000 tous ou 50 tours ( ou autre valeur) , nombre de passage autour du tore... voila bien des questions/sujets à expérimenter.

Les AVR ( et MEGATINY) sont en effet plus connus pour avoir un ADC disons plus efficace que celui de l'ESP32.

Apres il y a 2 cas d'usage:
on exploite via un "simple" état 0 ou 1 une occupation ou non.
on veux un retour d'une mesure qu'on veut traiter (interpréter plus finement) voir corriger en cas de sensibilité à ajuster. ( le contexte peut influencer des mesures et il est prudent d avoir un ajustage (mais tout se discute)

Pour ma part je préfère séparer les usages entre mesure continue ( COIL) ( ou INA219) ou ( INA169) ( ou AMPLIOP)  et détection de CC( via ACS712) ( c est encore une fois un avis discutable)

L'ACS712 et le coil ont 2 intérêts: ils offrent une isolation galvanique totale entre le DCC et l'électronique autours de l'ESP32 ou des autres composants. ( pourquoi s en priver)
Cependant l ACS IMPOSE de travailler de son cote en 5V.
Leur présence n altère pas le signal DCC ( chute de tension, etc)

Passer des info entre l'AVR/MEGATINY et l'ESP32 impose de garder cette isolation ( du fait des tension en 5V cote AVR et 3V3 cote ESP32.)

On va me dire alors pourquoi ne pas faire tourner l'AVR/MEGATINY en 3V3 puisque c est possible... à vitesse réduite, cela se réfléchit mais disqualifie l ACS712 pourtant bien pratique.

En tous les cas la V2 sur laquelle je planche utilise:
un petit CPU en 5V avec l'ACS712 et la détection de CC pour protection ( et inversion de pole si besoin confiée à des MOSFET plutôt qu'à un relais), la notification d'état à l ESP32
je laisse l ESP32 gérer tt le reste comme précédemment avec en plus la faculté de basculer ou réarmer la protection de coupure en cas de CC en agissant sur l'AVR.

Par contre l ACS712 n'est (probablement) pas assez sensible pour les très faibles consos donc le recours au "coil" est de mise.

Pour le moment la lecture de ce qu'il mesure est confiée à l'ESP32 mais peut riper sur l'AVR qui va devoir grossir un peu pour aller sur un 20 broches ( c est déjà FULL en 14!) et traiter ces mesures. sauf à de légers compromis ( sur les leds d indication puisque il faut alors disposer de 2 I/O ( 1 pour les mesures , 1 pour faire la notification d'état)

On peut trouver la place sur le PCB mais on va perdre un peu en modularité... (on place les composants sous le module RAILCOM qui est en surplomb.) A voir donc...

Je pense au montage du MERG dans le cas d un simple détecteur d'occupation à seuil réglable. En étant opto couplé il ira aussi bien sur un AVR que sur un ESP32!

https://www.merg.org.uk/merg_resources/dcc/download/BOD1_SCH.pdf

Il y en a d'autres naturellement.


Tous les avis sont possibles.

J attends les vôtres :)

Ltr





bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Re : DCC : Détection par consommation avec des courants faibles
« Réponse #47 le: février 13, 2024, 02:22:50 am »
concernant la détection de conso à l'aide des COILS pour gérer la détection. Plusieurs montages existent.1000 tous ou 50 tours ( ou autre valeur) , nombre de passage autour du tore... voila bien des questions/sujets à expérimenter.

Pour la détection de courants faibles, il ne faut pas penser une seule minute aux 1000 tours. Même si l'on fait 2 tours de la bobine, cela fait un rapport de réduction de 500... sur 10 à 20mv, je ne cherche même pas à compter !

Apres il y a 2 cas d'usage:
on exploite via un "simple" état 0 ou 1 une occupation ou non.
on veux un retour d'une mesure qu'on veut traiter (interpréter plus finement) voir corriger en cas de sensibilité à ajuster. ( le contexte peut influencer des mesures et il est prudent d avoir un ajustage (mais tout se discute)

Pour moi c'est un état 0 ou 1 une occupation ou non. Du prêt à consommer par un ESP32 par exemple en digital.

Pour ma part je préfère séparer les usages entre mesure continue ( COIL) ( ou INA219) ou ( INA169) ( ou AMPLIOP)  et détection de CC( via ACS712) ( c est encore une fois un avis discutable)

Oui je penche aussi pour cette solution, et au final produire une carte uniquement pour la détection (avec ses propres réglages de sensibilité) et qui le fait bien. Carte qui peut être utilisée hors satellites d'ailleurs et, pour les satellites, enfichable !!! Le cout des composants n'est tout de même pas important.

Passer des info entre l'AVR/MEGATINY et l'ESP32 impose de garder cette isolation ( du fait des tension en 5V cote AVR et 3V3 cote ESP32.)

On va me dire alors pourquoi ne pas faire tourner l'AVR/MEGATINY en 3V3 puisque c est possible... à vitesse réduite, cela se réfléchit mais disqualifie l ACS712 pourtant bien pratique.

Il faut rester en 5V pour avoir les meilleures performances de l'ATtiny. Pas très compliqué de communiquer 5v / 3,3v par opto ou autres

Je pense au montage du MERG dans le cas d un simple détecteur d'occupation à seuil réglable. En étant opto couplé il ira aussi bien sur un AVR que sur un ESP32!

https://www.merg.org.uk/merg_resources/dcc/download/BOD1_SCH.pdf

Voila une bonne conclusion.

J'espère que nos spécialiste de l'électronique nous donnerons leus avis !!!

Christophe
« Modifié: février 13, 2024, 04:09:11 am par bobyAndCo »

Etienne66

  • Jr. Member
  • **
  • Messages: 97
    • Voir le profil
Re : Re : DCC : Détection par consommation avec des courants faibles
« Réponse #48 le: février 13, 2024, 10:24:04 am »

La seule chose dont je sois à peu près certain c’est qu’il faut une détection de présence par consommation de courant à base de Transformateurs de courant. Le seul système (je crois) vraiment capable de retourner des valeurs faibles de l’ordre de 10 à 50mA (essieu de wagon avec résistance de 10 à 18 KΩ
18 KΩ sur 18V c'est 1mA, pas 10.
10 à 50 ma c'est  ce que tu auras sur des feux de queue ou des voitures éclairées.

Etienne66

  • Jr. Member
  • **
  • Messages: 97
    • Voir le profil
Re : Re : Re : DCC : Détection par consommation avec des courants faibles
« Réponse #49 le: février 13, 2024, 11:45:25 am »

Pour la détection de courants faibles, il ne faut pas penser une seule minute aux 1000 tours. Même si l'on fait 2 tours de la bobine, cela fait un rapport de réduction de 500... sur 10 à 20mv, je ne cherche même pas à compter !

Tu confonds volts et ampères.
Le 1000 tours te donne un courant faible qu'il suffit de faire passer dans une forte résistance pour obtenir une tension utilisable.
L'avantage de ce courant faible est que si on a une loco ou un court circuit on aura un courant certes plus fort mais qui restera dans
des valeurs assez faibles pour ne pas risquer de flinguer le circuit de sortie. N'importe quelle diode suffira pour limiter la tension de sortie.

Un circuit simple avec 2 diodes une résistance et un condensateur avec sortie sur une entrée analogique d'arduino me semble suffisant.
1Mohm me semble donner des résultats utilisables comme base de départ.

Et j'ai mis 5V mais ça marche aussi avec 3.3

« Modifié: février 13, 2024, 11:47:09 am par Etienne66 »

laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #50 le: février 13, 2024, 12:19:23 pm »
Bonjour Etienne

As tu regarder le montage du MERG que je proposais? ( lien dans mon post précèdent)

Tu sembles indiquer que l'on peut se passer du comparateur et donc en gros de presque tout le montage autours. Ce que d autres montages sur la toile montrent a quelques variantes prêt.

Toutefois cela se fait au prix d'une sensibilité à calibrer coté soft + debounce je pense. Sur un ESP32 avec interface WEB c'est plus simple à réaliser que coté CPU dédié sans interface...

Si on suit l'idée de Christophe de laisser à un petit CPU le soin de traiter cela à part de l'ESP32 et de simplement l'informer de l' état (0/1) il semble que l'approche avec réglage externe ( potard/trimer) soit à privilégier.

Michel avait proposé aussi un montage à base d'ACS712 et d'ampli op qui pourrait convenir également.

A voir ou se trouve l'optimum.

La contrainte va outre être le cout de faire tenir le tout dans un format exploitable ( avec les satellites V2) ou le rendre modulable facilement ce qui a pour conséquence immédiate de multiplier les connections...

A creuser donc...
Ltr

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #51 le: février 13, 2024, 12:39:11 pm »
Quand je disais que j'ai pas mal recherché, j'ai en particulier consulté toutes les sources citées par Sudima Crossing dont je crois personne ne met en doute le sérieux :
 http://www.sumidacrossing.org/LayoutControl/TrainDetection/InductiveDetectionCircuit/

Il a lui même regardé l'ensemble de ce qui se faisait (je crois qui parle même du travail du MERG !)

Tous arrivent à la conclusion qu'en pratique, il utilisent maintenant des bobines de 50, 100 ou maximum 200 tours pour le NCE BD20 qui est l'une des références dans la matière mais un produit commercial.

Je joins l'un des documents qui me semble le plus complet, que l'on peut traduire avec Google traduction : http://dcc-mueller.de/wire4dcc/sensor_e.htm

Christophe



Etienne66

  • Jr. Member
  • **
  • Messages: 97
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #52 le: février 13, 2024, 02:12:36 pm »
On n'a pas besoin d'une sortie TTL ou CMOS vu qu'on a des entrées analogiques sur l'arduino, donc pas besoin de transistors et autres.
Quant au nombre de tours du transfo, d'une part on n'a pas besoin de dépasser les 0.6V pour le transistor, d'autre part on peut
faire passer plusieurs fois le fil dans le trou et enfin on peut augmenter la valeur de la résistance. (l'entrée de l'arduino est supérieure
à 100 Mohms donc on a de la marge.)
Pour le réglage du seuil, soit on change la résistance ou on en met une variable, soit on change la variable de seuil dans l'arduino.
La seule limite du système c'est que si on veut une diode pour indiquer la présence on doit utiliser une sortie de l'arduino.

@Laurent, je ne pense pas qu'on puisse détecter 1mA avec l'ACS712.

laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #53 le: février 13, 2024, 04:01:31 pm »
Hello

Tu penses que le montage suivant peut convenir? (zener de 3V3 remplaçable par un 5V1 pour AVR)

Quels ajustement ferais tu?


Pour les 1ma sur l'ACS ca parait petit en effet.. et à lire en face avec 1023 steps(10bits del ADC)  et 185mV/A on aurait alors un delta à mesurer cote tension de
0.001x0.185 = 0.000185V.

hors le pas de 5/1023 = 0.00488  et on a alors un rapport de 1/26... sans AMPLI OP déjà c est mort et après il faudra croisé les doigts aussi... Pas impossible quand même.

Pour une sensibilité de détection à 10K donc Vdcc/10K => Vdcc moyen = 16V d ou sensibilité à mesurer en effet de 0.00016mA ...

Trop bas surement sans amplification.

Vaste sujet donc...


Etienne66

  • Jr. Member
  • **
  • Messages: 97
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #54 le: février 13, 2024, 04:41:45 pm »
La résistance variable doit être après D7 en || sur la capacité c12.(sinon D7 influe sur le seuil de détection)
R30 est inutile vu la faiblesse du courant fourni par le coil.
Après tu peux gèrer le temps de remise à zéro après libération du canton soit avec le produit RV2 x c12  soit avec le produit R31 x c13.
En fait les 2 capas sont redondantes. Tu pourrais supprimer c12 et avoir le temps de remise à zéro indépendant du seuil de détection.
Et mettre une resistance variable en R31 pour ajuster ce temps.

laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #55 le: février 13, 2024, 05:09:13 pm »
Merci Etienne

Je vais voir en ce sens ce qui est le plus efficient et ajuster le layout en conséquence.
Le COIL est un 50 tours.

J avais compris que le Condo de 330pF a pour but de masquer le changement de phase du DCC mais n'avait pas de réel capacite de maintient. ( "débruitage" partiel en quelques sorte)

Raison du C  coté entrée Arduino pour tempo ( qui évite un debounce en gros cote soft ( et permettra de traiter sur interruption type "RISING"

Le fait de pouvoir gérer avec des résistances variables permet de garder un soft pour le cpu identique.


Je modifierai le schéma dans 48h. ( déplacement oblige)

Ltr
« Modifié: février 13, 2024, 06:04:12 pm par laurentr »

CATPLUS

  • Sr. Member
  • ****
  • Messages: 412
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #56 le: février 13, 2024, 06:45:50 pm »
Bonsoir

Aucun rapport avec l'Arduino  :) pourquoi ne pas  utiliser un NE556 pour faire  vos tests   

Tout ce que Mr Rpaisley  fonctionne sans problème.

http://web.archive.org/web/20140825051230/http://home.cogeco.ca/~rpaisley4/DccBODvt5.html.

@ Laurent rajouter une Zener dans votre projet est-elle nécessaire?
Best Regards

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #57 le: février 13, 2024, 07:03:01 pm »
Bonjour Marcel,

Eh bien, les grands esprits se rencontrent. Je me faisais exactement la même réflexion quand tu as envoyé ce message. J'avais déjà rappelé le montage d'Eric qui fonctionne : https://forum.locoduino.org/index.php?topic=489

et qui utilise le circuit de Paisley dont tu parles justement.

Néanmoins, je voudrais aller un peu plus loin (mais le montage d'Eric n'est pas pour autant remis en cause). Sur la même carte, je voudrai que l'on puisse sortir deux signaux numériques (pa analogiques) pour libérer l'ESP32 du traitement. Ca peut être des ATtinny (c'est toi d'ailleurs qui avait eu cette idée je crois) qui font le job ou un transistor avec un réglage de sensibilité possible. A voir.

Mais effectivement, autant s'appuyer au départ sur quelque chose qui fonctionne comme tu le rappelles.

Christophe.

laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : DCC : Détection par consommation avec des courants faibles
« Réponse #58 le: février 14, 2024, 09:44:21 am »
Bonjour

Je pense avoir trouve une solution pour combiner les éléments et différentes implémentations. :)
Je pense que ca sera le boulot du we!
Je vais devoir regarder comment définir un bus pour les "3 cartes  fonctions" ( protection /reverse - détection occupation - identification RC) et une "carte socle" qui reçoit de son coté l ESP32 le CAN, l alim DC DC voir peut être d autres modules d extension types I2C, 74HC595,...

Pour memo la carte railcom dans son design actuel fait 40mm x40 mm.
Elle est la conversion du montage de Christophe et CatPlus en version CMS en implantation recto verso.

Je pense à ce stade que la carte qui va la précéder pour les détections va être du même format.
Etant modulaire et donc substituable dans un format défini elle pourra être déclinée en plusieurs versions selon les montages déjà évoqués plus haut dans ce post.  Apres tests, sans tout changer de nouveau, il suffira de prendre la solution offrant les meilleurs résultats au prix optimal.

En revanche celle supportant la protection doit être plus généreuse peut être 50x50 ou un peu plus.

@Christophe: pourquoi vouloir disposer de 2 sorties en "tout ou rien? Pour deux zones? sur la carte détection.

Je vais aussi creuser la piste de mettre en commun le "petit CPU" pour gérer protection/reverse et la détection globale, voir d autres éléments. Idéalement toujours en approche "module" au prix de qq connecteurs et de cm² sur le PCB socle.(qui va avoisiner les 15cmx10cm Ou plus selon les besoins à qq cm pret.)

A suivre donc.

Ltr


bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Re : DCC : Détection par consommation avec des courants faibles
« Réponse #59 le: février 14, 2024, 02:17:43 pm »
Bonjour Laurent,

J'admire ton énergie !

Peux-tu être plus précis au sujet de cette phrase ? Deux sorties "de quoi", où cela ?

@Christophe: pourquoi vouloir disposer de 2 sorties en "tout ou rien? Pour deux zones? sur la carte détection.

Si tu fais référence à la carte de détection telle que je l'imagine, tu dois alors parler de la sortie signal (en numérique) pour la détection des courts-circuits et la sortie, également en numérique pour la détection de courants faibles pour détecter par exemple des wagons encore présents dans une zone.

Pourquoi des sorties digitales ? Tout simplement pour libérer le microcontrôleur de la conversion AC / DC qui est très consommatrice de ressources. D'autant qu'il faut deux méthodes puisque nos sommes d'accord que CC et détections courants faibles n'utilisent pas le même capteur. Par ailleurs l'ESP ne brille pas dans ce domaine de la conversion AC / DC

Alors j'ai émis de hypothèses, deux ATTiny qui feraient le job de conversion avec un signal binaire en sortie. Mais aussi un transistor avec une résistance variable pour le réglage de la sensibilité. pourquoi pas ? Et ce n'est pas forcément le même système pour les deux détections.

Je rappelle également ce que disait Catplus récemment au sujet du 555 qui, dans le cas des CC, temporiserait la coupure d'alimentation et ré alimenterait automatiquement au travers d'un relais. Simple et efficace non ?

Christophe