Partage
  • Partager sur Facebook
  • Partager sur Twitter

Projet d'accordeur automatique

A l'aide d'Arduino

    27 septembre 2012 à 14:47:37

    Bonjour a tous,

    Je suis en 2e année de CPGE et je travaille sur un projet d'accordeur automatique de guitare électrique.
    Pour se faire je compte utiliser Arduino pour transformer la frequence des cordes en un signal électrique qui permettra d'actionner un moteur pour faire tourner la mecanique.
    Le probleme c'est que je n'arrive pas à decider quelle carte Arduino choisir :/
    Si quelqu'un a une idée ou un conseil ca serait vraiment cool :)
    • Partager sur Facebook
    • Partager sur Twitter
      27 septembre 2012 à 14:54:10

      Va falloir nous donner un peu plus d'informations pour qu'on puisse t'aider dans ton choix... (capteur, moteurs etc...)

      Sinon certain projets ont réussi à faire des oscillo allant jusqu'à 7kHz max.... vu que la bande passante de l'oreille humaine est de 20 Hz à 20kHz je suppose qu'une guitare doit faire certaine harmonique à bien plus de 7kHz...
      Dit d'une autre manière : Pas sur que Arduino soit la voie à suivre.... (mais je peux me tromper)

      Un plan B pourrait être de se servir d'un composant pour faire une conversion "fréquence -> tension" puis de se servir de cette info pour la suite...
      • Partager sur Facebook
      • Partager sur Twitter

      Retrouvez moi sur mon blog et ma chaine Youtube !

        27 septembre 2012 à 15:04:33

        oui mais la fréquence fondamentale de la corde la plus aiguë doit pas être à plus de 1kHz, le reste étant dans les harmoniques, donc avec un bon filtre en entrée, on doit pouvoir s'en sortir...

        [edit]
        Ah bah d'après wikipédia, c'est encore une octave en dessous de ce que je pensais, donc y a de la marge :p
        [/edit]
        • Partager sur Facebook
        • Partager sur Twitter
          1 octobre 2012 à 13:06:20

          Arduino m'a été conseillé par mon prof de physique. Sa fonction sera simplement de convertir un signal fréquentiel (capté par les micros de la guitare) en un signal éléectrique pour actionner le moteur. Pour le moteur, je pensais utilisé un moteur 5V a courant continu mais j'ai peur que le couple produit ne soit pas suffisament élevé.
          De plus je n'ai vu aucune carte Arduino pouvant être branché à un tel moteur, c'est pour ca que je me demandais laquelle choisir.
          • Partager sur Facebook
          • Partager sur Twitter
            1 octobre 2012 à 13:32:02

            Niveau couple, je pense pas que ça soit un gros problème.

            Et tant que ton arduino peut sortir une PWM, ça sera bon pour commander un moteur, il faudra juste rajouter un petit étage de "puissance" avec des transistors.

            Non la question portait plutôt sur si l'arduino pouvait échantillonner à une fréquence assez élevée pour réaliser ton projet, mais si la limite est 7kHz, ça sera largement bon ;)
            • Partager sur Facebook
            • Partager sur Twitter
              1 octobre 2012 à 14:10:52

              J'ai fais des test pour le moteur et je vais retenir le motoreducteur RC170 avec un couple de 0,21 Nm et une vitesse de rotation en charge de 100 tr/min.
              Epso tu me conseilles donc de prendre une carte Arduino type Arduino Uno? Puisqu'elle va jusqu'a 16Mhz? Désolé j'ai un peu de mal en electronique ^^
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                2 octobre 2012 à 21:51:38

                Pour la détection des fréquences je te conseil de te tourner vers de la FFT ou l'algorithme de Goertzel.

                Au niveau de la carte Arduino, plus la fréquence de l'arduino est élevé mieux ce sera,
                mais elle est de toute façon limité a 16MHz.
                Il n'y a pas de bon ou de mauvais Arduino pour ton usage, tout dépend de la place que tu veux que ça prenne.

                Tu vas devoir commander tes moteurs dans les deux sens, je te conseil donc d'utiliser des ponts en H.
                • Partager sur Facebook
                • Partager sur Twitter
                  2 octobre 2012 à 22:56:09

                  Pour la datection des fréquences, tout uC décent (dont celui de l'arduino) est équipé d'une ou plusieurs unités timer/counter dotées de deux fonctions qui t'intéressent :

                  - compter des événements pendant un temps donné
                  - et bien sûr le mode capture qui permet de mesurer la période d'un signal périodique...

                  Suivant la fréquence à mesurer, l'un ou l'autre est plus précis. Pour des fréquences audio, ce sera le deuxième. Pour plus de précision tu peux mesurer la durée d'un certain nombre de périodes. Tout est dans la datasheet, c'est simple.

                  Il faudra un peu de conditionnement du signal en amont, un bête comparateur qui compare le signal à sa valeur moyenne suffit.

                  Pour actionner un truc qui tourne, un servo RC (radiocommande) c'est le plus simple, parce que tout le boulot est déjà fait. Regarde chez les gars qui font de la robotique, tu trouveras des infos.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 octobre 2012 à 18:02:21

                    Il faudra penser aussi aux erreurs, admettons qu'un composant tombe en panne et que la fréquence mesurée soit inférieur à la fréquence réelle, on moteur ne cessera de tourner et pétera ta corde :/
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Projet d'accordeur automatique

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown