VHDL - Récupérer la valeur d'un potentiomètre
Répondre à la discussion
Affichage des résultats 1 à 24 sur 24

VHDL - Récupérer la valeur d'un potentiomètre



  1. #1
    Aliyice

    Smile VHDL - Récupérer la valeur d'un potentiomètre


    ------

    Bonjour à tous!

    Je suis vraiment débutante en électronique et je dispose déjà d'un projet conséquent dans ce domaine.

    Au niveau matériel, je dispose d'un FPGA (sur une carte Basys 2), une carte arduino emboitée avec une carte DangerShield de Sparkfun sur laquelle se trouve des potentiomètres!
    La carte basys 2 est relié avec un pont diviseur de tension au arduino (lui meme emboité avec le dangershield).

    Le but du projet est de faire bouger une image à l'aide des potentiomètres. Selon la valeur du potentiomètre l'image va plus ou moins haut. En fait, c'est comme si le "curseur" du potentiomètre devait représenter la position de mon image sur l'écran. (Je ne sais pas si je suis clair ^^"). Ainsi quand le curseur est en bas, mon image est en bas et inversement quand le curseur est en haut.

    Donc, pour l'instant j'ai bien mon image qui s'affiche, j'arrive à la faire bouger en utilisant des boutons de ma carte basys2 (signe que mon code n'est pas si mal ^^) et aussi je dis que si je reçois un signal de la part de mon potentiomètre alors je fais bouger mon image et résultat l'image bouge bien! donc mon pont diviseur de tension est aussi correct.

    Maintenant je voudrais savoir comment récupérer la valeur du potentiomètre pour placer mon image

    Merci beaucoup à vous tous

    -----

  2. #2
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Il faut ajouter un ADC.

    A+

  3. #3
    gcortex

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Tu n'as pas d'entrée analogique sur ton arduino ?

  4. #4
    vincent66

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Bonsoir
    Y'a un truc qui me chiffonne : "La carte basys 2 est relié avec un pont diviseur de tension au arduino (lui meme emboité avec le dangershield)."..!?
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

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

    Red face Re : VHDL - Récupérer la valeur d'un potentiomètre

    un ADC ? késako? Désolée je débute vraiment et le langage acronyme ne m'éclaire pas du tout.

    vincent66 >> oui je comprends dis comme ça c'est bizarre!

    Enfait j'ai ça : http://www.lextronic.fr/P19092-plati...r-arduino.html
    [ATTACH=CONFIG]234353[/ATTACH

    Sur l'image on a bien le danger shield "emboité" avec les pines sur la carte arduino. Ensuite, sur la carte arduino, je récupère la sortie du signal du potentiomètre à un pine qui permet le PWM. Je mets un pont diviseur de tension pour respecter le voltage différent de la carte arduino(5V) et basys 2(3.3V). Je fais mon branchement jusqu'à une entrée analogique sur la carte Basys 2 (qui est B7 je crois mais c'est sans importance). Après dans mon code VHDL, je définis un signal entrant in STD_logic_vector que j'attribue bien au pine B7.

    j'espere que c'est plus clair...

    gcortex >> cela a-t-il répondu à ta question?

    Merci de vous pencher sur mon problème!
    Images attachées Images attachées  

  7. #6
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Aliyice Voir le message
    un ADC ? késako? Désolée je débute vraiment et le langage acronyme ne m'éclaire pas du tout.
    ADC = Analog to Digital Converter. Mais apparemment, on peut récupérer celui de l'arduino, c'est ça?

  8. #7
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Mon professeur m'a dit qu'on ne pouvait pas récupérer la valeur directement (problème de conversion entre numérique et analogique) et qu'il fallait donc trouver un protocole "Sur ce réfléchissez..." m'a-t-il dit ^^" peut être qu'il s'agit de ADC alors...

  9. #8
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    J'avais fait un petit code sur ma carte arduino en utilisant la librairie Servo et les exemples de code que j'ai adapté à mon cas, je me suis basé sur ça:

    int sensorPin = A0; // select the input pin for the potentiometer
    int ledPin = 13; // select the pin for the LED
    int sensorValue = 0; // variable to store the value coming from the sensor

    void setup() {
    // declare the ledPin as an OUTPUT:
    pinMode(ledPin, OUTPUT);
    }

    void loop() {
    // read the value from the sensor:
    sensorValue = analogRead(sensorPin);
    // turn the ledPin on
    digitalWrite(ledPin, HIGH);
    // stop the program for <sensorValue> milliseconds:
    delay(sensorValue);

    }

    c'est du ADC ?

  10. #9
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Reste à savoir ce que tu vas faire de "sensorValue ...

    Le transmettre en parallèle ou par un protocole série, type SPI?

    A+

  11. #10
    vincent66

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Le ADC est un circuit intégré qui convertit un signal analogique en entrée en du numérique en sortie...
    Il y en a un intégré à l'Arduino et je pense que votre prof veut que ce soit ça que vous utilisiiez, en gros un bazooka pour tuer un moustique ...
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  12. #11
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Hummm... je suis perdue ><

    Concrètement je dois récupérer la valeur du potentiomètre. Pour ça je dois utiliser un ADC pour qu'on envoie une valeur correcte à la Basys 2? Je ne vois toujours pas comment récupérer cette valeur avec un signal entrant... Dans mon code VHDL, en gros, je veux dire : Si signal ='1' alors je fais posY <= posY + valeurDuPotentiomètre. Et malheureusement la je ne sais comment faire :/ j'ai bien pris vos remarques en questions mais bon... comme je l'ai dit je suis vraiment débutante ^^"

  13. #12
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Aliyice Voir le message
    Hummm... je suis perdue ><

    Concrètement je dois récupérer la valeur du potentiomètre. Pour ça je dois utiliser un ADC pour qu'on envoie une valeur correcte à la Basys 2? Je ne vois toujours pas comment récupérer cette valeur avec un signal entrant... Dans mon code VHDL, en gros, je veux dire : Si signal ='1' alors je fais posY <= posY + valeurDuPotentiomètre. Et malheureusement la je ne sais comment faire :/ j'ai bien pris vos remarques en questions mais bon... comme je l'ai dit je suis vraiment débutante ^^"
    Le problème sera en partie résilu si tu réponds à mon message #9

  14. #13
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Jack Voir le message
    Le problème sera en partie résilu si tu réponds à mon message #9
    Je faisais justement des recherches sur ta citation car je ne comprend pas trop et j'essayais de voir ce qu'était le protocole SPI.
    J'aurais voulu le transmettre en parallèle par exemple.

  15. #14
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    La SPI permet une transmission série synchrone assez simple: un registre à décalage amélioré.

    La liaison parallèle va te demander autant de pins que la résolution attendue: 8 bits par exemple

  16. #15
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Jack Voir le message
    La SPI permet une transmission série synchrone assez simple: un registre à décalage amélioré.

    La liaison parallèle va te demander autant de pins que la résolution attendue: 8 bits par exemple
    Je change d'avis et opte pour la SPI alors ^^ je vais me renseigner un peu plus sur le sujet...

  17. #16
    Aliyice

    Post Re : VHDL - Récupérer la valeur d'un potentiomètre

    Alors alors!

    J'ai discuté avec mon professeur. Il m'a dit de ne pas utiliser le SPI.
    Il m'a écrit par mail:
    "Il faut traduire la valeur min du potentiomètre en position min exprimée en durée, la valeur max en position max exprimée en durée.
    Sur la carte basys il faut mesurer la durée de l'état haut de la PWM et transférer cette valeur en position Y." Voila qui est dit. Je vais méditer là dessus.

    Si vous avez des propositions/suggestions n'hésitez pas j'en prendrai notes!

    Merci!

  18. #17
    DAUDET78

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Aliyice Voir le message
    Si vous avez des propositions/suggestions n'hésitez pas j'en prendrai notes!
    Laisse tomber les conseils de ton prof ..... C'est un âne !
    J'aime pas le Grec

  19. #18
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Pourquoi? De toute façon c'est lui qui va me noter. Si je ne fais pas comme il veut...

  20. #19
    DAUDET78

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Aliyice Voir le message
    Pourquoi?
    Parce que sur ce forum, tu as des gens qui savent faire et qui t'ont donné les bons conseils
    De toute façon c'est lui qui va me noter. Si je ne fais pas comme il veut...
    C'est le risque ! A toi de lui montrer que tu as trouvé la bonne solution ....
    J'aime pas le Grec

  21. #20
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Bah, la PWM n'est pas une si mauvaise solution.
    Un FPGA devrait pouvoir récupérer le rapport cyclique sans trop de problème. Je ne saurais peut-être plus le faire en VHDL, mais en logique "classique" quelques compteurs et bascules devraient le faire sans trop de problème.

    A+

  22. #21
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Encore moi!
    J'ai donc beaucoup penché sur ce que m'a dit mon professeur, fais des recherches sur les rapports cycliques etc. et maintenant je comprends mieux ce qu'il veut dire.

    J'ai trouvé cet exemple de code : http://naytech.blogspot.fr/2013/09/un-pwm-en-vhdl.html

    Jack, peux-tu me dire si c'est bien de cela que tu parlais? Si c'est ç, ça serait cool il y a juste un truc dans son code que je ne comprends pas c'est comment la personne choisis la valeur binaire à la ligne : " if (cnt >= "1001")". Pourquoi 1001?

    Merci encore pour vos réponses!

  23. #22
    Jack
    Modérateur

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    if (cnt >= "1001")". Pourquoi 1001
    Parce qu'il n'y a que 10 valeur possibles :0 à 9. Et comme 9 = 1001 en binaire ...

    Cependant, mes souvenirs de VHDL s'estompent de plus en plus mais ce code me semble plus produire un signal PWM que mesurer son rapport cyclique. Or ton problème est inverse: la carte arduino va calculer une valeur numérique image de la position du potentiomètre et la transmettre en PWM à ton FPGA.

    C'est donc l'arduino qui génère la PWM et le FPGA doit déterminer son rapport cyclique pour retrouver l'image de la position du potentiomètre.

    Exemple: le potentimètre est alimenté sous 5V. Le curseur est tourné à 40%, si bien que la tension mesurée est égale à 3V.
    L'arduino va convertir cette valeur en numérique. Avec une conversion sur 8 bits, il y a 256 valeurs possibles (256 pas). la valeur numérique sera alors égale à 256/5*3 = 153

    Ce 153 va servir à générer une PWM dont le rapport cyclique sera de 3/5, donc 60%. Le rapport cyclique aura donc 256 valeurs possibles de 0% à 100%.
    Le FPGA devra réussir à extraire de ce signal la valeur du rapport cyclique pour retrouver le 153.

    A+
    Dernière modification par Jack ; 27/11/2013 à 16h43.

  24. #23
    indri

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Citation Envoyé par Jack Voir le message
    Cependant, mes souvenirs de VHDL s'estompent de plus en plus mais ce code me semble plus produire un signal PWM que mesurer son rapport cyclique.
    Je confirme!

    Mesurer le rapport cyclique d'un signal carré (supposé "lent" )est assez simple, en gros c'est:
    -repérer un flanc montant du signal
    -lancer un compteur (à fréquence très supérieur à celle du signal) qui comptera à l'état haut et un autre la période complète
    -faire la div entre les deux
    Là où va le vent...

  25. #24
    Aliyice

    Re : VHDL - Récupérer la valeur d'un potentiomètre

    Merci pour vos réponses ça m'a beaucoup aidé. J'y travaille actuellement. J'essaierai de mettre mon bout de code pour ceux qui en auront besoin

Discussions similaires

  1. Valeur de potentiometre
    Par invitebffa97ca dans le forum Électronique
    Réponses: 2
    Dernier message: 12/10/2012, 14h07
  2. [vhdl] Récupérer la carry d'une addition de deux vecteurs
    Par invite9c1c46bb dans le forum Électronique
    Réponses: 2
    Dernier message: 30/04/2009, 16h55
  3. comment je peu recuperer la valeur de mon potentiometre???
    Par invite53ea1bbd dans le forum Électronique
    Réponses: 12
    Dernier message: 11/02/2007, 22h21
  4. Valeur de potentiométre???
    Par jojo86 dans le forum Électronique
    Réponses: 27
    Dernier message: 12/11/2005, 14h56
  5. valeur potentiometre...
    Par invite415585bd dans le forum Électronique
    Réponses: 4
    Dernier message: 27/03/2004, 11h04
Découvrez nos comparatifs produits sur l'informatique et les technologies.