Auteur Sujet: Problème sur pilotage aiguillages par arduino via I2C  (Lu 39634 fois)

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Problème sur pilotage aiguillages par arduino via I2C
« le: septembre 25, 2017, 10:37:07 am »
Bonjour à tous,

Je galère depuis quelques jours sur un projet de pilotage d'aiguillages Minitrix par Arduino Uno.
L'architecture mise en place est la suivante :
Arduino Uno --> Bus I2C --> MCP23017 (plusieurs) --> ULN 2064 (4 par MCP23017)--> Aiguillages alimentés en 16v continu.

Lorsque je lance un sketch de test en boucle sur un MCP23017 et les 8 aiguillages qui lui sont associés (séquence aig A Droit / A Dévié / B droit / B dévié etc....) tout cela par des impulsions successives de 200 ms, tout se passe bien pendant un certain temps.
Puis de manière aléatoire j'ai un aiguillage (pas toujours le même) qui reste bloqué en position droite, et sur la lancée plus aucun des aiguillages ne fonctionne....
Or le sketch continue lui à se dérouler normalement sur le moniteur série .....

Je n'arrive pas à déterminer quelle peut-être la cause : blocage du bus ? du MCP23017 ? autre .... ?

Merci de votre aide !
« Modifié: septembre 25, 2017, 11:18:43 am par VAUBAN38 »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #1 le: septembre 25, 2017, 09:11:15 pm »
Bonjour,
ayant également expérimenté le bus I2C dans le même contexte, j'ai également eu des problèmes de parasitage avec des frayeurs de tension maintenue sur les bobines des aiguillages.
Arduino Uno --> Bus I2C --> PCF8574 (deux) --> ULN2803 (simple ou double en parallèle)--> Aiguillages Fleischmann HO (18ohms) en 12v continu.
Je soupçonne les PCF8574 de voir leur registres facilement déprogrammés par des parasites via le bus ou via l'alimentation mais je n'ai pas vraiment persévéré. Les résistances de fin de bus étaient bien mises et les liaisons courtes mais aucune précaution prise sur les alimentations.
En plus du problème de parasitage je ne suis pas arrivé à commander les bobines 18 ohms avec les ULN2803 mais je n'ai pas beaucoup insisté. Par contre c'était OK pour allumer des LED.
Je me suis tourné vers les décodeurs d'accessoires qui eux, fonctionnent :
Manette --> Arduino Uno booster --> DCC --> interface --> Nano --> buffer 74HC245 --> ULN2803 (double) --> Aiguillages Fleischmann
On m'a dit que les 74HC245 ne servaient à rien, mais ça reste à vérifier.
Mais manifestement à Locoduino le bus CAN est plus populaire, ceci explique peut-être cela.
Cordialement

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #2 le: septembre 25, 2017, 09:36:46 pm »
Merci pour cette réponse.
J'avais effectivement cru comprendre que le bus Can était privilégié par Locoduino, mais pour ma part je n'arrive pas vraiment à en saisir le fonctionnement    :-[ :-[  et je trouve l'I2C bien plus simple et intuitif compte tenu de mes petites connaissances !

Certes j'ai vu que différentes contraintes pouvaient exister (longueur des connexions, parasitages etc ..) mais par ailleurs j'ai pu voir que certaines réalisations étaient pourtant menées à bien malgré ces contraintes...

Pour ce qui concerne mon installation dans son état actuel de test le câble I2C (non blindé) ne mesure que 14 cm, et je précise que je suis en analogique pur.

J'aimerai vraiment trouver le grain de sable qui bloque !

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #3 le: septembre 25, 2017, 11:27:27 pm »
Simplicité, un critère qui m'a aussi séduit ...
Tentez un petit condensateur de découplage au niveau de l'alimentation des MCP23017 (ce que je n'ai pas fait au niveau des PCF8574)
Et vérifiez la qualité du 5V correspondant : Banggood propose de petits oscilloscopes à monter pour moins de 20€.
Cordialement

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #4 le: septembre 26, 2017, 08:36:11 am »
Pour ce qui concerne l'alimentation 5V, s'agissant d'une simple mise en test d'un MCP23017 et de ses 4 ULN associés je me suis simplement servi de l'alimentation 5v de l'arduino.....

Je vais peut-être essayer de passer sur une alim externe. Qu'en pensez vous ?


msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #5 le: septembre 26, 2017, 09:49:21 am »
Surement.
Comme vous l'avez dit "certaines réalisations sont pourtant menées à bien", reste à trouver le problème.
Mais dans plusieurs cas, une petite capacité genre 100µF 25V (6x8mm) m'a fait disparaitre des anomalies incompréhensibles.
Cordialement

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #6 le: septembre 26, 2017, 11:30:00 am »
Vu le prix du composant, ça ne coute rien de tenter !  ;D

En revanche le positionnement a t il une importance ? Au plus près de l'alim ou au plus près du MCP ? (ma question est peut-être stupide mais vu mes connaissances je préfère la poser quand même ! ....)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #7 le: septembre 26, 2017, 03:14:55 pm »
Au plus près du MCP car l'alim est déjà pourvue de condensateurs.

Les parasites sont récoltés entre l'alim et le circuit.

Cdt.
Cordialement,
Dominique

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #8 le: septembre 26, 2017, 04:35:52 pm »
Merci pour la précision.

Je teste ça demain matin et donnerai sur la lancée le résultat ...... Je croise les doigts !

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #9 le: septembre 26, 2017, 05:32:19 pm »
Je n'avais pas vu la valeur de la capa : 100 micro farad ! Dans ce cas il faut rajouter une capa de 100 nano farad en parallèle 
Cordialement,
Dominique

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #10 le: septembre 26, 2017, 08:02:43 pm »
Oups ! Alors là je suis perdu et ne sais plus ce que je dois faire  ......  ::)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #11 le: septembre 26, 2017, 09:30:47 pm »
La capa de 100µF permet de filtrer les variations basse fréquence de la tension d'alimentation et celle de 100nF les variations haute fréquence.
Cordialement

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #12 le: septembre 26, 2017, 10:27:33 pm »
Ok je vais me coucher moins bête ce soir  ;D (mais il reste quand même encore de la marge de progression ..)  !

Et donc je place ces deux composants en parallèle et au plus près du MCP, et j'imagine des broches 9 et 10, c'est bien çà ?

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #13 le: septembre 26, 2017, 10:31:24 pm »
Et donc je place ces deux composants en parallèle et au plus près du MCP, et j'imagine des broches 9 et 10, c'est bien çà ?

C'est ça, en respectant la polarité de la 100µF qui sera une capa chimique.
Cordialement

VAUBAN38

  • Newbie
  • *
  • Messages: 32
    • Voir le profil
Re : Problème sur pilotage aiguillages par arduino via I2C
« Réponse #14 le: septembre 26, 2017, 11:05:04 pm »
Merci de votre aide !

Si les essais s'avèrent concluants, sachant que j'aurai en finalité 5 cartes totalisant 7 MCP, cartes connectées en cascade sur le bus I2C, et au niveau alimentation, faudra-t-il répéter ces ajouts de capas : à chaque carte, à chaque MCP ?

Précision : les cartes sont proches les unes des autres (environ 10 cm de câblage entre deux cartes)