IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Calcul de vitesse de rotation avec capteur optique et arduino uno


Sujet :

Arduino

  1. #21
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    As tu accès à un oscilloscope ?
    Il faut refaire un essai sans le moteur avec un disque que tu lancera à la main et vérifier plusieurs fois pour voir si la suite présente une aberration aux mêmes endroits.
    Je n'aurai pas accès à un oscilloscope avant lundi.
    J'ai fait tourner mon disque à la main avec ton programme. J'obtiens

    11,44,105,125,157,173,190,204,242,249,256,271,283,308,316,
    12,24,31,40,56,84,99,107,115,138,146,160,170,220,226,236,245,
    8,29,42,47,52,70,77,90,98,113,125,133,152,159,194,213,224,232,237,242,252,255,260,262,267,269,274,276,280,284,
    15,25,30,32,36,39,44,50,58,61,66,68,72,76,83,86,95,109,115,120,126,143,146,148,152,154,158,160,163,166,167

  2. #22
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Ok,
    Tournes le disque moins beaucoup moins vite, par exemple 2 tour/seconde (à vu de nez).

    Au vu des séries que je vois, à mon avis tu as lancé le disque assez fort avec ta main.

    Ce qu'on veut être sur et certain, c'est que le capteur fonctionne bien avec la nature du matériau qui coupe la barrière. Si tu fais tourner tout doucement la roue (même à 1 tour/seconde) et que tu vois cette série: 1,2,3,4....

    Alors tu sais que le capteur n'a aucun problème, que le matériau qui coupe la fourche optique est bien opaque et qu'il n'y a pas un problème de transparence et que le programme de base sur le quel démarrer fonctionne bien.

    La base de ton projet serait fiable.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  3. #23
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Lorsque je met le disque devant le capteur la première valeur affichée est dès le début 11 ou 13. Même en tournant tout doucement je n'arrive pas à voir une suite avec un pas de 1 avec ce programme (11,40,54,66,78,81,86,88,95,102,113,118,124,139,169)

  4. #24
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par capteurtipe
    j'ai donc placé également sur l'arbre moteur un disque en papier troué
    Je me demande si les ouvertures dans la roue sont assez nettes et grandes pour laisser passer la lumière, puisque c'est du fait maison.
    Combien d'ouvertures possède ta roue codeuse ?

    Et si c'est du papier de quelle couleur est-il (pour reprendre la demande de Delias) ? Ce papier est-il bien opaque ?


    Pour le programme que je remets ci-dessous
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    const int pinCapteur=2;
    volatile unsigned int ok, n;
     
    void setup() 
    {
      Serial.begin(9600);   
      pinMode(pinCapteur, INPUT); 
      ok = 0;
      n = 0;
      attachInterrupt(0,nouveauTourInterrupt,FALLING);
    }
     
    void loop() 
    {
       if (ok)
       {
          Serial.print(n);
          Serial.print(",");
          ok = 0;
       }
    }
     
    void nouveauTourInterrupt() 
    {
       n++;
       ok = 1;
    }

    les variables ok et n doivent être volatile.

  5. #25
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Citation Envoyé par Auteur Voir le message
    les variables ok et n doivent être volatile.

    Désolé, j'espère que ce n'est pas la source du problème car variables globales utilisées dans une interruption = faire super gaffe à ce genre de truc !!!!!
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #26
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    La feuille est une feuille canson donc bien opaque. La lumière du capteur s'éteint bien lorsque le papier est devant le capteur et s'allume lorsque le trou passe.
    En tournant le disque manuellement vraiment doucement (a peu près un tour toutes les 3secondes) j'obtiens en déclarant bien les variables volatile
    15,27,32,46,57,63,74,80,86,97,105,110,116,120,131,136,147,174,187,190

  7. #27
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Auteur Voir le message
    Je me demande si les ouvertures dans la roue sont assez nettes et grandes pour laisser passer la lumière, puisque c'est du fait maison.
    Combien d'ouvertures possède ta roue codeuse ?

    Et si c'est du papier de quelle couleur est-il
    Le papier est jaune et il n'y a qu'un trou sur la roue codeuse

  8. #28
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Citation Envoyé par capteurtipe Voir le message
    La feuille est une feuille canson donc bien opaque. La lumière du capteur s'éteint bien lorsque le papier est devant le capteur et s'allume lorsque le trou passe.
    En tournant le disque manuellement vraiment doucement (a peu près un tour toutes les 3secondes) j'obtiens en déclarant bien les variables volatile
    15,27,32,46,57,63,74,80,86,97,105,110,116,120,131,136,147,174,187,190
    C'est intéressant ça !
    - Soit le capteur donne des impulsions un peu comme des rebonds parce qu'il ne fonctionne pas bien (en panne ou foireux et c'était l'hypothèse de départ).
    - Soit la lumière infrarouge arrive à passer un peu au travers du papier ce qui ne m'étonnerait pas du tout. Au quel cas le transistor dans la fourche optique devient passant a cause du faible courant qu'il reçoit et peut être que ta LED de ton capteur clignote par impulsion et que ton œil ne le voit pas (c'est ce que Delias suggérait).

    Tu n'as plus qu'a quadrupler les feuilles de papier (ou mettre un papier aluminium ou n'importe quoi de non transparent et épais) pour garantir l'opacité totale.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  9. #29
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Voilà ce que j'obtiens après avoir recouvert mon disque d'aluminium et en le mettant et l'enlevant simplement devant le capteur.
    6,15,23,28,34,36,42,44,48,50,55,57,62,65,71,73,77,79,84,87,92,96,101,104,

  10. #30
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    vraiment bizarre
    Peux-tu refaire un test mais en remplaçant FALLING par LOW ?

    Tu utilises le capteur de conrad ou ebay pour tes tests ?



    [edit]
    Je me demande si passer en LOW est finalement utile Entre 2 passages comme tu es en LOW, les valeurs devraient défiler, donc ça ne devrait rien apporter.
    [/edit]

  11. #31
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Mesures en tournant manuellement à environ 1 tour toutes les 5 secondes avec la roue recouverte d'aluminium
    14,52,63,69,95,109,117,123,128,133,140,148,165,195,202,206,
    10,31,38,55,61,67,78,87,93,97,103,108,125,191,

  12. #32
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Auteur Voir le message
    vraiment bizarre

    Tu utilises le capteur de conrad ou ebay pour tes tests ?
    Le capteur de ebay, je ne peux pas utiliser celui de conrad car je n'ai pas de plaque de branchement avec les sorties +5V GND et OUT pour le brancher à l'arduino. Sur celui de ebay la plaque de branchement est intégrée. Il me semble qu'avec attachinterrupt on ne peut utiliser que FALLING RISING et CHANGE mais je vais essayer

  13. #33
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Le capteur de conrad a des pattes espacées de 2,54mm, une breadboard t'aidera. Modifier les valeurs FALLING en RISING ou LOW, je crois finalement que ça n'apportera rien

  14. #34
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    En remplaçant FALLING par LOW avec manuellement 1tour toutes les 2 secondes:
    4,724671,27804,30941,34078,37215,10,1308,3822,6360,8906,11444,14569,17690,20815,23924,27065,30194,33343,42444,45541,48682,49254

  15. #35
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Auteur Voir le message
    Le capteur de conrad a des pattes espacées de 2,54mm, une breadboard t'aidera.
    Une breadboard c'est une plaque d'essai? J'en ai une mais le capteur à 4 pattes et sur la plaque intégrée au capteur de ebay il y a aussi d'autres composants que je n'ai pas

  16. #36
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Oui, remplacer FALLING par LOW ne sert à rien.

    Reprenons, car je crois que quelque chose nous a échappé...

    - Pour le capteur Ebay, si je me base sur le schéma qu'a posté f-leb, le circuit après la LED est un trigger de Schmitt, donc il devrait absorber les rebonds du transistor.
    - Je viens de faire un essai du code avec un bouton à la place du capteur à fourche et il fonctionne bien même si j'ai parfois des rebonds.
    Exemple :
    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,22,23,24,
    - A priori pas d'erreur de câblage ?



    Si tu testes le capteur Conrad, il faudra ajouter des composants, notamment des résistances.

  17. #37
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Auteur Voir le message

    - A priori pas d'erreur de câblage ?
    .
    Je ne pense pas non le câblage est tout simple: GND sur GND, +5V de l'arduino sur VCC du capteur et le pin 2 de l'arduino sur OUT du capteur.
    Je n'ai pas trop eu envie de m'embêter à déterminer les bonnes valeurs de résistances à utiliser pour pouvoir utiliser le capteur de conrad. J'en ai donc commandé un autre http://tiptopboards.com/215-capteur-...e-optique.html
    Je le recevrai mardi ou mercredi, je testerai le code dessus

  18. #38
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Par contre demain, si tu as un oscilloscope regarde la tronche du signal qui sort du capteur.

    Je suis curieux de voir la tête du truc.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  19. #39
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 830
    Points
    4 830
    Par défaut
    Bonsoir à tous

    Vous avez bien discuté en mon absence
    Pour reprendre les différentes informations:
    - La platine reprend plus ou moins le schéma de F-leb, par contre cela n'est pas un trigger de Schmitt car il n'y a pas de contre réaction positive, le LM393 est un simple comparateur!
    - avec le composant seul (de Conrad), il faut à minima monter la résistance R1, connecter la patte CO à l'entrée de l'Arduino, activer la pull-up interne et brancher les deux pattes restantes à GND.
    - L’interruption "Low", se ré-déclenche tant que l'entrée est à l'état bas, d'où le comptage extrême.

    Au vu des suites de nombre, pour moi, c'est le capteur qui sort un signal similaire à un interrupteur avec beaucoup de rebonds (sauf que techniquement un rebond c'est lié à un contact mécanique ce qui n'est pas le cas ici). Les bords du trou ne sont pas au gout du capteur, c'est ma première analyse.
    Comment as-tu coupé ton papier? Pour maximiser les chance de bon fonctionnement, les bords doivent être rayonnant (c'est à dire aligné avec un rayon du disque pour passer bien verticalement dans la fourche) et hyper net, passer les deux bords à la peinture noir mat, ou au feutre genre marqueur indélébile pour CD.

    Delias

  20. #40
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2017
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Delias Voir le message
    Comment as-tu coupé ton papier? Pour maximiser les chance de bon fonctionnement, les bords doivent être rayonnant (c'est à dire aligné avec un rayon du disque pour passer bien verticalement dans la fourche) et hyper net, passer les deux bords à la peinture noir mat, ou au feutre genre marqueur indélébile pour CD.

    Delias
    J'ai fait un trou avec une troueuse pour papier classique à quelques millimètres du bord du disque. Je vais essayer avec le marqueur

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 12
    Dernier message: 27/03/2017, 01h05
  2. Capteur de vitesse de rotation d'un banc d'essai
    Par TinyFactory dans le forum LabVIEW
    Réponses: 1
    Dernier message: 17/03/2017, 09h30
  3. Réponses: 1
    Dernier message: 28/06/2011, 15h51
  4. Comment faire des calculs de Rotation avec Ogre
    Par Rumpel dans le forum Ogre
    Réponses: 0
    Dernier message: 22/07/2009, 18h15
  5. Calculer un inverse de matrice avec boost?
    Par Clad3 dans le forum Bibliothèques
    Réponses: 6
    Dernier message: 02/06/2005, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo