Forums LR PRESSE

Où il est question de trains, petits et grands

  • Advertisement

opto-senseur comme détecteur de présence

Ici, c'est l'électricité, l'électronique, l'alimentation - analogique ou "digitale" - etc.

Modérateur: MOD

opto-senseur comme détecteur de présence

Publié: Jeu 23 Mars 2017, 14:32 
Je possède un module de PN FALLER. Il est recommandé d'utiliser soit un bouton poussoir, soit un ILS pour déclencher sa séquence sachant qu'une temporisation réglable empêche les barrières de se relever et que la tempo repart à zéro tant que le poussoir ou l'ILS sont activés.

Je souhaite un déclenchement automatique mais ne suis pas fan de mettre un aimant sous chacun des véhicules susceptibles de passer par ce PN. N'y d'utiliser une pédale de voie qui n'est pas discrète et dont le fonctionnement peut se révéler aléatoire dans le temps.

J'ai pensé utiliser une photo-résistance comme celle-ci :

Image


Seulement voilà, je suis nul en électronique :oops: :cry:

Le montage devra devenir conducteur quand la lumière ambiante est occultée par un véhicule.
Auquel cas, quelqu'un pourrait-il m'en indiquer un simple à réaliser avec des composants courants ?

Merci d'avance
Je suis Jumbo
Avatar de l’utilisateur
PJRo
Zé cru voir un rominet!
 
Messages: 12603
Inscrit le: Lun 15 Août 2005, 16:45
Âge: 61
Prénom: Pascal
Club: AAATV-SPDC

Re: opto-senseur comme détecteur de présence

Publié: Ven 24 Mars 2017, 17:46 
Ton idée est lumineuse :lol:
Malheureusement cela risque de ne pas fonctionner comme tu le veux.
En effet, la lumière ambiante peut être d'intensité variable (le matin en plein soleil, l'après-midi à l'ombre, le soir à l'éclairage artificiel) et donc ton bidule difficile à régler.
Mieux vaut un système à infrarouge fonctionnant soit par réverbération (en ce cas il faut placer un morceau de scotch plu sous les véhicules) soit par coupure de faisceau. J'utilise depuis longtemps ce genre de système et j'en suis très satisfait. La barrière formée par le faisceau IR doit faire un angle différent de 90° pour n pas détecter les espaces entre ouagons.
Voici le schéma que j'utilise :

Image
Conteur de civet
Avatar de l’utilisateur
Chris31
Intarissable !
 
Messages: 4409
Inscrit le: Dim 31 Mai 2009, 18:36
Localisation: TOULOUSE
Âge: 74
Echelle pratiquée: H0e, 0i, OO9
Prénom: Ben c'est Chris
Club: GEMME

Re: opto-senseur comme détecteur de présence

Publié: Sam 25 Mars 2017, 01:11 
PJRo a écrit:Seulement voilà, je suis nul en électronique

Tu n'avais qu'à faire de l'électronique au lieu de la chimie. :siffle:

Ton montage pourra éventuellement fonctionner si la luminosité ambiante n'est pas trop variable, et surtout s'il y a assez de différence entre l'état éclairé et l'état obscurci. Si tu as un ohmmètre, tu mets ta LDR en situation, et tu mesures sa résistance :
- avec la luminosité la plus forte que tu penses avoir ;
- avec la luminosité la moins forte que tu penses avoir ;
- et enfin avec un véhicule au dessus.

On pourra alors voir si le fonctionnement sera possible et assez fiable. Le montage sera très semblable à celui qu'a montré Chris, l'ampli fonctionnant en saturation. Un petit plus sera de le monter en trigger de Schmitt, mais l'important est d'abord de connaître les valeurs de résistance de la LDR.

AU fait, au cas où : LDR = light dependant resistor : c'est la même chose que ta photorésistance.
Avatar de l’utilisateur
Gibi
Communicatif
 
Messages: 828
Inscrit le: Ven 27 Jan 2017, 02:44
Âge: 66
Echelle pratiquée: HO
Prénom: Bernard

Re: opto-senseur comme détecteur de présence

Publié: Sam 25 Mars 2017, 11:33 
Bonjour,

Une détection par LDR peut tout à fait fonctionner. Arduino en propose un montage à base d'AOP :
http://forum.e-train.fr/viewtopic.php?f=18&t=79624&start=300

Pour ma part je prévois d'en équiper mon futur réseau mais en reliant directement la LDR à une entrée analogique d'un ARDUINO en pont diviseur, on ne peut faire plus simple comme montage !
L’intérêt est de pouvoir calibrer la luminosité maximale et minimale selon l'environnement : On appuie sur un bouton et pendant un temps défini (10s par exemple), le programme enregistre la valeur max et la valeur min. Si on passe à la main un wagon à ce moment là on configure aisément la détection.
Ensuite la détection se fait selon un seuil situé entre le min et le max paramétré par essai et j'ajoute un filtrage temporel pour éviter les fausses détections...
J'ai poussé le vice jusqu'à enregistrer les valeurs de paramétrage en EEPROM pour ne pas avoir à refaire le paramétrage si les conditions ne changent pas entre deux utilisations.

