Auteur Sujet: Activation d'aiguillage Minitrix N via driver ULN2803  (Lu 1738 fois)

Matth_76

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Activation d'aiguillage Minitrix N via driver ULN2803
« le: novembre 25, 2024, 01:10:06 pm »
Bonjour,

J'ai tenté sans succès de piloter un aiguillage Minitrix N via un driver ULN2803 selon l'article https://www.locoduino.org/spip.php?article142 très bien détaillé.
Avant de passer à l'utilisation de la librairie d'accessoire je souhaite valider que le câblage est correct.

J'utilise le sketch suivant sur Uno R4

#define ACTIVATION 250    // activation de 250ms

int pinBobine_1 = 6;
int pinBobine_2 = 7;
int currentBobine = pinBobine_1;

void setup() {

  Serial.begin(115200);

  //Définition des PINs en sortie
  pinMode(pinBobine_1, OUTPUT);
  pinMode(pinBobine_2, OUTPUT);

  //désactivation des bobines
  digitalWrite(pinBobine_1, LOW);
  digitalWrite(pinBobine_2, LOW);

  Serial.println("Starting loop"); 
}

void loop() {
  toggleTurnOut();
  delay(15000);
}

void toggleTurnOut() {
  Serial.print("CurrentBobine: ");
  Serial.println(currentBobine);
  int nextBobine;
  if (currentBobine == pinBobine_1) {
    nextBobine = pinBobine_2;
  }
  else {
    nextBobine = pinBobine_1;
  }

  Serial.print("Activating bobine: ");
  Serial.println(nextBobine);

  digitalWrite(nextBobine, HIGH);
  delay(ACTIVATION);                 
  digitalWrite(nextBobine, LOW);     

  currentBobine = nextBobine;
}

L'aiguillage est alimenté via ULN2803 avec 10 Volts, l'arduino en USB sur l'ordinateur.
Lors de l'activation je constate le phénomène suivant: le mouvement du sélecteur est initié mais à mi-chemin il revient aussitôt dans sa position initiale et l'aiguillage ne bouge pas. J'ai tenté de pousser un peu la tension sur le driver à 14V mais sans plus de succès (l'aiguillage spécifie 16V max), par contre je crois bien qu'une des 2 bobines à dû griller.
Quelqu'un aurait une idée de ce qui n'est pas correct?

Merci d'avance pour votre aide.

bk4nt

  • Full Member
  • ***
  • Messages: 105
    • Voir le profil
Re : Activation d'aiguillage Minitrix N via driver ULN2803
« Réponse #1 le: novembre 25, 2024, 06:35:19 pm »
Bonjour,

Le code a l'air correct. Mais bricoler de suite avec des aiguillages, c'est par contre risqué... Il n'y a pas de protection avec cette solution, si une tension restait appliquée trop longuement.

Pour valider le montage et votre sketch il suffirait de remplacer les deux bobines par des LED (avec résistance), de changer provisoirement les délais de 250 et 15000 pour 1000. Les deux LED devraient clignoter à un rythme facile à observer. Puis revenir au délais de 250 pour les sorties.

Les deux LED pourraient être conservées pour ne raccorder des bobines qu'une fois la solution complètement finie.

Si une bobine ou les deux ont fumées, vous auriez dû le sentir. Ou ces bobines devraient maintenant sentir assez fort comparées à des neuves. Vous pourriez les tester en les branchant brièvement, moins d'une seconde, à 10-12Vdc en direct.

Je constate que la solution proposée sur le site est toute simple, sans protection, si ce n'est bien sûr le délais de 250ms durant lequel l'Arduino active une bobine. Il n'y a aucun risque, sauf si on commence à bricoler le sketch et les délais...

Lors de l'activation je constate le phénomène suivant: le mouvement du sélecteur est initié mais à mi-chemin il revient aussitôt dans sa position initiale et l'aiguillage ne bouge pas. J'ai tenté de pousser un peu la tension...

Il vous faudrait plus que 250ms pour faire basculer l'aiguillage minitrix? Si ça fonctionne sur l'alim 10-12Vdc, dans votre sketch, augmentez progressivement ce délais, 300, 350... pas trop.

D'autres ont pour habitude de compléter ce genre de système avec un "Capacitor Discharge Unit", une carte électronique toute simple, une autre façon de garantir et et de préserver les bobines. Là, ça n'a pas été ajouté car le sketch et l'Arduino garantissent les 250ms.

Si vous continuez de bricoler, ça vous sera peut-être utile. Un unique CDU sur le fil commun à toutes les bobines, pour les protéger toutes facilement. Le CDU étant une solution bien connue pour commander les aiguilles avec des boutons poussoirs. Un CDU, juste quelques composants, vous coûterait en tous cas moins cher qu'un moteur d'aiguillage Minitrix.

bk4nt

  • Full Member
  • ***
  • Messages: 105
    • Voir le profil
Re : Activation d'aiguillage Minitrix N via driver ULN2803
« Réponse #2 le: novembre 25, 2024, 06:47:41 pm »
Dans les commentaires de l'article, où plusieurs solutions sont en fait décrites, je vois ceci:

