Luxmètre/capteur d’intensité lumineuse
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Luxmètre/capteur d’intensité lumineuse



  1. #1
    Romain09

    Luxmètre/capteur d’intensité lumineuse


    ------

    Bonjour,
    Je dois présenter un luxmètre/capteur d’intensité lumineuse c'est à dire présenter les caractéristiques principales et proposer une interface entre le capteur et un micro contrôleur.

    J’ai fait quelques recherches sur le net et j’ai trouvé qu’il fallait réaliser mon projet soit avec une LDR(photorésistance) ou un convertisseur luminosité/fréquence (TSL235R).

    Je suis partie sur ce montage.
    Nom : cdsanasch.gif
Affichages : 263
Taille : 1,7 Ko
    mais je me heurte à un problème… comment convertir la valeur analogique en Lux ?
    mon PIC (16f877A de microchip) utilise un convertisseur analogique/numérique sur 10bits

    J'ai essayé de comprendre le fonctionnement sur ce site et celui-ci
    Je suis soit aveugle soit soit il manque des infos parce que comme je comprend leurs code ils affichent directement la valeur du convertisseur A/N.


    Mes composants:
    Photorésistance : NSL 4962 : http://www.farnell.com/datasheets/1699948.pdf
    PIC : 16F877A : http://ww1.microchip.com/downloads/e...Doc/39582C.pdf

    Mon programme
    Code:
    #include <16f877A.h> 
    #DEVICE ADC = 10                                  //Convertisseur A/N sur 10bits 
    #fuses HS, NOWDT, NOPUT, NOBROWNOUT, NOLVP 
    #use delay (clock=20000000) 
     
    // utilisation du LCD 
    #include "LCD_FLEX_IO_2x16.c" 
     
    void main(void) 
    { 
    setup_adc_ports(RA0_ANALOG); 
    setup_adc(ADC_CLOCK_INTERNAL);                    //Configuration des ports analogique 
    set_adc_channel(0); 
    delay_ms(10);
     
    lcd_init();
     
    int16 capteur=0;                                  //Variable dans laquelle je veux le nombre de lux mesuré par le capteur 
    
    output_high(PIN_E2);                              //Sortie E2 a 5v qui me sert de vcc pour le capteur 
    
    while(1) 
    { 
    delay_ms(10); 
    capteur = read_adc();                             //incrémente la variable capteur de la valeur du CAN 
    printf(lcd_putc, "\f");                           //efface l'afficheur 
    printf(lcd_putc, "%ld" capteur);                  //affiche la valeur du capteur sur l'afficheur 
    delay_ms(500); 
    } 
     
    }

    Ne comprenant pas grand chose je me suis tourné vers un autre montage mais cette fois avec un convertisseur luminosité/fréquence (TSL235R)
    le montage et le fonctionnement sont ici

    Je n'ai pas le composant TSL235R donc je n'ai pas pu testé.
    Si j'ai bien compris il suffirait de brancher la sortie du TSL235R sur mon micro-contrôleur, de mesurer la fréquence et de la diviser par 100 pour la convertir en lux ?



    Merci d'avance pour votre aide
    Excellente journée/soirée

    -----
    Dernière modification par Romain09 ; 23/10/2013 à 17h55.

  2. #2
    PIXEL

    Re : Luxmètre/capteur d’intensité lumineuse

    tu as besoin de la courbe du capteur tension (ou résistance) / éclairage.

    avec la LDR c'est pas évident , beaucoup de dispersions et info non linéaire.

    alors qu'avec le TSL235R , tu as une info linéaire :

    http://pdf1.alldatasheet.com/datashe...C/TSL235R.html

    figure 1

    il suffira ensuite de faire un soft fréquence > lumen à traiter par ton micro.

    prévois , tout de même , de pouvoir faire varier l'échelle pour un éventuel étalonnage.
    Dernière modification par PIXEL ; 23/10/2013 à 18h00.

  3. #3
    Romain09

    Re : Luxmètre/capteur d’intensité lumineuse

    Ok merci pour la réponse et la rapidité

    Dans le cas du TSL250R (convertisseur luminosité/tension) il me suffit de le relier au CAN de mon PIC et de convertir la valeur pour correspondre au graphique "tension de sortie en fonction de l'irradiance" ?
    même style que le TSL235 mais pour la tension si j'ai bien compris

  4. #4
    mayonaise

    Re : Luxmètre/capteur d’intensité lumineuse

    Salut,

    le 235 donne une sortie en fréquence linéaire sur 5 décades, tu ne passe pas par un CAN du µc, tu vas juste mesurer le temps entre chaque front montant par exemple et c'est joué, mais pour les fortes luminosités, tu auras un signal de l'ordre de la centaine de kHz à mesurer, avec un PIC qui tourne à 20MHz, ça me paraît coton de mesurer ça précisément sans passer par des interruptions et donc, des problèmes pour mesurer le temps (la précision dans le délai de détection de ton front que te fait gagner l'interruption sera perdue par la dégradation de la qualité de mesure du temps de ton programme en c...) Edit, je dis des bêtises, tu peux attendre le front descendant avant de sortir de ton interruption pour traiter la mesure et tu n'as plus de pb de précision de mesure du temps. En fonction de la rapidité à laquelle tu veut effectuer ta mesure, de la précision voulue et de la gamme de luminosités à mesurer, Tu as le choix entre cette solution, un diviseur de fréquence qui te permettra de regagner la précision perdue par soft et l'utilisation de la série 250 qui a une sortie tension à attaquer directement avec le CAN du PIC (en suréchantillonnant ) mais n'est linéaire que sur 2 ou 3 décades... Il existe même des amplis logarithmiques pour ça.
    Dernière modification par mayonaise ; 24/10/2013 à 00h13.
    Impose ta chance, serre ton bonheur, va vers ton risque.
    A te regarder ils s'habitueront. ♂

  5. A voir en vidéo sur Futura
  6. #5
    cubitus_54

    Re : Luxmètre/capteur d’intensité lumineuse

    Bonjour,


    Si tu veux rester dans le domaine analogique, utilise une photodiode. La réponse est linéaire et dans les documents constructeurs tu as la relation entre la lumière et le courant généré.
    Ajoute une résistance et branche le tout sur l'entrée CAN de ton microcontrôleur.

    C'est sans doute plus simple, néanmoins la solution de mayonaise est meilleure, mais plus difficile à programmer. Tout dépend de ton niveau en la matière...

  7. #6
    PIXEL

    Re : Luxmètre/capteur d’intensité lumineuse

    Citation Envoyé par cubitus_54 Voir le message
    Bonjour,
    Si tu veux rester dans le domaine analogique, utilise une photodiode. La réponse est linéaire et dans les documents constructeurs tu as la relation entre la lumière et le courant généré.
    Ajoute une résistance et branche le tout sur l'entrée CAN de ton microcontrôleur.
    vu le courant de sortie d'une photodiode , faudra peut être un AOP pour arriver dans la gamme
    0-5 V du CAN.

    bref , y'a des os à ronger

  8. #7
    invite2313209787891133
    Invité

    Re : Luxmètre/capteur d’intensité lumineuse

    Bonjour

    Le plus simple est certainement d'utiliser un TSL235R. Si ton PIC a du mal à mesurer la fréquence en plein ensoleillement il suffit de placer un filtre neutre devant (un ND1000 utilisé pour la photo par exemple). Il faudra simplement prévoir un coefficient multiplicateur sur la valeur mesurée dans ton programme. De toute façon en plein soleil le capteur serait hors échelle si tu l'utilisait seul (valeur maxi mesuré : 10W/m²).

  9. #8
    terriblement

    Re : Luxmètre/capteur d’intensité lumineuse

    Pour mesurer une fréquence efficacement avec un PIC tu peux utiliser les modules CCP intégrés, et ca devient de la tarte, meme dans le domaine de la dizaine de KHz.

  10. #9
    Aurélien

    Re : Luxmètre/capteur d’intensité lumineuse

    Encore plus simple : utilise un capteur réellement dédié à cette tâche, on les trouve dans les catégories "ambient light sensor", ils intègrent toute la circuiterie analogique, les filtres optiques, et te donnent en numérique (I²C ou autre) la valeur en lux.
    Tu en trouveras chez maxim, AMS, etc...

    Aurélien

  11. #10
    Romain09

    Re : Luxmètre/capteur d’intensité lumineuse

    Oh mince j'ai complètement oublié de vous remercier pour votre aide, désolé.
    Je suis parti sur l'idée d'Aurélien et merci à toi car je ne connaissais pas ce type de composant.

    Bonne journée et encore merci

  12. #11
    WizardOfLinn

    Re : Luxmètre/capteur d’intensité lumineuse

    Citation Envoyé par Romain09 Voir le message
    ...
    mais je me heurte à un problème… comment convertir la valeur analogique en Lux ?
    ...
    En toute rigueur, aucun traitement informatique ni électronique ne permet de convertir ton signal en lux s'il n'y a pas devant le capteur un filtre optique qui adapte la courbe de réponse spectrale du capteur.
    Sans filtre, c'est un capteur de luminosité, pas un luxmètre pouvant donner des valeurs absolues en lux avec des sources lumineuses variées.
    Tu peux à la rigueur l'étalonner en lux pour la lumière du jour d'un ciel dégagé, mais ça te donnera des valeurs fausses avec d'autres sources, ou même de jour avec des conditions météos différentes.

  13. #12
    Romain09

    Re : Luxmètre/capteur d’intensité lumineuse

    Merci, c'est ce que je ne comprenais pas. C'est pour ça que je suis parti sur un circuit qui intègre tout ce qu'il faut et qui transmet directement la valeur en lux par I²C (beaucoup plus facile )

Discussions similaires

  1. Variation d'intensité lumineuse suivant un capteur lumineux
    Par inviteb620a559 dans le forum Électronique
    Réponses: 8
    Dernier message: 19/06/2012, 16h38
  2. Intensité lumineuse
    Par invitebe851d9b dans le forum Physique
    Réponses: 2
    Dernier message: 23/05/2010, 09h28
  3. Intensité lumineuse
    Par invited9f37326 dans le forum Physique
    Réponses: 5
    Dernier message: 14/12/2009, 10h24
  4. Relation intensité lumineuse intensité èlectrique
    Par invitec18f91fb dans le forum Physique
    Réponses: 2
    Dernier message: 25/03/2009, 07h00
  5. Intensité lumineuse
    Par invite85ca5257 dans le forum Physique
    Réponses: 10
    Dernier message: 13/03/2005, 22h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.