C'est peut-être un poil compliqué pour PJRo mais ça peut en intéresser d'autres, je vous met le code :
Code: Tout sélectionner
/*
Programme d'essai de la détection des trains par LDR.

Calibration des valeurs maxi et mini d'éclairement par appui sur BP
Lecture de la valeur d'éclairement et mapping
Détermination si seuil dépassé pendant temps de filtrage et allumage LED

Les valeurs min et max sont stockées en EEPROM pour ne pas être perdues à la mise hors tension

E/S :
BP calibration : broche 2
LED détection : broche 3
LDR : entrée ana 0

09/12/2016

*/

#include <EEPROM.h>

// Constantes d'E/S
const byte BP_calib = 2;
const byte LED = 3;
const int LDR = A0;

//Seuil de déclenchement
const int seuil = 80;

//Variables
int valeur_LDR = 0;
int valeur_max = 0;
int valeur_min = 1023;

int tempo_filtrage = 100;
byte debut_tempo_filtrage = LOW;
unsigned long previousMillis = 0;

byte detection = LOW;


void setup() {
  // put your setup code here, to run once:

  // déclaration des E/S
  pinMode (BP_calib , INPUT_PULLUP);
  pinMode (LED , OUTPUT);

  //Récupération des valeurs min et max en EEPROM
  EEPROM.get(0,valeur_max);
  EEPROM.get(10,valeur_min);
}

void loop() {
  // put your main code here, to run repeatedly:

  //Calibration si BP appuyé
  if (digitalRead (BP_calib) == LOW ) {
     valeur_max = 0;
     valeur_min = 1023;
     previousMillis = millis();
     while (millis () - previousMillis < 5000) {
        valeur_LDR = analogRead(LDR);

        // enregistrement valeur max
        if (valeur_LDR > valeur_max) {
            valeur_max = valeur_LDR;
        }

        // enregistrement valeur min
        if (valeur_LDR < valeur_min) {
            valeur_min = valeur_LDR;
        }
    }
    //Enregistrement des valeurs min et max en EEPROM
    EEPROM.put(0,valeur_max);
    EEPROM.put(10,valeur_min);
  }

  //Lecture et mapping de la valeur d'éclairement
  valeur_LDR = analogRead(LDR);
  valeur_LDR = map(valeur_LDR, valeur_min, valeur_max, 0, 255);
  valeur_LDR = constrain(valeur_LDR, 0, 255);
 
  //Comparaison au seuil et filtrage temporel
  if ((valeur_LDR < seuil) && (debut_tempo_filtrage == LOW)){
      previousMillis = millis();
      debut_tempo_filtrage = HIGH;
  }
  if (((millis() - previousMillis) > tempo_filtrage) && (valeur_LDR < seuil) ){
      detection = HIGH;
      debut_tempo_filtrage = LOW;
  }
  else {
      if (valeur_LDR > seuil) {
      detection = LOW;
      }
  }
 
  // Allumage LED 2s si détection
  if (detection == HIGH){
      digitalWrite(LED,HIGH);
      delay(2000);
      digitalWrite(LED,LOW);
  }

}


Je l'ai essayé sur une voie d'essai et ça marche très bien, que ce soit avec des wagons courts ou longs ou encore assez hauts sur pattes qui laissent passer la lumière entre deux bogies, et ce quelle que soit la vitesse de circulation. Un train complet est détecté à coup sur !

