Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Calcul à partir d'une mesure de pied a coulisse



  1. #1
    Remss2

    Calcul à partir d'une mesure de pied a coulisse


    ------

    Bonjour à tous,

    Je suis actuellement sur un projet à base de pied à coulisse que je dois démonter. Le but est de récupérer l'information de mesure du pied à coulisse, de l'entrée dans une base de donnée pour récupérer une autre valeur à afficher sur le 7 segments du pied à coulisse.

    Il faut afficher une autre information sur le 7 segment que la valeur mesurée en fait.

    J'ai trouvé de la documentation à ce sujet, et j'ai appris que l'information était transmise en binaire, à une fréquence de 90 KHz.Deux mots sont transmis successivement avec une pause de quelques millisecondes entre les deux.

    Ma question est : Comment récupérer ce mot en binaire dans un microcontroleur ?

    La question pourra peut etre parraitre idiote, mais moi elle me bloque beaucoup !

    Merci beaucoup d'avance

    -----

  2. Publicité
  3. #2
    f6bes

    Re : Calcul à partir d'une mesure de pied a coulisse

    Bjr remss2,
    je dirais qu'il te faut "dériver" l'information du capteur AVANT que celle çi ne soit APPLIQUE à l'entrée du ucontroleur.
    Tu la "traites" à ta façon (modification valeur) et tu la renvoies à l'ENTRE de ton ucontroleur dans le "format" attendu par le ucontroleur.

    C'est certainement plus facile à dire qu'à.................faire !
    Faut pouvoir PRATIQUEMENT "séparer" capteur-->ucontroleur.
    Est ce possible !
    A+

  4. #3
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    a vrai dire, ce n'est pas la peine, il y a directement un port de sortie data avec une synchronisation du clock. moi je me pose plutot une question concernant le programme, comment faire pour signaler que deux mots seront à enregistrer, chacun de 24 bits avec le LSB en premier et le MSB ensuite....

    si ca peut aider : http://www.shumatech.com/support/chinese_scales.htm

    c'est ca le signal exactement

    merci

  5. #4
    Jack

    Re : Calcul à partir d'une mesure de pied a coulisse

    Le signal de l oscillogramme me semble compatible avec une liaison SPI qu on peut trouver sur pratiquement tous les µcontrôleurs.

    A+

  6. #5
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    J'utiliserais surement un 68HC908 Motorola, donc je pense que le registre TSC doit correspondre avec une synchro d'horloge...

  7. A voir en vidéo sur Futura
  8. #6
    Jack

    Re : Calcul à partir d'une mesure de pied a coulisse

    Citation Envoyé par Remss2 Voir le message
    J'utiliserais surement un 68HC908 Motorola, donc je pense que le registre TSC doit correspondre avec une synchro d'horloge...
    Aucun rapport. Le registre TSC permet de contrôler le timer.

    Je faisais plutôt référence à la SPI du HC908.

    A+

  9. Publicité
  10. #7
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    Bon je pensais utiliser un MC68HC908JL3 mais quand je recherche dans le datasheet je ne trouve rien a propos de SPI...

    Je dois donc changer de µC ? ou peut etre un PIC ? j'ai besoin de calibrer ce composant pour qu'il consomme le moins possible et qu'il sache faire ce dont j'ai besoin quand meme c'est a dire relever ce mot dans le signal, le comparer avec un tableau de données et le renvoyer vers un LCD.

    Mais j'en connais pas long sur le sujet ! pas cool pas cool...

  11. #8
    Jack

    Re : Calcul à partir d'une mesure de pied a coulisse

    Le JL3 ne sait pas communiquer en série. Préfère le GR8 ou le GP32 qui reprennent les caractéristiques du JL3 mais avec SCI et SPI.

    L'idéal est la famille 9S08 (à la base 68HCS908) qui sont plus performants et plus modernes et beaucoup plus intéressant pour ma mise au point des programmes. Tu trouveras comment faire un programmateur pour pas cher ici:
    http://www.68hc08.net/modules/smarts...php?itemid=106

    Je ne trouve quasiment pas de défaut au 9S08QG8 par exemple pour des applis standard.

    A+

  12. #9
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    OK merci beaucoup c'est très précis ca m'aide bien, mais je ne comprends pas trop ce que vous voulez dire par "communiquer en serie" ?

    Car le fait est que je suis déja équipé d'un micro 68HC908JL3 et de la carte de progra car c'est le seul micro que nous ayons utilisé en cours et je pense que ce programme fonctionnerait :


    unsigned long variable, valeur_finale; //On déclare des long car on veu 24bits
    unsigned char c=0;
    unsigned char a=0;


    if( a==0) //si a =0 on peut recevoir le mot d'entrée
    {
    variable = (variable | ((*PORTD & 0x01) << c));
    c++; // C'est le compteur de front descendant
    if (c == 24) //Lorsqu'on a fait les 24 fronts descendants, on stock
    {
    c=0; // Réinitialiser le compteur de fronts descendants
    a=1; // On ne reçoit plus de mot
    }

    }

    Qu'est-ce que le GR8 ou GP32 m'apporterait de plus ? la carte de prog ne serait pas compatible ?

    Merci

  13. #10
    Jack

    Re : Calcul à partir d'une mesure de pied a coulisse

    OK merci beaucoup c'est très précis ca m'aide bien, mais je ne comprends pas trop ce que vous voulez dire par "communiquer en serie" ?
    J'espère qu'en cours tu as entendu parler de transmission série, RS232 par exemple.

    Qu'est-ce que le GR8 ou GP32 m'apporterait de plus ?
    Le gestion des transmission série: asynchrone type rs232 ou synchrone type spi mais visiblement tu ne t'es pas trop intéressé à ce que c'était.

    Code:
     unsigned long variable, valeur_finale;                           //On déclare des long car on veu 24bits
    unsigned char c=0;
    unsigned char a=0;
    
    
    if( a==0)                                                                  //si a =0 on peut recevoir le mot d'entrée
    {
      variable = (variable | ((*PORTD & 0x01) << c)); 
      c++;                                                                      // C'est le compteur de front descendant
      if (c == 24)		                                      //Lorsqu'on a fait les 24 fronts descendants, on stock 
      {
      	c=0;                                                          // Réinitialiser le compteur de fronts descendants
      	a=1;                                                         // On ne reçoit plus de mot
      }
    
    }
    Je ne vois pas du tout ce que va faire ce programme:
    il n'y a même pas de boucle, donc je ne vois pas comment va avancer ton compteur
    Pour la détection de front descendant, tu es loin du compte. Tu vas juste détecter un état bas, ce qui est très différent.
    Si tu veux rester avec le JL3, pour détecter des fronts, le mieux est d'utiliser le module KBI (Keyboard Interrupt)
    Je ne vois pas non plus à quel moment tu vas récupérer les données émises par le pied à coulisse dans ton programme

  14. #11
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    Oui oui j'ai assisté au premier cours sur le RS232 après j'ai raté les cours pour cause de problème de santé. je ne pensais pas que cela avait un rapport, je vais donc creuser de ce coté.

    après pour le programme c'est vrai que j'ai oublié le rebouclage, mais je pensais utiliser un décalage a gauche pour enregistrer le LSB d'abord.

    et ensuite enregistrer la valeur de l'entrée (niveau haut ou bas) à chaque front descendant...mais bon j'ai l'impression que c'est vraiment boiteux vu ce que tu en dis jack !

  15. #12
    Jack

    Re : Calcul à partir d'une mesure de pied a coulisse

    Code:
       variable = (variable | ((*PORTD & 0x01) << c)); 
      c++;                                                                      // C'est le compteur de front descendant
      if (c == 24)		                                      //Lorsqu'on a fait les 24 fronts descendants, on stock 
      {
      	c=0;                                                          // Réinitialiser le compteur de fronts descendants
      	a=1;                                                         // On ne reçoit plus de mot
      }
    Il y a de l'idée dans cette partie là en tout cas.

    Reste à calculer si le programme sera assez rapide pour suivre les 90 kHz de l'horloge. Avec la spi, il n'y aurait aucun problème de rapidité.

    A+

  16. Publicité
  17. #13
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    Bon le cas de la SPI est étudié, cependant elle ne permet que la capture de mots de 8 bits ou de 16 bits ( 1 ou 2 octets) cela ne conviens donc pas avec mon cas de 24 bits. Je suis donc forcé de faire ca "a la main" et d'utiliser le KBI.le probleme qui se pose est alors celui de la rapidité. Un JL3 (8 MHz/4) ne permettrait de faire que 9 instructions entre 2 bits ce qui est ridicule.

    Je suis donc en train d'étudier le JM 60 de la serie HCS 908 qui lui est cadencé à 24 MHz (48 MHz/2 multipliable en fréquence).
    je cherche actuellement le nombre de cycles du KBI.

    Personne n'a eu d'illumination à ce sujet ? un moyen miracle !?

  18. #14
    Jack

    Re : Calcul à partir d'une mesure de pied a coulisse

    Bon le cas de la SPI est étudié, cependant elle ne permet que la capture de mots de 8 bits ou de 16 bits ( 1 ou 2 octets) cela ne conviens donc pas avec mon cas de 24 bits
    pourquoi ne pas capturer 4 octets consécutifs?

    je cherche actuellement le nombre de cycles du KBI.
    Le nombre cycles pour faire quoi? En principe, le front doit déclencher une interruption qui lancera le traitement de cette impulsion.

    A+

  19. #15
    Remss2

    Re : Calcul à partir d'une mesure de pied a coulisse

    Bonjour à tous !

    Bon j'ai toujours le nez coincé dans mes pieds à coulisse, mais à force de me débattre...j'arrive à quelque chose !

    Bon alors finalement, la doc ne correspond pas à ce que j'ai (et tant mieux !). Je n'ai pas deux mots de 24bits à 77 KHz mais plutot 6 mots de 4 bits à 2,5 KHz. Ce qui est très très bon ! la saisie sera bien plus aisée. ces mots de 4 bits sont la valeur de mesure en centième de millimètre :

    ex : si j'ai 1 en décimal, la valeur de mesure vaut 0,01 mm
    si j'ai 5435 en décimal , la valeur de mesure vaut 54,35mm

    Je dis en décimal, car la valeur relevée est en binaire, il y a une conversion à faire. le signal est transmis du MSB au LSB donc sur l'oscillo, on peut lire du LSB au MSB de gauche à droite, dans le sens de la lecture.

    Ci-joint une photo illustrée de ce que j'obtiens sur l'oscillo avec une synchro sur le clock. La mesure de bits se fait à chaque Front MONTANT de l'horloge.



    Maintenant je suis en train de voir si je peux utiliser le MC68 HC908 JL3 pour lire cette mesure en binaire...j'espère que ce micro est assez rapide (8 MHZ/4) sinon j'envisage de passer sur un MC68 HC9S 08 JM60 cadencé à 24 MHz (à fréquence multipliable par 2...alors la si ca va pas ya un souci !!!).

    Si je dois changer de micro le souci c'est que je dois commander une carte de programmation qui va mettre un certain temps à arriver...mais la j'utiliserais la SPI (qui est parametrable à 8 ou 16bits). 16 bits ca me donne déja 65536 valeurs soit 655,36mm de débattement...largement suffisant dans mon cas !

    Voila voila j'espere avois quelques avis, et si quelqu'un se sert de ces information, ce serait intéressant qu'on puisse en parler, comparer nos expériences !

    Merci a toi Jack.

Discussions similaires

  1. calcul d'une elasticité à partir de la fleche
    Par marc84 dans le forum Physique
    Réponses: 2
    Dernier message: 13/09/2012, 16h22
  2. Calcul de kWh à partir d'une puissance
    Par MiX_FR dans le forum Électronique
    Réponses: 5
    Dernier message: 05/05/2008, 12h22
  3. pied à coulisse
    Par fadim dans le forum Physique
    Réponses: 3
    Dernier message: 17/09/2007, 21h57
  4. Calcul de l'epaisseur d'un pied de reservoir
    Par cleman dans le forum Physique
    Réponses: 0
    Dernier message: 14/08/2007, 17h41
  5. Calcul d'une force à partir d'une énergie connue
    Par Bruno dans le forum Physique
    Réponses: 28
    Dernier message: 10/03/2007, 18h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.