Auteur Sujet: Compter les essieux par Arduino  (Lu 674 fois)

hallucine

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
Compter les essieux par Arduino
« le: juin 18, 2019, 04:58:36 pm »
Bonjour,
Je voudrais équiper un tronçon de mon réseau d'un compteur d'essieux (1 à l'entrée du tronçon et 1 à la fin, si ça compte la même chose ça libère le tronçon pour le train suivant)
Il existe sur le marché des compteurs d'essieux déjà tout fait (www.rail4you.ch). Le problème est qu'il faut que la distance entre le compteur de début et de fin soit plus grande que le plus grand train. Ce qui n'est pas mon cas.
Comme je peux obtenir individuellement les capteurs infrarouge avec leur platine je pensais les brancher sur un Arduino.
Et maintenant mon problème : la platine de ces capteurs infrarouge ne fonctionne qu'avec du 12V et l'Arduino ne délivre que du 5V. On me parle de mettre une Z-diode. Est ce que cela parle à quelqu'un ? Est-ce possible ? Y a-t-il une autre solution ?
Pour info depuis la platine de chaque compteur il y a 3 fils : le +, le - et le signal

D'avance merci pour votre aide

msport

  • Hero Member
  • *****
  • Messages: 661
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #1 le: juin 18, 2019, 09:36:40 pm »
Vous devriez préciser ce que vous comptez utiliser. Si c'est cela :
https://www.rail4you.ch/zubehoer/infrarotsensor-ir-s-2
I NFRA R OT de WASTE  de IR-s 2
... dérivé de la IR-s éprouvé.
La principale caractéristique est la fusion de 2 IR-s et l'optimisation de cette fonctionnalité. Les composants sont quant à eux disposés d’ un seul côté, de sorte que l’ IR-s 2   peut être facilement monté à côté du rail. Il n'y a pas de connexion électrique au rail. Le déclenchement se fait sans contact par un véhicule qui ne nécessite aucune modification. Une correction de position est éventuellement très facile ...
Ce capteur s’installe rapidement et facilement en tant que module fini.
Dimensions: 50x10x6 mm / Fixation par vis Ø 2 mm / Alimentation: 12 VDC ± 0.5 / Sortie: Optocoupleur


Vous l'alimenterez en 12V avec une alimentation séparée (un petit bloc secteur 12V, 0,5A devrait suffire).
La sortie sur optocoupleur étant donc indépendante, vous utiliserez une entrée configurée comme :   pinMode(2, INPUT_PULLUP);
et en connectant dans le cas d'un optocoupleur genre 4N35-4N37, sa broche 4 au GND de l’Arduino et sa broche 5 au D2 de l'Arduino. C'est un exemple, il vous faudra relever la connexion, le schéma et le modèle de l'optocoupleur sur votre carte.
dans le cas d'un optocoupleur PC814, sa broche 3 au GND de l’Arduino et sa broche 4 au D2 de l'Arduino

Si votre détecteur n'a que trois fils (donc pas d' optocoupleur), on comprend alors 12V, masse et signal, vous vous procurerez un ou des optocoupleurs en composant ou en modules, connecterez la sortie via une résistance (typiquement 2Kohms) sur l'entrée de l'optocoupleur 4N35 broche 1 et la masse sur la broche 2. Le reste comme ci-dessus.
Vous pouvez également utiliser un pont diviseur à résistance pour transformer le 12V en 5V ou moins, exemple 2K du coté sortie 12V, 1K coté masse, point milieu à l'entrée de l'Arduino.

Beaucoup de mots alors qu'un amateur en électronique mettrait en œuvre en 1".

« Modifié: juin 18, 2019, 09:54:22 pm par msport »
Cordialement

msport

  • Hero Member
  • *****
  • Messages: 661
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #2 le: juin 18, 2019, 10:30:15 pm »
Après relecture du site rail4you j'ai trouvé l'ir-s, mais si je compte bien, il y a 4 fils et non 3 ???
l'optocoupleur pourrait être un LTV-819-1 donc entrée D2 Arduino configurée avec :  pinMode(2, INPUT_PULLUP);
Broche 4 optocoupleur au GND de l’Arduino et sa broche 3 au D2 de l'Arduino
soit fil bleu au GND de l’Arduino et fil jaune au D2 de l'Arduino.
A vérifier de visu et en testant en allumant la LED 13.
Peu de risque, la sortie de l'optocoupleur tient 6V en inverse donc tension supérieure aux 5V de l"Arduino.
Cordialement