Peu de sensibilité aux perturbations extérieures (passage d'une rame sur la voie contiguë malgré un éclairage directionnel qui génère volontairement une ombre portée ; passage de la main à +/- 30cm au dessus de la voie...) et on s'adapte très vite aux conditions de lumière grâce à la calibration.


Je pense que si on veut un système fiable c'est plutôt pas mal, et c'est très discret avec juste la LDR a insérer dans un trou entre deux traverses.

Qu'en pensez-vous ?
Avatar de l’utilisateur
Gugus
Fécond
 
Messages: 576
Inscrit le: Jeu 15 Oct 2009, 18:50
Localisation: Versailles (78)
Âge: 32
Echelle pratiquée: HO

Re: opto-senseur comme détecteur de présence

Publié: Dim 26 Mars 2017, 11:16 
Gugus a écrit:Bonjour,

Une détection par LDR peut tout à fait fonctionner. Arduino en propose un montage à base d'AOP :
http://forum.e-train.fr/viewtopic.php?f=18&t=79624&start=300



Merci Gugus de faire référence à ce que j'ai écrit sur ce forum.

Beaucoup de forumistes ont suivi mon cours d'électronique (classique et programmable) sur ce forum. Plusieurs fois, j'ai fait des liens pour que le cours puisse être téléchargé. Cette solution n'était pas satisfaisante, aussi j'ai mis le cours sur le site de locoduino en libre téléchargement.

Démarrer en électronique

Voilà pour ceux qui veulent en apprendre un peu plus dans ce domaine.
Avatar de l’utilisateur
Arduino
Prolixe
 
Messages: 1631
Inscrit le: Mer 25 Sep 2013, 16:14

Re: opto-senseur comme détecteur de présence

Publié: Dim 26 Mars 2017, 11:39 
De rien, j'ai d'ailleurs suivi ton cours avec intérêt pour en arriver à ce qui est au dessus !

Même si je suis un peu avantagé, étant informaticien industriel de formation... Mais je n'ai plus pratiqué professionnellement depuis et je ne connaissais pas ARDUINO, malgré tout ça aide :siffle:
Avatar de l’utilisateur
Gugus
Fécond
 
Messages: 576
Inscrit le: Jeu 15 Oct 2009, 18:50
Localisation: Versailles (78)
Âge: 32
Echelle pratiquée: HO

Re: opto-senseur comme détecteur de présence

Publié: Dim 26 Mars 2017, 22:20 
Gugus a écrit:Pour ma part je prévois d'en équiper mon futur réseau mais en reliant directement la LDR à une entrée analogique d'un ARDUINO en pont diviseur, on ne peut faire plus simple comme montage !

Si ! On peut faire encore plus simple si on peut / veut se passer d'Arduino. Tu branches le point milieu du pont diviseur sur une entrée de porte CMOS 4093 ou 40106, qui peut s'alimenter sans problème entre 5 et 15 V. La sortie peut s'utiliser sans difficulté, tout dépend de ce que l'on veut en faire, à travers un transistor, pour commander un relais par exemple.
Et il sera facile d'inverser le signal de sortie en cas de besoin, en connectant l'entrée d'une 2e porte du même circuit intégré à la sortie de la 1re. Le 4093 (NAND) a 4 portes ; le 40106 (NOT) en a 6. Ces circuits permettent donc d'équiper plusieurs détecteurs pour un prix dérisoire.
Avatar de l’utilisateur
Gibi
Communicatif
 
Messages: 828
Inscrit le: Ven 27 Jan 2017, 02:44
Âge: 66
Echelle pratiquée: HO
Prénom: Bernard

Re: opto-senseur comme détecteur de présence

Publié: Lun 27 Mars 2017, 19:40 
Tout à fait, mais on perd la faculté de calibrer facilement la détection selon la lumière ambiante.

Après il est inutile d'opposer électronique câblée et électronique programmable, elles sont complémentaires, selon les souhaits de chacun.
Avatar de l’utilisateur
Gugus
Fécond
 
Messages: 576
Inscrit le: Jeu 15 Oct 2009, 18:50
Localisation: Versailles (78)
Âge: 32
Echelle pratiquée: HO

Re: opto-senseur comme détecteur de présence

Publié: Lun 27 Mars 2017, 22:29 
Entièrement d'accord. Tout dépend de ce qu'on a déjà et où l'on veut aller. Mais je ne peux pas le deviner, c'est pourquoi j'indique la solution la plus simple possible.
Avatar de l’utilisateur
Gibi
Communicatif
 
Messages: 828
Inscrit le: Ven 27 Jan 2017, 02:44
Âge: 66
Echelle pratiquée: HO
Prénom: Bernard

Re: opto-senseur comme détecteur de présence

Publié: Mar 28 Mars 2017, 08:51 
J'utilise 6 LRD combinées avec un module Arduino pour faire de la détection précise du début de convois car le défaut des capteurs résistifs par consommation de courant est qu'ils ne fonctionnent pas pour certaines locos vapeur qui ne captent le courant que sur le tender.
Aucun souci sinon par le fait de mon éclairage du réseau par Leds : cet éclairage Blanc + RVB simule le jour/nuit; la nuit, seules les Leds Bleues fonctionnent ce qui n'est pas suffisant pour les LDR: donc, en parallèle avec le réseau de Leds Bleues, je mets une Led blanche forte luminosité par LDR. De plus, je cache ces Leds avec un tube plastique noir; à 40cm, c'est suffisant pour illuminer les LDR
Avatar de l’utilisateur
Doxy
Disert
 
Messages: 418
Inscrit le: Jeu 04 Mai 2006, 17:34
Localisation: Ronchin (59)
Âge: 75

Re: opto-senseur comme détecteur de présence

Publié: Mar 28 Mars 2017, 10:35 
Doxy a écrit:faire de la détection précise du début de convois car le défaut des capteurs résistifs par consommation de courant est qu'ils ne fonctionnent pas pour certaines locos vapeur qui ne captent le courant que sur le tender.

:applause: d'où ma suggestion maintes fois répétée (s'cusez-moi :mrgreen: ) que les fabricants réalisent les bagues isolantes essieux/roues en plastique "conducteur" ainsi que des bandages en caoutchouc conducteur pour les essieux moteurs 8)
N'ayant pas "d'entrée" chez les grands fabricants je ne sais pas comment faire remonter cette suggestion :(
informatisé oui, mais pas trop
Avatar de l’utilisateur
Matabiau
Loquace
 