"Seul bémol, mes relais sont actifs en permanence et ne se mettent au repos que pendant la phase de commande (250 ms par défaut)

Je cherche en vain depuis deux jours à inverser la commande pour que mes relais restent au repos et s’activent quand j’en ai besoin. (relais actifs à l’état bas des entrées et confirmé dans votre texte).
"

Je m'étais trop attardé sur le PCB avec ULN proposé. C'est une hypothèse aussi, si vous utilisez plus que de simples bobines et un ULN, et selon le câblage. Que les moteurs aiguilles soient alimentées quasi tout le temps. En ce cas, ça peut finir par fumer...

Pour commencer, testez le moteur Minitrix sur l'alim 12Vdc. Puis avant de poursuivre, remplacez les bobines par des LED à la sortie de vos relais ou de la carte. Vous y verrez vite plus clair.

Dans les commentaires, je vois également une réponse faite par JP, l'état actif/repos des sorties peut être modifié dans le sketch original, pour s'adapter à des cartes à X relais du commerce, ou à des composants différents:

#define TRAVAIL LOW // LOW pour Relais, L298N, L9110 ; HIGH pour ULN2803A
#define REPOS HIGH // HIGH pour Relais, L298N, L9110 ; LOW pour ULN2803A


Je n'avais fait que survoler trop vite l'article... un modèle de CDU (ou "Circuit de protection des solénoïdes" en français) y est bien décrit.

Ainsi que perdu dans les commentaires, un lien vers ici, pour le dépannage de la solution: https://forum.locoduino.org/index.php?topic=1136.0

Puis refaites un test avec une bobine ou deux lorsque le résultat avec les LED est acceptable...
« Modifié: novembre 25, 2024, 07:31:28 pm par bk4nt »

Matth_76

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : Re : Activation d'aiguillage Minitrix N via driver ULN2803
« Réponse #3 le: novembre 25, 2024, 11:26:23 pm »
MERCI bk4nt pour la réponse rapide et le conseil prodigué

Pour valider le montage et votre sketch il suffirait de remplacer les deux bobines par des LED (avec résistance), de changer provisoirement les délais de 250 et 15000 pour 1000. Les deux LED devraient clignoter à un rythme facile à observer. Puis revenir au délais de 250 pour les sorties.

Les deux LED pourraient être conservées pour ne raccorder des bobines qu'une fois la solution complètement finie.

Cette approche m'a permis de voir qu'il y avait une erreur de câblage du circuit. J'ai bien senti une odeur de fumé mais ce ne sont pas les bobines de l'aiguillage qui ont grillé mais les circuits 1 et 2 du ULN28003A. Ces derniers sont inutilisables et le courant circule en continu à travers l'entrée 1 maintenant.

Après correction du câblage et utilisation de deux des 6 entrées restantes du driver, l'aiguillage opère comme attendu avec une tension de 12V et une durée d'activation de 250ms.

Je joins un schéma du câblage final (avec un ULN2803A non endommagé).

A quelques rares occasions, l'activation ne fonctionne pas et l'aiguillage se trouve dans une position intermédiaire, est-ce possible de détecter ce cas de figure et ainsi potentiellement détecter une catastrophe avec un convoi avant qu'elle ne se produise?

bk4nt

  • Full Member
  • ***
  • Messages: 105
    • Voir le profil
Re : Activation d'aiguillage Minitrix N via driver ULN2803
« Réponse #4 le: novembre 25, 2024, 11:42:15 pm »
De rien.

Par contre, si une sortie ou deux de l'ULN2803 ont été endommagées, il faut le remplacer. Car c'est la puce qui a été abîmée. D'autres parties et sorties de la puce pourraient avoir été altérées, et le composant pourrait un moment doucement prendre feu... pas top pour la sécurité incendie.  D'après la photo, le vôtre est sur un support et pourrait donc être facilement remplacé.

Si les aiguilles ne bougent pas à tous les coups, ou pas assez, il faut peut être augmenter un peu le délais de 250ms? Pour 300 ou 350?

Détecter si les aiguilles ont bien bougées est plus compliqué. Ca nécessiterait d'ajouter mes micro interrupteurs afin de vérifier leur état après la commande.

Sur une solution aussi simple, le mieux est d'adapter tension et délais de l'impulsion pour être certain que les aiguillages aient à tout coup bougé comme il faut.

Matth_76

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : Re : Activation d'aiguillage Minitrix N via driver ULN2803
« Réponse #5 le: novembre 26, 2024, 09:02:39 pm »
Et bien je vais suivre le conseil. Merci!
Par contre, si une sortie ou deux de l'ULN2803 ont été endommagées, il faut le remplacer. Car c'est la puce qui a été abîmée. D'autres parties et sorties de la puce pourraient avoir été altérées, et le composant pourrait un moment doucement prendre feu... pas top pour la sécurité incendie.  D'après la photo, le vôtre est sur un support et pourrait donc être facilement remplacé.