Gestion d'un PN (Barrières oscillantes)
Posté : 01 avr. 2020, 15:54
Pour cette animation j’ai retenu les options suivantes.
Après détection par consommation de courant le déroulement est le suivant :
. Cloche d’annonce avant (2sec) et pendant l’abaissement des barrières.
. Concomitamment à la cloche d’annonce, allumage des feux rouges clignotant qui resterons dans cette situation jusqu’au relevage des barrières.
. Abaissement des barrières (j’ai fait l’impasse sur la simulation de rebond sachant que la manœuvre des barrières par servo indépendant apporte déjà un peu de réalisme par un léger manque de synchronisme).
Dès qu’aucune consommation de courant n’est détecté.
. Arrêt du clignotement des feux
. Relevage des barrières.
Il m’est apparu comme une évidence que cet algorithme se prêtait fort bien à une gestion par microcontrôleur. C’est donc un Arduino Uno qui a été mis en œuvre.
Les mouvements des barrières sont assurés par 2 servomoteurs pilotés de façon indépendante (on trouve facilement sur la Toile et des exemples de programmation et les librairies facilitant grandement la réalisation d’un programme idoine).
Le son de cloche d’annonce est obtenu par le déclenchement d’un lecteur MP3 (Shield pour Arduino) dont le son est amplifié par un outil complémentaire. J'ai réussi à chopper quelques secondes d'un son d'annonce PN extrait d'un document SNCF sur les dangers des passages à niveau et je l'ai dupliqué avec Audacity (la piste sur le MP3 dure un peu plus de 3mn).
Après quelques essais est apparu un certain nombre de désordres, essentiellement des “parasitages“ tant sur le fonctionnement du microcontrôleur que sur les agissements des servos.
En effet lorsque j’ai voulu rendre autonome l’alimentation de l’Arduino (c.a.d. sans le câble USB de programmation) et l’alimenté depuis le 12v disponible dans mon premier montage, le cycle convenu ne se déroulait pas comme attendu et devenait erratique. En bricolant une alimentation indépendante avec quelques composants à dispo le cycle est redevenu conforme. Par ailleurs, pendant les phases d’inactivité des servos certains “grognements“ se faisaient entendre et quelques mouvements désordonnés se produisaient. J’ai alors opté pour une solution qui ne délivrait le 5v (alimentation convenue pour des servos) que pendant les phases de mouvements. Un relais dédié a donc été intercalé pour commuter (ou non) le +. C’est également un relais qui se charge de commuter ce 5v vers la centrale clignotante (gestion des feux rouges). J’avais à disposition un shield 4 relais je l’ai donc utilisé bien qu’il existe des shields 2 relais (me semble-t-il) et qui aurait été suffisant pour les besoins de ce projet.
Enfin afin de fiabiliser au maximum tout l’ensemble j’ai adjoint aux différents circuits des régulateurs de tensions (12v pour Arduino et amplificateur, 5v pour les servos et les leds).
Après une phase de mise en œuvre façon “hand wire“ qui a fonctionné avec satisfaction, j’ai pensé que pour une fiabilisation de l’ensemble, qui allait terminer (un jour) sous le décor du mini module, ainsi que pour faciliter une éventuelle maintenance, l’implantation de tous ces composants sur un circuit imprimé ne serait pas une mauvaise idée.
Ce que je viens donc de réaliser (un de ces projets mis en quarantaine).
Ci-dessous l’avant et l’après (et dans cet ordre).
J'ai profité de ce montage et de la place récupérée pour ajouter 2 mini ventilateurs alimentés en 12v.
Les plus perspicaces auront remarqués qu'il n'y en a qu'un seul de mis en place. L'autre, effectivement, à jouer au bonze en partant en fumée au premier branchement (erreur de ma part ?).
Enfin, afin de pouvoir y effectuer une éventuelle intervention ultérieure, je me suis fait un schéma de tout ça (y compris en repérant les polarités)
Après détection par consommation de courant le déroulement est le suivant :
. Cloche d’annonce avant (2sec) et pendant l’abaissement des barrières.
. Concomitamment à la cloche d’annonce, allumage des feux rouges clignotant qui resterons dans cette situation jusqu’au relevage des barrières.
. Abaissement des barrières (j’ai fait l’impasse sur la simulation de rebond sachant que la manœuvre des barrières par servo indépendant apporte déjà un peu de réalisme par un léger manque de synchronisme).
Dès qu’aucune consommation de courant n’est détecté.
. Arrêt du clignotement des feux
. Relevage des barrières.
Il m’est apparu comme une évidence que cet algorithme se prêtait fort bien à une gestion par microcontrôleur. C’est donc un Arduino Uno qui a été mis en œuvre.
Les mouvements des barrières sont assurés par 2 servomoteurs pilotés de façon indépendante (on trouve facilement sur la Toile et des exemples de programmation et les librairies facilitant grandement la réalisation d’un programme idoine).
Le son de cloche d’annonce est obtenu par le déclenchement d’un lecteur MP3 (Shield pour Arduino) dont le son est amplifié par un outil complémentaire. J'ai réussi à chopper quelques secondes d'un son d'annonce PN extrait d'un document SNCF sur les dangers des passages à niveau et je l'ai dupliqué avec Audacity (la piste sur le MP3 dure un peu plus de 3mn).
Après quelques essais est apparu un certain nombre de désordres, essentiellement des “parasitages“ tant sur le fonctionnement du microcontrôleur que sur les agissements des servos.
En effet lorsque j’ai voulu rendre autonome l’alimentation de l’Arduino (c.a.d. sans le câble USB de programmation) et l’alimenté depuis le 12v disponible dans mon premier montage, le cycle convenu ne se déroulait pas comme attendu et devenait erratique. En bricolant une alimentation indépendante avec quelques composants à dispo le cycle est redevenu conforme. Par ailleurs, pendant les phases d’inactivité des servos certains “grognements“ se faisaient entendre et quelques mouvements désordonnés se produisaient. J’ai alors opté pour une solution qui ne délivrait le 5v (alimentation convenue pour des servos) que pendant les phases de mouvements. Un relais dédié a donc été intercalé pour commuter (ou non) le +. C’est également un relais qui se charge de commuter ce 5v vers la centrale clignotante (gestion des feux rouges). J’avais à disposition un shield 4 relais je l’ai donc utilisé bien qu’il existe des shields 2 relais (me semble-t-il) et qui aurait été suffisant pour les besoins de ce projet.
Enfin afin de fiabiliser au maximum tout l’ensemble j’ai adjoint aux différents circuits des régulateurs de tensions (12v pour Arduino et amplificateur, 5v pour les servos et les leds).
Après une phase de mise en œuvre façon “hand wire“ qui a fonctionné avec satisfaction, j’ai pensé que pour une fiabilisation de l’ensemble, qui allait terminer (un jour) sous le décor du mini module, ainsi que pour faciliter une éventuelle maintenance, l’implantation de tous ces composants sur un circuit imprimé ne serait pas une mauvaise idée.
Ce que je viens donc de réaliser (un de ces projets mis en quarantaine).
Ci-dessous l’avant et l’après (et dans cet ordre).
J'ai profité de ce montage et de la place récupérée pour ajouter 2 mini ventilateurs alimentés en 12v.
Les plus perspicaces auront remarqués qu'il n'y en a qu'un seul de mis en place. L'autre, effectivement, à jouer au bonze en partant en fumée au premier branchement (erreur de ma part ?).
Enfin, afin de pouvoir y effectuer une éventuelle intervention ultérieure, je me suis fait un schéma de tout ça (y compris en repérant les polarités)