Messages: 1244
Inscrit le: Mar 27 Oct 2009, 13:08
Localisation: 31 (ex 58 et 94)
Âge: 67
Echelle pratiquée: HO III/IV
Prénom: Michel
Club: privé Villeneuve (LR805/822)

Re: opto-senseur comme détecteur de présence

Publié: Jeu 06 Avr 2017, 13:37 
Tout d'abord merci à tous pour vos réponses !

Ensuite, je pense m'orienter vers le schéma proposé ici :
Gugus a écrit:Bonjour,

Une détection par LDR peut tout à fait fonctionner. Arduino en propose un montage à base d'AOP :
http://forum.e-train.fr/viewtopic.php?f=18&t=79624&start=300


Ceci dit, il me vient une question : Peut-on mettre 4 LDR en parallèle ou bien doit-on impérativement reproduire 4 fois le dispositif ? (4 voies convergentes vers le PN).
D'autre part, mon montage doit être branché à la place d'un bouton poussoir. Où s'effectue le branchement du module FALLER sur le montage, à la place du relais ?

Pour finir, pas forcément de problème de variation de luminosité car le réseau sera en sous-sol avec un éclairage constant.
Je suis Jumbo
Avatar de l’utilisateur
PJRo
Zé cru voir un rominet!
 
Messages: 12603
Inscrit le: Lun 15 Août 2005, 16:45
Âge: 61
Prénom: Pascal
Club: AAATV-SPDC

Re: opto-senseur comme détecteur de présence

Publié: Jeu 06 Avr 2017, 15:31 
PJRo a écrit:...
Ceci dit, il me vient une question : Peut-on mettre 4 LDR en parallèle ou bien doit-on impérativement reproduire 4 fois le dispositif ? (4 voies convergentes vers le PN).
...

Les photosrésistances étant normalement éclairées, elles présentent une résistance "faible". Seule la LDR provisoirement masquée par le train présentera une résistance forte. Si tu les mets en parallèle, la variation équivalente de résistance sera assez faible et le montage difficile à régler et sujet à de très faibles variations de luminosité ambiante.
Il serait plus judicieux de mettre 4 couples de résistances "R1" + LDR et utiliser 4 diodes pour les connecter à l'entrée de l'AOP: ça sera moins cher que de dupliquer 4 fois le montage.
Cordialement,
belledone
Causant
 
Messages: 213
Inscrit le: Mer 28 Avr 2010, 15:56
Localisation: ALPES

Re: opto-senseur comme détecteur de présence

Publié: Ven 07 Avr 2017, 10:09 
Merci pour ta réponse. Tu peux me faire un petit crobard, STP ? Je suis vraiment nul :oops: :oops: :oops:
Je suis Jumbo
Avatar de l’utilisateur
PJRo
Zé cru voir un rominet!
 
Messages: 12603
Inscrit le: Lun 15 Août 2005, 16:45
Âge: 61
Prénom: Pascal
Club: AAATV-SPDC

Re: opto-senseur comme détecteur de présence

Publié: Ven 07 Avr 2017, 12:25 
Si le schéma envisagé, qui paraît le plus simple pour surveiller plusieurs voies simultanément, en utilisant des diodes, est le suivant (on peut mettre un AOP à la place de la porte logique) :

Image

J'ai bien peur qu'il ne fonctionne pas car il faudrait que toutes les LDR soient occultées pour que la sortie réagisse. Pour ne pas alourdir cette page, j'ai mis toutes les justifications dans un fichier PDF qui pourra être consulté par toute personne intéressée.

Toujours dans le fichier PDF, je propose un schéma certes un peu plus compliqué, mais qui fonctionnera à coup sûr.

Image

Le schéma peut être étendu à un nombre quelconque de LDR.
Avatar de l’utilisateur
Gibi
Communicatif
 
Messages: 828
Inscrit le: Ven 27 Jan 2017, 02:44
Âge: 66
Echelle pratiquée: HO
Prénom: Bernard

Suivant

Retour vers Electricité, électronique, alimentation

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : HEMARD Patrick et 10 invité(s)