hallucine

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #3 le: juin 19, 2019, 07:43:36 am »
Merci pour la réponse.
La page de référence est https://www.rail4you.ch/zubehoer/achszaehler

Il y a 4 fils (2x2) entre les capteurs et la platine et ensuite 3 à la sortie du capteur, normalement en direction de leur module de comptage que je compte remplacer par un arduino.
En pièce jointe le schéma que m'a transmis le fabricant.

msport

  • Hero Member
  • *****
  • Messages: 661
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #4 le: juin 19, 2019, 09:50:54 am »
C'est du module LS dont il faudrait une photo.

On peut imaginer qu'il sorte des impulsions en 12V : pour adapter ces 12V à une entrée arduino, il faut un pont diviseur à résistances ou un isolateur opto.

Vous pouvez utiliser celui-ci (normalement prévu pour adapter l'inverse) en ajoutant une résistance de 1Kohm en série avec chaque entrée :
https://www.ebay.fr/itm/Hot-4-Channel-Opto-isolator-IC-Module-Arduino-High-and-Low-level-Expansion-Board/371296480644
VCC = 5V de l'Arduino, entrées Arduino au choix, GND = GND de l'Arduino.

Pour les zener, prudence, les tensions ne sont pas fiables pour les courants faibles.
Cordialement

hallucine

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #5 le: juin 19, 2019, 09:48:44 pm »
Je ne peux pas transmettre de photo ni de schéma du module LS. Je ne les ai pas encore acheté et le vendeur ne veut pas me transmettre le schéma. Il a peur des copies....
L'optocoupleur me semble une bonne solution. Le signal est bien en 12V
La résistance de 1Kohm je la mets où exactement ? A l'entrée de l'optocoupleur ou à l'entrée de l'Arduino

hallucine

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #6 le: juin 20, 2019, 12:36:57 pm »
En lisant la description de l'optocoupleur proposé en lien je me pose une question.
On est d'accord que l'optocoupleur réplique en OUT ce qu'il reçoit en IN.
Donc comme il s'agit d'un capteur IR que l'arduino doit lire, sur l'opto en IN se trouve le capteur et en OUT se trouve l'Arduino.
HVCC = 5V de l'arduino et HGND = GND de l'arduino

Dans la description qu'entend-on par "HVCC maximum not more than 24V.Outlet OUT1 / OUT2 / OUT3 / OUT4 output current is equal to the largest HVCC / 5.1K, " ?
Est ce que je peux bien avoir 12V en IN et 5V en OUT ?

msport

  • Hero Member
  • *****
  • Messages: 661
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #7 le: juin 20, 2019, 10:47:54 pm »
Bonsoir,
le courant disponible en sortie du module résulte de la loi d'ohm : sur le schéma ce courant est au maximum HVCC / 5.1K, transistor bloqué. Avec les 5V de l’Arduino, on aura au maximum 1mA, transistor passant.
La 1K proposée en entée limite à ~10mA le courant dans la LED de l'optocoupleur, En fait, on peut mettre (il vaut même mieux) sensiblement plus, disons 10K, sans problème, il y a de la marge.
Attention les schémas proposés sont des hypothèses faites sans les modules sous les yeux. S'alimentent-ils bien directement en 12V ?
Cordialement

hallucine

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #8 le: juin 21, 2019, 09:53:01 am »
Bonjour,
Déjà un grand merci pour l'aide apportée.
Le fabricant m'a dit que tous ses composants étaient fait pour du 12V DC.

Sur le schéma en bas est-ce que c'est une variante sans optocoupleur ?

msport

  • Hero Member
  • *****
  • Messages: 661
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Compter les essieux par Arduino
« Réponse #9 le: juin 21, 2019, 04:39:41 pm »

Sur le schéma en bas est-ce que c'est une variante sans optocoupleur ?


... pour adapter ces 12V à une entrée arduino, il faut un pont diviseur à résistances ou un isolateur opto.


Oui, le but étant de réduire les 12V à moins de 5V (ici, à 3,75V, ce qui laisse un marge confortable dans les deux sens, niveau haut et niveau bas)
Cordialement

hallucine

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
Re : Compter les essieux par Arduino
« Réponse #10 le: juin 25, 2019, 11:02:12 am »
Merci beaucoup pour les infos.
Je vais tester tout ça.