Auteur Sujet: Article 232 - Va et vient  (Lu 4774 fois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Article 232 - Va et vient
« le: mars 01, 2018, 11:05:10 am »
Bonjour,

J’ouvre ce sujet pour le va et vient de l’article 232.

http://www.locoduino.org/spip.php?article232

msport

  • Hero Member
  • *****
  • Messages: 675
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #1 le: mars 01, 2018, 10:53:48 pm »
Excellent article très complet et très détaillé.
Dans la mesure où on peut envisager de remplacer les détecteurs de consommation par des détecteurs ponctuels (*), où faudrait-il les placer ? En particulier pour la zone B ?
Merci.
* avec les risques encourus.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #2 le: mars 02, 2018, 01:11:34 pm »
Le logiciel détecte les entrées dans les zones (pas les sorties). C’est de la détection ponctuelle.

On peut donc facilement remplacer les détecteurs de consommation par d’autres types de détecteurs.

La mesure de vitesse dans la zone B se fait entre l’entrée dans la zone B et l’entrée dans la zone suivante selon le sens de déplacement.

msport

  • Hero Member
  • *****
  • Messages: 675
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #3 le: mars 02, 2018, 01:53:54 pm »
D'où la question suivante :
a-t-on intérêt à mettre un détecteur à chaque extrémité de la zone B (avec un OU logique) pour être détecté à chaque fois qu'on entre dans la zone B quelque soit le sens ?
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #4 le: mars 02, 2018, 02:08:08 pm »
Non : tu as besoin d’un détecteur à chaque transition de zone seulement soit 5 détecteurs.

A chaque détection, comme tu sais dans quel sens circule le train, tu en déduis la zone où il entre.
« Modifié: mars 02, 2018, 02:09:59 pm par Dominique »

msport

  • Hero Member
  • *****
  • Messages: 675
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #5 le: mars 02, 2018, 09:01:10 pm »
mais ça ne pose pas un problème de calcul pour la vitesse ?
Peut-être résolu si on place le détecteur au milieu de la zone B ?
« Modifié: mars 02, 2018, 09:05:10 pm par msport »
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #6 le: mars 02, 2018, 09:16:25 pm »
Non bien-sur : du moment que tu as un événement à l’entrée de la zone et un autre à la sortie, que tu as noté le temps à chaque événement et que tu connais la distance, c’est tout bon.

V = d/(t2-t1)
« Modifié: mars 07, 2018, 07:27:21 pm par Dominique »

msport

  • Hero Member
  • *****
  • Messages: 675
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #7 le: mars 03, 2018, 12:06:04 am »
Bon, l'heure est tardive, mais je verrais bien les détecteurs positionnés au bout des flèches vertes sur le schéma joint ...
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #8 le: mars 05, 2018, 07:11:18 pm »
Dans l’article il y a 5 zones et 5 detecteurs.

Si tu utilises des détecteurs de consommation, chaque détecteur est activé quand le train entre dans la zone et se désactive quand il en sort, quelque soit le sens de la marche. C’est pareil quand le train va de A vers B ou de C vers B. Dans mon exemple, il quitte B quand on détecte A ou C.

Si tu utilises des détecteurs ponctuels (barrière infrarouge à la place des coupures de rail) placés à chaque transition de zone (sauf les tamponnoirs aux extrémités), il en faut toujours 5 (et pas 6) et chaque détecteur indique un passage de train (début du train dans le sens de la marche quand le faisceau est coupé). Il faut alors connaître le sens de la marche pour déterminer dans quelle zone le train entre.

Pour mesurer la vitesse, il faut mesurer le temps entre les 2 détections qui encadrent la zone B.

Dans mon exemple, je n'utilise pas la libération de zone (arrêt de la consommation) mais seulement la détection de consommation à l’entrée de zone: donc le logiciel est le même pour des détecteurs ponctuels (en faisant bien attention au sens de la marche comme dans mon logiciel).
« Modifié: mars 05, 2018, 07:14:44 pm par Dominique »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #9 le: mars 07, 2018, 05:20:08 pm »
Ca y est c'est corrigé, merci Michel d'avoir trouvé cette coquille; j'explique :

La version du logiciel que j'avais mise en téléchargement était la V200 au lieu de la V300.
Maintenant c'est corrigé et je confirme qu'il n'y a pas de zone D (une petite erreur dans le texte a aussi été corrigée).

Mais si quelqu'un a besoin d'une version avec une zone supplémentaire, je tiens le code à sa disposition.

Amicalement
Dominique

bagou91

  • Jr. Member
  • **
  • Messages: 52
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #10 le: avril 04, 2018, 05:29:16 pm »
Bonjour,

Merci pour ce nouvel article qui nous fait encore découvrir comment se monter un petit projet simple :)

J'aurai quelques questions sur le détecteur de conso DCC: je n'arrive pas bien à le comprendre.

Peux tu expliquer son fonctionnement avec le sens de courant entrée (broche 3 ?) -> sortie (broche 2 ?) et le rôle des composants qui sont parcouru par le courant ?
Tu indiques qu'il faut relier les broches 1 et 3 sur la centrale. Mais tu parles de l'arduino ?
Je pensais qu'on utiliserai plutôt les broches au niveau de l'optocoupleur sur K4.

