Je teste un nouveau moyen de détecter le passage des convois. Sur mon circuit je dispose déjà de la détection par “rail contact marklin” et par “rail coupé avec renvoi de masse”.
Je me lance donc dans la détection Infra-Rouge , avec un montage tout simple : l’émetteur est composé une source via une diode IR et le récepteur d’une photo-diode en série avec une résistance.
Il suffit de mesurer via l’Arduino le niveau du signal reçu pour effectuer la détection.
Les premiers tests sont concluants , reste à affiner la puissance du signal de réception et faire un test en réel dans le programme de pilotage global via mon Arduino.
Juste un point que j’ai beaucoup vu: Ce type de montage a l’énorme inconvénient d’être dépendant de l’éclairage ambiant. Et ne sera normalement pas utilisé par un concepteur sérieux. Combien de ces montages sont continuellement réglés pour continuer à fonctionner?
En appliquant une porteuse à l’émission de la Led IR, et une détection de porteuse sur la photodiode (ou phototransistor qui existe en boité LED) à l’aide d’une PLL par example on devient complétement insensible à la lumière ambiante (sauf par saturation du récepteur par trop grande lumière IR ambiante).
J’applique un schéma à base d’un LM567 par barrière optique, schéma récupéré il y a plus de 15 ans dans Elektor.
Dans la version d’origine, et en réglant proprement les résistances de la photodiode et du phototransistor j’arrivais à plus de 15m de portée, insensible du noir complet à l’exposition plein soleil du phototransistor. J’ai réduit un peu le schéma avec une portée plus faible et moins de composants.
L’astuce du montage, c’est d’utiliser l’oscillateur de la PLL pour alimenter la photodiode.
C’est même tellement efficace que cela fonctionne aussi en réflexion par le dessous des locs, voitures et wagons. En voie K, il n’y a qu’à placer les deux boitiers LED 3mm entre les traverses (en voie C et M il faut percer la voie). Ce signal est directement exploitable par un S88, alors que dans le cadre de la barrière il faut l’inverser. Dans tout les cas il sera aussi exploitable par l’Andruino
Faut que je retrouve le schéma, ou que je le redessine…
Il faut par canal 1 LM567, 3 condo céramiques, 2 condo électrochimiques, 3 résistances, la photodiode et le phototransistor. ]1 condo de 100n en découplage de l’alimentation 5V/:m] ]alimentation du LM567 par les pattes 4(+) et 7(-)/:m] ]1 condo de 10u entre la patte 1 et la masse/:m] ]1 condo de 1u entre la patte 2 et la masse/:m] ]le phototransistor est branché au +5V et mis à la masse par une résistance de 4k7/:m] ]ce point entre le phototransistor et la résistance est connecté à l’entrée du LM567 (patte 3) par un condo de 100n/:m] ]1 résistance entre 10k et 47k est branchée entre les pattes 5 et 6 et un condo de 10n à 33n entre pattes 6 et 7 (la masse). Ils donnent la base temps pour l’oscillateur, cela permet une fréquence différente pour chaque barrières et évite les interactions./:m] ]la photodiode est alimentée par la patte 5 au travers d’une résistance de 470R contre la masse/:m] ]la sortie patte 8 est tirée contre masse par le LM567 quand le phototransistor est éclairé par la photodiode/:m]
Je pense que le genre de montage fait par Bruno est assez peu sensible à la lumière du jour car il détecte l’absence du rayon quand un objet passe entre la diode émettrice et le phototransistor contrairement au système à réflexion qui détecte la présence d’un rayon. Dans la mesure où les véhicules passent très près du phototransistor, on est pratiquement certain que le photo transistor sera occulté même en présence d’un fort éclairage extérieur; dans le cas inverse (détection par réflexion) on a le risque de détecter à tout moment un rayon parasite.
Par contre l’inconvénient que je vois à ce type de montage est que l’alimentation de la diode émettrice étant continue, la consommation du montage est relativement élevée.
J’avais commencé un montage utilisant un PIC à 40 centimes dans lequel j’alimente la diode émettrice uniquement au moment où je veux détecter afin de réduire la consommation.
Même en plein soleil (chose qui arrive souvent chez nous !!) je n’ai jamais noté de problème de détection, il faut dire aussi qu’à l’échelle N la distance entre la diode et le phototransistor est encore plus faible qu’en HO.
La prochaine étape était que le PIC puisse se connecter directement sur le bus S88 sans autre intermédiaire … Mais c’est resté en attente … Pour l’instant je termine la mise au point de décodeur DCC pour signaux, éclairages de voitures et autres choses … Et puis aussi j’essaie d’avancer mon réseau
Jean-Louis n’a pas si tord, même si quand-même vu souvent des barrières optiques protégées par du carton noir (parce que sinon ça marche pas quand y a du soleil.)
Maintenant les composants on fait beaucoup de progrès, avec notamment pour les photodiodes une meilleure filtration qui rends moins sensible au soleil.
De plus les µC sont beaucoup meilleurs marché qu’à l’époque et peuvent faire le travail. Mon circuit à plus de 15 ans, et j’ai une petite centaine de puces en stock, -> j’ai jamais cherché à faire autrement.
En modulation très simple, on fait une lecture sans la LED allumée, puis directement une avec la led allumée, si il y a une différence significative c’est que la led éclaire la photodiode.
C’est à choix pour chacun, je ne fais que donner mes développements.
C’est exactement ce que je fais, le phototransistor est relié à une entrée analogique du PIC … diode éteinte il boucle en faisant des conversions A/D, il mesure donc un niveau d’éclairage moyen, au moment de détecter j’allume la led et vu la faible distance s’il n’y a pas d’obstacle qui coupe le rayon le niveau augmente, dans le cas contraire on reste sur le niveau moyen.
J’utilise ce genre de montage sur mon pont tournant en N pour mettre les rails du pont en phase avec les rails de sortie, j’ai monté 2 paires de phototransistors face à face sur la paroi de la fosse du pont et une led émettrice à une extrémité du pont, le passage de la led devant une paire de phototransistors permet de détecter le sens de rotation et de mettre la phase qui va bien … jusqu’à présent cela marche nickel … et cela me permet de supprimer tous les contacts (merdiques) entre pont et rails de sortie …
Remarque que dans ce genre d’application je détecte un rayon et non pas un obstacle, mais les phototransistors sont encastrés dans la fosse donc assez bien abrités des lumières parasites… de plus la led passe à quelques millimètres des phototransistors, donc le niveau doit pas mal bouger
Tu peux faire plus simple encore en remplaçant la photodiode par un phototransistor.
En présence de lumière le phototransistor est saturé et l’entrée de l’Arduino est au niveau bas; si tu interromps le rayon lumineux, le phototransistor est bloqué et l’entrée de l’Arduino est au niveau haut, tu peux donc utiliser l’entrée de l’Arduino en mode digital, pas besoin de faire des conversions analogique/digital.
Et un phototransistor n’a que deux pattes comme une photodiode, donc le montage reste aussi simple.
Et si tu tiens vraiment à faire des conversions A/D tu verras le niveau passer d’une valeur de l’ordre de 100 à 1023
Il y a plusieurs années j’avais fait un petit montage avec 2 barrières électroniques de ce type situées à 10 cm l’une de l’autre pour calculer la vitesse des locos…
Vu que ce montage détecte l’absence de lumière, il n’est pas sensible à la lumière ambiante, je l’ai testé à l’extérieur en plein soleil et il a fonctionné à tous les coups :
Un inconvénient est que la LED infrarouge consomme pas mal, pour améliorer cela je pilote son allumage avec le microprocesseur, elle ne s’allume qu’un court instant (100 microsecondes) au moment où je lis l’entrée liée au phototransistor, le reste du temps (98%) elle est éteinte.
J’ai fait le même à l’échelle N pour gérer des boucles de retournement et cela fonctionne très bien.