1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Une arduino peut elle le faire?

Discussion dans 'Electronique' créé par Titou16, 23 Octobre 2014.

  1. Titou16

    Titou16 Ouvrier

    Messages:
    391
    Inscrit:
    1 Février 2009
    Localité:
    Charente
    Projets:
    Cogénération
    Une arduino peut elle le faire?
    Bonjour,

    Ma question est : Est ce qu'une arduino est assez rapide pour effectuer 7000 enregistrements par seconde?

    Pour quelle raison me direz vous. Et bien, je voudrais fabriquer un dispositif qui serait constitué d'un codeur angulaire et d'un capteur de pression reliés à une arduino (ou une beaglebone ou une olinuxino). Ce dispositif servirait à mesurer la pression interne d'un moteur Stirling en fonction de la position de son vilbrequin et donc de tracer le diagramme Pression/Volume. Seulement je pense il faut relever au moins 100 points par tour. A 4000 tr/mn ça fait déjà près de 6700 enregistrement à la seconde. Il faudrait programmer l'arduino pour qu'elle enregistre dans un fichier texte, la pression en face de chaque position du codeur. Ensuite il suffit de mettre ça dans excel.

    Je me demande si une arduino est assez rapide pour ça. Quelqu'un sait?
     
  2. Nico91

    Nico91 Compagnon

    Messages:
    2 706
    Inscrit:
    9 Mai 2009
    Localité:
    Essonne
    Une arduino peut elle le faire?
    c'est aussi surtout, est ce que ton capteur de pression et ton capteur angulaire seront assez rapide pour suivre la cadence :smt002 si leur temps de réaction sont trop lent t'auras tout faux :mrgreen:
     
  3. victorjung

    victorjung Compagnon

    Messages:
    560
    Inscrit:
    12 Octobre 2012
    Localité:
    Yverdon Suisse
  4. duredetrouverunpseudo

    duredetrouverunpseudo Compagnon

    Messages:
    2 190
    Inscrit:
    15 Janvier 2008
  5. SkippyLeChat

    SkippyLeChat Compagnon

    Messages:
    996
    Inscrit:
    20 Août 2011
    Localité:
    Nantes
    Une arduino peut elle le faire?
    Faire 7000 mesures par seconde revient à dire qu'on a 1/7000 seconde pour faire la mesure, soit 0,000142 s = 142 µS
    La durée minimum d'une mesure faite avec la fonction AnalogRead() est de 100µS soit 10 000 mesures par seconde...
    Conclusion = ça devrait passer !
    PS : voilà qui devrait faire l'affaire avec une interface toute faite http://www.phidgets.com/docs/1126_User_Guide
    Re-PS : c'est du coté du capteur que ça va peut-être coincer... les temps de réponse annoncés sont de l'ordre de 1ms soit un max de 1000 mesures par seconde :sad: Par contre, si l'évolution de pression ne passe pas de 10% à 90% en moins de 1ms ça peut passer...
     
    Dernière édition par un modérateur: 16 Avril 2015
  6. ybou30

    ybou30 Modérateur

    Messages:
    2 319
    Inscrit:
    22 Avril 2011
    Localité:
    F-30900 F-86120
    Projets:
    CNC en cours
    Département:
    86120
    Une arduino peut elle le faire?
    Salut à tous,

    Je dis peut-être une connerie, mais pourquoi ne pas faire ces mesures en plusieurs tours? :lol:
    Amha çà peut se faire en diminuant les impulsions et en décalant d'un tour à l'autre. :wink:
    Par exemple 1000 imp par tour et mesure sur 7 tours. :smt003

    Pour le reste, j'y connais rien, je laisse les spécialistes parler. :roll:

    Je sais seulement que ce qui pêche le plus souvent ce sont les capteurs. :cry:
    Rapides et précis, on trouve rarement, même en y mettant les moyens. :cry:

    Cdlt,
    Yanik
     
  7. Titou16

    Titou16 Ouvrier

    Messages:
    391
    Inscrit:
    1 Février 2009
    Localité:
    Charente
    Projets:
    Cogénération
    Une arduino peut elle le faire?
    Je sais que le probleme c'est pas seulement la carte et que le capteur de pression est aussi un probleme. Mais apparement il semble que la carte puisse le faire. Pour le capteur il faut qu'il doit piezo electrique. Au pire j'en ferai un sur la base d'un capteur de force piezo.
     
  8. Titou16

    Titou16 Ouvrier

    Messages:
    391
    Inscrit:
    1 Février 2009
    Localité:
    Charente
    Projets:
    Cogénération
    Une arduino peut elle le faire?
    Et puis je vise haut avec 100 enregistrements par tour. Eventuellement 50 (soit un tous les 7,2°) pourrait probablement suffire. De toute façon je peux aussi faire en sorte de prendre moins de points en fonction de l'augmentation de la vitesse. Par exemple 100 pts/tr jusqu'à 2000 tr/mn, 50 au dela.
     
  9. SkippyLeChat

    SkippyLeChat Compagnon

    Messages:
    996
    Inscrit:
    20 Août 2011
    Localité:
    Nantes
    Une arduino peut elle le faire?
    En y repensant il me semble...

    - que la précision du capteur de pression importe peu. Ce qui est intéressant dans ce genre de tests dynamiques, ce sont des valeurs relatives. Quelques mesures en statique pourront donner des valeurs absolues fiables pouvant servir à quantifier celles obtenues en dynamique.

    - que le capteur angulaire n'est pas indispensable. En effet, la période du cycle d'évolution des pressions (et dépressions) sera facile à déterminer compte-tenu de la répétitivité des chiffres obtenus. On aura trop de points à basse vitesse et juste le nombre à la vitesse max, mais on sera toujours capable de faire la corrélation des points avec la position angulaire du moteur.

    Pour la proposition de faire la mesure sur plusieurs tours. Là il faudrait un capteur de position 0, et l'algorithme de la mesure peut être sur 3 tours :
    1er tour = mesure de la période P
    2ème tour = calcul du décalage de temps T correspondant au décalage angulaire pour cette période (T = P * A°/360)
    3ème tout = mesure de la pression à l'instant T correspondant à ce décalage.
    Ça, un Arduino le fait "finger in the nose" :-D
     
  10. Titou16

    Titou16 Ouvrier

    Messages:
    391
    Inscrit:
    1 Février 2009
    Localité:
    Charente
    Projets:
    Cogénération
    Une arduino peut elle le faire?
    Effectivement tu as raison, pas la peine de mettre un codeur angulaire. Mais il me faut quand meme un capteur qui me donne une impulsion à chaque tour. Car ce que je veux savoir surtout, c'est si la pression augmente au bon moment, c'est à dire quand le piston moteur arrive au point mort haut. Je soupçonne que c'est pas le cas. Il doit y avoir un dephasage entre le moment ou la pression augmente et celui ou le piston est au point mort haut et ce dephasage doit varier avec la vitesse de rotation. Il faut que je puisse l'observer. L'idée, en poussant plus loin, serait d'inventer un dispositif qui fasse varier ce dephasage, piloté par l'arduino qui permette de faire correspondre l'augmentation de la pression au point mort haut quelle que soit la vitesse de rotation.
    Merci pour cette simplification du systeme à laquelle je n'avais pas pensé.
     
  11. ybou30

    ybou30 Modérateur

    Messages:
    2 319
    Inscrit:
    22 Avril 2011
    Localité:
    F-30900 F-86120
    Projets:
    CNC en cours
    Département:
    86120
    Une arduino peut elle le faire?
    Salut à tous,

    Suivant les caractéristiques de réponses du capteur pression,
    celui-ci peut induire des écarts d'amplitude (qui peuvent être corrigés par pondération suite à mesure statiques, bien que les pressions en dynamique soient plus élevées) :lol:
    mais aussi des déphasages, et là, çà me semble délicat à traiter, sauf si l'on dispose des courbes de réponse en fonction du temps. :roll:

    Cdlt,
    Yanik
     
  12. duredetrouverunpseudo

    duredetrouverunpseudo Compagnon

    Messages:
    2 190
    Inscrit:
    15 Janvier 2008
    Dernière édition par un modérateur: 16 Avril 2015
  13. lion10

    lion10 Compagnon

    Messages:
    3 396
    Inscrit:
    7 Mai 2010
    Une arduino peut elle le faire?
    bonjour

    Si vous avez la place vous pourriez mettre plusieurs capteurs de pression et les lire avec un décalage temporel pour vous affranchir de leur temps de réponse.

    cdlt lion10
     
  14. Titou16

    Titou16 Ouvrier

    Messages:
    391
    Inscrit:
    1 Février 2009
    Localité:
    Charente
    Projets:
    Cogénération
    Une arduino peut elle le faire?
    Je pense qu'il doit etre possible d'utliser un capteur de force piezo pour faire un capteur de pression. Et ce genre de capteur n'est pas cher. Il suffirait de monter ce capteur entre une plaque et une membrane trés fine pour qu'elle n'ait pratiquement pas d'inertie. Exemple un film plastique ou du papier d'alu.
     
  15. tronix

    tronix Compagnon

    Messages:
    542
    Inscrit:
    6 Mars 2012
    Une arduino peut elle le faire?
    C'est à la fois peu et beaucoup. J'ai l'habitude de processeurs plus puissants (PIC32 à 80MHz), et si on programme bien, c'est impressionnant ce que l'on peut faire avec, sans avoir pourtant un processeur fonctionnant à plusieurs centaines de MHz. Mais il en faut peu aussi pour dégrader fortement les performances : des interruptions trop rapprochées ou des délais par boucle par exemple. Il faut donc mesurer le temps d'exécution de certaines parties en cas de doute (changement d'état d'une i/o en entrée et en sortie de fonction, à l'oscilloscope) pour traquer les erreurs de conception, et prendre l'habitude de bannir les temporisations par boucle, fréquentes dans les exemples sur Arduino. Sans OS, j'ai un main() qui appelle en boucle les différentes tâches, chacune étant écrite pour ne jamais être bloquante ni trop longue. Cela nécessite de gérer les états (jamais de délais justement) mais donne couramment un fonctionnement à 25000 boucles par seconde en moyenne, avec serveur web et toutes sortes de traitements divers. Si c'est bien fait, le temps de boucle variera peu, et avec quelques fifo logicielles et interruptions utilisées judicieusement en plus, on peut faire du temps réel avec des fréquences de traitement non ridicules.. On peut aussi utiliser des OS temps réel, dont le but est identique.
     
Chargement...
Articles en relation
  1. thomz0r
    Réponses:
    30
    Affichages:
    2 343
  2. jajalv
    Réponses:
    4
    Affichages:
    1 316
  3. nopxor
    Réponses:
    0
    Affichages:
    898
  4. nopxor
    Réponses:
    20
    Affichages:
    4 158
  5. willow74
    Réponses:
    3
    Affichages:
    1 120

Partager cette page