Autre question sur le détecteur de conso PWM:
Je n'arrive pas à trouver dans ton article et dans les fichiers de code, l'explication sur le filtrage logiciel.

Merci pour tes éclaircissements.
« Modifié: avril 04, 2018, 05:58:12 pm par bagou91 »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #11 le: avril 04, 2018, 11:38:38 pm »
Bonsoir Bagou91,

Le principe du détecteur est simple : il fait passer le signal DCC destiné aux rails dans 2 diodes en série pour provoquer une chute de tension de 1V environ qui est convertie en courant par un transistor pour charger un condensateur. Le condensateur se décharge dans la diode émettrice d'un optocoupleur dont le transistor en collecteur ouvert est relié à l'Arduino. Il n'a pas le temps de se décharger avant la période suivante du DCC. Ça retarde un peu la détection (quelques ms) mais ce n'est pas gênant.



Les 2 fils venant de la centrale DCC courent tout le long du réseau et une paire de fils prélève ce signal pour chaque zone où il faut détecter un train. Les arrivées DCC sont donc branchées sur 1 et 3 de K3 et les rails sur 2 et 3. La borne 3 est commune et les diodes sont en série entre 1 et 2. Il y a 2 séries de diodes en sens inverse car le DCC est du courant alternatif.

L'Arduino se branche sur K4 : La broche 3 doit être reliée à la masse (GND) et la broche de l'Arduino sur 1 ou 2 (c'est pareil). La broche de l'Arduino doit être configurée en INPUT_PULLUP sinon  ça ne marche pas !

Il n'est pas nécessaire d'avoir 2 optocoupleurs, un seul suffit.

ATTENTION, il faut bien protéger le réseau contre les court-circuits sinon les diodes ne vont pas supporter (ici 2A mais j'ai remplacé les SB260 par des 1N5819 qui ne supportent qu'1A) : la centrale doit couper le courant immédiatement en cas de dépassement de seuil de courant. C'est la raison d'être des capteurs Max471 dans les centrales DCC++.

Pour le PWM, j'ai seulement mentionné qu'une autre version de détecteur est possible pour le PWM avec un lien vers le Forum où il y a un schéma. Mais ce montage n'a pas de filtrage (le condensateur) et délivre un signal haché à l"Arduino qui ne peut pas être utilisé tel quel : il faut un filtrage qui est une simple intégration (filtrage passe bas logiciel) qui peut se faire en additionnant plusieurs mesures et en prenant la moyenne.

J'espère que j'ai bien répondu à tes questions  :D



« Modifié: avril 04, 2018, 11:41:04 pm par Dominique »

bagou91

  • Jr. Member
  • **
  • Messages: 52
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #12 le: avril 05, 2018, 07:15:31 am »
Merci pour tes explications.
Je comprend mieux son fonctionnement et ses branchements.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1720
  • 100% Arduino et N
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #13 le: avril 18, 2018, 09:06:21 am »
Comme je l’ai répondu sous l’article :

Oui j’y pense notamment avec une gare intermédiaire comportant une voie d’évitement pour permettre le croisement de 2 trains en sens inverse. Evidemment toutes les distances et les durées seront paramètrables.
Mais un peu de patience SVP !
Méfiez-vous : c’est un projet qui peut être difficile pour un débutant. Une expérience de la mise au point est nécessaire et un environnement PC (ou Mac c’est mieux) stable et maitrisé est indispensable.

Souris verte

  • Newbie
  • *
  • Messages: 26
  • HO, DCC, Arduino...
    • Voir le profil
Re : Article 232 - Va et vient
« Réponse #14 le: mai 26, 2018, 05:47:11 pm »
Bonjour,

Je voudrait ajouter la gestion CAN... j'ai l'impression de louper quelque chose...
J'envisage de faire :
Pin 2   <-> ENC1 encodeur pin 1
Pin 3   <-> PWM (enable, HIGH = marche, LOW = stop) pour LMD18200
Pin 4   <-> ENC2 encodeur pin 2
Pin 5   <-> detecteur Gare 1
Pin 6   <-> detecteur zone A
Pin 7   <-> detecteur zone B
Pin 8   <-> detecteur zone C
Pin 9   <-> DIR (DCC = OC1B output) pour LMD18200
Pin 10  <-> CS Module CAN (pas le choix)
Pin 11  <-> SI Module CAN (il n'y aura plus de LED rouge d'erreur)
Pin 12  <-> SO Module CAN
Pin 13  <-> SCK Mdule CAN
Pin A0  <-> Mesure de courant du Max471
Pin A1  <-> bouton OK (encodeur)
Pin A2  <-> INT Module CAN
Pin A3  <-> inter lumière
Pin A4  <-> SDA LCD
Pin A5  <-> SLC LCD
Pin A6  <-> inter marche/arret
Pin A7  <-> detecteur Gare 2

Est-ce correct?
Merci
Yannick