Fréquence de rotation avec ARDUINO
Répondre à la discussion
Affichage des résultats 1 à 29 sur 29

Fréquence de rotation avec ARDUINO



  1. #1
    mallodu55

    Fréquence de rotation avec ARDUINO


    ------

    Bonjour je suis nouveau sur le forum mais j'ai déjà vu plusieurs sujet sur le thème "ARDUINO"

    Voila je vous expose ce que j'ai besoin pour mon projet :

    Je dois acquérir deux infos fréquence de rotation puis je dois les soustraire.

    Je vais un peu détaillé :

    On va appelé X le premier endroit où je souhaite relevé ma fréquence de rotation et Y le deuxième, donc après avoir X et Y j'aimerais le résultat de Y-X sur le moniteur de l'arduino.

    Dans un premier temps est-ce faisable ?
    Puis dans un deuxième temps quel capteur prendre pour relevé la fréquence de rotation ? (Capteur inductif 2 fils c'est possible ?)

    En attente de vos réponses
    Et merci d'avance !!

    -----

  2. #2
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Bonjour mallodu55 et bienvenue sur FUTURA
    Citation Envoyé par mallodu55 Voir le message
    plusieurs sujet sur le thème "ARDUINO"
    n'importe quel µC est utilisable
    Dans un premier temps est-ce faisable ?
    Oui
    Puis dans un deuxième temps quel capteur prendre pour relevé la fréquence de rotation ? (Capteur inductif 2 fils c'est possible ?)
    Quel est la vitesse de rotation de tes deux arbres 1Tr/mn ou 3000Tr/mn .... ça change la réponse !
    Tu veux combien d'affichage par seconde ?
    Tu veux quelle résolution d'affichage ?
    J'aime pas le Grec

  3. #3
    Yoruk

    Re : Fréquence de rotation avec ARDUINO

    Quel type de capteur est utilisé ? Optique ? Effet Hall ? cela va conditionner l'électronique éventuelle à ajouter entre le capteur et le µC.
    La robotique, c'est fantastique !

  4. #4
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Dans un premier temps merci pour cette réponse rapide

    DAUDET78 :

    Donc :
    Ma vitesse de rotation max sera de 2500tr/min

    Avant de parler de l'affichage etc.. j'aimerais déjà mettre en place l'acquisition des deux vitesses et de les soustraire. Car peut être que j'ajouterai une autre étape avant de passer à l'affichage

    Pour info je possède un Arduino ATMéga

    Yoruk :

    Justement je veux savoir ce que vous me proposez comme capteur pour faire cette acquisition. Pour des raisons ergonomique le effet hall me conviendrait mieux
    Dernière modification par mallodu55 ; 25/07/2014 à 15h35.

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

    Re : Fréquence de rotation avec ARDUINO

    Ne connaissant rien des gammes de vitesse, d'environnement, de contraintes, d'âge du capitaine, mécanique du projet... Difficile de te conseiller un capteur.
    La robotique, c'est fantastique !

  7. #6
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Un effet hall me conviendrait parfaitement pour mon montage

    Donc pour la suite partons sur deux capteurs à effet hall

  8. #7
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    Avant de parler de l'affichage etc..
    je ne parle pas d'affichage, mais de la résolution . Si tu veux afficher des tr/mn mais que ta chaine capteur+calcul le fait sur deux chiffres significatifs, ça sert à rien !

    Maintenant, c'est quoi qui tourne ?
    Le plus simple, un aimant et un effet hall . Par contre, pour équilibrer dynamiquement ... on met deux aimants. Et pourquoi pas quatre ?

    Bref ... faut que tu fasses un cahier des charges .
    J'aime pas le Grec

  9. #8
    PA5CAL

    Re : Fréquence de rotation avec ARDUINO

    Bonjour

    Comme l'a indiqué DAUDET78, il faut aussi connaître la résolution (pas de 1 tr/mn ou 100 tr/mn) et la fréquence de la mesure (toutes les 100 ms ou 10 s ?). Le nombre minimum de repères par tour à prévoir pour le capteur dépend du rapport entres les deux.

    [EDIT: grilllé]

  10. #9
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    D'accord d'accord, attendez je vais vous expliquer vraiment en détails mon projet

    Donc on oublie totalement l'affichage

    Dans un premier temps : On mesure la vitesse de l'arbre X puis on mesure la vitesse de l'arbre Y
    Dans un deuxième temps : On fait le différence de Y-X (Puisque Y tourne plus vite que X alors on aura toujours une valeur positive)
    Dans un troisième temps : Si le résultat de la différence est supérieur à 10 alors j'aimerais activer un relais qui me coupe une alimentation

    Donc :
    Capteur qui sera utilisé : effet hall (avec un seul aimant ou plusieurs pour la précision à vous de me dire et pas de soucis concernant l'équilibrage)
    Vitesse maximum de rotation de l'arbre 2500tr/min
    Bien-sur j'aimerais que les calculs ce fassent le plus rapidement possible

    Tout ceci sera en boucle continu genre comme un contrôle continue pour surveillé que l'arbre Y ne tourne pas 10 fois de plus que l'arbre X

    Voila exactement mon projet finale

    Désoler si j'ai quelques soucis de compréhension avec ce que vous me demandez mais je fais ça par passion donc pas toujours évidant ...

  11. #10
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    Dans un premier temps : On mesure la vitesse de l'arbre X puis on mesure la vitesse de l'arbre Y
    Non, les deux mesures se font dans le même intervalle de mesure
    Tu peux donner plus de détail sur la structure mécanique ?
    Dernière modification par DAUDET78 ; 25/07/2014 à 16h14.
    J'aime pas le Grec

  12. #11
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Petite erreur de ma part, c'est vrai les deux mesures se feront dans le même intervalle

    Le capteur pour l'arbre X et Y sera fixé sur une pièce en acier
    L' (les) aimant(s) sera fixé sur une pièce en acier pour l'arbre X et sur un disque en Alu pour l'arbre Y

  13. #12
    f6bes

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    Petite erreur de ma part, c'est vrai les deux mesures se feront dans le même intervalle

    Le capteur pour l'arbre X et Y sera fixé sur une pièce en acier
    L' (les) aimant(s) sera fixé sur une pièce en acier pour l'arbre X et sur un disque en Alu pour l'arbre Y
    Bsr à toi,
    Un croquis (avec annotation si nécessaire) vaut mieux que long discours !
    http://forums.futura-sciences.com/el...-sabonner.html
    Bon WE
    Dernière modification par f6bes ; 25/07/2014 à 16h20.

  14. #13
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Petit calcul :
    2 aimants sur le disque qui tourne à 2500 tr/mn
    Pour un intervalle de mesure d'une seconde, c'est 83 impulsions
    Donc si on compte :

    82 c'est 2460 Tr/mn
    83 c'est 2490 Tr/mn
    84 c'est 2520 Tr/mn

    C'est suffisant comme mesure réactualisée toutes les secondes?
    J'aime pas le Grec

  15. #14
    PA5CAL

    Re : Fréquence de rotation avec ARDUINO

    Il existe plusieurs types de capteur Hall :
    1- les capteurs préconditionnés avec une sortie tout-ou-rien qui indiquent la présence ou l'absence d'un champ magnétique
    2- les capteurs, préconditionnés ou non, qui délivrent une grandeur analogique ou numérique fonction de l'amplitude du champ magnétique
    3- les capteurs préconditionnés qui délivrent une grandeur analogique ou numérique fonction de l'orientation du champ magnétique

    Les premiers, permettent d'indiquer le passage de repères magnétiques. Les seconds permettent en plus d'évaluer une distance par rapport aux repères. Quant aux troisièmes, ils fournissent directement la mesure d'une position angulaire.

    Ces capteurs doivent bien entendu être associés à une source de champ magnétique, généralement un aimant permanent.
    - Dans les deux premiers cas, l'aimant peut être mobile ou fixe par rapport au capteur. Dans le cas d'un aimant fixe, c'est la variation du circuit magnétique qui est détectée, du fait par exemple du passage d'encoches pratiquées dans une pièce en acier mobile dans l'entrefer de l'aimant du capteur.
    - Dans le troisième cas, l'aimant doit être mobile, son axe nord-sud perpendiculaire à l'axe de rotation, et le capteur situé sur cet axe.
    Dernière modification par PA5CAL ; 25/07/2014 à 16h31.

  16. #15
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Un petit schéma explicatif :

    Nom : photo.jpg
Affichages : 411
Taille : 135,3 Ko

    Je dis encore merci pour toutes vos réponses rapide !!!

    DAUDET78 :

    Ce n'est pas suffisant... Après moi aussi un petit calcul je pense donc mettre 4 aimants ce qui fait 167 impulsions.

    Cette mesure sera suffisante réactualisé toutes les secondes

    PA5CAL :

    Dans mon cas le plus judicieux sera de prendre le type de capteur à effet hall numéro 1°

  17. #16
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    L’intérêt de la solution #13, c'est la simplicité ! Deux compteurs et on fait la soustraction

    Autre solution, on mesure avec un timer le temps entre 2 impulsions
    Avec deux aimants, à 2500 tr/mn, ce temps est de 12ms . Avec un timer à 100Khz, on a 1200 dans le timer, ce qui donne une résolution de 2 tr/mn
    Par contre, coté soft, c'est un peu plus musclé !
    J'aime pas le Grec

  18. #17
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    On va laisser de côté la solution avec le timer hein

    Par contre je vois pas pourquoi tu dis que c'est plus simple avec 2 aimants plutôt que 4 ... Explications ?

  19. #18
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    On va laisser de côté la solution avec le timer hein
    C'est ton choix !
    Par contre je vois pas pourquoi tu dis que c'est plus simple avec 2 aimants plutôt que 4 ...
    problème de réaliser l'équilibrage mécanique .....
    Comme tu ne veux rien dire de la configuration mécanique de ton truc ... on ne peux que te proposer du Hall .
    J'aime pas le Grec

  20. #19
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Concernant la configuration mécanique c'est simplement une vieille machine de mon grand père sur laquelle j'aimerais mettre cette sécurité

    Pour la suite du projet part-on donc sur 4 aimants par cible.

    Donc mon capteur sera un effet hall de type 1 comme la dit PA5CAL "1- les capteurs préconditionnés avec une sortie tout-ou-rien qui indiquent la présence ou l'absence d'un champ magnétique" qui je pense correspond le mieux avec mon montage

    Avez-vous un lien ou autre pour avoir ce capteur pré conditionné fonctionnant avec l'ARDUINO ?
    Connaissez-vous bien l'ARDUINO pour pouvoir m'aider dans la suite du projet ?

    Merci à vous !!!

  21. #20
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    Concernant la configuration mécanique c'est simplement une vieille machine de mon grand père sur laquelle j'aimerais mettre cette sécurité
    Mais qui travaille dans quelle ambiance ? huile, copeaux, farine ? Car un capteur opto est plus facile à intégrer
    Avez-vous un lien ou autre pour avoir ce capteur pré conditionné fonctionnant avec l'ARDUINO ?
    Un capteur, c'est un capteur ... et il se moque de ce qu'il y a derrière. Donc tu choisis le capteur qui te va et en sortie , une pullup car c'est généralement des collecteurs ouverts
    Connaissez-vous bien l'ARDUINO pour pouvoir m'aider dans la suite du projet ?
    Je ne veux connaitre plus rien en µC depuis 2005 . Je laisse ça aux jeunes. Je ne regarde que le hard
    J'aime pas le Grec

  22. #21
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    C'est une enrouleuse donc pas d'huile, pas de copeaux ou de farine.

    J'ai vu plusieurs chose topic avec le capteur optique mais il ne conviendra pas pour mon utilisation ... :/

    Donc capteur à effet hall et j'attends des personnes qui ci connaisse dans la configuration du programme

  23. #22
    PA5CAL

    Re : Fréquence de rotation avec ARDUINO

    On peut utiliser un aimant et 4 dents ou encoches par tour, ce qui permet de régler plus facilement les problèmes d'équilibrage.

    Nom : hall.png
Affichages : 604
Taille : 132,7 Ko

    Pour le capteur, on peut partir sur l'un de ceux-là par exemple (il existe de nombreux équivalents, sensibles à des champs magnétiques plus ou moins intenses).

    La sortie du capteur étant à collecteur ouvert, il faut activer logiciellement la résistance de rappel (pull-up) intégrée à l'entrée numérique de l'Arduino.



    Comme le suggère DAUDET, si l'environnement le permet, un capteur optique pourrait peut-être convenir et être plus simple à mettre en œuvre.
    Dernière modification par PA5CAL ; 25/07/2014 à 18h27.

  24. #23
    nornand

    Re : Fréquence de rotation avec ARDUINO


  25. #24
    DAUDET78

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    J'ai vu plusieurs chose topic avec le capteur optique mais il ne conviendra pas pour mon utilisation ...
    Tu peux argumenter ?
    J'aime pas le Grec

  26. #25
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    PA5CAL :

    Tes schémas sont très explicatif, merci ! Mais il n'y aura pas de soucis d'équilibrage si je rajoute 4 aimants pour mon capteur à effet hall

    Merci aussi pour le fichier PDF des capteurs mais lequel choisir ?!
    TLE4905 unipolar
    TLE4935 bipolar latch
    TLE4945 bipolar switch
    TLE4945-2 bipolar switch

    nornand et DAUDET78

    Le capteur optique ne conviendra pas pour moi, car sachant que l'enrouleuse sera dans mon garage il va surement avoir de la poussière ou autre particule qui pourrait gêner et donc fausser la lecture avec le capteur optique ... :/

    En attente de vos réponses
    Et encore merciiii !!

  27. #26
    PA5CAL

    Re : Fréquence de rotation avec ARDUINO

    Citation Envoyé par mallodu55 Voir le message
    Mais il n'y aura pas de soucis d'équilibrage si je rajoute 4 aimants pour mon capteur à effet hall
    À 40 tours par seconde, si tu ne veux éviter les vibrations dues à un éventuel balourd, le positionnement des aimants devra au moins être précis, sinon réglé.

    Citation Envoyé par mallodu55 Voir le message
    Le capteur optique ne conviendra pas pour moi, car sachant que l'enrouleuse sera dans mon garage il va surement avoir de la poussière ou autre particule qui pourrait gêner et donc fausser la lecture avec le capteur optique ... :/
    Le système magnétique craint également les particules ferreuses, d'autant plus qu'elles ont tendance à être attirées et à se coller aux aimants.

  28. #27
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Oui c'est vrai mais les aimants seront placés de manière précise.

    Je comprends parfaitement pour les poussières ferreuse mais je vais quand même mettre tout le système à l'abri mais on est pas toujours à l'abri de poussière donc pour moi le effet hall est quand même le plus adapté.

    Concernant la programmation j'ai besoin d'aide, PA5CAL t'y connais-tu en language arduino ?!

  29. #28
    PA5CAL

    Re : Fréquence de rotation avec ARDUINO

    Si tu as quelques notions de langage C, alors la programmation proprement dite n'est pas le plus compliqué, d'autant plus que le site Arduino et l'environnement de développement fournissent des explications et de nombreux exemples.

    En revanche, la conception fonctionnelle du programme (i.e. décider ce qu'il fait, indépendamment de la façon dont ce sera codé) réclame quelques précisions concernant le cahier des charges. En effet, la solution retenue devra par exemple tenir compte du temps de réaction et de la précision requis, rester compatible avec l'ensemble des opérations à réaliser (transmission au PC pour affichage, ...), ou encore prévoir les situations exceptionnelles (mise en route et arrêt du système, ...).
    Dernière modification par PA5CAL ; 29/07/2014 à 15h51.

  30. #29
    mallodu55

    Re : Fréquence de rotation avec ARDUINO

    Voilà j'ai pas mal bossé dessus et surtout réfléchi au capteur utilisé... et finalement ça sera un capteur optique qui donnera du 0 ou du 1.


    Et voici mon programme : (grâce à l'aide de plusieurs programmes sur internet)

    Code:
        #include <FreqCounter.h>  //Inclure la librairie de fréquence
    
        // Variables utilisées
        unsigned long frqX;    //fréquence mesurée arbre X
        float trminX;         //vitesse de rotation en tour/min arbre X
        
        unsigned long frqY;    //fréquence mesurée arbre Y
        float trminY;         //vitesse de rotation en tour/min arbre Y
        
        int cnt;              //nombre de mesures réalisées
        int encoches=4;      //nombre d encoches de la roue codeuse (1 ou plus)
        
        
        
    
        // Initialisation
        void setup() {
          Serial.begin(9600);   //connection au port série
          
    
        }
        
        void arbreX() {
          
          // Attendre le signal
          //compensation (étalonnage)
          FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter
    
          // 10, 100 ou 1000 ms pour une résolution de 100, 10 et 1 Hz 
          FreqCounter::start(10);  // 10 ms Gate Time
    
          // Attendre jusqu'à avoir un comptage terminé
          while (FreqCounter::f_ready == 0)
         
         
         // Afficher la mesure de fréquence (et de rotation)
          frqX=FreqCounter::f_freq;
          trminX = frqX/encoches*60;  //Vitesse de rotation en tour/min
        }
          
        void arbreY() {
          
          // Attendre le signal
          //compensation (étalonnage)
          FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter
    
          // 10, 100 ou 1000 ms pour une résolution de 100, 10 et 1 Hz 
          FreqCounter::start(10);  // 10 ms Gate Time
    
          // Attendre jusqu'à avoir un comptage terminé
          while (FreqCounter::f_ready == 0)
         
         
         // Afficher la mesure de fréquence (et de rotation)
          frqY=FreqCounter::f_freq;
          trminY = frqY/encoches*60;  //Vitesse de rotation en tour/min
        }
        
        void defaut() {
          
          defaut=trminY-trminX
          
        }
    
        // === Boucle de mesures
        void loop() {
          
          arbreX();
          
          arbreY();
          
          if (defaut >= 10)
          
          
    
    
        }
    Mais j'arrive pas à faire la ligne de calcul pour définir mon défaut = trminY - trminX



    Si "défaut" est supérieur ou égal à 10 j'aimerais allumer une led (dans un premier temps)

    Et si vous pouvez m'eclaicir un peu plus sur la compensation avec Freqcounter je ne dirais pas non ..
    ("// Attendre le signal
    //compensation (étalonnage)
    FreqCounter::f_comp=10; // Cal Value / Calibrate with professional Freq Counter")


    En attente de vos réponses
    Dernière modification par mallodu55 ; 30/07/2014 à 13h35.

Discussions similaires

  1. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  2. fréquence de rotation
    Par sof001 dans le forum Physique
    Réponses: 1
    Dernier message: 12/06/2014, 16h07
  3. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  4. Réponses: 4
    Dernier message: 23/12/2011, 10h51
  5. Frequence PWM L6203 Arduino UNO
    Par sani300 dans le forum Électronique
    Réponses: 3
    Dernier message: 26/08/2011, 10h59
Découvrez nos comparatifs produits sur l'informatique et les technologies.